@devflow-tools/devflow 0.18.1 → 0.18.2
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/dashboard/404.html +1 -1
- package/dist/dashboard/__next.__PAGE__.txt +1 -1
- package/dist/dashboard/__next._full.txt +1 -1
- package/dist/dashboard/__next._tree.txt +1 -1
- package/dist/dashboard/_not-found/__next._full.txt +1 -1
- package/dist/dashboard/_not-found/__next._not-found.__PAGE__.txt +1 -1
- package/dist/dashboard/_not-found/__next._tree.txt +1 -1
- package/dist/dashboard/_not-found.html +1 -1
- package/dist/dashboard/_not-found.txt +1 -1
- package/dist/dashboard/accuracy/__next._full.txt +1 -1
- package/dist/dashboard/accuracy/__next._tree.txt +1 -1
- package/dist/dashboard/accuracy/__next.accuracy.__PAGE__.txt +1 -1
- package/dist/dashboard/accuracy.html +1 -1
- package/dist/dashboard/accuracy.txt +1 -1
- package/dist/dashboard/benchmark/__next._full.txt +1 -1
- package/dist/dashboard/benchmark/__next._tree.txt +1 -1
- package/dist/dashboard/benchmark/__next.benchmark.__PAGE__.txt +1 -1
- package/dist/dashboard/benchmark.html +1 -1
- package/dist/dashboard/benchmark.txt +1 -1
- package/dist/dashboard/context/__next._full.txt +1 -1
- package/dist/dashboard/context/__next._tree.txt +1 -1
- package/dist/dashboard/context/__next.context.__PAGE__.txt +1 -1
- package/dist/dashboard/context.html +1 -1
- package/dist/dashboard/context.txt +1 -1
- package/dist/dashboard/doctor/__next._full.txt +1 -1
- package/dist/dashboard/doctor/__next._tree.txt +1 -1
- package/dist/dashboard/doctor/__next.doctor.__PAGE__.txt +1 -1
- package/dist/dashboard/doctor.html +1 -1
- package/dist/dashboard/doctor.txt +1 -1
- package/dist/dashboard/executions/__next._full.txt +1 -1
- package/dist/dashboard/executions/__next._tree.txt +1 -1
- package/dist/dashboard/executions/__next.executions.__PAGE__.txt +1 -1
- package/dist/dashboard/executions.html +1 -1
- package/dist/dashboard/executions.txt +1 -1
- package/dist/dashboard/graph/__next._full.txt +1 -1
- package/dist/dashboard/graph/__next._tree.txt +1 -1
- package/dist/dashboard/graph/__next.graph.__PAGE__.txt +1 -1
- package/dist/dashboard/graph.html +1 -1
- package/dist/dashboard/graph.txt +1 -1
- package/dist/dashboard/index.html +1 -1
- package/dist/dashboard/index.txt +1 -1
- package/dist/dashboard/knowledge/__next._full.txt +1 -1
- package/dist/dashboard/knowledge/__next._tree.txt +1 -1
- package/dist/dashboard/knowledge/__next.knowledge.__PAGE__.txt +1 -1
- package/dist/dashboard/knowledge.html +1 -1
- package/dist/dashboard/knowledge.txt +1 -1
- package/dist/dashboard/memory/__next._full.txt +1 -1
- package/dist/dashboard/memory/__next._tree.txt +1 -1
- package/dist/dashboard/memory/__next.memory.__PAGE__.txt +1 -1
- package/dist/dashboard/memory.html +1 -1
- package/dist/dashboard/memory.txt +1 -1
- package/dist/dashboard/replay/__next._full.txt +1 -1
- package/dist/dashboard/replay/__next._tree.txt +1 -1
- package/dist/dashboard/replay/__next.replay.__PAGE__.txt +1 -1
- package/dist/dashboard/replay.html +1 -1
- package/dist/dashboard/replay.txt +1 -1
- package/dist/dashboard/runs/_/__next._full.txt +1 -1
- package/dist/dashboard/runs/_/__next._tree.txt +1 -1
- package/dist/dashboard/runs/_/__next.runs.$d$id.__PAGE__.txt +1 -1
- package/dist/dashboard/runs/_.html +1 -1
- package/dist/dashboard/runs/_.txt +1 -1
- package/dist/dashboard/runs/__next._full.txt +1 -1
- package/dist/dashboard/runs/__next._tree.txt +1 -1
- package/dist/dashboard/runs/__next.runs.__PAGE__.txt +1 -1
- package/dist/dashboard/runs.html +1 -1
- package/dist/dashboard/runs.txt +1 -1
- package/dist/dashboard/settings/__next._full.txt +1 -1
- package/dist/dashboard/settings/__next._tree.txt +1 -1
- package/dist/dashboard/settings/__next.settings.__PAGE__.txt +1 -1
- package/dist/dashboard/settings.html +1 -1
- package/dist/dashboard/settings.txt +1 -1
- package/dist/dashboard/timeline/__next._full.txt +1 -1
- package/dist/dashboard/timeline/__next._tree.txt +1 -1
- package/dist/dashboard/timeline/__next.timeline.__PAGE__.txt +1 -1
- package/dist/dashboard/timeline.html +1 -1
- package/dist/dashboard/timeline.txt +1 -1
- package/dist/dashboard/tool-metrics/__next._full.txt +1 -1
- package/dist/dashboard/tool-metrics/__next._tree.txt +1 -1
- package/dist/dashboard/tool-metrics/__next.tool-metrics.__PAGE__.txt +1 -1
- package/dist/dashboard/tool-metrics.html +1 -1
- package/dist/dashboard/tool-metrics.txt +1 -1
- package/dist/dashboard/workflows/__next._full.txt +1 -1
- package/dist/dashboard/workflows/__next._tree.txt +1 -1
- package/dist/dashboard/workflows/__next.workflows.__PAGE__.txt +1 -1
- package/dist/dashboard/workflows.html +1 -1
- package/dist/dashboard/workflows.txt +1 -1
- package/dist/hooks/hook-daemon.js +1 -1
- package/dist/hooks/post-tool-use-failure.js +1 -1
- package/dist/hooks/post-tool-use.js +1 -1
- package/dist/hooks/stop.js +1 -1
- package/dist/hooks/user-prompt-submit.js +1 -1
- package/dist/plugin/.claude-plugin/plugin.json +1 -1
- package/dist/plugin/dist/command-registry.json +5 -5
- package/dist/plugin/dist/hooks/hook-daemon.js +1 -1
- package/dist/plugin/dist/hooks/post-tool-use-failure.js +1 -1
- package/dist/plugin/dist/hooks/post-tool-use.js +1 -1
- package/dist/plugin/dist/hooks/stop.js +1 -1
- package/dist/plugin/dist/hooks/user-prompt-submit.js +1 -1
- package/dist/plugin/package.json +13 -13
- package/package.json +15 -15
- package/plugin-registry.json +29 -29
- /package/dist/dashboard/_next/static/{6CYD-iPy8AJdBNyzj3USk → MwHLOdPw1j1JTQpZ1fvG0}/_buildManifest.js +0 -0
- /package/dist/dashboard/_next/static/{6CYD-iPy8AJdBNyzj3USk → MwHLOdPw1j1JTQpZ1fvG0}/_ssgManifest.js +0 -0
|
@@ -11,7 +11,7 @@ e:I[30887,[],"MetadataBoundary"]
|
|
|
11
11
|
10:I[15718,[],"default",1]
|
|
12
12
|
:HL["/_next/static/css/6912a202a7d0c151.css","style"]
|
|
13
13
|
b:X
|
|
14
|
-
0:{"P":null,"c":["","timeline"],"q":"","i":false,"f":[[["",{"children":["timeline",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/6912a202a7d0c151.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L2",null,{"Component":"$3","slots":{"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"}]},"serverProvidedParams":{"params":{},"promises":["$@6"]}}]]}],{"children":[["$","$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":[["$","$1","c",{"children":[["$","$L7",null,{}],null,["$","$L8",null,{"children":["$","$9",null,{"name":"Next.MetadataOutlet","children":"$@a"}]}]]}],{},null,false,null]},null,false,"$b"]},null,false,null],["$","$1","h",{"children":[null,["$","$Lc",null,{"children":"$Ld"}],["$","div",null,{"hidden":true,"children":["$","$Le",null,{"children":["$","$9",null,{"name":"Next.Metadata","children":"$Lf"}]}]}],null]}],false]],"m":"$undefined","G":["$10",[]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"
|
|
14
|
+
0:{"P":null,"c":["","timeline"],"q":"","i":false,"f":[[["",{"children":["timeline",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/6912a202a7d0c151.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L2",null,{"Component":"$3","slots":{"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"}]},"serverProvidedParams":{"params":{},"promises":["$@6"]}}]]}],{"children":[["$","$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":[["$","$1","c",{"children":[["$","$L7",null,{}],null,["$","$L8",null,{"children":["$","$9",null,{"name":"Next.MetadataOutlet","children":"$@a"}]}]]}],{},null,false,null]},null,false,"$b"]},null,false,null],["$","$1","h",{"children":[null,["$","$Lc",null,{"children":"$Ld"}],["$","div",null,{"hidden":true,"children":["$","$Le",null,{"children":["$","$9",null,{"name":"Next.Metadata","children":"$Lf"}]}]}],null]}],false]],"m":"$undefined","G":["$10",[]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"MwHLOdPw1j1JTQpZ1fvG0"}
|
|
15
15
|
b:C
|
|
16
16
|
6:"$0:f:0:1:0:props:children:1:props:serverProvidedParams:params"
|
|
17
17
|
d:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
@@ -11,7 +11,7 @@ e:I[30887,[],"MetadataBoundary"]
|
|
|
11
11
|
10:I[15718,[],"default",1]
|
|
12
12
|
:HL["/_next/static/css/6912a202a7d0c151.css","style"]
|
|
13
13
|
b:X
|
|
14
|
-
0:{"P":null,"c":["","tool-metrics"],"q":"","i":false,"f":[[["",{"children":["tool-metrics",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/6912a202a7d0c151.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L2",null,{"Component":"$3","slots":{"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"}]},"serverProvidedParams":{"params":{},"promises":["$@6"]}}]]}],{"children":[["$","$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":[["$","$1","c",{"children":[["$","$L7",null,{}],null,["$","$L8",null,{"children":["$","$9",null,{"name":"Next.MetadataOutlet","children":"$@a"}]}]]}],{},null,false,null]},null,false,"$b"]},null,false,null],["$","$1","h",{"children":[null,["$","$Lc",null,{"children":"$Ld"}],["$","div",null,{"hidden":true,"children":["$","$Le",null,{"children":["$","$9",null,{"name":"Next.Metadata","children":"$Lf"}]}]}],null]}],false]],"m":"$undefined","G":["$10",[]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"
|
|
14
|
+
0:{"P":null,"c":["","tool-metrics"],"q":"","i":false,"f":[[["",{"children":["tool-metrics",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/6912a202a7d0c151.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L2",null,{"Component":"$3","slots":{"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"}]},"serverProvidedParams":{"params":{},"promises":["$@6"]}}]]}],{"children":[["$","$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":[["$","$1","c",{"children":[["$","$L7",null,{}],null,["$","$L8",null,{"children":["$","$9",null,{"name":"Next.MetadataOutlet","children":"$@a"}]}]]}],{},null,false,null]},null,false,"$b"]},null,false,null],["$","$1","h",{"children":[null,["$","$Lc",null,{"children":"$Ld"}],["$","div",null,{"hidden":true,"children":["$","$Le",null,{"children":["$","$9",null,{"name":"Next.Metadata","children":"$Lf"}]}]}],null]}],false]],"m":"$undefined","G":["$10",[]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"MwHLOdPw1j1JTQpZ1fvG0"}
|
|
15
15
|
b:C
|
|
16
16
|
6:"$0:f:0:1:0:props:children:1:props:serverProvidedParams:params"
|
|
17
17
|
d:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
:HL["/_next/static/css/6912a202a7d0c151.css","style"]
|
|
2
|
-
0:{"tree":{"name":"","param":null,"prefetchHints":4176,"slots":{"children":{"name":"tool-metrics","param":null,"prefetchHints":4192,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":4256,"slots":null}}}}},"staleTime":300,"buildId":"
|
|
2
|
+
0:{"tree":{"name":"","param":null,"prefetchHints":4176,"slots":{"children":{"name":"tool-metrics","param":null,"prefetchHints":4192,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":4256,"slots":null}}}}},"staleTime":300,"buildId":"MwHLOdPw1j1JTQpZ1fvG0"}
|
|
@@ -12,7 +12,7 @@ f:I[589,[],"ClientSegmentRoot"]
|
|
|
12
12
|
7:X
|
|
13
13
|
e:X
|
|
14
14
|
e:C
|
|
15
|
-
0:{"buildId":"
|
|
15
|
+
0:{"buildId":"MwHLOdPw1j1JTQpZ1fvG0","data":[{"rsc":["$","$1","c",{"children":[["$","$L2",null,{}],null,["$","$L3",null,{"children":["$","$4",null,{"name":"Next.MetadataOutlet","children":"$@5"}]}]]}],"isPartial":"$@6","staleTime":"$7","varyParams":null},{"rsc":["$","$1","h",{"children":[null,["$","$L8",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L9",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[]}]}]}],null]}],"isPartial":"$@a","staleTime":"$7","varyParams":null},{"rsc":["$","$1","c",{"children":[null,["$","$Lb",null,{"parallelRouterKey":"children","template":["$","$Lc",null,{}]}]]}],"isPartial":"$@d","staleTime":"$7","varyParams":"$e"},{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/6912a202a7d0c151.css","precedence":"next"}]],["$","$Lf",null,{"Component":"$10","slots":{"children":["$","$Lb",null,{"parallelRouterKey":"children","template":["$","$Lc",null,{}],"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."}]}]]}]}]],[]]}]},"serverProvidedParams":{"params":{},"promises":["$@11"]}}]]}],"isPartial":"$@12","staleTime":"$7","varyParams":null}],"isUpgradeableISRFallback":false,"a":"$@13","rootVaryParams":null,"needsRuntimeRequest":"$@14"}
|
|
16
16
|
5:null
|
|
17
17
|
11:"$0:data:3:rsc:props:children:1:props:serverProvidedParams:params"
|
|
18
18
|
7:300
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="zh" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/6912a202a7d0c151.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-5f4649c40b052b9f.js"/><script src="/_next/static/chunks/87c73c54-5c63d5698583b654.js" async=""></script><script src="/_next/static/chunks/968-13e9b4b491d5e8de.js" async=""></script><script src="/_next/static/chunks/main-app-44f3d55a6e6befbb.js" async=""></script><script src="/_next/static/chunks/820-9606b69ff6f7f9b9.js" async=""></script><script src="/_next/static/chunks/567-65014d15b90b623c.js" async=""></script><script src="/_next/static/chunks/993-01834e67bc353d44.js" async=""></script><script src="/_next/static/chunks/240-8f45a6db4f75278b.js" async=""></script><script src="/_next/static/chunks/722-001c96b6723e043d.js" async=""></script><script src="/_next/static/chunks/914-7e538089692b7d1b.js" async=""></script><script src="/_next/static/chunks/app/layout-a28c30513212e363.js" async=""></script><script src="/_next/static/chunks/app/tool-metrics/page-1c5ddf6239cf1734.js" async=""></script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="h-dvh overflow-hidden"><div hidden=""><!--$--><!--/$--></div><div class="flex h-dvh items-center justify-center text-sm text-muted-foreground">Loading...</div><script src="/_next/static/chunks/webpack-5f4649c40b052b9f.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[589,[],\"ClientSegmentRoot\"]\n3:I[6248,[\"820\",\"static/chunks/820-9606b69ff6f7f9b9.js\",\"567\",\"static/chunks/567-65014d15b90b623c.js\",\"993\",\"static/chunks/993-01834e67bc353d44.js\",\"240\",\"static/chunks/240-8f45a6db4f75278b.js\",\"722\",\"static/chunks/722-001c96b6723e043d.js\",\"914\",\"static/chunks/914-7e538089692b7d1b.js\",\"177\",\"static/chunks/app/layout-a28c30513212e363.js\"],\"default\"]\n4:I[99630,[],\"\"]\n5:I[1380,[],\"\"]\n7:I[18723,[\"820\",\"static/chunks/820-9606b69ff6f7f9b9.js\",\"993\",\"static/chunks/993-01834e67bc353d44.js\",\"914\",\"static/chunks/914-7e538089692b7d1b.js\",\"785\",\"static/chunks/app/tool-metrics/page-1c5ddf6239cf1734.js\"],\"ToolMetricsView\"]\n8:I[30887,[],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nc:I[30887,[],\"ViewportBoundary\"]\ne:I[30887,[],\"MetadataBoundary\"]\n10:I[15718,[],\"default\",1]\n:HL[\"/_next/static/css/6912a202a7d0c151.css\",\"style\"]\nb:X\n0:{\"P\":null,\"c\":[\"\",\"tool-metrics\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"tool-metrics\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/6912a202a7d0c151.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L2\",null,{\"Component\":\"$3\",\"slots\":{\"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\"}]},\"serverProvidedParams\":{\"params\":{},\"promises\":[\"$@6\"]}}]]}],{\"children\":[[\"$\",\"$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\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L7\",null,{}],null,[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@a\"}]}]]}],{},null,false,null]},null,false,\"$b\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Le\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lf\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"
|
|
1
|
+
<!DOCTYPE html><html lang="zh" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/6912a202a7d0c151.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-5f4649c40b052b9f.js"/><script src="/_next/static/chunks/87c73c54-5c63d5698583b654.js" async=""></script><script src="/_next/static/chunks/968-13e9b4b491d5e8de.js" async=""></script><script src="/_next/static/chunks/main-app-44f3d55a6e6befbb.js" async=""></script><script src="/_next/static/chunks/820-9606b69ff6f7f9b9.js" async=""></script><script src="/_next/static/chunks/567-65014d15b90b623c.js" async=""></script><script src="/_next/static/chunks/993-01834e67bc353d44.js" async=""></script><script src="/_next/static/chunks/240-8f45a6db4f75278b.js" async=""></script><script src="/_next/static/chunks/722-001c96b6723e043d.js" async=""></script><script src="/_next/static/chunks/914-7e538089692b7d1b.js" async=""></script><script src="/_next/static/chunks/app/layout-a28c30513212e363.js" async=""></script><script src="/_next/static/chunks/app/tool-metrics/page-1c5ddf6239cf1734.js" async=""></script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="h-dvh overflow-hidden"><div hidden=""><!--$--><!--/$--></div><div class="flex h-dvh items-center justify-center text-sm text-muted-foreground">Loading...</div><script src="/_next/static/chunks/webpack-5f4649c40b052b9f.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[589,[],\"ClientSegmentRoot\"]\n3:I[6248,[\"820\",\"static/chunks/820-9606b69ff6f7f9b9.js\",\"567\",\"static/chunks/567-65014d15b90b623c.js\",\"993\",\"static/chunks/993-01834e67bc353d44.js\",\"240\",\"static/chunks/240-8f45a6db4f75278b.js\",\"722\",\"static/chunks/722-001c96b6723e043d.js\",\"914\",\"static/chunks/914-7e538089692b7d1b.js\",\"177\",\"static/chunks/app/layout-a28c30513212e363.js\"],\"default\"]\n4:I[99630,[],\"\"]\n5:I[1380,[],\"\"]\n7:I[18723,[\"820\",\"static/chunks/820-9606b69ff6f7f9b9.js\",\"993\",\"static/chunks/993-01834e67bc353d44.js\",\"914\",\"static/chunks/914-7e538089692b7d1b.js\",\"785\",\"static/chunks/app/tool-metrics/page-1c5ddf6239cf1734.js\"],\"ToolMetricsView\"]\n8:I[30887,[],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nc:I[30887,[],\"ViewportBoundary\"]\ne:I[30887,[],\"MetadataBoundary\"]\n10:I[15718,[],\"default\",1]\n:HL[\"/_next/static/css/6912a202a7d0c151.css\",\"style\"]\nb:X\n0:{\"P\":null,\"c\":[\"\",\"tool-metrics\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"tool-metrics\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/6912a202a7d0c151.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L2\",null,{\"Component\":\"$3\",\"slots\":{\"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\"}]},\"serverProvidedParams\":{\"params\":{},\"promises\":[\"$@6\"]}}]]}],{\"children\":[[\"$\",\"$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\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L7\",null,{}],null,[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@a\"}]}]]}],{},null,false,null]},null,false,\"$b\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Le\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lf\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"MwHLOdPw1j1JTQpZ1fvG0\"}\nb:C\n6:\"$0:f:0:1:0:props:children:1:props:serverProvidedParams:params\"\nd:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\na:null\nf:[]\n"])</script></body></html>
|
|
@@ -11,7 +11,7 @@ e:I[30887,[],"MetadataBoundary"]
|
|
|
11
11
|
10:I[15718,[],"default",1]
|
|
12
12
|
:HL["/_next/static/css/6912a202a7d0c151.css","style"]
|
|
13
13
|
b:X
|
|
14
|
-
0:{"P":null,"c":["","tool-metrics"],"q":"","i":false,"f":[[["",{"children":["tool-metrics",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/6912a202a7d0c151.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L2",null,{"Component":"$3","slots":{"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"}]},"serverProvidedParams":{"params":{},"promises":["$@6"]}}]]}],{"children":[["$","$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":[["$","$1","c",{"children":[["$","$L7",null,{}],null,["$","$L8",null,{"children":["$","$9",null,{"name":"Next.MetadataOutlet","children":"$@a"}]}]]}],{},null,false,null]},null,false,"$b"]},null,false,null],["$","$1","h",{"children":[null,["$","$Lc",null,{"children":"$Ld"}],["$","div",null,{"hidden":true,"children":["$","$Le",null,{"children":["$","$9",null,{"name":"Next.Metadata","children":"$Lf"}]}]}],null]}],false]],"m":"$undefined","G":["$10",[]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"
|
|
14
|
+
0:{"P":null,"c":["","tool-metrics"],"q":"","i":false,"f":[[["",{"children":["tool-metrics",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/6912a202a7d0c151.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L2",null,{"Component":"$3","slots":{"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"}]},"serverProvidedParams":{"params":{},"promises":["$@6"]}}]]}],{"children":[["$","$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":[["$","$1","c",{"children":[["$","$L7",null,{}],null,["$","$L8",null,{"children":["$","$9",null,{"name":"Next.MetadataOutlet","children":"$@a"}]}]]}],{},null,false,null]},null,false,"$b"]},null,false,null],["$","$1","h",{"children":[null,["$","$Lc",null,{"children":"$Ld"}],["$","div",null,{"hidden":true,"children":["$","$Le",null,{"children":["$","$9",null,{"name":"Next.Metadata","children":"$Lf"}]}]}],null]}],false]],"m":"$undefined","G":["$10",[]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"MwHLOdPw1j1JTQpZ1fvG0"}
|
|
15
15
|
b:C
|
|
16
16
|
6:"$0:f:0:1:0:props:children:1:props:serverProvidedParams:params"
|
|
17
17
|
d:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
@@ -11,7 +11,7 @@ e:I[30887,[],"MetadataBoundary"]
|
|
|
11
11
|
10:I[15718,[],"default",1]
|
|
12
12
|
:HL["/_next/static/css/6912a202a7d0c151.css","style"]
|
|
13
13
|
b:X
|
|
14
|
-
0:{"P":null,"c":["","workflows"],"q":"","i":false,"f":[[["",{"children":["workflows",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/6912a202a7d0c151.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L2",null,{"Component":"$3","slots":{"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"}]},"serverProvidedParams":{"params":{},"promises":["$@6"]}}]]}],{"children":[["$","$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":[["$","$1","c",{"children":[["$","$L7",null,{}],null,["$","$L8",null,{"children":["$","$9",null,{"name":"Next.MetadataOutlet","children":"$@a"}]}]]}],{},null,false,null]},null,false,"$b"]},null,false,null],["$","$1","h",{"children":[null,["$","$Lc",null,{"children":"$Ld"}],["$","div",null,{"hidden":true,"children":["$","$Le",null,{"children":["$","$9",null,{"name":"Next.Metadata","children":"$Lf"}]}]}],null]}],false]],"m":"$undefined","G":["$10",[]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"
|
|
14
|
+
0:{"P":null,"c":["","workflows"],"q":"","i":false,"f":[[["",{"children":["workflows",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/6912a202a7d0c151.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L2",null,{"Component":"$3","slots":{"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"}]},"serverProvidedParams":{"params":{},"promises":["$@6"]}}]]}],{"children":[["$","$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":[["$","$1","c",{"children":[["$","$L7",null,{}],null,["$","$L8",null,{"children":["$","$9",null,{"name":"Next.MetadataOutlet","children":"$@a"}]}]]}],{},null,false,null]},null,false,"$b"]},null,false,null],["$","$1","h",{"children":[null,["$","$Lc",null,{"children":"$Ld"}],["$","div",null,{"hidden":true,"children":["$","$Le",null,{"children":["$","$9",null,{"name":"Next.Metadata","children":"$Lf"}]}]}],null]}],false]],"m":"$undefined","G":["$10",[]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"MwHLOdPw1j1JTQpZ1fvG0"}
|
|
15
15
|
b:C
|
|
16
16
|
6:"$0:f:0:1:0:props:children:1:props:serverProvidedParams:params"
|
|
17
17
|
d:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
:HL["/_next/static/css/6912a202a7d0c151.css","style"]
|
|
2
|
-
0:{"tree":{"name":"","param":null,"prefetchHints":4176,"slots":{"children":{"name":"workflows","param":null,"prefetchHints":4192,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":4256,"slots":null}}}}},"staleTime":300,"buildId":"
|
|
2
|
+
0:{"tree":{"name":"","param":null,"prefetchHints":4176,"slots":{"children":{"name":"workflows","param":null,"prefetchHints":4192,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":4256,"slots":null}}}}},"staleTime":300,"buildId":"MwHLOdPw1j1JTQpZ1fvG0"}
|
|
@@ -12,7 +12,7 @@ f:I[589,[],"ClientSegmentRoot"]
|
|
|
12
12
|
7:X
|
|
13
13
|
e:X
|
|
14
14
|
e:C
|
|
15
|
-
0:{"buildId":"
|
|
15
|
+
0:{"buildId":"MwHLOdPw1j1JTQpZ1fvG0","data":[{"rsc":["$","$1","c",{"children":[["$","$L2",null,{}],null,["$","$L3",null,{"children":["$","$4",null,{"name":"Next.MetadataOutlet","children":"$@5"}]}]]}],"isPartial":"$@6","staleTime":"$7","varyParams":null},{"rsc":["$","$1","h",{"children":[null,["$","$L8",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L9",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[]}]}]}],null]}],"isPartial":"$@a","staleTime":"$7","varyParams":null},{"rsc":["$","$1","c",{"children":[null,["$","$Lb",null,{"parallelRouterKey":"children","template":["$","$Lc",null,{}]}]]}],"isPartial":"$@d","staleTime":"$7","varyParams":"$e"},{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/6912a202a7d0c151.css","precedence":"next"}]],["$","$Lf",null,{"Component":"$10","slots":{"children":["$","$Lb",null,{"parallelRouterKey":"children","template":["$","$Lc",null,{}],"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."}]}]]}]}]],[]]}]},"serverProvidedParams":{"params":{},"promises":["$@11"]}}]]}],"isPartial":"$@12","staleTime":"$7","varyParams":null}],"isUpgradeableISRFallback":false,"a":"$@13","rootVaryParams":null,"needsRuntimeRequest":"$@14"}
|
|
16
16
|
5:null
|
|
17
17
|
11:"$0:data:3:rsc:props:children:1:props:serverProvidedParams:params"
|
|
18
18
|
7:300
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="zh" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/6912a202a7d0c151.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-5f4649c40b052b9f.js"/><script src="/_next/static/chunks/87c73c54-5c63d5698583b654.js" async=""></script><script src="/_next/static/chunks/968-13e9b4b491d5e8de.js" async=""></script><script src="/_next/static/chunks/main-app-44f3d55a6e6befbb.js" async=""></script><script src="/_next/static/chunks/820-9606b69ff6f7f9b9.js" async=""></script><script src="/_next/static/chunks/567-65014d15b90b623c.js" async=""></script><script src="/_next/static/chunks/993-01834e67bc353d44.js" async=""></script><script src="/_next/static/chunks/240-8f45a6db4f75278b.js" async=""></script><script src="/_next/static/chunks/722-001c96b6723e043d.js" async=""></script><script src="/_next/static/chunks/914-7e538089692b7d1b.js" async=""></script><script src="/_next/static/chunks/app/layout-a28c30513212e363.js" async=""></script><script src="/_next/static/chunks/app/workflows/page-e2ed74df546c3568.js" async=""></script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="h-dvh overflow-hidden"><div hidden=""><!--$--><!--/$--></div><div class="flex h-dvh items-center justify-center text-sm text-muted-foreground">Loading...</div><script src="/_next/static/chunks/webpack-5f4649c40b052b9f.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[589,[],\"ClientSegmentRoot\"]\n3:I[6248,[\"820\",\"static/chunks/820-9606b69ff6f7f9b9.js\",\"567\",\"static/chunks/567-65014d15b90b623c.js\",\"993\",\"static/chunks/993-01834e67bc353d44.js\",\"240\",\"static/chunks/240-8f45a6db4f75278b.js\",\"722\",\"static/chunks/722-001c96b6723e043d.js\",\"914\",\"static/chunks/914-7e538089692b7d1b.js\",\"177\",\"static/chunks/app/layout-a28c30513212e363.js\"],\"default\"]\n4:I[99630,[],\"\"]\n5:I[1380,[],\"\"]\n7:I[39173,[\"820\",\"static/chunks/820-9606b69ff6f7f9b9.js\",\"567\",\"static/chunks/567-65014d15b90b623c.js\",\"993\",\"static/chunks/993-01834e67bc353d44.js\",\"914\",\"static/chunks/914-7e538089692b7d1b.js\",\"143\",\"static/chunks/app/workflows/page-e2ed74df546c3568.js\"],\"WorkflowRuns\"]\n8:I[30887,[],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nc:I[30887,[],\"ViewportBoundary\"]\ne:I[30887,[],\"MetadataBoundary\"]\n10:I[15718,[],\"default\",1]\n:HL[\"/_next/static/css/6912a202a7d0c151.css\",\"style\"]\nb:X\n0:{\"P\":null,\"c\":[\"\",\"workflows\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"workflows\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/6912a202a7d0c151.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L2\",null,{\"Component\":\"$3\",\"slots\":{\"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\"}]},\"serverProvidedParams\":{\"params\":{},\"promises\":[\"$@6\"]}}]]}],{\"children\":[[\"$\",\"$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\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L7\",null,{}],null,[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@a\"}]}]]}],{},null,false,null]},null,false,\"$b\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Le\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lf\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"
|
|
1
|
+
<!DOCTYPE html><html lang="zh" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/6912a202a7d0c151.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-5f4649c40b052b9f.js"/><script src="/_next/static/chunks/87c73c54-5c63d5698583b654.js" async=""></script><script src="/_next/static/chunks/968-13e9b4b491d5e8de.js" async=""></script><script src="/_next/static/chunks/main-app-44f3d55a6e6befbb.js" async=""></script><script src="/_next/static/chunks/820-9606b69ff6f7f9b9.js" async=""></script><script src="/_next/static/chunks/567-65014d15b90b623c.js" async=""></script><script src="/_next/static/chunks/993-01834e67bc353d44.js" async=""></script><script src="/_next/static/chunks/240-8f45a6db4f75278b.js" async=""></script><script src="/_next/static/chunks/722-001c96b6723e043d.js" async=""></script><script src="/_next/static/chunks/914-7e538089692b7d1b.js" async=""></script><script src="/_next/static/chunks/app/layout-a28c30513212e363.js" async=""></script><script src="/_next/static/chunks/app/workflows/page-e2ed74df546c3568.js" async=""></script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="h-dvh overflow-hidden"><div hidden=""><!--$--><!--/$--></div><div class="flex h-dvh items-center justify-center text-sm text-muted-foreground">Loading...</div><script src="/_next/static/chunks/webpack-5f4649c40b052b9f.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[589,[],\"ClientSegmentRoot\"]\n3:I[6248,[\"820\",\"static/chunks/820-9606b69ff6f7f9b9.js\",\"567\",\"static/chunks/567-65014d15b90b623c.js\",\"993\",\"static/chunks/993-01834e67bc353d44.js\",\"240\",\"static/chunks/240-8f45a6db4f75278b.js\",\"722\",\"static/chunks/722-001c96b6723e043d.js\",\"914\",\"static/chunks/914-7e538089692b7d1b.js\",\"177\",\"static/chunks/app/layout-a28c30513212e363.js\"],\"default\"]\n4:I[99630,[],\"\"]\n5:I[1380,[],\"\"]\n7:I[39173,[\"820\",\"static/chunks/820-9606b69ff6f7f9b9.js\",\"567\",\"static/chunks/567-65014d15b90b623c.js\",\"993\",\"static/chunks/993-01834e67bc353d44.js\",\"914\",\"static/chunks/914-7e538089692b7d1b.js\",\"143\",\"static/chunks/app/workflows/page-e2ed74df546c3568.js\"],\"WorkflowRuns\"]\n8:I[30887,[],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nc:I[30887,[],\"ViewportBoundary\"]\ne:I[30887,[],\"MetadataBoundary\"]\n10:I[15718,[],\"default\",1]\n:HL[\"/_next/static/css/6912a202a7d0c151.css\",\"style\"]\nb:X\n0:{\"P\":null,\"c\":[\"\",\"workflows\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"workflows\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/6912a202a7d0c151.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L2\",null,{\"Component\":\"$3\",\"slots\":{\"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\"}]},\"serverProvidedParams\":{\"params\":{},\"promises\":[\"$@6\"]}}]]}],{\"children\":[[\"$\",\"$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\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L7\",null,{}],null,[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@a\"}]}]]}],{},null,false,null]},null,false,\"$b\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Le\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lf\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"MwHLOdPw1j1JTQpZ1fvG0\"}\nb:C\n6:\"$0:f:0:1:0:props:children:1:props:serverProvidedParams:params\"\nd:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\na:null\nf:[]\n"])</script></body></html>
|
|
@@ -11,7 +11,7 @@ e:I[30887,[],"MetadataBoundary"]
|
|
|
11
11
|
10:I[15718,[],"default",1]
|
|
12
12
|
:HL["/_next/static/css/6912a202a7d0c151.css","style"]
|
|
13
13
|
b:X
|
|
14
|
-
0:{"P":null,"c":["","workflows"],"q":"","i":false,"f":[[["",{"children":["workflows",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/6912a202a7d0c151.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L2",null,{"Component":"$3","slots":{"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"}]},"serverProvidedParams":{"params":{},"promises":["$@6"]}}]]}],{"children":[["$","$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":[["$","$1","c",{"children":[["$","$L7",null,{}],null,["$","$L8",null,{"children":["$","$9",null,{"name":"Next.MetadataOutlet","children":"$@a"}]}]]}],{},null,false,null]},null,false,"$b"]},null,false,null],["$","$1","h",{"children":[null,["$","$Lc",null,{"children":"$Ld"}],["$","div",null,{"hidden":true,"children":["$","$Le",null,{"children":["$","$9",null,{"name":"Next.Metadata","children":"$Lf"}]}]}],null]}],false]],"m":"$undefined","G":["$10",[]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"
|
|
14
|
+
0:{"P":null,"c":["","workflows"],"q":"","i":false,"f":[[["",{"children":["workflows",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/6912a202a7d0c151.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L2",null,{"Component":"$3","slots":{"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"}]},"serverProvidedParams":{"params":{},"promises":["$@6"]}}]]}],{"children":[["$","$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":[["$","$1","c",{"children":[["$","$L7",null,{}],null,["$","$L8",null,{"children":["$","$9",null,{"name":"Next.MetadataOutlet","children":"$@a"}]}]]}],{},null,false,null]},null,false,"$b"]},null,false,null],["$","$1","h",{"children":[null,["$","$Lc",null,{"children":"$Ld"}],["$","div",null,{"hidden":true,"children":["$","$Le",null,{"children":["$","$9",null,{"name":"Next.Metadata","children":"$Lf"}]}]}],null]}],false]],"m":"$undefined","G":["$10",[]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"MwHLOdPw1j1JTQpZ1fvG0"}
|
|
15
15
|
b:C
|
|
16
16
|
6:"$0:f:0:1:0:props:children:1:props:serverProvidedParams:params"
|
|
17
17
|
d:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {createServer,createConnection}from'net';import {createHash,randomUUID as randomUUID$1}from'node:crypto';import {execFileSync,spawn as spawn$1}from'node:child_process';import {join as join$1,dirname}from'path';import {mkdirSync,lstatSync,openSync,writeFileSync,fstatSync,closeSync,readFileSync,unlinkSync,existsSync as existsSync$1,readdirSync,rmSync,linkSync,renameSync as renameSync$1}from'fs';import {getLocalApiKey,getDevFlowStateRoot,getDaemonSocketPath,getDaemonPidPath,resolveCapabilityRollout,loadConfig,readRuntimeEndpointState,updateRuntimeEndpointStatus,resolveRuntimeEndpoint,writeRuntimeEndpointState,selectHostAdapter,getProjectStateDir,acquireRuntimeHttpCircuit,registerRuntimeHttpSuccess,registerRuntimeHttpFailure,claudeCodeRuntimeAdapter,semanticTextHash,stableRuntimeHash,resolveRuntimeActivationSnapshot,getDaemonRegistryPath,getProjectHash,createDefaultHostAdapterRegistry}from'@devflow-tools/sdk';import {openGlobalDevFlowDatabase,retrievalLedgerTransitionId,stableLearningJson}from'@devflow-tools/database';import {request as request$1}from'node:http';import {mkdirSync as mkdirSync$1,existsSync,writeFileSync as writeFileSync$1,renameSync,unlinkSync as unlinkSync$1,readFileSync as readFileSync$1,openSync as openSync$1,constants,fstatSync as fstatSync$1,closeSync as closeSync$1,readdirSync as readdirSync$1,rmSync as rmSync$1,appendFileSync,realpathSync,statSync,readSync,lstatSync as lstatSync$1,chmodSync,fsyncSync}from'node:fs';import {join,dirname as dirname$1,basename,resolve,relative,sep,isAbsolute}from'node:path';import {emitSemanticControlLog,SemanticRuntimeEventProjector,rotateDiagnosticLogFile}from'@devflow-tools/telemetry';import {fileURLToPath}from'url';import {spawn}from'child_process';import {request}from'http';import {createRequire}from'node:module';import {prepareEmbeddingModel,MemoryGate}from'@devflow-tools/memory-engine';import {randomUUID,createHash as createHash$1}from'crypto';import {TaskKernel,TaskEventStore}from'@devflow-tools/task-runtime';import {homedir}from'node:os';import {GraderRegistry}from'@devflow-tools/benchmark';import {createManagedWorktree,createWorkerArtifacts,launchWorker,readWorkerHandoff,verifyWorkerOutput,SerializedWorkerMergeQueue,cleanupManagedWorktree,workerCoordinationRoot,writeJsonAtomic}from'@devflow-tools/workflow-engine';function Q(t,e,n){try{let o=openGlobalDevFlowDatabase();try{o.insertEvent({kind:t,timestamp:Date.now(),duration:n,success:e.success!==!1,metadata:e});}finally{o.close();}}catch{}}var Ri=getLocalApiKey(),pt=join(getDevFlowStateRoot(),"errors");async function J(t,e,n={}){let o=n.endpoint??resolveRuntimeEndpoint().url,r=n.timeout??1500,i=n.durableMirror??true,s=n.maxRetries??(i?0:2),a=n.circuitBreaker??true,c=acquireRuntimeHttpCircuit(o,t);if(a&&!c.allowed)return {delivered:false,suppressed:true,fallbackReason:c.state.fallbackReason};let d;for(let l=0;l<=s;l+=1)try{return await Si(o,t,e,r),a&®isterRuntimeHttpSuccess(o,t).transitioned&&Q("http_circuit_transition",{endpoint:o,path:new URL(t,o).pathname,previous:c.state.status,status:"closed",failures:0}),{delivered:!0,suppressed:!1}}catch(m){d=m instanceof Error?m:new Error(String(m)),l<s&&await xi(Math.min(100*2**l,1e3));}if(!d)return {delivered:false,suppressed:false,fallbackReason:"unknown_http_failure"};if(!a)return Tn(t,d),{delivered:false,suppressed:false,fallbackReason:d.message};let u=registerRuntimeHttpFailure(o,t,n.fallbackReason??(i?"local_durable_mirror":"http_delivery_failed"));return u.transitioned&&(Tn(t,d),Q("http_circuit_transition",{endpoint:o,path:new URL(t,o).pathname,previous:c.state.status,status:"open",failures:u.state.failures,openUntil:u.state.openUntil,fallbackReason:u.state.fallbackReason})),{delivered:false,suppressed:false,fallbackReason:u.state.fallbackReason}}function Si(t,e,n,o){return new Promise((r,i)=>{let s=JSON.stringify(n),a=new URL(e,t),c=false,d=l=>{c||(c=true,l?i(l):r());},u=request$1({hostname:a.hostname,port:a.port,path:a.pathname+a.search,method:"POST",headers:{"Content-Type":"application/json","X-API-Key":Ri,"Content-Length":Buffer.byteLength(s)},timeout:o},l=>{l.on("error",d),l.on("end",()=>{let m=l.statusCode??0;d(m>=200&&m<300?void 0:new Error(`HTTP ${m}`));}),l.resume();});u.on("error",d),u.on("timeout",()=>u.destroy(new Error(`HTTP mirror timed out after ${o}ms`))),u.write(s),u.end();})}function Tn(t,e){try{existsSync(pt)||mkdirSync$1(pt,{recursive:!0});let n=join(pt,"http-errors.log"),o=`${new Date().toISOString()} | ${t} | ${e.message}
|
|
2
2
|
`;rotateDiagnosticLogFile({path:n,maxBytes:50*1024*1024,maxFiles:5,incomingBytes:Buffer.byteLength(o)}),appendFileSync(n,o);}catch{}}function xi(t){return new Promise(e=>setTimeout(e,t))}var On=1e4,Mi=3e4,De=500,Z=class{constructor(e){this.retryScheduled=false;this.metricAggregationScheduled=false;this.apiUrl=e?.apiUrl,this.cacheDir=e?.cacheDir??join$1(getDevFlowStateRoot(),"global","telemetry-cache"),this.database=e?.database??null,this.ownsDatabase=!e?.database;let n=e?.busyTimeoutMs??Number(process.env.DEVFLOW_TELEMETRY_DB_BUSY_TIMEOUT_MS);this.busyTimeoutMs=Number.isSafeInteger(n)&&n>=0?n:100;}async sendEvent(e){let n={...e,input:this.truncateInput(e.input)};return this.commitOrCache("tool_call",n)?(this.postHttp("/api/telemetry/tool-call",n),e.eventId):null}async sendExecutionStart(e,n,o,r,i=process.env.CLAUDE_PROJECT_DIR??process.cwd(),s=[]){let a={executionId:e,sessionId:n,skillName:o,startedAt:r,projectRoot:i,requiredMcpTools:s};this.commitOrCache("execution_start",a)&&this.postHttp("/api/telemetry/skill-execution/start",a);}async sendExecutionComplete(e,n="completed",o=Date.now(),r){let i={executionId:e,status:n,finishedAt:o,metadata:r},s=this.commitOrCache("execution_complete",i);return s&&this.postHttp("/api/telemetry/skill-execution/complete-reconciled",i),s}async sendSessionStart(e,n,o){let r={id:e,projectRoot:n,startedAt:o,label:n.split("/").pop()??"unknown"},i=this.commitOrCache("session_start",r);return i&&this.postHttp("/api/telemetry/sessions",r),i}async completeEvent(e){let n=this.commitOrCache("complete_event",e);return n&&(this.postHttp("/api/telemetry/tool-call/output",e),this.scheduleMetricAggregation()),n}async endSession(e,n=Date.now()){let o={sessionId:e,finishedAt:n},r=this.commitOrCache("session_end",o);return r&&(this.getDatabase().aggregatePendingToolMetrics(),this.postHttp(`/api/telemetry/sessions/${encodeURIComponent(e)}/close`,{finishedAt:n})),r}async flushCache(){try{let n=this.getDatabase(),o=n.listTelemetryFailures({unresolvedOnly:!0,limit:De}).reverse();for(let r of o)try{this.applyOperation(r.operation,r.payload),n.resolveTelemetryFailure(r.id);}catch{}n.trimTelemetryFailures(De);}catch{}let e=(existsSync$1(this.cacheDir)?readdirSync(this.cacheDir):[]).filter(n=>n.endsWith(".json")).map(n=>{let o=join$1(this.cacheDir,n);try{return {cacheFile:o,envelope:Oi(JSON.parse(readFileSync(o,"utf8")))}}catch{return null}}).filter(n=>n!==null).sort((n,o)=>n.envelope.timestamp-o.envelope.timestamp||Pn(n.envelope.operation)-Pn(o.envelope.operation));for(let{cacheFile:n,envelope:o}of e)try{let r=this.getDatabase();r.insertTelemetryFailure({id:o.id,operation:o.operation,payload:o.payload,error:o.failure,createdAt:o.timestamp}),this.applyOperation(o.operation,o.payload),r.resolveTelemetryFailure(o.id),unlinkSync(n);}catch{}this.database?.aggregatePendingToolMetrics();}aggregateMetrics(){return this.getDatabase().aggregatePendingToolMetrics()}async flushAndAggregate(){await this.flushCache(),this.aggregateMetrics();}close(){this.ownsDatabase&&this.database?.close(),this.database=null;}getDatabase(){return this.database??=openGlobalDevFlowDatabase(void 0,{busyTimeoutMs:this.busyTimeoutMs}),this.database}commitOrCache(e,n){try{return this.applyOperation(e,n),!0}catch(o){return this.cacheOperation(e,n,o),false}}applyOperation(e,n){let o=this.getDatabase();switch(e){case "tool_call":this.ensureParentSession(o,n),o.insertToolCallEvent(n);return;case "execution_start":this.ensureParentSession(o,n),o.insertSkillExecution({executionId:n.executionId,sessionId:n.sessionId,skillName:n.skillName,startedAt:n.startedAt,status:"running",requiredMcpTools:n.requiredMcpTools});return;case "execution_complete":o.reconcileSkillExecution(n.executionId,n.status,n.finishedAt,n.metadata);return;case "session_start":o.ensureSession(n),o.insertRun({id:jn(n.id),source:"hook",tool:"session",input:{projectRoot:n.projectRoot},status:"active",startedAt:n.startedAt,tokenUsed:0,metadata:{sessionId:n.id,projectRoot:n.projectRoot}});return;case "complete_event":if(!o.updateToolCallEvent(n.eventId,{output:n.output===void 0?void 0:JSON.stringify(n.output),error:n.error,failureCategory:n.failureCategory,duration:n.duration}))throw new Error(`Tool call event ${n.eventId} is not available for completion`);return;case "session_end":o.closeSession(n.sessionId,n.finishedAt),o.updateRun(jn(n.sessionId),{status:"completed",finishedAt:n.finishedAt});return}}ensureParentSession(e,n){let o=typeof n.sessionId=="string"?n.sessionId.trim():"";if(!o)throw new Error("Canonical session ID is required for telemetry");let r=typeof n.projectRoot=="string"&&n.projectRoot.trim()?n.projectRoot:typeof n.input?.projectRoot=="string"&&n.input.projectRoot.trim()?n.input.projectRoot:process.env.CLAUDE_PROJECT_DIR??"unknown";e.ensureSession({id:o,projectRoot:r,label:r==="unknown"?void 0:r.split("/").pop(),startedAt:Number(n.startedAt??n.timestamp??Date.now())});}cacheOperation(e,n,o){let r=Date.now(),i={id:`failure:${r}:${Math.random().toString(36).slice(2,11)}`,operation:e,payload:n,failure:o instanceof Error?o.message:String(o),timestamp:r};try{let s=this.getDatabase();s.insertTelemetryFailure({id:i.id,operation:e,payload:n,error:i.failure,createdAt:r}),s.trimTelemetryFailures(De),this.scheduleRetry();return}catch{}try{existsSync$1(this.cacheDir)||mkdirSync(this.cacheDir,{recursive:!0});let s=join$1(this.cacheDir,`${r}_${Math.random().toString(36).slice(2,11)}.json`);writeFileSync(s,JSON.stringify(i,null,2),{mode:384}),this.trimRetryCache(),this.scheduleRetry();}catch{}}trimRetryCache(){try{let e=readdirSync(this.cacheDir).filter(n=>n.endsWith(".json")).sort();for(let n of e.slice(0,Math.max(0,e.length-De)))unlinkSync(join$1(this.cacheDir,n));}catch{}}scheduleRetry(){this.retryScheduled||(this.retryScheduled=true,setTimeout(()=>{this.retryScheduled=false,this.flushCache();},Mi).unref());}scheduleMetricAggregation(){if(this.metricAggregationScheduled||process.env.DEVFLOW_HOOK_DEGRADED==="1")return;this.metricAggregationScheduled=true,setTimeout(()=>{this.metricAggregationScheduled=false;try{this.getDatabase().aggregatePendingToolMetrics(50)===50&&this.scheduleMetricAggregation();}catch{}},25).unref();}postHttp(e,n){J(e,n,{endpoint:this.apiUrl,fallbackReason:"telemetry_already_committed_locally"});}truncateInput(e){let n=JSON.stringify(e);return n===void 0||n.length<=On?e:{_truncated:true,_original_size:n.length,_preview:`${n.substring(0,On)}...`}}};function Pn(t){return ["session_start","execution_start","tool_call","complete_event","execution_complete","session_end"].indexOf(t)}function jn(t){return `hook-run:${t}`}function Oi(t){if(!t||typeof t!="object")throw new Error("Invalid telemetry cache envelope");let e=t;if(typeof e.id!="string"||typeof e.operation!="string"||e.payload===void 0||typeof e.failure!="string"||typeof e.timestamp!="number")throw new Error("Invalid telemetry cache envelope");return e}function Me(t){return t??process.env.CLAUDE_PROJECT_DIR??process.cwd()}function P(t){return getProjectStateDir(Me(t))}var y=emitSemanticControlLog;var Ni=2,qi=1;function Wi(){if(process.env.CLAUDE_PLUGIN_ROOT)return process.env.CLAUDE_PLUGIN_ROOT;try{return join$1(dirname(fileURLToPath(import.meta.url)),"..","..")}catch{return process.cwd()}}function $n(t=Wi()){let e=[join$1(t,"dist","command-registry.json"),join$1(t,"command-registry.json")];for(let n of e)try{if(!existsSync$1(n))continue;let o=JSON.parse(readFileSync(n,"utf8"));if(o.version!==Ni&&o.version!==qi||!Ui(o.commands)){y({event:"hook.runtime.degraded",identity:{projectRoot:process.env.CLAUDE_PROJECT_DIR||process.cwd()},level:"warn",timestamp:Date.now(),data:{stage:"command_registry",reason:"contract_mismatch",registryPath:n}});continue}return o.commands}catch(o){y({event:"hook.runtime.degraded",identity:{projectRoot:process.env.CLAUDE_PROJECT_DIR||process.cwd()},level:"warn",timestamp:Date.now(),data:{stage:"command_registry",reason:o.message,fallback:"next_registry_candidate"}});}return null}function Ui(t){return !t||typeof t!="object"||Array.isArray(t)?false:Object.values(t).every(e=>{if(!e||typeof e!="object"||Array.isArray(e))return false;let n=e;return Oe(n.mcpTools)&&Oe(n.blockedNative)&&(n.source===void 0||n.source==="core"||n.source==="plugin")&&(n.requiresContext===void 0||typeof n.requiresContext=="boolean")&&(n.runtimePackages===void 0||Oe(n.runtimePackages))&&(n.hostTools===void 0||zi(n.hostTools))&&(n.evidenceMode===void 0||["static","runtime","mixed"].includes(n.evidenceMode))})}function zi(t){return !!t&&typeof t=="object"&&!Array.isArray(t)&&Object.entries(t).every(([e,n])=>e.length>0&&Oe(n))}function Oe(t){return Array.isArray(t)&&t.every(e=>typeof e=="string"&&e.length>0)}var Gi={react:["react","react-dom"],nextjs:["next","react"],vue:["vue"],nest:["@nestjs/core"],tailwind:["tailwindcss"],taro:["@tarojs/taro"],electron:["electron"],graphql:["graphql"]};function Yi(t,e){let n=join(t,"package.json"),o=Nn(n),r=ns(o,e),i=join(t,"package-lock.json"),s=Nn(i),a=os(s,e);return a?{packageName:e,...r?{declaredRange:r}:{},resolvedVersion:a,evidencePath:relative(t,i)||"package-lock.json",confidence:"high"}:r?{packageName:e,declaredRange:r,evidencePath:relative(t,n)||"package.json",confidence:"medium"}:{packageName:e,confidence:"unknown"}}function qn(t,e,n={}){let o=t.replace(/^devflow:/,"").split(":").pop()??t,r=(Gi[o]??[]).map(a=>Yi(e,a)),i=n.rolloutMode??resolveCapabilityRollout(e).config.learningOverlays;if(i==="off")return {skillName:t,projectRoot:e,packages:r,learned:[],shadowEligible:[],rolloutMode:i};let s=n.database??openGlobalDevFlowDatabase(void 0,{busyTimeoutMs:50});try{let c=s.listLearningCandidates({projectRoot:e,states:["shadow","evaluated","active"],limit:100}).filter(m=>m.projectRoot===e||m.scope==="global").filter(m=>!m.expiresAt||m.expiresAt>(n.now??Date.now())).filter(m=>Zi(m,t,n)).sort((m,f)=>f.confidence-m.confidence||f.updatedAt-m.updatedAt),d=Qi(c.map(m=>Xi(m,m.state==="active"?"active":"shadow")),n),u=i==="on"?d.filter(m=>m.state==="active"):[],l=d.filter(m=>m.state==="shadow"||i==="shadow");try{s.insertEvent({kind:"learning_overlay_match",timestamp:Date.now(),success:!0,metadata:{projectRoot:e,skillName:t,rolloutMode:i,eligible:d.map(m=>`${m.candidateId}@${m.version}`),injected:u.map(m=>`${m.candidateId}@${m.version}`)}});}catch{}return {skillName:t,projectRoot:e,packages:r,learned:u,shadowEligible:l,rolloutMode:i}}finally{n.database||s.close();}}function Wn(t){let e=[],n=t.packages.map(o=>{let r=o.resolvedVersion??o.declaredRange??"unknown";return `${o.packageName}=${r} (confidence=${o.confidence}${o.evidencePath?`, source=${o.evidencePath}`:""})`}).join("; ");return n&&e.push(`DevFlow runtime project-version evidence for ${t.skillName}: ${n}. Treat target-project evidence as authoritative; do not apply a hardcoded framework version.`),t.learned.length>0&&e.push([`DevFlow governed project instructions for ${t.skillName}:`,...t.learned.map(o=>`- ${o.instruction}`),"Apply only to this request and keep canonical Skill/MCP requirements unchanged."].join(`
|
|
3
3
|
`)),e.join(`
|
|
4
|
-
`)}function Xi(t,e){return {candidateId:t.id,version:t.overlayVersion,state:e,instruction:t.instruction,trigger:t.trigger,confidence:t.confidence,evidenceReceipt:t.graderReceipt??`candidate:${t.id}:v${t.overlayVersion}`,expiresAt:t.expiresAt}}function Qi(t,e){let n=Math.max(0,Math.min(e.maxLearnedEntries??3,3)),o=Math.max(0,Math.min(e.learnedCharacterBudget??1600,4e3)),r=[],i=0;for(let s of t){if(r.length>=n)break;let a=s.instruction.length+4;i+a>o||(r.push(s),i+=a);}return r}function Zi(t,e,n){let o=t.trigger,r=e.replace(/^devflow:/,"").split(":").pop()??e,i=Pe(o.skills);if(i.length>0&&!i.some(m=>m===e||m===r||m.endsWith(`:${r}`)))return false;let s=(n.prompt??"").normalize("NFKC").toLocaleLowerCase("en-US"),a=(n.command??"").normalize("NFKC").toLocaleLowerCase("en-US"),c=[...n.files??[],...es(n.prompt??"")].map(m=>m.replaceAll("\\","/").toLocaleLowerCase("en-US")),d=Pe(o.commands).map(Ln);if(d.length>0&&!d.some(m=>a.includes(m)||s.includes(m)))return false;let u=Pe(o.entities).map(Ln);if(u.length>0&&!u.some(m=>s.includes(m)||a.includes(m)))return false;let l=Pe(o.files).map(m=>m.replaceAll("\\","/").toLocaleLowerCase("en-US"));return !(l.length>0&&!l.some(m=>c.some(f=>ts(f,m))))}function es(t){return t.match(/(?:^|\s)((?:src|app|apps|packages|plugins|lib|test|tests)\/[A-Za-z0-9_./@-]+)/gu)?.map(e=>e.trim())??[]}function ts(t,e){if(!e.includes("*"))return t===e||t.includes(e);let n=e.replace(/[.+?^${}()|[\]\\]/gu,"\\$&").replaceAll("*",".*");return new RegExp(`^${n}$`,"u").test(t)}function Pe(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"&&e.trim().length>0):[]}function Ln(t){return t.normalize("NFKC").trim().toLocaleLowerCase("en-US")}function Nn(t){if(!existsSync(t))return null;try{let e=JSON.parse(readFileSync$1(t,"utf8"));return e&&typeof e=="object"&&!Array.isArray(e)?e:null}catch{return null}}function ns(t,e){for(let n of ["dependencies","devDependencies","peerDependencies","optionalDependencies"]){let o=t?.[n];if(!o||typeof o!="object"||Array.isArray(o))continue;let r=o[e];if(typeof r=="string"&&r.trim())return r.trim()}}function os(t,e){let n=t?.packages;if(n&&typeof n=="object"&&!Array.isArray(n)){let r=n[`node_modules/${e}`];if(r&&typeof r=="object"&&!Array.isArray(r)){let i=r.version;if(typeof i=="string"&&i.trim())return i.trim()}}let o=t?.dependencies;if(o&&typeof o=="object"&&!Array.isArray(o)){let r=o[e];if(r&&typeof r=="object"&&!Array.isArray(r)){let i=r.version;if(typeof i=="string"&&i.trim())return i.trim()}}}function Un(t){let e=$n();return e?e[t]?.mcpTools??[]:[]}function zn(t,e,n){return Wn(qn(t,e,{prompt:n}))}var ht=getDevFlowStateRoot(),yt=join$1(ht,"server-refs.json"),ms=600*1e3,ps=500;function fs(){existsSync$1(ht)||mkdirSync(ht,{recursive:true});}function je(){try{if(existsSync$1(yt))return JSON.parse(readFileSync(yt,"utf-8"))}catch{}return {sessions:[],lastActivity:0}}function Bn(t){fs(),writeFileSync(yt,JSON.stringify(t));}var $e=class{constructor(e){this.process=null;this.idleTimer=null;this.onShutdown=null;this.ownerToken=null;this.projectRoot=e;}setOnShutdown(e){this.onShutdown=e;}addRef(e){let n=je();n.sessions.includes(e)||n.sessions.push(e),n.lastActivity=Date.now(),Bn(n),this.resetIdleTimer();}removeRef(e){let n=je();n.sessions=n.sessions.filter(o=>o!==e),n.lastActivity=Date.now(),Bn(n),n.sessions.length===0&&this.resetIdleTimer();}get activeSessions(){return je().sessions.length}async ensureRunning(){return await this.healthCheck()?true:(await this.startServer(),this.waitForReady())}get isRunning(){return this.process!==null&&!this.process.killed}async stop(){if(this.idleTimer&&clearTimeout(this.idleTimer),this.process){this.process.kill("SIGTERM"),await new Promise(n=>{let o=setTimeout(()=>{this.process&&!this.process.killed&&this.process.kill("SIGKILL"),n();},5e3);this.process?this.process.on("exit",()=>{clearTimeout(o),n();}):(clearTimeout(o),n());}),this.process=null;let e=readRuntimeEndpointState();e&&e.ownerToken===this.ownerToken&&updateRuntimeEndpointStatus("stopped");}}async startServer(){let e=gs(this.projectRoot);this.ownerToken=randomUUID$1();let n=resolveRuntimeEndpoint();this.process=spawn(process.execPath,[e,"--devflow-instance-token",this.ownerToken],{cwd:this.projectRoot,env:{...process.env,NODE_ENV:process.env.NODE_ENV||"development"},stdio:["ignore","pipe","pipe"]}),writeRuntimeEndpointState({url:n.url,port:n.port,pid:this.process.pid??0,ownerToken:this.ownerToken,status:"launching"}),this.process.stdout?.on("data",o=>{}),this.process.stderr?.on("data",o=>{}),this.process.on("exit",o=>{let r=readRuntimeEndpointState();r&&r.ownerToken===this.ownerToken&&updateRuntimeEndpointStatus("stopped"),this.process=null,this.onShutdown&&this.onShutdown();}),this.process.on("error",()=>{let o=readRuntimeEndpointState();o&&o.ownerToken===this.ownerToken&&updateRuntimeEndpointStatus("degraded"),this.process=null;});}async waitForReady(){let e=Date.now()+3e4;for(;Date.now()<e;){if(await this.healthCheck())return true;await new Promise(n=>setTimeout(n,ps));}return false}healthCheck(){return new Promise(e=>{let n=resolveRuntimeEndpoint(),o=new URL("/api/health",n.url),r=request({hostname:o.hostname,port:o.port,path:o.pathname,method:"GET",timeout:2e3},i=>{let s=i.statusCode===200;s&&readRuntimeEndpointState()&&updateRuntimeEndpointStatus("healthy"),i.resume(),e(s);});r.on("error",()=>e(false)),r.on("timeout",()=>{r.destroy(),e(false);}),r.end();})}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),!(je().sessions.length>0)&&(this.idleTimer=setTimeout(()=>{this.stop();},ms).unref());}};function gs(t){let e=createRequire(import.meta.url),n=[()=>e.resolve("@devflow-tools/server/dist/main.js"),()=>join$1(t,"node_modules","@devflow-tools","server","dist","main.js"),()=>join$1(t,"apps","server","dist","main.js")];for(let o of n)try{let r=o();if(existsSync$1(r))return r}catch{}throw new Error("DevFlow server entry point is not installed or built")}function _t(t){if(!t||typeof t!="object"||Array.isArray(t))return {};let e=t,n={};for(let o of ["lastMcpCall","bypassCount"])if(o in e){let r=e[o];if(r==null)continue;n[o]=typeof r=="number"&&Number.isFinite(r)&&r>=0?r:0;}return n}function hs(t,e){return t.lastMcpCall===e.lastMcpCall&&t.bypassCount===e.bypassCount}function ys(t,e,n){let o=n instanceof Error?n.message:String(n);y({event:"hook.runtime.degraded",identity:{projectRoot:t},level:"warn",timestamp:Date.now(),data:{stage:"enforcement_receipt",operation:e,reason:o,fallback:"fail_open"}});}function Vn(t,e,n){let o;try{o=openGlobalDevFlowDatabase(void 0,{busyTimeoutMs:250});let r={},i=o.updateHookReceipt(t,a=>(r=_t(a),_t(e(r)))),s=_t(i);return {receipt:s,applied:!0,changed:!hs(r,s)}}catch(r){return ys(t,n,r),{receipt:{},applied:false,changed:false}}finally{try{o?.close();}catch{}}}function Fe(t,e){return Vn(t,()=>e,"write").applied}function It(t,e){return Vn(t,e,"update")}var Jn={Grep:"get_project_context",Glob:"get_project_context",Agent:"get_project_context",Bash:"get_project_context",WebSearch:"get_knowledge",WebFetch:"get_knowledge"},vs=new Set(["Write","Edit","NotebookEdit"]),_s=new Set(["failed","timeout","unavailable"]);function Is(t){switch(t){case "WebSearch":case "WebFetch":return 1;case "Agent":return 3;case "Grep":case "Glob":return 3;case "Bash":return 5;default:return 2}}var ee=class{constructor(e,n,o){this.projectRoot=e;this.sessionId=n;this.executionId=o;}getPhase(){if(!this.sessionId||!this.executionId)return "idle";let e;try{e=openGlobalDevFlowDatabase(void 0,{busyTimeoutMs:250});let n=e.getContextReceipt(this.projectRoot,this.sessionId,this.executionId);if(n&&n.expiresAt>Date.now())return "context_ready";n&&e.deleteContextReceipt(this.projectRoot,this.sessionId,this.executionId);}catch{}finally{try{e?.close();}catch{}}return "context_gathering"}getContextReceipt(){if(!this.sessionId||!this.executionId)return null;let e;try{e=openGlobalDevFlowDatabase(void 0,{busyTimeoutMs:250});let n=e.getContextReceipt(this.projectRoot,this.sessionId,this.executionId);return n&&n.expiresAt>Date.now()?n:(n&&e.deleteContextReceipt(this.projectRoot,this.sessionId,this.executionId),null)}catch{return null}finally{try{e?.close();}catch{}}}evaluate(e,n){let o=this.getPhase();if(n||e==="Skill")return {permissionDecision:"allow"};if(o==="context_gathering"&&Jn[e])return {permissionDecision:"deny",reasonCode:"DEVFLOW_CONTEXT_REQUIRED",reason:`DevFlow context required. Call mcp__devflow__get_project_context, then retry ${e}.`};if(o==="context_ready"){if(vs.has(e)){let c=this.evaluateRequiredAction();if(c)return c}return {permissionDecision:"allow"}}let r=Jn[e];if(!r)return {permissionDecision:"allow"};let i=It(this.projectRoot,c=>({...c,bypassCount:(c.bypassCount??0)+1}));if(!i.applied)return {permissionDecision:"allow"};let s=i.receipt.bypassCount??0,a=Is(e);return s>=a?{permissionDecision:"allow",additionalContext:`\u5DF2 ${s} \u6B21\u76F4\u63A5\u4F7F\u7528 ${e}\uFF0C\u5EFA\u8BAE\u7528 mcp__devflow__${r} \u83B7\u53D6\u66F4\u7CBE\u786E\u7684\u4E0A\u4E0B\u6587\u3002`}:{permissionDecision:"allow"}}recordMcpCall(){Fe(this.projectRoot,{lastMcpCall:Math.floor(Date.now()/1e3),bypassCount:0});}recordDomainActionOutcome(e,n,o,r){if(!this.sessionId||!this.executionId)return false;let i;try{i=openGlobalDevFlowDatabase(void 0,{busyTimeoutMs:250});let s=i.getContextReceipt(this.projectRoot,this.sessionId,this.executionId);if(!s||s.expiresAt<=Date.now()||s.canonicalAction?.tool!==e)return !1;let a=Date.now(),c=r?.trim()?`${r.trim()}:${n}`:`${e}:${n}:${a}`,d=s.actionAttempts??[];return i.upsertContextReceipt({...s,actionAttempts:d.some(u=>u.id===c||r&&u.toolUseId===r&&u.status===n)?d:[...d,{id:c,tool:e,status:n,attemptedAt:a,toolUseId:r,reason:o?.slice(0,500)}].slice(-20),actionSatisfiedAt:n==="succeeded"?a:s.actionSatisfiedAt,actionDegradation:n==="succeeded"?void 0:s.actionDegradation}),!0}catch{return false}finally{try{i?.close();}catch{}}}evaluateRequiredAction(){let e=this.getContextReceipt(),n=e?.canonicalAction;if(!e||!n||!n.required||n.status!=="required")return null;let o=n.binding;if(o.requiredContextReceipt!==e.contextHash||o.projectRoot!==this.projectRoot||o.sessionId!==this.sessionId||o.requestId!==e.requestId||o.executionId&&o.executionId!==this.executionId)return {permissionDecision:"deny",reasonCode:"DEVFLOW_ACTION_BINDING_STALE",reason:"DevFlow canonical action binding is stale or mismatched. Call mcp__devflow__get_project_context again before writing."};if(e.actionSatisfiedAt)return null;if(e.actionDegradation?.authorizedByContextReceipt===e.contextHash)return {permissionDecision:"allow",additionalContext:`DevFlow degraded fallback authorized by context receipt ${e.contextHash}: ${e.actionDegradation.reason}`};let r=(e.actionAttempts??[]).filter(i=>i.tool===n.tool&&_s.has(i.status));if(r.length>0){let i=r.at(-1),s={missedTool:n.tool,failedAttemptCount:r.length,reason:`${i.status}:${i.reason??"canonical domain action did not complete"}`,authorizedByContextReceipt:e.contextHash,authorizedAt:Date.now()};return this.persistDegradation(e,s),{permissionDecision:"allow",additionalContext:`DevFlow canonical tool mcp__devflow__${n.tool} ${i.status}; degraded direct write authorized by context receipt ${e.contextHash}. Preserve the action contract and verification plan.`}}return {permissionDecision:"deny",reasonCode:"DEVFLOW_REQUIRED_ACTION",reason:`DevFlow required action not completed. Call mcp__devflow__${n.tool} using context receipt ${e.contextHash}, then retry the write. Direct fallback is allowed only after unavailable, failed, or timeout evidence.`}}persistDegradation(e,n){let o;try{o=openGlobalDevFlowDatabase(void 0,{busyTimeoutMs:250});let r=o.getContextReceipt(e.projectRoot,e.sessionId,e.executionId);if(!r||r.contextHash!==e.contextHash||r.actionDegradation)return;o.upsertContextReceipt({...r,actionDegradation:n});let i=o.getSkillExecution(e.executionId);if(!i)return;let s=i.metadata&&typeof i.metadata=="object"?i.metadata:{},a=Array.isArray(s.requiredActionDegradations)?s.requiredActionDegradations:[];o.updateSkillExecution(e.executionId,{missedMcpTools:[...new Set([...i.missedMcpTools??[],n.missedTool])],failedToolCalls:Math.max(i.failedToolCalls??0,n.failedAttemptCount),fallbackCount:(i.fallbackCount??0)+1,fallbackReasons:[...new Set([...i.fallbackReasons??[],`required_action_${n.reason}`])],metadata:{...s,requiredActionDegradations:[...a,n]}});}catch{}finally{try{o?.close();}catch{}}}};var xs=10,Es=5e3,Ts=3e4,As=new Int32Array(new SharedArrayBuffer(4)),Zn=0;function Cs(t){if(typeof t!="object"||t===null)return false;let e=t;return typeof e.rootPath=="string"&&e.rootPath.length>0&&typeof e.projectHash=="string"&&e.projectHash.length>0&&typeof e.pid=="number"&&Number.isInteger(e.pid)&&e.pid>0&&typeof e.startedAt=="number"&&Number.isFinite(e.startedAt)&&e.startedAt>=0}function eo(t){if(!existsSync(t))return {entries:[],needsRepair:false};try{let e=JSON.parse(readFileSync$1(t,"utf8"));if(!Array.isArray(e))return {entries:[],needsRepair:!0};let n=e.filter(Cs);return {entries:n,needsRepair:n.length!==e.length}}catch{return {entries:[],needsRepair:true}}}function to(t,e){mkdirSync$1(dirname$1(t),{recursive:true});let n=`${t}.${process.pid}.${Date.now()}.${Zn++}.tmp`,o;try{o=openSync$1(n,"wx"),writeFileSync$1(o,JSON.stringify(e,null,2)),closeSync$1(o),o=void 0,renameSync(n,t);}finally{try{o!==void 0&&closeSync$1(o);}finally{rmSync$1(n,{force:true});}}}function no(t){try{return process.kill(t,0),!0}catch(e){return e.code!=="ESRCH"}}function oo(t){if(typeof t!="object"||t===null)return false;let e=t;return typeof e.pid=="number"&&Number.isInteger(e.pid)&&e.pid>0&&typeof e.createdAt=="number"&&Number.isFinite(e.createdAt)&&typeof e.token=="string"&&e.token.length>0}function Kn(t,e){try{return readFileSync$1(t,"utf8")!==e?!1:(rmSync$1(t),!0)}catch(n){return n.code==="ENOENT"}}function Ds(t){try{let e=readFileSync$1(t,"utf8"),n;try{let r=JSON.parse(e);oo(r)&&(n=r);}catch{}return n?no(n.pid)?!1:Kn(t,e):Date.now()-statSync(t).mtimeMs>Ts&&Kn(t,e)}catch(e){return e.code==="ENOENT"}}function Ms(t){mkdirSync$1(dirname$1(t),{recursive:true});let e=`${t}.lock`,n=Date.now()+Es;for(;;){let o=`${process.pid}:${Date.now()}:${Zn++}`,r;try{return r=openSync$1(e,"wx"),writeFileSync$1(r,JSON.stringify({pid:process.pid,createdAt:Date.now(),token:o})),closeSync$1(r),r=void 0,{path:e,token:o}}catch(i){if(r!==void 0)try{closeSync$1(r);}finally{rmSync$1(e,{force:true});}if(i.code!=="EEXIST")throw i}if(!Ds(e)){if(Date.now()>=n)throw new Error(`Timed out acquiring daemon registry lock: ${e}`);Atomics.wait(As,0,0,xs);}}}function Os(t){try{let e=readFileSync$1(t.path,"utf8"),n=JSON.parse(e);oo(n)&&n.token===t.token&&rmSync$1(t.path);}catch(e){if(e.code!=="ENOENT")throw e}}function ro(t){let e=getDaemonRegistryPath(),n=Ms(e);try{return t(e)}finally{Os(n);}}function io(t,e){ro(n=>{let o=eo(n).entries.filter(r=>r.rootPath!==t&&no(r.pid));o.push({rootPath:t,projectHash:getProjectHash(t),pid:e,startedAt:Date.now()}),to(n,o);});}function so(t,e){ro(n=>{let o=eo(n).entries.filter(r=>r.rootPath!==t||e!==void 0&&r.pid!==e);to(n,o);});}async function ge(t){let e=!t.memory,n=t.memory??new MemoryGate(t.projectRoot),o=0,r=0;try{await n.forceWarmUp(),t.trigger==="session_end"&&(o=await n.releasePendingDistillLeases(t.sessionId)),r=n.getPendingEventCount(t.sessionId,t.trigger!=="session_end");}finally{e&&n.close();}let i=Date.now(),s=t.trigger==="session_end"&&t.sessionId?`distill:session_end:${createHash("sha256").update(`${t.projectRoot}\0${t.sessionId}`).digest("hex").slice(0,24)}`:`distill:${i}:${Math.random().toString(36).slice(2,10)}`,a={id:s,pendingEvents:r,releasedLeases:o,trigger:t.trigger,sessionId:t.sessionId,details:t.details};try{let c=openGlobalDevFlowDatabase();try{c.recordMemoryDistillCheckpoint({id:s,projectRoot:t.projectRoot,sessionId:t.sessionId,trigger:t.trigger,pendingEvents:r,releasedLeases:o,details:t.details,createdAt:i}),c.insertEvent({kind:"memory_distill_requested",timestamp:i,success:!0,metadata:{...a,projectRoot:t.projectRoot}});}finally{c.close();}}catch(c){if(t.strictPersistence)throw c}return a}function ao(t){if(t.pendingEvents===0)return "";let e=t.sessionId?`\uFF0CsessionId=${t.sessionId}`:"";return `Memory distill checkpoint: ${t.pendingEvents} \u4E2A\u4E8B\u4EF6\u5F85\u63D0\u70BC${e}\u3002\u4E0A\u4E0B\u6587\u538B\u7F29\u5B8C\u6210\u540E\uFF0C\u8C03\u7528 mcp__devflow__memory_request_distill\uFF1B\u6309\u8FD4\u56DE\u7684 nextPage \u5206\u9875\u8BFB\u53D6\u5168\u90E8\u4E8B\u4EF6\uFF0C\u63D0\u70BC observations\uFF0C\u518D\u8C03\u7528 mcp__devflow__memory_save_distilled \u5E76\u786E\u8BA4\u4FDD\u5B58\u7ED3\u679C\u3002`}function mo(t){return Buffer.from(t,"utf8").toString("base64url")}function Ns(t,e,n){let o=e?.trim();if(o){let r=/^[a-zA-Z0-9:._-]{1,192}$/.test(o)?o:`tool-${createHash$1("sha256").update(o.slice(0,1024)).digest("hex").slice(0,32)}`;return `${t}:${r}`}return `${t}:legacy-${n}-${randomUUID().slice(0,8)}`}function vo(t){return `${t}:legacy-journal`}var q=class{constructor(e){this.projectRoot=e;this.sessions=new Map;this.sessionsDir=join$1(P(e),"hook-sessions");}registerSession(e){let n=e.trim();if(!n)throw new Error("session_id_required");let o=this.get(n);if(o)return o.lastActivityAt=Date.now(),this.persist(o),o;let r=Date.now(),i={sessionId:n,projectRoot:this.projectRoot,requiredMcpTools:[],evidenceObligations:[],evidenceDegradations:[],evidenceOutcomes:[],startedAt:r,lastActivityAt:r};return this.sessions.set(n,i),this.persist(i),i}startExecution(e,n,o){let r=this.registerSession(e);return (!r.executionId||r.skillName!==n)&&(r.executionId=`exec_${Date.now()}_${randomUUID().slice(0,8)}`),r.skillName=n,r.requiredMcpTools=[...new Set(o)],r.lastActivityAt=Date.now(),this.persist(r),r}bindTaskIdentity(e,n){let o=this.registerSession(e);return o.activeTurnId=n.turnId,o.activeRequestId=n.requestId,o.intentArtifactHash=n.intentArtifactHash,o.lastActivityAt=Date.now(),this.persist(o),o}get(e){let n=e.trim();if(!n)return null;let o=this.sessions.get(n);if(o)return this.replayEvidenceJournal(o),o;let r=this.snapshotPath(n);if(!existsSync$1(r))return null;try{let i=JSON.parse(readFileSync(r,"utf8"));return i.sessionId!==n||i.projectRoot!==this.projectRoot?null:(i.requiredMcpTools=Array.isArray(i.requiredMcpTools)?i.requiredMcpTools:[],i.evidenceObligations=po(i.evidenceObligations),i.evidenceDegradations=fo(i.evidenceDegradations),i.evidenceOutcomes=go(i.evidenceOutcomes),this.replayEvidenceJournal(i),this.sessions.set(n,i),i)}catch{return null}}completeExecution(e){let n=this.get(e);if(!n)return null;let o=structuredClone(n);return delete n.executionId,delete n.skillName,n.requiredMcpTools=[],n.lastActivityAt=Date.now(),this.persist(n),o}addEvidenceObligation(e,n,o=Date.now(),r){let i=this.registerSession(e),a=(r?void 0:i.evidenceObligations.find(d=>d.contractId===n.id))?.obligationId??Ns(n.id,r,o);this.appendEvidenceEvent(e,{kind:"add",obligationId:a,contractId:n.id,at:o,contract:n},`add\0${a}`),this.replayEvidenceJournal(i);let c=i.evidenceObligations.find(d=>d.obligationId===a);return c?(i.lastActivityAt=Date.now(),this.persist(i),structuredClone(c)):null}listEvidenceObligations(e){return (this.get(e)?.evidenceObligations??[]).map(n=>structuredClone(n))}markEvidenceCorrection(e,n,o,r,i=Date.now()){let s=this.get(e),a=s?.evidenceObligations.find(u=>u.obligationId===n);if(!s||!a)return null;let c=/^[a-f0-9]{64}$/.test(r)?r:"";if(!c)return null;this.appendEvidenceEvent(e,{kind:"correction",obligationId:n,contractId:a.contractId,at:i,fingerprint:c,violations:o.slice(0,16).map(u=>u.slice(0,240))},`correction\0${n}\0${c}`),this.replayEvidenceJournal(s),s.lastActivityAt=i,this.persist(s);let d=s.evidenceObligations.find(u=>u.obligationId===n);return d?structuredClone(d):null}resolveEvidenceObligation(e,n){let o=this.get(e);if(!o)return false;let r=o.evidenceObligations.find(s=>s.obligationId===n);if(!r)return false;let i=Date.now();return this.appendEvidenceEvent(e,{kind:"resolve",obligationId:n,contractId:r.contractId,at:i},`resolve\0${n}`),this.replayEvidenceJournal(o),o.lastActivityAt=i,this.persist(o),true}resolveDegradedEvidence(e,n){let o=this.get(e),r=o?.evidenceDegradations.find(s=>s.obligationId===n);if(!o||!r)return false;let i=Date.now();return this.appendEvidenceEvent(e,{kind:"resolve",obligationId:n,contractId:r.contractId,at:i},`resolve-degraded\0${n}\0${i}`),this.replayEvidenceJournal(o),o.lastActivityAt=i,this.persist(o),true}degradeEvidenceObligation(e,n,o,r=Date.now()){let i=this.get(e),s=i?.evidenceObligations.find(c=>c.obligationId===n);if(!i||!s)return false;let a=o.slice(0,240);return this.appendEvidenceEvent(e,{kind:"degrade",obligationId:n,contractId:s.contractId,at:r,reason:a},`degrade\0${n}\0${a}`),this.replayEvidenceJournal(i),i.lastActivityAt=r,this.persist(i),true}removeSession(e){let n=e.trim();n&&(this.sessions.delete(n),rmSync(this.snapshotPath(n),{force:true}),rmSync(this.evidenceJournalDir(n),{recursive:true,force:true}));}list(){return [...this.sessions.values()]}snapshotPath(e){return join$1(this.sessionsDir,`${mo(e)}.json`)}evidenceJournalDir(e){return join$1(this.sessionsDir,"evidence-journal",mo(e))}appendEvidenceEvent(e,n,o){let r=this.evidenceJournalDir(e);mkdirSync(r,{recursive:true,mode:448});let i=createHash$1("sha256").update(o).digest("hex"),s=join$1(r,`${n.kind}-${i}.json`);if(existsSync$1(s))return;let a=join$1(r,`.${process.pid}.${randomUUID()}.tmp`);writeFileSync(a,JSON.stringify(n),{mode:384});try{linkSync(a,s);}catch(c){if(c.code!=="EEXIST")throw c}finally{rmSync(a,{force:true});}}replayEvidenceJournal(e){e.evidenceObligations=po(e.evidenceObligations),e.evidenceDegradations=fo(e.evidenceDegradations),e.evidenceOutcomes=go(e.evidenceOutcomes);let n=this.evidenceJournalDir(e.sessionId);if(!existsSync$1(n))return;let o;try{o=readdirSync(n).filter(i=>/^(?:add|correction|resolve|degrade)-[a-f0-9]{64}\.json$/.test(i)).slice(0,4096);}catch{return}let r=o.flatMap(i=>{try{let s=readFileSync(join$1(n,i),"utf8");if(Buffer.byteLength(s,"utf8")>64*1024)return [];let a=qs(JSON.parse(s));return a?[a]:[]}catch{return []}}).sort((i,s)=>i.at-s.at||ho(i.kind)-ho(s.kind));for(let i of r)this.applyEvidenceEvent(e,i);e.evidenceObligations=e.evidenceObligations.slice(-8),e.evidenceDegradations=e.evidenceDegradations.slice(-20),e.evidenceOutcomes=e.evidenceOutcomes.slice(-20);}applyEvidenceEvent(e,n){let o=e.evidenceOutcomes.find(s=>s.obligationId===n.obligationId);if(n.kind==="add"){if(o)return;let s=e.evidenceObligations.find(a=>a.obligationId===n.obligationId);s?(s.contract=n.contract,s.promptedAt=Math.min(s.promptedAt,n.at)):e.evidenceObligations.push({obligationId:n.obligationId,contractId:n.contractId,contract:n.contract,promptedAt:n.at,attempt:0,correctionRequested:false,violations:[]});return}let r=e.evidenceObligations.find(s=>s.obligationId===n.obligationId);if(n.kind==="correction"){if(!r||o||r.correctionFingerprint===n.fingerprint)return;r.attempt+=1,r.correctionRequested=true,r.correctionRequestedAt=n.at,r.correctionFingerprint=n.fingerprint,r.violations=n.violations;return}let i=r?.attempt??o?.attempt??0;if(n.kind==="resolve"&&o?.status==="degraded")e.evidenceOutcomes=e.evidenceOutcomes.filter(s=>s.obligationId!==n.obligationId),e.evidenceDegradations=e.evidenceDegradations.filter(s=>s.obligationId!==n.obligationId);else if(o)return;n.kind==="degrade"?(e.evidenceObligations=e.evidenceObligations.filter(s=>s.obligationId!==n.obligationId),e.evidenceDegradations.push({obligationId:n.obligationId,contractId:n.contractId,reason:n.reason,degradedAt:n.at,attempt:i,contract:r?.contract})):e.evidenceObligations=e.evidenceObligations.filter(s=>s.obligationId!==n.obligationId),e.evidenceOutcomes.push({obligationId:n.obligationId,contractId:n.contractId,status:n.kind==="resolve"?"resolved":"degraded",completedAt:n.at,attempt:i,...n.kind==="degrade"?{reason:n.reason}:{}});}persist(e){mkdirSync(this.sessionsDir,{recursive:true,mode:448});let n=this.snapshotPath(e.sessionId),o=`${n}.${process.pid}.${randomUUID()}.tmp`;writeFileSync(o,JSON.stringify(e),{mode:384}),renameSync$1(o,n);}};function po(t){return Array.isArray(t)?t.flatMap(e=>{if(!e||typeof e!="object")return [];let n=e;if(typeof n.contractId!="string"||n.contractId.length===0||n.contractId.length>128||typeof n.promptedAt!="number"||typeof n.attempt!="number"||typeof n.correctionRequested!="boolean"||!Array.isArray(n.violations)||!_o(n.contract))return [];let o=typeof n.obligationId=="string"&&n.obligationId.length>0&&n.obligationId.length<=384?n.obligationId:vo(n.contractId),r=typeof n.correctionTranscriptHash=="string"?n.correctionTranscriptHash:void 0,i=n.correctionFingerprint??r;return i!==void 0&&!/^[a-f0-9]{64}$/.test(i)?[]:[{...n,obligationId:o,correctionFingerprint:i}]}).slice(-8):[]}function fo(t){return Array.isArray(t)?t.filter(e=>{if(!e||typeof e!="object")return false;let n=e;return typeof n.obligationId=="string"&&typeof n.contractId=="string"&&typeof n.reason=="string"&&typeof n.degradedAt=="number"&&typeof n.attempt=="number"}).slice(-20):[]}function go(t){return Array.isArray(t)?t.filter(e=>{if(!e||typeof e!="object")return false;let n=e;return typeof n.obligationId=="string"&&typeof n.contractId=="string"&&(n.status==="resolved"||n.status==="degraded")&&typeof n.completedAt=="number"&&typeof n.attempt=="number"&&(n.reason===void 0||typeof n.reason=="string")}).slice(-20):[]}function qs(t){if(!t||typeof t!="object")return null;let e=t,n=e.kind;if(n!=="add"&&n!=="correction"&&n!=="resolve"&&n!=="degrade"||typeof e.contractId!="string"||e.contractId.length>128||typeof e.at!="number")return null;let r={obligationId:typeof e.obligationId=="string"&&e.obligationId.length>0&&e.obligationId.length<=384?e.obligationId:vo(e.contractId),contractId:e.contractId,at:e.at};if(n==="add")return _o(e.contract)?{kind:n,...r,contract:e.contract}:null;if(n==="correction"){let i=typeof e.fingerprint=="string"?e.fingerprint:e.transcriptHash;return typeof i=="string"&&/^[a-f0-9]{64}$/.test(i)&&Array.isArray(e.violations)&&e.violations.every(s=>typeof s=="string"&&s.length<=240)?{kind:n,...r,fingerprint:i,violations:e.violations}:null}return n==="resolve"?{kind:n,...r}:typeof e.reason=="string"&&e.reason.length<=240?{kind:n,...r,reason:e.reason}:null}function ho(t){return t==="add"?0:t==="correction"?1:2}function _o(t){if(!t||typeof t!="object")return false;let e=t,n=e.requiredSections,o=e.prohibitedClaims;return e.version==="1.0"&&typeof e.id=="string"&&/^[a-zA-Z0-9][a-zA-Z0-9:._-]{0,127}$/.test(e.id)&&typeof e.runtimeProfilingOccurred=="boolean"&&typeof e.samplingEvidenceOccurred=="boolean"&&Array.isArray(n)&&n.length===3&&n[0]==="\u5DE5\u5177\u53D1\u73B0"&&n[1]==="\u6A21\u578B\u5047\u8BBE"&&n[2]==="\u9700\u8981\u8FD0\u884C\u65F6\u9A8C\u8BC1"&&Array.isArray(o)&&o.length<=16&&o.every(r=>typeof r=="string"&&r.length<=128)&&typeof e.canonicalReport=="string"&&Buffer.byteLength(e.canonicalReport,"utf8")<=48*1024&&!!e.correctionPolicy&&e.correctionPolicy.maxAttempts===1&&e.correctionPolicy.repeatedViolation==="fail_open"}function ko(t,e){let n=xo(t);mkdirSync$1(n,{recursive:true,mode:448});let o=join(n,`${e.receiptId}.json`);if(existsSync(o))return e.receiptId;let r=`${o}.${process.pid}.tmp`;writeFileSync$1(r,JSON.stringify(e),{mode:384});try{renameSync(r,o);}catch(i){try{unlinkSync$1(r);}catch{}if(!existsSync(o))throw i}return e.receiptId}function bo(t){let e=xo(t);mkdirSync$1(e,{recursive:true,mode:448});let n=readdirSync$1(e).filter(s=>s.endsWith(".json")||/\.json\.claim-\d+$/u.test(s)).sort()[0];if(!n)return null;let o=join(e,n),r=/\.json\.claim-\d+$/u.test(n),i=r?o:`${o}.claim-${process.pid}`;if(!r)try{renameSync(o,i);}catch{return null}try{let s=JSON.parse(readFileSync$1(i,"utf8"));if(typeof s.receiptId!="string"||typeof s.inputJson!="string"||typeof s.sessionId!="string"||typeof s.cleanupSharedState!="boolean")throw unlinkSync$1(i),new Error("session_finalize_spool_payload_invalid");return {receiptId:basename(n).replace(/\.json(?:\.claim-\d+)?$/u,""),payload:s,path:i}}catch(s){try{unlinkSync$1(i);}catch{}throw s}}function Ro(t){unlinkSync$1(t.path);}function So(t){try{renameSync(t.path,t.path.replace(/\.claim-\d+$/u,""));}catch{}}function xo(t){return join(P(t),"session-finalize-pending")}function C(t){let{projectRoot:e,...n}=t;try{return new St(e).dispatchBoundary(n).snapshot??null}catch(o){return y({event:"hook.runtime.degraded",identity:{projectRoot:e,sessionId:t.sessionId,...t.turnId?{turnId:t.turnId}:{},...t.requestId?{requestId:t.requestId}:{},...t.executionId?{executionId:t.executionId}:{}},level:"error",timestamp:Date.now(),data:{stage:t.kind,reason:o instanceof Error?o.message:String(o),tool:t.producer}}),null}}var St=class{constructor(e){this.projectRoot=e;}dispatchBoundary(e){let n=Ys(e.kind,e.payload??{});if(!n)return {handled:false};let o=openGlobalDevFlowDatabase(void 0,{busyTimeoutMs:250});try{let r=Gs(o,{projectRoot:this.projectRoot,sessionId:e.sessionId,...e.turnId?{turnId:e.turnId}:{},...e.requestId?{requestId:e.requestId}:{},...e.executionId?{executionId:e.executionId}:{}});return r?{handled:!0,snapshot:new TaskKernel(new TaskEventStore(o),new SemanticRuntimeEventProjector).dispatch({definition:r.definition,kind:n.kind,payload:n.payload,idempotencyKey:`host:${r.definition.definitionHash}:${e.dedupeKey}`,producer:e.producer}).snapshot}:{handled:!1}}finally{o.close();}}};function Gs(t,e){let n=e.executionId?t.getActiveContextReceipt(e.projectRoot,e.sessionId,e.executionId):null,o=e.turnId??n?.canonicalAction?.binding.turnId,r=e.requestId??n?.requestId;if(!o&&!r)return null;let i=t.listLatestTaskIntentArtifacts(e.projectRoot,e.sessionId).find(s=>o?s.turnId===o:s.requestId===r);if(!i)return null;for(let s of [...new Set([i.version,2,1])]){let a=t.getTaskAggregateSnapshot(e.projectRoot,e.sessionId,i.turnId,s);if(!a)continue;let c=t.getTaskDefinitionV2(a.taskDefinitionHash);if(c)return {definition:c,snapshot:a}}return null}function Ys(t,e){switch(t){case "action.lease.issued":return {kind:"action_lease_issued",payload:e};case "action.succeeded":return {kind:"action_completed",payload:e};case "action.failed":return {kind:"action_failed",payload:e};case "verification.succeeded":return {kind:"verification_completed",payload:e};case "verification.failed":return {kind:"verification_failed",payload:e};case "memory.committed":return {kind:"memory_episode_persisted",payload:e};case "memory.skipped":return {kind:"memory_decision_completed",payload:e};case "memory.pending":return {kind:"memory_extraction_queued",payload:e};case "memory.failed":return {kind:"memory_extraction_failed",payload:e};case "durable_work.owned":return {kind:"durable_work_leased",payload:{...e,fencingToken:Number.isSafeInteger(e.fencingToken)?e.fencingToken:0}};case "durable_work.completed":return {kind:"durable_work_completed",payload:e};case "durable_work.dead_lettered":return {kind:"durable_work_dead_lettered",payload:e};default:return null}}var oa=256*1024,ra=48*1024,ia=512*1024,sa=500,aa=5,he=["\u5DE5\u5177\u53D1\u73B0","\u6A21\u578B\u5047\u8BBE","\u9700\u8981\u8FD0\u884C\u65F6\u9A8C\u8BC1"];function ca(t){return t==="react_audit_performance"||t.endsWith("__react_audit_performance")}function da(t){let e=ye(t,0,new Set);return e?Ia(e.contract,e.canonicalReport):null}function Co(t){if(!t.sessionId||!ca(t.toolName))return null;let e=da(t.toolResponse);if(!e)return null;let n=Date.now(),o=t.runtimeStore.addEvidenceObligation(t.sessionId,e,n,t.toolUseId),r=t.runtimeStore.get(t.sessionId);if(o&&r){let i=openGlobalDevFlowDatabase();try{i.upsertSessionObligation({obligationId:`evidence:${o.obligationId}`,projectRoot:r.projectRoot,sessionId:t.sessionId,executionId:r.executionId,kind:"evidence_contract",state:"open",payload:{contract:e,runtimeObligationId:o.obligationId},createdAt:n,updatedAt:n});}finally{i.close();}y({event:"verification.completed",identity:{projectRoot:r.projectRoot,sessionId:t.sessionId,executionId:r.executionId},level:"info",timestamp:n,data:{stage:"performance_detector_coverage",status:"obligation_opened",contractId:e.id,obligationId:o.obligationId,detectorCoverage:ze(t.toolResponse),runtimeProfilingOccurred:e.runtimeProfilingOccurred,samplingEvidenceOccurred:e.samplingEvidenceOccurred,toolUseId:t.toolUseId}});}return la(e)}function la(t){return [`DevFlow performance evidence contract ${t.id} is active.`,`The final performance answer MUST contain these three sections exactly: ${t.requiredSections.join(" / ")}.`,t.runtimeProfilingOccurred?"Only claims directly supported by the returned runtime measurements may be stated as measured facts.":"No runtime profiling occurred. Treat every finding as a static candidate: do not assign P0/high-risk severity, claim a confirmed bottleneck/jank/frame drop/CPU hotspot, quantify performance or benefit, or recommend requestAnimationFrame as generic throttling without sampling evidence.",`samplingEvidenceOccurred=${t.samplingEvidenceOccurred}. RAF recommendations are permitted only when this structured contract field is true; answer text cannot self-declare sampling evidence.`,"Use the canonical report below directly or preserve its evidence boundaries. Stop will request one correction for unsupported claims, then fail open with degradation telemetry.",t.canonicalReport].join(`
|
|
4
|
+
`)}function Xi(t,e){return {candidateId:t.id,version:t.overlayVersion,state:e,instruction:t.instruction,trigger:t.trigger,confidence:t.confidence,evidenceReceipt:t.graderReceipt??`candidate:${t.id}:v${t.overlayVersion}`,expiresAt:t.expiresAt}}function Qi(t,e){let n=Math.max(0,Math.min(e.maxLearnedEntries??3,3)),o=Math.max(0,Math.min(e.learnedCharacterBudget??1600,4e3)),r=[],i=0;for(let s of t){if(r.length>=n)break;let a=s.instruction.length+4;i+a>o||(r.push(s),i+=a);}return r}function Zi(t,e,n){let o=t.trigger,r=e.replace(/^devflow:/,"").split(":").pop()??e,i=Pe(o.skills);if(i.length>0&&!i.some(m=>m===e||m===r||m.endsWith(`:${r}`)))return false;let s=(n.prompt??"").normalize("NFKC").toLocaleLowerCase("en-US"),a=(n.command??"").normalize("NFKC").toLocaleLowerCase("en-US"),c=[...n.files??[],...es(n.prompt??"")].map(m=>m.replaceAll("\\","/").toLocaleLowerCase("en-US")),d=Pe(o.commands).map(Ln);if(d.length>0&&!d.some(m=>a.includes(m)||s.includes(m)))return false;let u=Pe(o.entities).map(Ln);if(u.length>0&&!u.some(m=>s.includes(m)||a.includes(m)))return false;let l=Pe(o.files).map(m=>m.replaceAll("\\","/").toLocaleLowerCase("en-US"));return !(l.length>0&&!l.some(m=>c.some(f=>ts(f,m))))}function es(t){return t.match(/(?:^|\s)((?:src|app|apps|packages|plugins|lib|test|tests)\/[A-Za-z0-9_./@-]+)/gu)?.map(e=>e.trim())??[]}function ts(t,e){if(!e.includes("*"))return t===e||t.includes(e);let n=e.replace(/[.+?^${}()|[\]\\]/gu,"\\$&").replaceAll("*",".*");return new RegExp(`^${n}$`,"u").test(t)}function Pe(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"&&e.trim().length>0):[]}function Ln(t){return t.normalize("NFKC").trim().toLocaleLowerCase("en-US")}function Nn(t){if(!existsSync(t))return null;try{let e=JSON.parse(readFileSync$1(t,"utf8"));return e&&typeof e=="object"&&!Array.isArray(e)?e:null}catch{return null}}function ns(t,e){for(let n of ["dependencies","devDependencies","peerDependencies","optionalDependencies"]){let o=t?.[n];if(!o||typeof o!="object"||Array.isArray(o))continue;let r=o[e];if(typeof r=="string"&&r.trim())return r.trim()}}function os(t,e){let n=t?.packages;if(n&&typeof n=="object"&&!Array.isArray(n)){let r=n[`node_modules/${e}`];if(r&&typeof r=="object"&&!Array.isArray(r)){let i=r.version;if(typeof i=="string"&&i.trim())return i.trim()}}let o=t?.dependencies;if(o&&typeof o=="object"&&!Array.isArray(o)){let r=o[e];if(r&&typeof r=="object"&&!Array.isArray(r)){let i=r.version;if(typeof i=="string"&&i.trim())return i.trim()}}}function Un(t){let e=$n();return e?e[t]?.mcpTools??[]:[]}function zn(t,e,n){return Wn(qn(t,e,{prompt:n}))}var ht=getDevFlowStateRoot(),yt=join$1(ht,"server-refs.json"),ms=600*1e3,ps=500;function fs(){existsSync$1(ht)||mkdirSync(ht,{recursive:true});}function je(){try{if(existsSync$1(yt))return JSON.parse(readFileSync(yt,"utf-8"))}catch{}return {sessions:[],lastActivity:0}}function Bn(t){fs(),writeFileSync(yt,JSON.stringify(t));}var $e=class{constructor(e){this.process=null;this.idleTimer=null;this.onShutdown=null;this.ownerToken=null;this.projectRoot=e;}setOnShutdown(e){this.onShutdown=e;}addRef(e){let n=je();n.sessions.includes(e)||n.sessions.push(e),n.lastActivity=Date.now(),Bn(n),this.resetIdleTimer();}removeRef(e){let n=je();n.sessions=n.sessions.filter(o=>o!==e),n.lastActivity=Date.now(),Bn(n),n.sessions.length===0&&this.resetIdleTimer();}get activeSessions(){return je().sessions.length}async ensureRunning(){return await this.healthCheck()?true:(await this.startServer(),this.waitForReady())}get isRunning(){return this.process!==null&&!this.process.killed}async stop(){if(this.idleTimer&&clearTimeout(this.idleTimer),this.process){this.process.kill("SIGTERM"),await new Promise(n=>{let o=setTimeout(()=>{this.process&&!this.process.killed&&this.process.kill("SIGKILL"),n();},5e3);this.process?this.process.on("exit",()=>{clearTimeout(o),n();}):(clearTimeout(o),n());}),this.process=null;let e=readRuntimeEndpointState();e&&e.ownerToken===this.ownerToken&&updateRuntimeEndpointStatus("stopped");}}async startServer(){let e=gs(this.projectRoot);this.ownerToken=randomUUID$1();let n=resolveRuntimeEndpoint();this.process=spawn(process.execPath,[e,"--devflow-instance-token",this.ownerToken],{cwd:this.projectRoot,env:{...process.env,NODE_ENV:process.env.NODE_ENV||"development"},stdio:["ignore","pipe","pipe"]}),writeRuntimeEndpointState({url:n.url,port:n.port,pid:this.process.pid??0,ownerToken:this.ownerToken,status:"launching"}),this.process.stdout?.on("data",o=>{}),this.process.stderr?.on("data",o=>{}),this.process.on("exit",o=>{let r=readRuntimeEndpointState();r&&r.ownerToken===this.ownerToken&&updateRuntimeEndpointStatus("stopped"),this.process=null,this.onShutdown&&this.onShutdown();}),this.process.on("error",()=>{let o=readRuntimeEndpointState();o&&o.ownerToken===this.ownerToken&&updateRuntimeEndpointStatus("degraded"),this.process=null;});}async waitForReady(){let e=Date.now()+3e4;for(;Date.now()<e;){if(await this.healthCheck())return true;await new Promise(n=>setTimeout(n,ps));}return false}healthCheck(){return new Promise(e=>{let n=resolveRuntimeEndpoint(),o=new URL("/api/health",n.url),r=request({hostname:o.hostname,port:o.port,path:o.pathname,method:"GET",timeout:2e3},i=>{let s=i.statusCode===200;s&&readRuntimeEndpointState()&&updateRuntimeEndpointStatus("healthy"),i.resume(),e(s);});r.on("error",()=>e(false)),r.on("timeout",()=>{r.destroy(),e(false);}),r.end();})}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),!(je().sessions.length>0)&&(this.idleTimer=setTimeout(()=>{this.stop();},ms).unref());}};function gs(t){let e=createRequire(import.meta.url),n=[()=>e.resolve("@devflow-tools/server/dist/main.js"),()=>join$1(t,"node_modules","@devflow-tools","server","dist","main.js"),()=>join$1(t,"apps","server","dist","main.js")];for(let o of n)try{let r=o();if(existsSync$1(r))return r}catch{}throw new Error("DevFlow server entry point is not installed or built")}function _t(t){if(!t||typeof t!="object"||Array.isArray(t))return {};let e=t,n={};for(let o of ["lastMcpCall","bypassCount"])if(o in e){let r=e[o];if(r==null)continue;n[o]=typeof r=="number"&&Number.isFinite(r)&&r>=0?r:0;}return n}function hs(t,e){return t.lastMcpCall===e.lastMcpCall&&t.bypassCount===e.bypassCount}function ys(t,e,n){let o=n instanceof Error?n.message:String(n);y({event:"hook.runtime.degraded",identity:{projectRoot:t},level:"warn",timestamp:Date.now(),data:{stage:"enforcement_receipt",operation:e,reason:o,fallback:"fail_open"}});}function Vn(t,e,n){let o;try{o=openGlobalDevFlowDatabase(void 0,{busyTimeoutMs:250});let r={},i=o.updateHookReceipt(t,a=>(r=_t(a),_t(e(r)))),s=_t(i);return {receipt:s,applied:!0,changed:!hs(r,s)}}catch(r){return ys(t,n,r),{receipt:{},applied:false,changed:false}}finally{try{o?.close();}catch{}}}function Fe(t,e){return Vn(t,()=>e,"write").applied}function It(t,e){return Vn(t,e,"update")}var Jn={Grep:"get_project_context",Glob:"get_project_context",Agent:"get_project_context",Bash:"get_project_context",WebSearch:"get_knowledge",WebFetch:"get_knowledge"},vs=new Set(["Write","Edit","NotebookEdit"]),_s=new Set(["failed","timeout","unavailable"]);function Is(t){switch(t){case "WebSearch":case "WebFetch":return 1;case "Agent":return 3;case "Grep":case "Glob":return 3;case "Bash":return 5;default:return 2}}var ee=class{constructor(e,n,o){this.projectRoot=e;this.sessionId=n;this.executionId=o;}getPhase(){if(!this.sessionId||!this.executionId)return "idle";let e;try{e=openGlobalDevFlowDatabase(void 0,{busyTimeoutMs:250});let n=e.getContextReceipt(this.projectRoot,this.sessionId,this.executionId);if(n&&n.expiresAt>Date.now())return "context_ready";n&&e.deleteContextReceipt(this.projectRoot,this.sessionId,this.executionId);}catch{}finally{try{e?.close();}catch{}}return "context_gathering"}getContextReceipt(){if(!this.sessionId||!this.executionId)return null;let e;try{e=openGlobalDevFlowDatabase(void 0,{busyTimeoutMs:250});let n=e.getContextReceipt(this.projectRoot,this.sessionId,this.executionId);return n&&n.expiresAt>Date.now()?n:(n&&e.deleteContextReceipt(this.projectRoot,this.sessionId,this.executionId),null)}catch{return null}finally{try{e?.close();}catch{}}}evaluate(e,n){let o=this.getPhase();if(n||e==="Skill")return {permissionDecision:"allow"};if(o==="context_gathering"&&Jn[e])return {permissionDecision:"deny",reasonCode:"DEVFLOW_CONTEXT_REQUIRED",reason:`DevFlow context required. Call mcp__devflow__get_project_context, then retry ${e}.`};if(o==="context_ready"){if(vs.has(e)){let c=this.evaluateRequiredAction();if(c)return c}return {permissionDecision:"allow"}}let r=Jn[e];if(!r)return {permissionDecision:"allow"};let i=It(this.projectRoot,c=>({...c,bypassCount:(c.bypassCount??0)+1}));if(!i.applied)return {permissionDecision:"allow"};let s=i.receipt.bypassCount??0,a=Is(e);return s>=a?{permissionDecision:"allow",additionalContext:`\u5DF2 ${s} \u6B21\u76F4\u63A5\u4F7F\u7528 ${e}\uFF0C\u5EFA\u8BAE\u7528 mcp__devflow__${r} \u83B7\u53D6\u66F4\u7CBE\u786E\u7684\u4E0A\u4E0B\u6587\u3002`}:{permissionDecision:"allow"}}recordMcpCall(){Fe(this.projectRoot,{lastMcpCall:Math.floor(Date.now()/1e3),bypassCount:0});}recordDomainActionOutcome(e,n,o,r){if(!this.sessionId||!this.executionId)return false;let i;try{i=openGlobalDevFlowDatabase(void 0,{busyTimeoutMs:250});let s=i.getContextReceipt(this.projectRoot,this.sessionId,this.executionId);if(!s||s.expiresAt<=Date.now()||s.canonicalAction?.tool!==e)return !1;let a=Date.now(),c=r?.trim()?`${r.trim()}:${n}`:`${e}:${n}:${a}`,d=s.actionAttempts??[];return i.upsertContextReceipt({...s,actionAttempts:d.some(u=>u.id===c||r&&u.toolUseId===r&&u.status===n)?d:[...d,{id:c,tool:e,status:n,attemptedAt:a,toolUseId:r,reason:o?.slice(0,500)}].slice(-20),actionSatisfiedAt:n==="succeeded"?a:s.actionSatisfiedAt,actionDegradation:n==="succeeded"?void 0:s.actionDegradation}),!0}catch{return false}finally{try{i?.close();}catch{}}}evaluateRequiredAction(){let e=this.getContextReceipt(),n=e?.canonicalAction;if(!e||!n||!n.required||n.status!=="required")return null;let o=n.binding;if(o.requiredContextReceipt!==e.contextHash||o.projectRoot!==this.projectRoot||o.sessionId!==this.sessionId||o.requestId!==e.requestId||o.executionId&&o.executionId!==this.executionId)return {permissionDecision:"deny",reasonCode:"DEVFLOW_ACTION_BINDING_STALE",reason:"DevFlow canonical action binding is stale or mismatched. Call mcp__devflow__get_project_context again before writing."};if(e.actionSatisfiedAt)return null;if(e.actionDegradation?.authorizedByContextReceipt===e.contextHash)return {permissionDecision:"allow",additionalContext:`DevFlow degraded fallback authorized by context receipt ${e.contextHash}: ${e.actionDegradation.reason}`};let r=(e.actionAttempts??[]).filter(i=>i.tool===n.tool&&_s.has(i.status));if(r.length>0){let i=r.at(-1),s={missedTool:n.tool,failedAttemptCount:r.length,reason:`${i.status}:${i.reason??"canonical domain action did not complete"}`,authorizedByContextReceipt:e.contextHash,authorizedAt:Date.now()};return this.persistDegradation(e,s),{permissionDecision:"allow",additionalContext:`DevFlow canonical tool mcp__devflow__${n.tool} ${i.status}; degraded direct write authorized by context receipt ${e.contextHash}. Preserve the action contract and verification plan.`}}return {permissionDecision:"deny",reasonCode:"DEVFLOW_REQUIRED_ACTION",reason:`DevFlow required action not completed. Call mcp__devflow__${n.tool} using context receipt ${e.contextHash}, then retry the write. Direct fallback is allowed only after unavailable, failed, or timeout evidence.`}}persistDegradation(e,n){let o;try{o=openGlobalDevFlowDatabase(void 0,{busyTimeoutMs:250});let r=o.getContextReceipt(e.projectRoot,e.sessionId,e.executionId);if(!r||r.contextHash!==e.contextHash||r.actionDegradation)return;o.upsertContextReceipt({...r,actionDegradation:n});let i=o.getSkillExecution(e.executionId);if(!i)return;let s=i.metadata&&typeof i.metadata=="object"?i.metadata:{},a=Array.isArray(s.requiredActionDegradations)?s.requiredActionDegradations:[];o.updateSkillExecution(e.executionId,{missedMcpTools:[...new Set([...i.missedMcpTools??[],n.missedTool])],failedToolCalls:Math.max(i.failedToolCalls??0,n.failedAttemptCount),fallbackCount:(i.fallbackCount??0)+1,fallbackReasons:[...new Set([...i.fallbackReasons??[],`required_action_${n.reason}`])],metadata:{...s,requiredActionDegradations:[...a,n]}});}catch{}finally{try{o?.close();}catch{}}}};var xs=10,Es=5e3,Ts=3e4,As=new Int32Array(new SharedArrayBuffer(4)),Zn=0;function Cs(t){if(typeof t!="object"||t===null)return false;let e=t;return typeof e.rootPath=="string"&&e.rootPath.length>0&&typeof e.projectHash=="string"&&e.projectHash.length>0&&typeof e.pid=="number"&&Number.isInteger(e.pid)&&e.pid>0&&typeof e.startedAt=="number"&&Number.isFinite(e.startedAt)&&e.startedAt>=0}function eo(t){if(!existsSync(t))return {entries:[],needsRepair:false};try{let e=JSON.parse(readFileSync$1(t,"utf8"));if(!Array.isArray(e))return {entries:[],needsRepair:!0};let n=e.filter(Cs);return {entries:n,needsRepair:n.length!==e.length}}catch{return {entries:[],needsRepair:true}}}function to(t,e){mkdirSync$1(dirname$1(t),{recursive:true});let n=`${t}.${process.pid}.${Date.now()}.${Zn++}.tmp`,o;try{o=openSync$1(n,"wx"),writeFileSync$1(o,JSON.stringify(e,null,2)),closeSync$1(o),o=void 0,renameSync(n,t);}finally{try{o!==void 0&&closeSync$1(o);}finally{rmSync$1(n,{force:true});}}}function no(t){try{return process.kill(t,0),!0}catch(e){return e.code!=="ESRCH"}}function oo(t){if(typeof t!="object"||t===null)return false;let e=t;return typeof e.pid=="number"&&Number.isInteger(e.pid)&&e.pid>0&&typeof e.createdAt=="number"&&Number.isFinite(e.createdAt)&&typeof e.token=="string"&&e.token.length>0}function Kn(t,e){try{return readFileSync$1(t,"utf8")!==e?!1:(rmSync$1(t),!0)}catch(n){return n.code==="ENOENT"}}function Ds(t){try{let e=readFileSync$1(t,"utf8"),n;try{let r=JSON.parse(e);oo(r)&&(n=r);}catch{}return n?no(n.pid)?!1:Kn(t,e):Date.now()-statSync(t).mtimeMs>Ts&&Kn(t,e)}catch(e){return e.code==="ENOENT"}}function Ms(t){mkdirSync$1(dirname$1(t),{recursive:true});let e=`${t}.lock`,n=Date.now()+Es;for(;;){let o=`${process.pid}:${Date.now()}:${Zn++}`,r;try{return r=openSync$1(e,"wx"),writeFileSync$1(r,JSON.stringify({pid:process.pid,createdAt:Date.now(),token:o})),closeSync$1(r),r=void 0,{path:e,token:o}}catch(i){if(r!==void 0)try{closeSync$1(r);}finally{rmSync$1(e,{force:true});}if(i.code!=="EEXIST")throw i}if(!Ds(e)){if(Date.now()>=n)throw new Error(`Timed out acquiring daemon registry lock: ${e}`);Atomics.wait(As,0,0,xs);}}}function Os(t){try{let e=readFileSync$1(t.path,"utf8"),n=JSON.parse(e);oo(n)&&n.token===t.token&&rmSync$1(t.path);}catch(e){if(e.code!=="ENOENT")throw e}}function ro(t){let e=getDaemonRegistryPath(),n=Ms(e);try{return t(e)}finally{Os(n);}}function io(t,e){ro(n=>{let o=eo(n).entries.filter(r=>r.rootPath!==t&&no(r.pid));o.push({rootPath:t,projectHash:getProjectHash(t),pid:e,startedAt:Date.now()}),to(n,o);});}function so(t,e){ro(n=>{let o=eo(n).entries.filter(r=>r.rootPath!==t||e!==void 0&&r.pid!==e);to(n,o);});}async function ge(t){let e=!t.memory,n=t.memory??new MemoryGate(t.projectRoot),o=0,r=0;try{await n.forceWarmUp(),t.trigger==="session_end"&&(o=await n.releasePendingDistillLeases(t.sessionId)),r=n.getPendingEventCount(t.sessionId,t.trigger!=="session_end");}finally{e&&n.close();}let i=Date.now(),s=t.trigger==="session_end"&&t.sessionId?`distill:session_end:${createHash("sha256").update(`${t.projectRoot}\0${t.sessionId}`).digest("hex").slice(0,24)}`:`distill:${i}:${Math.random().toString(36).slice(2,10)}`,a={id:s,pendingEvents:r,releasedLeases:o,trigger:t.trigger,sessionId:t.sessionId,details:t.details};try{let c=openGlobalDevFlowDatabase();try{c.recordMemoryDistillCheckpoint({id:s,projectRoot:t.projectRoot,sessionId:t.sessionId,trigger:t.trigger,pendingEvents:r,releasedLeases:o,details:t.details,createdAt:i}),c.insertEvent({kind:"memory_distill_requested",timestamp:i,success:!0,metadata:{...a,projectRoot:t.projectRoot}});}finally{c.close();}}catch(c){if(t.strictPersistence)throw c}return a}function ao(t){if(t.pendingEvents===0)return "";let e=t.sessionId?`\uFF0CsessionId=${t.sessionId}`:"";return `Memory distill checkpoint: ${t.pendingEvents} \u4E2A\u4E8B\u4EF6\u5F85\u63D0\u70BC${e}\u3002\u4E0A\u4E0B\u6587\u538B\u7F29\u5B8C\u6210\u540E\uFF0C\u8C03\u7528 mcp__devflow__memory_request_distill\uFF1B\u6309\u8FD4\u56DE\u7684 nextPage \u5206\u9875\u8BFB\u53D6\u5168\u90E8\u4E8B\u4EF6\uFF0C\u63D0\u70BC observations\uFF0C\u518D\u8C03\u7528 mcp__devflow__memory_save_distilled \u5E76\u786E\u8BA4\u4FDD\u5B58\u7ED3\u679C\u3002`}function mo(t){return Buffer.from(t,"utf8").toString("base64url")}function Ns(t,e,n){let o=e?.trim();if(o){let r=/^[a-zA-Z0-9:._-]{1,192}$/.test(o)?o:`tool-${createHash$1("sha256").update(o.slice(0,1024)).digest("hex").slice(0,32)}`;return `${t}:${r}`}return `${t}:legacy-${n}-${randomUUID().slice(0,8)}`}function vo(t){return `${t}:legacy-journal`}var q=class{constructor(e){this.projectRoot=e;this.sessions=new Map;this.sessionsDir=join$1(P(e),"hook-sessions");}registerSession(e){let n=e.trim();if(!n)throw new Error("session_id_required");let o=this.get(n);if(o)return o.lastActivityAt=Date.now(),this.persist(o),o;let r=Date.now(),i={sessionId:n,projectRoot:this.projectRoot,requiredMcpTools:[],evidenceObligations:[],evidenceDegradations:[],evidenceOutcomes:[],startedAt:r,lastActivityAt:r};return this.sessions.set(n,i),this.persist(i),i}startExecution(e,n,o){let r=this.registerSession(e);return (!r.executionId||r.skillName!==n)&&(r.executionId=`exec_${Date.now()}_${randomUUID().slice(0,8)}`),r.skillName=n,r.requiredMcpTools=[...new Set(o)],r.lastActivityAt=Date.now(),this.persist(r),r}bindTaskIdentity(e,n){let o=this.registerSession(e);return o.activeTurnId=n.turnId,o.activeRequestId=n.requestId,o.intentArtifactHash=n.intentArtifactHash,o.lastActivityAt=Date.now(),this.persist(o),o}get(e){let n=e.trim();if(!n)return null;let o=this.sessions.get(n);if(o)return this.replayEvidenceJournal(o),o;let r=this.snapshotPath(n);if(!existsSync$1(r))return null;try{let i=JSON.parse(readFileSync(r,"utf8"));return i.sessionId!==n||i.projectRoot!==this.projectRoot?null:(i.requiredMcpTools=Array.isArray(i.requiredMcpTools)?i.requiredMcpTools:[],i.evidenceObligations=po(i.evidenceObligations),i.evidenceDegradations=fo(i.evidenceDegradations),i.evidenceOutcomes=go(i.evidenceOutcomes),this.replayEvidenceJournal(i),this.sessions.set(n,i),i)}catch{return null}}completeExecution(e){let n=this.get(e);if(!n)return null;let o=structuredClone(n);return delete n.executionId,delete n.skillName,n.requiredMcpTools=[],n.lastActivityAt=Date.now(),this.persist(n),o}addEvidenceObligation(e,n,o=Date.now(),r){let i=this.registerSession(e),a=(r?void 0:i.evidenceObligations.find(d=>d.contractId===n.id))?.obligationId??Ns(n.id,r,o);this.appendEvidenceEvent(e,{kind:"add",obligationId:a,contractId:n.id,at:o,contract:n},`add\0${a}`),this.replayEvidenceJournal(i);let c=i.evidenceObligations.find(d=>d.obligationId===a);return c?(i.lastActivityAt=Date.now(),this.persist(i),structuredClone(c)):null}listEvidenceObligations(e){return (this.get(e)?.evidenceObligations??[]).map(n=>structuredClone(n))}markEvidenceCorrection(e,n,o,r,i=Date.now()){let s=this.get(e),a=s?.evidenceObligations.find(u=>u.obligationId===n);if(!s||!a)return null;let c=/^[a-f0-9]{64}$/.test(r)?r:"";if(!c)return null;this.appendEvidenceEvent(e,{kind:"correction",obligationId:n,contractId:a.contractId,at:i,fingerprint:c,violations:o.slice(0,16).map(u=>u.slice(0,240))},`correction\0${n}\0${c}`),this.replayEvidenceJournal(s),s.lastActivityAt=i,this.persist(s);let d=s.evidenceObligations.find(u=>u.obligationId===n);return d?structuredClone(d):null}resolveEvidenceObligation(e,n){let o=this.get(e);if(!o)return false;let r=o.evidenceObligations.find(s=>s.obligationId===n);if(!r)return false;let i=Date.now();return this.appendEvidenceEvent(e,{kind:"resolve",obligationId:n,contractId:r.contractId,at:i},`resolve\0${n}`),this.replayEvidenceJournal(o),o.lastActivityAt=i,this.persist(o),true}resolveDegradedEvidence(e,n){let o=this.get(e),r=o?.evidenceDegradations.find(s=>s.obligationId===n);if(!o||!r)return false;let i=Date.now();return this.appendEvidenceEvent(e,{kind:"resolve",obligationId:n,contractId:r.contractId,at:i},`resolve-degraded\0${n}\0${i}`),this.replayEvidenceJournal(o),o.lastActivityAt=i,this.persist(o),true}degradeEvidenceObligation(e,n,o,r=Date.now()){let i=this.get(e),s=i?.evidenceObligations.find(c=>c.obligationId===n);if(!i||!s)return false;let a=o.slice(0,240);return this.appendEvidenceEvent(e,{kind:"degrade",obligationId:n,contractId:s.contractId,at:r,reason:a},`degrade\0${n}\0${a}`),this.replayEvidenceJournal(i),i.lastActivityAt=r,this.persist(i),true}removeSession(e){let n=e.trim();n&&(this.sessions.delete(n),rmSync(this.snapshotPath(n),{force:true}),rmSync(this.evidenceJournalDir(n),{recursive:true,force:true}));}list(){return [...this.sessions.values()]}snapshotPath(e){return join$1(this.sessionsDir,`${mo(e)}.json`)}evidenceJournalDir(e){return join$1(this.sessionsDir,"evidence-journal",mo(e))}appendEvidenceEvent(e,n,o){let r=this.evidenceJournalDir(e);mkdirSync(r,{recursive:true,mode:448});let i=createHash$1("sha256").update(o).digest("hex"),s=join$1(r,`${n.kind}-${i}.json`);if(existsSync$1(s))return;let a=join$1(r,`.${process.pid}.${randomUUID()}.tmp`);writeFileSync(a,JSON.stringify(n),{mode:384});try{linkSync(a,s);}catch(c){if(c.code!=="EEXIST")throw c}finally{rmSync(a,{force:true});}}replayEvidenceJournal(e){e.evidenceObligations=po(e.evidenceObligations),e.evidenceDegradations=fo(e.evidenceDegradations),e.evidenceOutcomes=go(e.evidenceOutcomes);let n=this.evidenceJournalDir(e.sessionId);if(!existsSync$1(n))return;let o;try{o=readdirSync(n).filter(i=>/^(?:add|correction|resolve|degrade)-[a-f0-9]{64}\.json$/.test(i)).slice(0,4096);}catch{return}let r=o.flatMap(i=>{try{let s=readFileSync(join$1(n,i),"utf8");if(Buffer.byteLength(s,"utf8")>64*1024)return [];let a=qs(JSON.parse(s));return a?[a]:[]}catch{return []}}).sort((i,s)=>i.at-s.at||ho(i.kind)-ho(s.kind));for(let i of r)this.applyEvidenceEvent(e,i);e.evidenceObligations=e.evidenceObligations.slice(-8),e.evidenceDegradations=e.evidenceDegradations.slice(-20),e.evidenceOutcomes=e.evidenceOutcomes.slice(-20);}applyEvidenceEvent(e,n){let o=e.evidenceOutcomes.find(s=>s.obligationId===n.obligationId);if(n.kind==="add"){if(o)return;let s=e.evidenceObligations.find(a=>a.obligationId===n.obligationId);s?(s.contract=n.contract,s.promptedAt=Math.min(s.promptedAt,n.at)):e.evidenceObligations.push({obligationId:n.obligationId,contractId:n.contractId,contract:n.contract,promptedAt:n.at,attempt:0,correctionRequested:false,violations:[]});return}let r=e.evidenceObligations.find(s=>s.obligationId===n.obligationId);if(n.kind==="correction"){if(!r||o||r.correctionFingerprint===n.fingerprint)return;r.attempt+=1,r.correctionRequested=true,r.correctionRequestedAt=n.at,r.correctionFingerprint=n.fingerprint,r.violations=n.violations;return}let i=r?.attempt??o?.attempt??0;if(n.kind==="resolve"&&o?.status==="degraded")e.evidenceOutcomes=e.evidenceOutcomes.filter(s=>s.obligationId!==n.obligationId),e.evidenceDegradations=e.evidenceDegradations.filter(s=>s.obligationId!==n.obligationId);else if(o)return;n.kind==="degrade"?(e.evidenceObligations=e.evidenceObligations.filter(s=>s.obligationId!==n.obligationId),e.evidenceDegradations.push({obligationId:n.obligationId,contractId:n.contractId,reason:n.reason,degradedAt:n.at,attempt:i,contract:r?.contract})):e.evidenceObligations=e.evidenceObligations.filter(s=>s.obligationId!==n.obligationId),e.evidenceOutcomes.push({obligationId:n.obligationId,contractId:n.contractId,status:n.kind==="resolve"?"resolved":"degraded",completedAt:n.at,attempt:i,...n.kind==="degrade"?{reason:n.reason}:{}});}persist(e){mkdirSync(this.sessionsDir,{recursive:true,mode:448});let n=this.snapshotPath(e.sessionId),o=`${n}.${process.pid}.${randomUUID()}.tmp`;writeFileSync(o,JSON.stringify(e),{mode:384}),renameSync$1(o,n);}};function po(t){return Array.isArray(t)?t.flatMap(e=>{if(!e||typeof e!="object")return [];let n=e;if(typeof n.contractId!="string"||n.contractId.length===0||n.contractId.length>128||typeof n.promptedAt!="number"||typeof n.attempt!="number"||typeof n.correctionRequested!="boolean"||!Array.isArray(n.violations)||!_o(n.contract))return [];let o=typeof n.obligationId=="string"&&n.obligationId.length>0&&n.obligationId.length<=384?n.obligationId:vo(n.contractId),r=typeof n.correctionTranscriptHash=="string"?n.correctionTranscriptHash:void 0,i=n.correctionFingerprint??r;return i!==void 0&&!/^[a-f0-9]{64}$/.test(i)?[]:[{...n,obligationId:o,correctionFingerprint:i}]}).slice(-8):[]}function fo(t){return Array.isArray(t)?t.filter(e=>{if(!e||typeof e!="object")return false;let n=e;return typeof n.obligationId=="string"&&typeof n.contractId=="string"&&typeof n.reason=="string"&&typeof n.degradedAt=="number"&&typeof n.attempt=="number"}).slice(-20):[]}function go(t){return Array.isArray(t)?t.filter(e=>{if(!e||typeof e!="object")return false;let n=e;return typeof n.obligationId=="string"&&typeof n.contractId=="string"&&(n.status==="resolved"||n.status==="degraded")&&typeof n.completedAt=="number"&&typeof n.attempt=="number"&&(n.reason===void 0||typeof n.reason=="string")}).slice(-20):[]}function qs(t){if(!t||typeof t!="object")return null;let e=t,n=e.kind;if(n!=="add"&&n!=="correction"&&n!=="resolve"&&n!=="degrade"||typeof e.contractId!="string"||e.contractId.length>128||typeof e.at!="number")return null;let r={obligationId:typeof e.obligationId=="string"&&e.obligationId.length>0&&e.obligationId.length<=384?e.obligationId:vo(e.contractId),contractId:e.contractId,at:e.at};if(n==="add")return _o(e.contract)?{kind:n,...r,contract:e.contract}:null;if(n==="correction"){let i=typeof e.fingerprint=="string"?e.fingerprint:e.transcriptHash;return typeof i=="string"&&/^[a-f0-9]{64}$/.test(i)&&Array.isArray(e.violations)&&e.violations.every(s=>typeof s=="string"&&s.length<=240)?{kind:n,...r,fingerprint:i,violations:e.violations}:null}return n==="resolve"?{kind:n,...r}:typeof e.reason=="string"&&e.reason.length<=240?{kind:n,...r,reason:e.reason}:null}function ho(t){return t==="add"?0:t==="correction"?1:2}function _o(t){if(!t||typeof t!="object")return false;let e=t,n=e.requiredSections,o=e.prohibitedClaims;return e.version==="1.0"&&typeof e.id=="string"&&/^[a-zA-Z0-9][a-zA-Z0-9:._-]{0,127}$/.test(e.id)&&typeof e.runtimeProfilingOccurred=="boolean"&&typeof e.samplingEvidenceOccurred=="boolean"&&Array.isArray(n)&&n.length===3&&n[0]==="\u5DE5\u5177\u53D1\u73B0"&&n[1]==="\u6A21\u578B\u5047\u8BBE"&&n[2]==="\u9700\u8981\u8FD0\u884C\u65F6\u9A8C\u8BC1"&&Array.isArray(o)&&o.length<=16&&o.every(r=>typeof r=="string"&&r.length<=128)&&typeof e.canonicalReport=="string"&&Buffer.byteLength(e.canonicalReport,"utf8")<=48*1024&&!!e.correctionPolicy&&e.correctionPolicy.maxAttempts===1&&e.correctionPolicy.repeatedViolation==="fail_open"}function ko(t,e){let n=xo(t);mkdirSync$1(n,{recursive:true,mode:448});let o=join(n,`${e.receiptId}.json`);if(existsSync(o))return e.receiptId;let r=`${o}.${process.pid}.tmp`;writeFileSync$1(r,JSON.stringify(e),{mode:384});try{renameSync(r,o);}catch(i){try{unlinkSync$1(r);}catch{}if(!existsSync(o))throw i}return e.receiptId}function bo(t){let e=xo(t);mkdirSync$1(e,{recursive:true,mode:448});let n=readdirSync$1(e).filter(s=>s.endsWith(".json")||/\.json\.claim-\d+$/u.test(s)).sort()[0];if(!n)return null;let o=join(e,n),r=/\.json\.claim-\d+$/u.test(n),i=r?o:`${o}.claim-${process.pid}`;if(!r)try{renameSync(o,i);}catch{return null}try{let s=JSON.parse(readFileSync$1(i,"utf8"));if(typeof s.receiptId!="string"||typeof s.inputJson!="string"||typeof s.sessionId!="string"||typeof s.cleanupSharedState!="boolean")throw unlinkSync$1(i),new Error("session_finalize_spool_payload_invalid");return {receiptId:basename(n).replace(/\.json(?:\.claim-\d+)?$/u,""),payload:s,path:i}}catch(s){try{unlinkSync$1(i);}catch{}throw s}}function Ro(t){unlinkSync$1(t.path);}function So(t){try{renameSync(t.path,t.path.replace(/\.claim-\d+$/u,""));}catch{}}function xo(t){return join(P(t),"session-finalize-pending")}function C(t){let{projectRoot:e,...n}=t;try{return new St(e).dispatchBoundary(n).snapshot??null}catch(o){return y({event:"hook.runtime.degraded",identity:{projectRoot:e,sessionId:t.sessionId,...t.turnId?{turnId:t.turnId}:{},...t.requestId?{requestId:t.requestId}:{},...t.executionId?{executionId:t.executionId}:{}},level:"error",timestamp:Date.now(),data:{stage:t.kind,reason:o instanceof Error?o.message:String(o),tool:t.producer}}),null}}var St=class{constructor(e){this.projectRoot=e;}dispatchBoundary(e){let n=Ys(e.kind,e.payload??{});if(!n)return {handled:false};let o=openGlobalDevFlowDatabase(void 0,{busyTimeoutMs:250});try{let r=Gs(o,{projectRoot:this.projectRoot,sessionId:e.sessionId,...e.turnId?{turnId:e.turnId}:{},...e.requestId?{requestId:e.requestId}:{},...e.executionId?{executionId:e.executionId}:{}});return r?{handled:!0,snapshot:new TaskKernel(new TaskEventStore(o),new SemanticRuntimeEventProjector).dispatch({definition:r.definition,kind:n.kind,payload:n.payload,idempotencyKey:`host:${r.definition.definitionHash}:${e.dedupeKey}`,producer:e.producer}).snapshot}:{handled:!1}}finally{o.close();}}};function Gs(t,e){let n=e.executionId?t.getActiveContextReceipt(e.projectRoot,e.sessionId,e.executionId):null,o=e.turnId??n?.canonicalAction?.binding.turnId,r=e.requestId??n?.requestId;if(!o&&!r)return null;let i=t.listLatestTaskIntentArtifacts(e.projectRoot,e.sessionId).find(c=>o?c.turnId===o:c.requestId===r);if(!i)return null;let s=t.getTaskAggregateSnapshot(e.projectRoot,e.sessionId,i.turnId,i.version);if(!s)return null;let a=t.getTaskDefinitionV2(s.taskDefinitionHash);return !a||a.revision!==i.version?null:{definition:a,snapshot:s}}function Ys(t,e){switch(t){case "action.lease.issued":return {kind:"action_lease_issued",payload:e};case "action.succeeded":return {kind:"action_completed",payload:e};case "action.failed":return {kind:"action_failed",payload:e};case "verification.succeeded":return {kind:"verification_completed",payload:e};case "verification.failed":return {kind:"verification_failed",payload:e};case "memory.committed":return {kind:"memory_episode_persisted",payload:e};case "memory.skipped":return {kind:"memory_decision_completed",payload:e};case "memory.pending":return {kind:"memory_extraction_queued",payload:e};case "memory.failed":return {kind:"memory_extraction_failed",payload:e};case "durable_work.owned":return {kind:"durable_work_leased",payload:{...e,fencingToken:Number.isSafeInteger(e.fencingToken)?e.fencingToken:0}};case "durable_work.completed":return {kind:"durable_work_completed",payload:e};case "durable_work.dead_lettered":return {kind:"durable_work_dead_lettered",payload:e};default:return null}}var oa=256*1024,ra=48*1024,ia=512*1024,sa=500,aa=5,he=["\u5DE5\u5177\u53D1\u73B0","\u6A21\u578B\u5047\u8BBE","\u9700\u8981\u8FD0\u884C\u65F6\u9A8C\u8BC1"];function ca(t){return t==="react_audit_performance"||t.endsWith("__react_audit_performance")}function da(t){let e=ye(t,0,new Set);return e?Ia(e.contract,e.canonicalReport):null}function Co(t){if(!t.sessionId||!ca(t.toolName))return null;let e=da(t.toolResponse);if(!e)return null;let n=Date.now(),o=t.runtimeStore.addEvidenceObligation(t.sessionId,e,n,t.toolUseId),r=t.runtimeStore.get(t.sessionId);if(o&&r){let i=openGlobalDevFlowDatabase();try{i.upsertSessionObligation({obligationId:`evidence:${o.obligationId}`,projectRoot:r.projectRoot,sessionId:t.sessionId,executionId:r.executionId,kind:"evidence_contract",state:"open",payload:{contract:e,runtimeObligationId:o.obligationId},createdAt:n,updatedAt:n});}finally{i.close();}y({event:"verification.completed",identity:{projectRoot:r.projectRoot,sessionId:t.sessionId,executionId:r.executionId},level:"info",timestamp:n,data:{stage:"performance_detector_coverage",status:"obligation_opened",contractId:e.id,obligationId:o.obligationId,detectorCoverage:ze(t.toolResponse),runtimeProfilingOccurred:e.runtimeProfilingOccurred,samplingEvidenceOccurred:e.samplingEvidenceOccurred,toolUseId:t.toolUseId}});}return la(e)}function la(t){return [`DevFlow performance evidence contract ${t.id} is active.`,`The final performance answer MUST contain these three sections exactly: ${t.requiredSections.join(" / ")}.`,t.runtimeProfilingOccurred?"Only claims directly supported by the returned runtime measurements may be stated as measured facts.":"No runtime profiling occurred. Treat every finding as a static candidate: do not assign P0/high-risk severity, claim a confirmed bottleneck/jank/frame drop/CPU hotspot, quantify performance or benefit, or recommend requestAnimationFrame as generic throttling without sampling evidence.",`samplingEvidenceOccurred=${t.samplingEvidenceOccurred}. RAF recommendations are permitted only when this structured contract field is true; answer text cannot self-declare sampling evidence.`,"Use the canonical report below directly or preserve its evidence boundaries. Stop will request one correction for unsupported claims, then fail open with degradation telemetry.",t.canonicalReport].join(`
|
|
5
5
|
|
|
6
6
|
`)}function Do(t){let e=t.runtimeStore??new q(t.projectRoot),n=e.listEvidenceObligations(t.sessionId);if(n.length===0)return ua(t,e),null;let o=Et(t.transcriptPath,n);if(!o.answer){let s=o.degradationReason??"transcript_answer_unavailable";for(let a of n)e.degradeEvidenceObligation(t.sessionId,a.obligationId,s);return null}let r=o.fingerprint;if(!r){for(let s of n)e.degradeEvidenceObligation(t.sessionId,s.obligationId,"transcript_identity_unavailable");return null}let i=[];for(let s of n){let a=Mo(o.answer,[s]);if(a.length===0){e.resolveEvidenceObligation(t.sessionId,s.obligationId),Ue(t,s,"satisfied",r);continue}if(!s.correctionFingerprint){e.markEvidenceCorrection(t.sessionId,s.obligationId,a,r),i.push({obligation:s,violations:a}),Ue(t,s,"correction_requested",r,a);continue}if(s.correctionFingerprint===r){i.push({obligation:s,violations:a});continue}e.degradeEvidenceObligation(t.sessionId,s.obligationId,"evidence_contract_unresolved"),Ue(t,s,"degraded",r,a);}return i.length===0?null:ma(i)}function ua(t,e){let n=(e.get(t.sessionId)?.evidenceDegradations??[]).filter(i=>i.contract).slice(-8);if(n.length===0)return;let o=n.map(i=>({obligationId:i.obligationId,contractId:i.contractId,contract:i.contract,promptedAt:i.degradedAt,attempt:i.attempt,correctionRequested:true,violations:[]})),r=Et(t.transcriptPath,o);if(!(!r.answer||!r.fingerprint))for(let i of o)Mo(r.answer,[i]).length>0||e.resolveDegradedEvidence(t.sessionId,i.obligationId)&&Ue(t,i,"satisfied",r.fingerprint);}function Ue(t,e,n,o,r=[]){n!=="correction_requested"&&C({projectRoot:t.projectRoot,sessionId:t.sessionId,kind:n==="satisfied"?"verification.succeeded":"verification.failed",payload:{receiptId:e.obligationId,reasonCode:n==="satisfied"?"performance_evidence_satisfied":"performance_evidence_unresolved"},dedupeKey:`${e.obligationId}:${n}:${e.attempt}`,producer:"devflow-evidence-contract"}),y({event:"verification.completed",identity:{projectRoot:t.projectRoot,sessionId:t.sessionId},level:n==="satisfied"?"info":n==="degraded"?"error":"warn",timestamp:Date.now(),data:{stage:"performance_evidence_transition",status:n,contractId:e.contractId,obligationId:e.obligationId,attempt:e.attempt,answerFingerprint:o,violations:r,supersedesDegradation:n==="satisfied"&&e.attempt>0}});}function ze(t,e=0){if(e>6||t==null)return [];if(typeof t=="string")try{return ze(JSON.parse(t),e+1)}catch{return []}if(Array.isArray(t)){for(let o of t){let r=ze(o,e+1);if(r.length>0)return r}return []}if(typeof t!="object")return [];let n=t;if(Array.isArray(n.detectorCoverage))return n.detectorCoverage.filter(o=>typeof o=="string").slice(0,32);for(let o of Object.values(n)){let r=ze(o,e+1);if(r.length>0)return r}return []}function ma(t){let e=[...new Set(t.flatMap(o=>o.violations))],n=[...new Map(t.map(o=>[o.obligation.contractId,o.obligation.contract.canonicalReport])).values()];return {decision:"block",reason:["DevFlow evidence contract violation. Correct the final performance answer once before stopping.",`Violations: ${e.join("; ")}`,"Use this canonical report (you may add clearly labeled hypotheses or runtime verification steps, but no unsupported measured claims):",n.join(`
|
|
7
7
|
|