@turmind/halo 1.4.1 → 1.4.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/admin-out/404.html +1 -1
- package/admin-out/index.html +1 -1
- package/admin-out/index.txt +1 -1
- package/dist/index.js +156 -21
- package/package.json +1 -1
- /package/admin-out/_next/static/{7i420NUxbiDfuLxuofd-l → IHBLjOk92WBjj7mPz8oZK}/_buildManifest.js +0 -0
- /package/admin-out/_next/static/{7i420NUxbiDfuLxuofd-l → IHBLjOk92WBjj7mPz8oZK}/_ssgManifest.js +0 -0
package/admin-out/404.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
1
|
+
<!DOCTYPE html><!--IHBLjOk92WBjj7mPz8oZK--><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\":\"IHBLjOk92WBjj7mPz8oZK\",\"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><!--IHBLjOk92WBjj7mPz8oZK--><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\":\"IHBLjOk92WBjj7mPz8oZK\",\"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":"IHBLjOk92WBjj7mPz8oZK","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
|
@@ -1544,6 +1544,17 @@ var init_micro_compact = __esm({
|
|
|
1544
1544
|
});
|
|
1545
1545
|
|
|
1546
1546
|
// ../server/dist/agents/agent-loop.js
|
|
1547
|
+
function toolResultImages(content) {
|
|
1548
|
+
const images = [];
|
|
1549
|
+
for (const block of content) {
|
|
1550
|
+
if (block.type !== "tool_result" || typeof block.content === "string")
|
|
1551
|
+
continue;
|
|
1552
|
+
for (const b of block.content)
|
|
1553
|
+
if (b.type === "image")
|
|
1554
|
+
images.push(b);
|
|
1555
|
+
}
|
|
1556
|
+
return images.length > 0 ? [{ type: "text", text: "[Images from the tool results above]" }, ...images] : [];
|
|
1557
|
+
}
|
|
1547
1558
|
var TOOL_ERROR_MARKER, TOOL_WARN_MARKER, MODEL_TIMEOUT_ERROR, AgentLoop;
|
|
1548
1559
|
var init_agent_loop = __esm({
|
|
1549
1560
|
"../server/dist/agents/agent-loop.js"() {
|
|
@@ -7843,7 +7854,7 @@ var init_deepseek_agent = __esm({
|
|
|
7843
7854
|
if (msg.role === "user") {
|
|
7844
7855
|
if (typeof msg.content !== "string" && msg.content.some((b) => b.type === "tool_result")) {
|
|
7845
7856
|
msgs.push(...this.convertToolResults(msg.content));
|
|
7846
|
-
const rest = msg.content.filter((b) => b.type !== "tool_result");
|
|
7857
|
+
const rest = [...toolResultImages(msg.content), ...msg.content.filter((b) => b.type !== "tool_result")];
|
|
7847
7858
|
if (rest.length > 0) {
|
|
7848
7859
|
msgs.push({ role: "user", content: this.convertUserContent(rest) });
|
|
7849
7860
|
}
|
|
@@ -7860,7 +7871,7 @@ var init_deepseek_agent = __esm({
|
|
|
7860
7871
|
const results = [];
|
|
7861
7872
|
for (const block of content) {
|
|
7862
7873
|
if (block.type === "tool_result") {
|
|
7863
|
-
const text6 = typeof block.content === "string" ? block.content : block.content.map((b) => b.type === "text" ? b.text : "[image]").join("\n");
|
|
7874
|
+
const text6 = typeof block.content === "string" ? block.content : block.content.map((b) => b.type === "text" ? b.text : "[image: in the next user message]").join("\n");
|
|
7864
7875
|
results.push({
|
|
7865
7876
|
role: "tool",
|
|
7866
7877
|
tool_call_id: block.tool_use_id,
|
|
@@ -8053,7 +8064,7 @@ var init_kimi_agent = __esm({
|
|
|
8053
8064
|
if (msg.role === "user") {
|
|
8054
8065
|
if (typeof msg.content !== "string" && msg.content.some((b) => b.type === "tool_result")) {
|
|
8055
8066
|
msgs.push(...this.convertToolResults(msg.content));
|
|
8056
|
-
const rest = msg.content.filter((b) => b.type !== "tool_result");
|
|
8067
|
+
const rest = [...toolResultImages(msg.content), ...msg.content.filter((b) => b.type !== "tool_result")];
|
|
8057
8068
|
if (rest.length > 0) {
|
|
8058
8069
|
msgs.push({ role: "user", content: this.convertUserContent(rest) });
|
|
8059
8070
|
}
|
|
@@ -8070,7 +8081,7 @@ var init_kimi_agent = __esm({
|
|
|
8070
8081
|
const results = [];
|
|
8071
8082
|
for (const block of content) {
|
|
8072
8083
|
if (block.type === "tool_result") {
|
|
8073
|
-
const text6 = typeof block.content === "string" ? block.content : block.content.map((b) => b.type === "text" ? b.text : "[image]").join("\n");
|
|
8084
|
+
const text6 = typeof block.content === "string" ? block.content : block.content.map((b) => b.type === "text" ? b.text : "[image: in the next user message]").join("\n");
|
|
8074
8085
|
results.push({
|
|
8075
8086
|
role: "tool",
|
|
8076
8087
|
tool_call_id: block.tool_use_id,
|
|
@@ -8890,7 +8901,7 @@ var init_openai_agent = __esm({
|
|
|
8890
8901
|
if (msg.role === "user") {
|
|
8891
8902
|
if (typeof msg.content !== "string" && msg.content.some((b) => b.type === "tool_result")) {
|
|
8892
8903
|
msgs.push(...this.convertToolResults(msg.content));
|
|
8893
|
-
const rest = msg.content.filter((b) => b.type !== "tool_result");
|
|
8904
|
+
const rest = [...toolResultImages(msg.content), ...msg.content.filter((b) => b.type !== "tool_result")];
|
|
8894
8905
|
if (rest.length > 0) {
|
|
8895
8906
|
msgs.push({ role: "user", content: this.convertUserContent(rest) });
|
|
8896
8907
|
}
|
|
@@ -8907,7 +8918,7 @@ var init_openai_agent = __esm({
|
|
|
8907
8918
|
const results = [];
|
|
8908
8919
|
for (const block of content) {
|
|
8909
8920
|
if (block.type === "tool_result") {
|
|
8910
|
-
const text6 = typeof block.content === "string" ? block.content : block.content.map((b) => b.type === "text" ? b.text : "[image]").join("\n");
|
|
8921
|
+
const text6 = typeof block.content === "string" ? block.content : block.content.map((b) => b.type === "text" ? b.text : "[image: in the next user message]").join("\n");
|
|
8911
8922
|
results.push({ role: "tool", tool_call_id: block.tool_use_id, content: text6 });
|
|
8912
8923
|
}
|
|
8913
8924
|
}
|
|
@@ -8916,7 +8927,17 @@ var init_openai_agent = __esm({
|
|
|
8916
8927
|
convertUserContent(content) {
|
|
8917
8928
|
if (typeof content === "string")
|
|
8918
8929
|
return content;
|
|
8919
|
-
|
|
8930
|
+
if (!content.some((b) => b.type === "image")) {
|
|
8931
|
+
return content.filter((b) => b.type === "text").map((b) => b.text).join("\n");
|
|
8932
|
+
}
|
|
8933
|
+
const parts = [];
|
|
8934
|
+
for (const b of content) {
|
|
8935
|
+
if (b.type === "text")
|
|
8936
|
+
parts.push({ type: "text", text: b.text });
|
|
8937
|
+
else if (b.type === "image")
|
|
8938
|
+
parts.push({ type: "image_url", image_url: { url: `data:${b.source.media_type};base64,${b.source.data}` } });
|
|
8939
|
+
}
|
|
8940
|
+
return parts;
|
|
8920
8941
|
}
|
|
8921
8942
|
convertAssistantMessage(msg) {
|
|
8922
8943
|
const results = [];
|
|
@@ -9103,14 +9124,16 @@ var init_mantle_agent = __esm({
|
|
|
9103
9124
|
return items;
|
|
9104
9125
|
}
|
|
9105
9126
|
/** Tool results feed back as `function_call_output` items keyed by call_id.
|
|
9106
|
-
*
|
|
9107
|
-
*
|
|
9127
|
+
* A block-array result (view_image: text + image) goes out as input_text /
|
|
9128
|
+
* input_image parts — `output` takes content parts, not only a string
|
|
9129
|
+
* (verified live on gpt-5.6-terra and gpt-6-astra). Flattening it to text
|
|
9130
|
+
* used to hand the model an `[image]` placeholder instead of the pixels. */
|
|
9108
9131
|
convertToolResults(content) {
|
|
9109
9132
|
const out = [];
|
|
9110
9133
|
for (const block of content) {
|
|
9111
9134
|
if (block.type === "tool_result") {
|
|
9112
|
-
const
|
|
9113
|
-
out.push({ type: "function_call_output", call_id: block.tool_use_id, output
|
|
9135
|
+
const output = typeof block.content === "string" ? block.content : block.content.map((b) => b.type === "text" ? { type: "input_text", text: b.text } : { type: "input_image", image_url: `data:${b.source.media_type};base64,${b.source.data}` });
|
|
9136
|
+
out.push({ type: "function_call_output", call_id: block.tool_use_id, output });
|
|
9114
9137
|
}
|
|
9115
9138
|
}
|
|
9116
9139
|
return out;
|
|
@@ -11806,7 +11829,7 @@ async function initObservability() {
|
|
|
11806
11829
|
return true;
|
|
11807
11830
|
}
|
|
11808
11831
|
const { registerSdk: registerSdk2 } = await Promise.resolve().then(() => (init_otel_sdk(), otel_sdk_exports));
|
|
11809
|
-
providers = registerSdk2(process.env.OTEL_SERVICE_NAME, "1.4.
|
|
11832
|
+
providers = registerSdk2(process.env.OTEL_SERVICE_NAME, "1.4.3");
|
|
11810
11833
|
console.log(`[Observability] OTLP export \u2192 ${process.env.OTEL_EXPORTER_OTLP_ENDPOINT} (service.name=${process.env.OTEL_SERVICE_NAME}, capture_content=${config.observability.captureContent})`);
|
|
11811
11834
|
return true;
|
|
11812
11835
|
}
|
|
@@ -25692,14 +25715,14 @@ var init_event_adapter = __esm({
|
|
|
25692
25715
|
try {
|
|
25693
25716
|
await this.deps.sendText(text6);
|
|
25694
25717
|
} catch (err) {
|
|
25695
|
-
console.
|
|
25718
|
+
console.warn(`[Telegram] sendText failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
25696
25719
|
}
|
|
25697
25720
|
}
|
|
25698
25721
|
for (const p of mediaPaths) {
|
|
25699
25722
|
try {
|
|
25700
25723
|
await this.deps.sendMedia(p);
|
|
25701
25724
|
} catch (err) {
|
|
25702
|
-
console.
|
|
25725
|
+
console.warn(`[Telegram] sendMedia ${p} failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
25703
25726
|
}
|
|
25704
25727
|
}
|
|
25705
25728
|
}
|
|
@@ -25765,6 +25788,21 @@ ${agentText}`;
|
|
|
25765
25788
|
});
|
|
25766
25789
|
return sessionId;
|
|
25767
25790
|
}
|
|
25791
|
+
function restoreChannelRoute(args) {
|
|
25792
|
+
const { registry: registry2, workspacePath, bridge, sessionPrefix: sessionPrefix2, route } = args;
|
|
25793
|
+
const sm = registry2.peek(workspacePath) ?? (claimWorkspaceRuntime(workspacePath) ? registry2.getOrCreate(workspacePath) : void 0);
|
|
25794
|
+
if (!sm) {
|
|
25795
|
+
console.warn(`[${bridge.channel}] reply route not restored for ${sessionPrefix2}*: ${workspacePath} runtime is owned by another live process (.halo/runtime.lock)`);
|
|
25796
|
+
return null;
|
|
25797
|
+
}
|
|
25798
|
+
const latest = sm.findLatestByPrefix(sessionPrefix2);
|
|
25799
|
+
if (!latest)
|
|
25800
|
+
return null;
|
|
25801
|
+
const sessionId = resolveGoalRoute(sm.getDb(), latest.id);
|
|
25802
|
+
bridge.setRoute(sessionId, route);
|
|
25803
|
+
bridge.ensureListener(sm, sessionId);
|
|
25804
|
+
return sessionId;
|
|
25805
|
+
}
|
|
25768
25806
|
async function dispatchChannelCommand(ctx, command, arg, opts) {
|
|
25769
25807
|
const { bridge, route, channelName, extraHelpLines } = opts;
|
|
25770
25808
|
const result = await dispatchCommand(ctx, command, arg, { channelName, extraHelpLines });
|
|
@@ -25783,6 +25821,7 @@ var init_inbound = __esm({
|
|
|
25783
25821
|
"../server/dist/channels/shared/inbound.js"() {
|
|
25784
25822
|
"use strict";
|
|
25785
25823
|
init_goal_mode();
|
|
25824
|
+
init_workspace_runtime_lock();
|
|
25786
25825
|
init_accounts();
|
|
25787
25826
|
init_commands2();
|
|
25788
25827
|
init_busy_hint();
|
|
@@ -25907,6 +25946,25 @@ function isUserAllowed(account, userId, username) {
|
|
|
25907
25946
|
function buildTgSessionPrefix(userId) {
|
|
25908
25947
|
return sessionPrefix("tg", String(userId));
|
|
25909
25948
|
}
|
|
25949
|
+
function restoreReplyRoute(args) {
|
|
25950
|
+
const { registry: registry2, db, account, bridge } = args;
|
|
25951
|
+
const chatId = getAccount(db, account.accountId)?.config.lastActiveChatId;
|
|
25952
|
+
if (typeof chatId !== "string" || !/^\d+$/.test(chatId))
|
|
25953
|
+
return;
|
|
25954
|
+
const workspacePath = resolveAccountWorkspace(account);
|
|
25955
|
+
if (!workspacePath)
|
|
25956
|
+
return;
|
|
25957
|
+
const userId = Number(chatId);
|
|
25958
|
+
const sid = restoreChannelRoute({
|
|
25959
|
+
registry: registry2,
|
|
25960
|
+
workspacePath,
|
|
25961
|
+
bridge,
|
|
25962
|
+
sessionPrefix: buildTgSessionPrefix(userId),
|
|
25963
|
+
route: { chatId: userId }
|
|
25964
|
+
});
|
|
25965
|
+
if (sid)
|
|
25966
|
+
console.log(`[Telegram] account ${account.accountId} reply route restored for ${sid}`);
|
|
25967
|
+
}
|
|
25910
25968
|
function startTelegramChannel(deps) {
|
|
25911
25969
|
const { registry: registry2, db } = deps;
|
|
25912
25970
|
const runners = /* @__PURE__ */ new Map();
|
|
@@ -25970,6 +26028,7 @@ function startTelegramChannel(deps) {
|
|
|
25970
26028
|
}
|
|
25971
26029
|
})
|
|
25972
26030
|
});
|
|
26031
|
+
restoreReplyRoute({ registry: registry2, db, account, bridge });
|
|
25973
26032
|
const promise = runBot({ registry: registry2, db, account, bot, abort, bridge, activeOverrides: activeOverrides2, restartSelf }).catch((err) => console.log(`[Telegram] account ${accountId} bot crashed: ${String(err)}`));
|
|
25974
26033
|
runners.set(accountId, { accountId, bot, abort, promise, bridge, activeOverrides: activeOverrides2 });
|
|
25975
26034
|
console.log(`[Telegram] account ${accountId} started (@${account.botUsername}, workspace=${account.workspacePath})`);
|
|
@@ -26867,14 +26926,14 @@ var init_event_adapter2 = __esm({
|
|
|
26867
26926
|
try {
|
|
26868
26927
|
await this.deps.sendText(text6);
|
|
26869
26928
|
} catch (err) {
|
|
26870
|
-
console.
|
|
26929
|
+
console.warn(`[WeChat] sendText failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
26871
26930
|
}
|
|
26872
26931
|
}
|
|
26873
26932
|
for (const p of mediaPaths) {
|
|
26874
26933
|
try {
|
|
26875
26934
|
await this.deps.sendMedia(p);
|
|
26876
26935
|
} catch (err) {
|
|
26877
|
-
console.
|
|
26936
|
+
console.warn(`[WeChat] sendMedia ${p} failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
26878
26937
|
}
|
|
26879
26938
|
}
|
|
26880
26939
|
}
|
|
@@ -27265,6 +27324,7 @@ function startWechatChannel(deps) {
|
|
|
27265
27324
|
});
|
|
27266
27325
|
});
|
|
27267
27326
|
};
|
|
27327
|
+
restoreReplyRoutes({ registry: registry2, db, account, bridge });
|
|
27268
27328
|
const promise = runAccountLoop({ registry: registry2, db, account, abort: abort.signal, bridge, activeOverrides: activeOverrides2, restartSelf, startNewAccount: startAccount }).catch((err) => console.log(`[WeChat] account ${accountId} loop crashed: ${String(err)}`));
|
|
27269
27329
|
runners.set(accountId, { accountId, abort, promise, bridge, activeOverrides: activeOverrides2 });
|
|
27270
27330
|
console.log(`[WeChat] account ${accountId} started (workspace=${account.workspacePath})`);
|
|
@@ -27295,6 +27355,27 @@ function startWechatChannel(deps) {
|
|
|
27295
27355
|
startAccount(acc.accountId);
|
|
27296
27356
|
return { startAccount, stopAccount, stopAll };
|
|
27297
27357
|
}
|
|
27358
|
+
function restoreReplyRoutes(args) {
|
|
27359
|
+
const { registry: registry2, db, account, bridge } = args;
|
|
27360
|
+
const tokens = getAccount(db, account.accountId)?.config.contextTokens ?? {};
|
|
27361
|
+
const users = Object.keys(tokens);
|
|
27362
|
+
if (users.length === 0)
|
|
27363
|
+
return;
|
|
27364
|
+
const workspacePath = resolveAccountWorkspace(account);
|
|
27365
|
+
if (!workspacePath)
|
|
27366
|
+
return;
|
|
27367
|
+
for (const userId of users) {
|
|
27368
|
+
const sid = restoreChannelRoute({
|
|
27369
|
+
registry: registry2,
|
|
27370
|
+
workspacePath,
|
|
27371
|
+
bridge,
|
|
27372
|
+
sessionPrefix: buildWxSessionPrefix(userId),
|
|
27373
|
+
route: wxRoute(userId, tokens[userId])
|
|
27374
|
+
});
|
|
27375
|
+
if (sid)
|
|
27376
|
+
console.log(`[WeChat] ${account.accountId} reply route restored for ${sid}`);
|
|
27377
|
+
}
|
|
27378
|
+
}
|
|
27298
27379
|
async function runAccountLoop(args) {
|
|
27299
27380
|
const { registry: registry2, db, account, abort, bridge, activeOverrides: activeOverrides2, restartSelf, startNewAccount } = args;
|
|
27300
27381
|
try {
|
|
@@ -27830,8 +27911,8 @@ async function dispatch2(accountId, text6, explicitChatId, media) {
|
|
|
27830
27911
|
throw new Error("no wechat target \u2014 bind the account first (the QR-login owner becomes the default cron recipient)");
|
|
27831
27912
|
}
|
|
27832
27913
|
const out = [];
|
|
27914
|
+
const contextToken = readContextToken(accountId, chatId);
|
|
27833
27915
|
if (text6) {
|
|
27834
|
-
const contextToken = readContextToken(accountId, chatId);
|
|
27835
27916
|
const chunks = splitText(text6, WECHAT_TEXT_LIMIT);
|
|
27836
27917
|
for (const [i, chunk] of chunks.entries()) {
|
|
27837
27918
|
try {
|
|
@@ -27853,6 +27934,7 @@ async function dispatch2(accountId, text6, explicitChatId, media) {
|
|
|
27853
27934
|
baseUrl: acct.baseUrl,
|
|
27854
27935
|
token: acct.botToken,
|
|
27855
27936
|
toUserId: chatId,
|
|
27937
|
+
contextToken,
|
|
27856
27938
|
filePath
|
|
27857
27939
|
});
|
|
27858
27940
|
out.push({ channelType: "wechat", accountId, chatId, ok: true });
|
|
@@ -28434,14 +28516,14 @@ var init_event_adapter3 = __esm({
|
|
|
28434
28516
|
try {
|
|
28435
28517
|
await this.deps.sendText(text6);
|
|
28436
28518
|
} catch (err) {
|
|
28437
|
-
console.
|
|
28519
|
+
console.warn(`[Slack] sendText failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
28438
28520
|
}
|
|
28439
28521
|
}
|
|
28440
28522
|
for (const p of mediaPaths) {
|
|
28441
28523
|
try {
|
|
28442
28524
|
await this.deps.sendMedia(p);
|
|
28443
28525
|
} catch (err) {
|
|
28444
|
-
console.
|
|
28526
|
+
console.warn(`[Slack] sendMedia ${p} failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
28445
28527
|
}
|
|
28446
28528
|
}
|
|
28447
28529
|
}
|
|
@@ -28667,6 +28749,32 @@ function rememberEventId(id) {
|
|
|
28667
28749
|
function buildSessionPrefixForThread(channelId, rootTs) {
|
|
28668
28750
|
return sessionPrefix("slack", `${channelId}:${rootTs}`);
|
|
28669
28751
|
}
|
|
28752
|
+
function restoreReplyRoute2(args) {
|
|
28753
|
+
const { registry: registry2, db, account, bridge } = args;
|
|
28754
|
+
const chatKey = getAccount(db, account.accountId)?.config.lastActiveChatId;
|
|
28755
|
+
if (typeof chatKey !== "string")
|
|
28756
|
+
return;
|
|
28757
|
+
const sep2 = chatKey.indexOf(":");
|
|
28758
|
+
if (sep2 <= 0)
|
|
28759
|
+
return;
|
|
28760
|
+
const channelId = chatKey.slice(0, sep2);
|
|
28761
|
+
const rootTs = chatKey.slice(sep2 + 1);
|
|
28762
|
+
if (!rootTs)
|
|
28763
|
+
return;
|
|
28764
|
+
const workspacePath = resolveAccountWorkspace(account);
|
|
28765
|
+
if (!workspacePath)
|
|
28766
|
+
return;
|
|
28767
|
+
const sid = restoreChannelRoute({
|
|
28768
|
+
registry: registry2,
|
|
28769
|
+
workspacePath,
|
|
28770
|
+
bridge,
|
|
28771
|
+
sessionPrefix: buildSessionPrefixForThread(channelId, rootTs),
|
|
28772
|
+
// Same mapping as pickSessionKey: DMs reply flat, threads into the root.
|
|
28773
|
+
route: { channelId, replyTs: rootTs === "dm" ? void 0 : rootTs }
|
|
28774
|
+
});
|
|
28775
|
+
if (sid)
|
|
28776
|
+
console.log(`[Slack] ${account.accountId} reply route restored for ${sid}`);
|
|
28777
|
+
}
|
|
28670
28778
|
function pickSessionKey(event) {
|
|
28671
28779
|
const channelId = event.channel;
|
|
28672
28780
|
const isDM = event.channel_type === "im";
|
|
@@ -28852,6 +28960,9 @@ function startSlackChannel(deps) {
|
|
|
28852
28960
|
st.stopped = false;
|
|
28853
28961
|
if (st.ws)
|
|
28854
28962
|
return;
|
|
28963
|
+
const account = getAccount5(db, accountId);
|
|
28964
|
+
if (account && account.enabled === 1)
|
|
28965
|
+
restoreReplyRoute2({ registry: registry2, db, account, bridge: st.bridge });
|
|
28855
28966
|
connect(accountId);
|
|
28856
28967
|
}
|
|
28857
28968
|
async function stopAccount(accountId) {
|
|
@@ -29718,6 +29829,27 @@ import * as Lark from "@larksuiteoapi/node-sdk";
|
|
|
29718
29829
|
function buildSessionPrefixForThread2(chatId, rootId) {
|
|
29719
29830
|
return sessionPrefix("feishu", `${chatId}:${rootId}`);
|
|
29720
29831
|
}
|
|
29832
|
+
function restoreReplyRoute3(args) {
|
|
29833
|
+
const { registry: registry2, db, account, bridge } = args;
|
|
29834
|
+
const chatKey = getAccount(db, account.accountId)?.config.lastActiveChatId;
|
|
29835
|
+
if (typeof chatKey !== "string" || !chatKey.endsWith(":dm"))
|
|
29836
|
+
return;
|
|
29837
|
+
const chatId = chatKey.slice(0, -":dm".length);
|
|
29838
|
+
if (!chatId)
|
|
29839
|
+
return;
|
|
29840
|
+
const workspacePath = resolveAccountWorkspace(account);
|
|
29841
|
+
if (!workspacePath)
|
|
29842
|
+
return;
|
|
29843
|
+
const sid = restoreChannelRoute({
|
|
29844
|
+
registry: registry2,
|
|
29845
|
+
workspacePath,
|
|
29846
|
+
bridge,
|
|
29847
|
+
sessionPrefix: buildSessionPrefixForThread2(chatId, "dm"),
|
|
29848
|
+
route: { inboundMessageId: "", isP2P: true, chatId }
|
|
29849
|
+
});
|
|
29850
|
+
if (sid)
|
|
29851
|
+
console.log(`[Feishu] ${account.accountId} reply route restored for ${sid}`);
|
|
29852
|
+
}
|
|
29721
29853
|
function pickSessionKey2(event) {
|
|
29722
29854
|
const chatId = event.message.chat_id;
|
|
29723
29855
|
const inboundMessageId = event.message.message_id;
|
|
@@ -29982,6 +30114,9 @@ function startFeishuChannel(deps) {
|
|
|
29982
30114
|
st.stopped = false;
|
|
29983
30115
|
if (st.wsClient)
|
|
29984
30116
|
return;
|
|
30117
|
+
const account = getAccount6(db, accountId);
|
|
30118
|
+
if (account && account.enabled === 1)
|
|
30119
|
+
restoreReplyRoute3({ registry: registry2, db, account, bridge: st.bridge });
|
|
29985
30120
|
void connect(accountId);
|
|
29986
30121
|
}
|
|
29987
30122
|
async function stopAccount(accountId) {
|
|
@@ -31570,7 +31705,7 @@ var init_dist2 = __esm({
|
|
|
31570
31705
|
init_git_ssh();
|
|
31571
31706
|
__dirname3 = path68.dirname(fileURLToPath3(import.meta.url));
|
|
31572
31707
|
PORT = config.server.port;
|
|
31573
|
-
HALO_VERSION = "1.4.
|
|
31708
|
+
HALO_VERSION = "1.4.3";
|
|
31574
31709
|
PROJECT_ROOT = findProjectRoot();
|
|
31575
31710
|
HALO_HOME4 = path68.join(homedir24(), ".halo");
|
|
31576
31711
|
GIT_SHA = readGitSha();
|
|
@@ -32509,7 +32644,7 @@ import path69 from "node:path";
|
|
|
32509
32644
|
import fs63 from "node:fs";
|
|
32510
32645
|
import { homedir as homedir25 } from "node:os";
|
|
32511
32646
|
import { parseArgs as parseArgs2 } from "node:util";
|
|
32512
|
-
var VERSION = "1.4.
|
|
32647
|
+
var VERSION = "1.4.3";
|
|
32513
32648
|
var HELP_TOP = `Usage: halo <command> [options]
|
|
32514
32649
|
|
|
32515
32650
|
Commands:
|
package/package.json
CHANGED
/package/admin-out/_next/static/{7i420NUxbiDfuLxuofd-l → IHBLjOk92WBjj7mPz8oZK}/_buildManifest.js
RENAMED
|
File without changes
|
/package/admin-out/_next/static/{7i420NUxbiDfuLxuofd-l → IHBLjOk92WBjj7mPz8oZK}/_ssgManifest.js
RENAMED
|
File without changes
|