@turmind/halo 1.4.3 → 1.4.4
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/admin-out/404.html +1 -1
- package/admin-out/index.html +1 -1
- package/admin-out/index.txt +1 -1
- package/dist/index.js +86 -36
- package/package.json +1 -1
- /package/admin-out/_next/static/{IHBLjOk92WBjj7mPz8oZK → pMc5AOPA8YmYr6tFONvcu}/_buildManifest.js +0 -0
- /package/admin-out/_next/static/{IHBLjOk92WBjj7mPz8oZK → pMc5AOPA8YmYr6tFONvcu}/_ssgManifest.js +0 -0
package/admin-out/404.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
1
|
+
<!DOCTYPE html><!--pMc5AOPA8YmYr6tFONvcu--><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/c0ea31cd787f7aa7.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-ca926228f8cba1ff.js"/><script src="/_next/static/chunks/1b86ba38-c29611e086b2ce25.js" async=""></script><script src="/_next/static/chunks/698-19872069fed27164.js" async=""></script><script src="/_next/static/chunks/main-app-340a5b58ed229c4d.js" async=""></script><script src="/_next/static/chunks/989-6a0ec35b8ae2cb39.js" async=""></script><script src="/_next/static/chunks/app/layout-5ec6c5f713a8562b.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>Halo - Multi-Agent Workspace</title><meta name="description" content="Multi-agent collaboration workspace for complex project delivery"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/icon.svg?3a6863548daca964" type="image/svg+xml" sizes="any"/><script>try{var t=localStorage.getItem('halo_theme');if(t==='light'||t==='midnight'||t==='warm')document.documentElement.dataset.theme=t}catch(e){}</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_f367f3 font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><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>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:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-ca926228f8cba1ff.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[58321,[\"989\",\"static/chunks/989-6a0ec35b8ae2cb39.js\",\"177\",\"static/chunks/app/layout-5ec6c5f713a8562b.js\"],\"ThemeProvider\"]\n3:I[24554,[\"989\",\"static/chunks/989-6a0ec35b8ae2cb39.js\",\"177\",\"static/chunks/app/layout-5ec6c5f713a8562b.js\"],\"AppI18nProvider\"]\n4:I[63693,[],\"\"]\n5:I[74713,[],\"\"]\n6:I[23632,[],\"OutletBoundary\"]\n8:I[86889,[],\"AsyncMetadataOutlet\"]\na:I[23632,[],\"ViewportBoundary\"]\nc:I[23632,[],\"MetadataBoundary\"]\nd:\"$Sreact.suspense\"\nf:I[1935,[],\"\"]\n:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/c0ea31cd787f7aa7.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"pMc5AOPA8YmYr6tFONvcu\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c0ea31cd787f7aa7.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"try{var t=localStorage.getItem('halo_theme');if(t==='light'||t==='midnight'||t==='warm')document.documentElement.dataset.theme=t}catch(e){}\"}}]}],[\"$\",\"body\",null,{\"className\":\"__variable_f367f3 font-sans antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"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)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L6\",null,{\"children\":[\"$L7\",[\"$\",\"$L8\",null,{\"promise\":\"$@9\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$d\",null,{\"fallback\":null,\"children\":\"$Le\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n7:null\n"])</script><script>self.__next_f.push([1,"10:I[88809,[],\"IconMark\"]\n9:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Halo - Multi-Agent Workspace\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Multi-agent collaboration workspace for complex project delivery\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/icon.svg?3a6863548daca964\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"$L10\",\"4\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"e:\"$9:metadata\"\n"])</script></body></html>
|
package/admin-out/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
1
|
+
<!DOCTYPE html><!--pMc5AOPA8YmYr6tFONvcu--><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/c0ea31cd787f7aa7.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/659eccb5db697b76.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-ca926228f8cba1ff.js"/><script src="/_next/static/chunks/1b86ba38-c29611e086b2ce25.js" async=""></script><script src="/_next/static/chunks/698-19872069fed27164.js" async=""></script><script src="/_next/static/chunks/main-app-340a5b58ed229c4d.js" async=""></script><script src="/_next/static/chunks/989-6a0ec35b8ae2cb39.js" async=""></script><script src="/_next/static/chunks/app/layout-5ec6c5f713a8562b.js" async=""></script><script src="/_next/static/chunks/1d2d5650-d8d130c85727fdbb.js" async=""></script><script src="/_next/static/chunks/23-092ac3901411582e.js" async=""></script><script src="/_next/static/chunks/app/page-bf9c0b21ae431c92.js" async=""></script><meta name="next-size-adjust" content=""/><title>Halo - Multi-Agent Workspace</title><meta name="description" content="Multi-agent collaboration workspace for complex project delivery"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/icon.svg?3a6863548daca964" type="image/svg+xml" sizes="any"/><script>try{var t=localStorage.getItem('halo_theme');if(t==='light'||t==='midnight'||t==='warm')document.documentElement.dataset.theme=t}catch(e){}</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_f367f3 font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen w-screen items-center justify-center bg-[var(--background)]"><div class="text-sm text-[var(--muted-foreground)]">Loading...</div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-ca926228f8cba1ff.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[58321,[\"989\",\"static/chunks/989-6a0ec35b8ae2cb39.js\",\"177\",\"static/chunks/app/layout-5ec6c5f713a8562b.js\"],\"ThemeProvider\"]\n3:I[24554,[\"989\",\"static/chunks/989-6a0ec35b8ae2cb39.js\",\"177\",\"static/chunks/app/layout-5ec6c5f713a8562b.js\"],\"AppI18nProvider\"]\n4:I[63693,[],\"\"]\n5:I[74713,[],\"\"]\n6:I[5444,[],\"ClientPageRoot\"]\n7:I[18100,[\"560\",\"static/chunks/1d2d5650-d8d130c85727fdbb.js\",\"23\",\"static/chunks/23-092ac3901411582e.js\",\"989\",\"static/chunks/989-6a0ec35b8ae2cb39.js\",\"974\",\"static/chunks/app/page-bf9c0b21ae431c92.js\"],\"default\"]\na:I[23632,[],\"OutletBoundary\"]\nc:I[86889,[],\"AsyncMetadataOutlet\"]\ne:I[23632,[],\"ViewportBoundary\"]\n10:I[23632,[],\"MetadataBoundary\"]\n11:\"$Sreact.suspense\"\n13:I[1935,[],\"\"]\n:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/c0ea31cd787f7aa7.css\",\"style\"]\n:HL[\"/_next/static/css/659eccb5db697b76.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"pMc5AOPA8YmYr6tFONvcu\",\"p\":\"\",\"c\":[\"\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c0ea31cd787f7aa7.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"try{var t=localStorage.getItem('halo_theme');if(t==='light'||t==='midnight'||t==='warm')document.documentElement.dataset.theme=t}catch(e){}\"}}]}],[\"$\",\"body\",null,{\"className\":\"__variable_f367f3 font-sans antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"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)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L6\",null,{\"Component\":\"$7\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@8\",\"$@9\"]}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/659eccb5db697b76.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$La\",null,{\"children\":[\"$Lb\",[\"$\",\"$Lc\",null,{\"promise\":\"$@d\"}]]}]]}],{},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Le\",null,{\"children\":\"$Lf\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L10\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$11\",null,{\"fallback\":null,\"children\":\"$L12\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$13\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:{}\n9:\"$0:f:0:1:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"f:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\nb:null\n"])</script><script>self.__next_f.push([1,"14:I[88809,[],\"IconMark\"]\nd:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Halo - Multi-Agent Workspace\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Multi-agent collaboration workspace for complex project delivery\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/icon.svg?3a6863548daca964\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"$L14\",\"4\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"12:\"$d:metadata\"\n"])</script></body></html>
|
package/admin-out/index.txt
CHANGED
|
@@ -14,7 +14,7 @@ e:I[23632,[],"ViewportBoundary"]
|
|
|
14
14
|
:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
15
15
|
:HL["/_next/static/css/c0ea31cd787f7aa7.css","style"]
|
|
16
16
|
:HL["/_next/static/css/659eccb5db697b76.css","style"]
|
|
17
|
-
0:{"P":null,"b":"
|
|
17
|
+
0:{"P":null,"b":"pMc5AOPA8YmYr6tFONvcu","p":"","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/c0ea31cd787f7aa7.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"dark","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"try{var t=localStorage.getItem('halo_theme');if(t==='light'||t==='midnight'||t==='warm')document.documentElement.dataset.theme=t}catch(e){}"}}]}],["$","body",null,{"className":"__variable_f367f3 font-sans antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"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)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L6",null,{"Component":"$7","searchParams":{},"params":{},"promises":["$@8","$@9"]}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/659eccb5db697b76.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$La",null,{"children":["$Lb",["$","$Lc",null,{"promise":"$@d"}]]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Le",null,{"children":"$Lf"}],["$","meta",null,{"name":"next-size-adjust","content":""}]],["$","$L10",null,{"children":["$","div",null,{"hidden":true,"children":["$","$11",null,{"fallback":null,"children":"$L12"}]}]}]]}],false]],"m":"$undefined","G":["$13",[]],"s":false,"S":true}
|
|
18
18
|
8:{}
|
|
19
19
|
9:"$0:f:0:1:2:children:1:props:children:0:props:params"
|
|
20
20
|
f:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
package/dist/index.js
CHANGED
|
@@ -1392,7 +1392,7 @@ function classifyModelError(err) {
|
|
|
1392
1392
|
return { kind: classifyKind(msg, errName, httpStatus), msg, errName, httpStatus };
|
|
1393
1393
|
}
|
|
1394
1394
|
function classifyKind(msg, errName, httpStatus) {
|
|
1395
|
-
if (msg.includes("too many input tokens") || msg.includes("prompt_too_long") || msg.includes("ContextWindowOverflow")) {
|
|
1395
|
+
if (msg.includes("too many input tokens") || msg.includes("prompt_too_long") || msg.includes("ContextWindowOverflow") || msg.includes("Input is too long")) {
|
|
1396
1396
|
return "context_overflow";
|
|
1397
1397
|
}
|
|
1398
1398
|
const isAccountError = httpStatus !== void 0 ? httpStatus === 401 || httpStatus === 402 || httpStatus === 403 : msg.includes("insufficient balance") || msg.includes("suspended") || msg.includes("invalid api key") || msg.includes("Invalid API Key") || msg.includes("Unauthorized") || msg.includes("authentication");
|
|
@@ -1543,6 +1543,67 @@ var init_micro_compact = __esm({
|
|
|
1543
1543
|
}
|
|
1544
1544
|
});
|
|
1545
1545
|
|
|
1546
|
+
// ../server/dist/agents/history-images.js
|
|
1547
|
+
function mapImageBlocks(messages2, fn) {
|
|
1548
|
+
let index = 0;
|
|
1549
|
+
let replaced = 0;
|
|
1550
|
+
const visit = (b) => {
|
|
1551
|
+
if (b.type !== "image")
|
|
1552
|
+
return b;
|
|
1553
|
+
const text6 = fn(index++);
|
|
1554
|
+
if (text6 === null)
|
|
1555
|
+
return b;
|
|
1556
|
+
replaced++;
|
|
1557
|
+
return { type: "text", text: text6 };
|
|
1558
|
+
};
|
|
1559
|
+
for (const m of messages2) {
|
|
1560
|
+
if (!Array.isArray(m.content))
|
|
1561
|
+
continue;
|
|
1562
|
+
m.content = m.content.map((b) => b.type === "tool_result" && Array.isArray(b.content) ? { ...b, content: b.content.map(visit) } : visit(b));
|
|
1563
|
+
}
|
|
1564
|
+
return replaced;
|
|
1565
|
+
}
|
|
1566
|
+
function imageSizes(messages2) {
|
|
1567
|
+
const sizes = [];
|
|
1568
|
+
for (const m of messages2) {
|
|
1569
|
+
if (!Array.isArray(m.content))
|
|
1570
|
+
continue;
|
|
1571
|
+
for (const b of m.content) {
|
|
1572
|
+
if (b.type === "image")
|
|
1573
|
+
sizes.push(b.source.data.length);
|
|
1574
|
+
else if (b.type === "tool_result" && Array.isArray(b.content)) {
|
|
1575
|
+
for (const ib of b.content)
|
|
1576
|
+
if (ib.type === "image")
|
|
1577
|
+
sizes.push(ib.source.data.length);
|
|
1578
|
+
}
|
|
1579
|
+
}
|
|
1580
|
+
}
|
|
1581
|
+
return sizes;
|
|
1582
|
+
}
|
|
1583
|
+
function replaceImageBlocks(messages2, reason) {
|
|
1584
|
+
return mapImageBlocks(messages2, () => `[image removed: ${reason}]`);
|
|
1585
|
+
}
|
|
1586
|
+
function trimHistoryImages(messages2) {
|
|
1587
|
+
const sizes = imageSizes(messages2);
|
|
1588
|
+
let total = sizes.reduce((a, b) => a + b, 0);
|
|
1589
|
+
if (total <= MAX_IMAGE_B64 && sizes.length <= MAX_IMAGES)
|
|
1590
|
+
return 0;
|
|
1591
|
+
let drop = 0;
|
|
1592
|
+
while (drop < sizes.length && (total > MAX_IMAGE_B64 / 2 || sizes.length - drop > MAX_IMAGES / 2)) {
|
|
1593
|
+
total -= sizes[drop++];
|
|
1594
|
+
}
|
|
1595
|
+
return mapImageBlocks(messages2, (i) => i < drop ? TRIM_PLACEHOLDER : null);
|
|
1596
|
+
}
|
|
1597
|
+
var MAX_IMAGE_B64, MAX_IMAGES, TRIM_PLACEHOLDER;
|
|
1598
|
+
var init_history_images = __esm({
|
|
1599
|
+
"../server/dist/agents/history-images.js"() {
|
|
1600
|
+
"use strict";
|
|
1601
|
+
MAX_IMAGE_B64 = 20 * 1024 * 1024;
|
|
1602
|
+
MAX_IMAGES = 100;
|
|
1603
|
+
TRIM_PLACEHOLDER = "[image removed: older image dropped to keep the request under the size limit \u2014 view_image it again if still needed]";
|
|
1604
|
+
}
|
|
1605
|
+
});
|
|
1606
|
+
|
|
1546
1607
|
// ../server/dist/agents/agent-loop.js
|
|
1547
1608
|
function toolResultImages(content) {
|
|
1548
1609
|
const images = [];
|
|
@@ -10636,10 +10697,12 @@ Error: "${input.path}" does not decode as a valid image (${err instanceof Error
|
|
|
10636
10697
|
const dims = imageDimensions(buf, mediaType);
|
|
10637
10698
|
const tooManyBytes = b64Len(buf.length) > B64_LIMIT;
|
|
10638
10699
|
const tooBig = dims != null && Math.max(dims.w, dims.h) > MAX_EDGE;
|
|
10700
|
+
const PNG_TO_JPEG_MIN = 256 * 1024;
|
|
10701
|
+
const heavyPng = mediaType === "image/png" && buf.length > PNG_TO_JPEG_MIN && img != null && !img.hasAlpha();
|
|
10639
10702
|
let outMediaType = mediaType;
|
|
10640
10703
|
let outBuf = buf;
|
|
10641
10704
|
let note = "";
|
|
10642
|
-
if (tooManyBytes || tooBig) {
|
|
10705
|
+
if (tooManyBytes || tooBig || heavyPng) {
|
|
10643
10706
|
try {
|
|
10644
10707
|
img ??= await Jimp.read(buf);
|
|
10645
10708
|
const longEdge = Math.max(img.bitmap.width, img.bitmap.height);
|
|
@@ -10651,9 +10714,11 @@ Error: "${input.path}" does not decode as a valid image (${err instanceof Error
|
|
|
10651
10714
|
q -= 15;
|
|
10652
10715
|
jpeg = await img.getBuffer("image/jpeg", { quality: q });
|
|
10653
10716
|
}
|
|
10654
|
-
|
|
10655
|
-
|
|
10656
|
-
|
|
10717
|
+
if (tooManyBytes || tooBig || jpeg.length < buf.length) {
|
|
10718
|
+
outBuf = jpeg;
|
|
10719
|
+
outMediaType = "image/jpeg";
|
|
10720
|
+
note = tooManyBytes || tooBig ? ` \u2014 resized to ${img.bitmap.width}\xD7${img.bitmap.height}, ${(jpeg.length / 1024).toFixed(0)} KB (jpeg q${q}) to fit the model's image limits` : ` \u2014 sent as jpeg q${q}, ${(jpeg.length / 1024).toFixed(0)} KB, to keep the conversation payload small`;
|
|
10721
|
+
}
|
|
10657
10722
|
} catch (err) {
|
|
10658
10723
|
return `${TOOL_WARN_MARKER}
|
|
10659
10724
|
Error: image is too large for the model and automatic compression failed (${err instanceof Error ? err.message : String(err)}). Shrink it (lower resolution / crop the relevant region) and retry.`;
|
|
@@ -11829,7 +11894,7 @@ async function initObservability() {
|
|
|
11829
11894
|
return true;
|
|
11830
11895
|
}
|
|
11831
11896
|
const { registerSdk: registerSdk2 } = await Promise.resolve().then(() => (init_otel_sdk(), otel_sdk_exports));
|
|
11832
|
-
providers = registerSdk2(process.env.OTEL_SERVICE_NAME, "1.4.
|
|
11897
|
+
providers = registerSdk2(process.env.OTEL_SERVICE_NAME, "1.4.4");
|
|
11833
11898
|
console.log(`[Observability] OTLP export \u2192 ${process.env.OTEL_EXPORTER_OTLP_ENDPOINT} (service.name=${process.env.OTEL_SERVICE_NAME}, capture_content=${config.observability.captureContent})`);
|
|
11834
11899
|
return true;
|
|
11835
11900
|
}
|
|
@@ -12170,34 +12235,6 @@ function isRawTurnStart(msg) {
|
|
|
12170
12235
|
function stripImageMarkers(s) {
|
|
12171
12236
|
return s.replace(/\[图片已保存: [^\]]*\]\n?/g, "").trim();
|
|
12172
12237
|
}
|
|
12173
|
-
function replaceImageBlocks(messages2, reason) {
|
|
12174
|
-
let replaced = 0;
|
|
12175
|
-
const placeholder = () => ({ type: "text", text: `[image removed: ${reason}]` });
|
|
12176
|
-
for (const m of messages2) {
|
|
12177
|
-
if (!Array.isArray(m.content))
|
|
12178
|
-
continue;
|
|
12179
|
-
m.content = m.content.map((b) => {
|
|
12180
|
-
if (b.type === "image") {
|
|
12181
|
-
replaced++;
|
|
12182
|
-
return placeholder();
|
|
12183
|
-
}
|
|
12184
|
-
if (b.type === "tool_result" && Array.isArray(b.content)) {
|
|
12185
|
-
return {
|
|
12186
|
-
...b,
|
|
12187
|
-
content: b.content.map((ib) => {
|
|
12188
|
-
if (ib.type === "image") {
|
|
12189
|
-
replaced++;
|
|
12190
|
-
return { type: "text", text: `[image removed: ${reason}]` };
|
|
12191
|
-
}
|
|
12192
|
-
return ib;
|
|
12193
|
-
})
|
|
12194
|
-
};
|
|
12195
|
-
}
|
|
12196
|
-
return b;
|
|
12197
|
-
});
|
|
12198
|
-
}
|
|
12199
|
-
return replaced;
|
|
12200
|
-
}
|
|
12201
12238
|
function generateSessionId() {
|
|
12202
12239
|
const ts = Date.now().toString(36);
|
|
12203
12240
|
const rand = Math.random().toString(36).slice(2, 8);
|
|
@@ -12213,6 +12250,7 @@ var init_session_manager = __esm({
|
|
|
12213
12250
|
init_model_error();
|
|
12214
12251
|
init_compact();
|
|
12215
12252
|
init_micro_compact();
|
|
12253
|
+
init_history_images();
|
|
12216
12254
|
init_agent_loader();
|
|
12217
12255
|
init_broadcast();
|
|
12218
12256
|
init_db();
|
|
@@ -12968,6 +13006,7 @@ var init_session_manager = __esm({
|
|
|
12968
13006
|
const iter = session.agent.run(input, {
|
|
12969
13007
|
cancelSignal: signal,
|
|
12970
13008
|
beforeCallModel: async () => {
|
|
13009
|
+
this.trimImages(session);
|
|
12971
13010
|
await this.maybeAutoCompact(session);
|
|
12972
13011
|
this.saveAgentState(session);
|
|
12973
13012
|
}
|
|
@@ -13645,6 +13684,17 @@ ${cleaned}` : cleaned;
|
|
|
13645
13684
|
console.warn(`[Evo] pre-compact enqueue threw for ${session.id}: ${err instanceof Error ? err.message : String(err)}`);
|
|
13646
13685
|
}
|
|
13647
13686
|
}
|
|
13687
|
+
/** Byte-budget counterpart of maybeAutoCompact (which only sees tokens):
|
|
13688
|
+
* drop the oldest history images once their base64 outgrows the request
|
|
13689
|
+
* body limit. Same beforeCallModel hook, so the trimmed state is what the
|
|
13690
|
+
* hook's saveAgentState persists. */
|
|
13691
|
+
trimImages(session) {
|
|
13692
|
+
const replaced = trimHistoryImages(session.agent.messages);
|
|
13693
|
+
if (replaced === 0)
|
|
13694
|
+
return;
|
|
13695
|
+
console.warn(`[SessionManager] Session ${session.id} history images over budget \u2014 replaced ${replaced} oldest with placeholders`);
|
|
13696
|
+
this.emitEvent(session.id, { type: "system", text: `Removed ${replaced} older image(s) from context to keep the request under the size limit`, taskId: session.parentId ? session.id : void 0 });
|
|
13697
|
+
}
|
|
13648
13698
|
/** Mid-turn auto-compact: invoked by agent-loop's beforeCallModel hook.
|
|
13649
13699
|
* Runs once per loop iteration — without this, a single long turn that
|
|
13650
13700
|
* accumulates many large tool results (file_read, grep) blows the window
|
|
@@ -31705,7 +31755,7 @@ var init_dist2 = __esm({
|
|
|
31705
31755
|
init_git_ssh();
|
|
31706
31756
|
__dirname3 = path68.dirname(fileURLToPath3(import.meta.url));
|
|
31707
31757
|
PORT = config.server.port;
|
|
31708
|
-
HALO_VERSION = "1.4.
|
|
31758
|
+
HALO_VERSION = "1.4.4";
|
|
31709
31759
|
PROJECT_ROOT = findProjectRoot();
|
|
31710
31760
|
HALO_HOME4 = path68.join(homedir24(), ".halo");
|
|
31711
31761
|
GIT_SHA = readGitSha();
|
|
@@ -32644,7 +32694,7 @@ import path69 from "node:path";
|
|
|
32644
32694
|
import fs63 from "node:fs";
|
|
32645
32695
|
import { homedir as homedir25 } from "node:os";
|
|
32646
32696
|
import { parseArgs as parseArgs2 } from "node:util";
|
|
32647
|
-
var VERSION = "1.4.
|
|
32697
|
+
var VERSION = "1.4.4";
|
|
32648
32698
|
var HELP_TOP = `Usage: halo <command> [options]
|
|
32649
32699
|
|
|
32650
32700
|
Commands:
|
package/package.json
CHANGED
/package/admin-out/_next/static/{IHBLjOk92WBjj7mPz8oZK → pMc5AOPA8YmYr6tFONvcu}/_buildManifest.js
RENAMED
|
File without changes
|
/package/admin-out/_next/static/{IHBLjOk92WBjj7mPz8oZK → pMc5AOPA8YmYr6tFONvcu}/_ssgManifest.js
RENAMED
|
File without changes
|