@devflow-tools/devflow 0.18.11 → 0.18.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +31 -31
- 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/intelligence/__next._full.txt +1 -1
- package/dist/dashboard/intelligence/__next._tree.txt +1 -1
- package/dist/dashboard/intelligence/__next.intelligence.__PAGE__.txt +1 -1
- package/dist/dashboard/intelligence/knowledge/__next._full.txt +1 -1
- package/dist/dashboard/intelligence/knowledge/__next._tree.txt +1 -1
- package/dist/dashboard/intelligence/knowledge/__next.intelligence.knowledge.__PAGE__.txt +1 -1
- package/dist/dashboard/intelligence/knowledge.html +1 -1
- package/dist/dashboard/intelligence/knowledge.txt +1 -1
- package/dist/dashboard/intelligence/memory/__next._full.txt +1 -1
- package/dist/dashboard/intelligence/memory/__next._tree.txt +1 -1
- package/dist/dashboard/intelligence/memory/__next.intelligence.memory.__PAGE__.txt +1 -1
- package/dist/dashboard/intelligence/memory.html +1 -1
- package/dist/dashboard/intelligence/memory.txt +1 -1
- package/dist/dashboard/intelligence.html +1 -1
- package/dist/dashboard/intelligence.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/pre-tool-use.js +4 -4
- package/dist/hooks/session-end.js +5 -5
- package/dist/hooks/stop.js +3 -3
- package/dist/plugin/.claude-plugin/plugin.json +1 -1
- package/dist/plugin/dist/command-registry.json +8 -6
- package/dist/plugin/dist/hooks/hook-daemon.js +1 -1
- package/dist/plugin/dist/hooks/pre-tool-use.js +4 -4
- package/dist/plugin/dist/hooks/session-end.js +5 -5
- package/dist/plugin/dist/hooks/stop.js +3 -3
- package/dist/plugin/dist/skills/devflow:delivery/SKILL.md +7 -2
- package/dist/plugin/hooks/pre-tool-use +4 -4
- package/dist/plugin/package.json +13 -13
- package/dist/plugin/skills/delivery/SKILL.md +3 -0
- package/package.json +16 -16
- package/plugin-registry.json +29 -29
- /package/dist/dashboard/_next/static/{UJH0TpDqyWkOJi0qbQAb- → gBqIARaCsvtofEQDNWne-}/_buildManifest.js +0 -0
- /package/dist/dashboard/_next/static/{UJH0TpDqyWkOJi0qbQAb- → gBqIARaCsvtofEQDNWne-}/_ssgManifest.js +0 -0
|
@@ -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":"gBqIARaCsvtofEQDNWne-","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/ec6498e6b4f4227c.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/ec6498e6b4f4227c.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-c52cf5cbd2898ec1.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/825-8d69033cd30489b9.js" async=""></script><script src="/_next/static/chunks/237-34a3fbfba7ff0de5.js" async=""></script><script src="/_next/static/chunks/914-8a8dbb0d7c5f49dd.js" async=""></script><script src="/_next/static/chunks/app/layout-5c75ea62c5543a6e.js" async=""></script><script src="/_next/static/chunks/app/tool-metrics/page-dc73b4433dbb9a04.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-c52cf5cbd2898ec1.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[30841,[\"820\",\"static/chunks/820-9606b69ff6f7f9b9.js\",\"567\",\"static/chunks/567-65014d15b90b623c.js\",\"993\",\"static/chunks/993-01834e67bc353d44.js\",\"825\",\"static/chunks/825-8d69033cd30489b9.js\",\"237\",\"static/chunks/237-34a3fbfba7ff0de5.js\",\"914\",\"static/chunks/914-8a8dbb0d7c5f49dd.js\",\"177\",\"static/chunks/app/layout-5c75ea62c5543a6e.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-8a8dbb0d7c5f49dd.js\",\"785\",\"static/chunks/app/tool-metrics/page-dc73b4433dbb9a04.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/ec6498e6b4f4227c.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/ec6498e6b4f4227c.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/ec6498e6b4f4227c.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-c52cf5cbd2898ec1.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/825-8d69033cd30489b9.js" async=""></script><script src="/_next/static/chunks/237-34a3fbfba7ff0de5.js" async=""></script><script src="/_next/static/chunks/914-8a8dbb0d7c5f49dd.js" async=""></script><script src="/_next/static/chunks/app/layout-5c75ea62c5543a6e.js" async=""></script><script src="/_next/static/chunks/app/tool-metrics/page-dc73b4433dbb9a04.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-c52cf5cbd2898ec1.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[30841,[\"820\",\"static/chunks/820-9606b69ff6f7f9b9.js\",\"567\",\"static/chunks/567-65014d15b90b623c.js\",\"993\",\"static/chunks/993-01834e67bc353d44.js\",\"825\",\"static/chunks/825-8d69033cd30489b9.js\",\"237\",\"static/chunks/237-34a3fbfba7ff0de5.js\",\"914\",\"static/chunks/914-8a8dbb0d7c5f49dd.js\",\"177\",\"static/chunks/app/layout-5c75ea62c5543a6e.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-8a8dbb0d7c5f49dd.js\",\"785\",\"static/chunks/app/tool-metrics/page-dc73b4433dbb9a04.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/ec6498e6b4f4227c.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/ec6498e6b4f4227c.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\":\"gBqIARaCsvtofEQDNWne-\"}\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/ec6498e6b4f4227c.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/ec6498e6b4f4227c.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/ec6498e6b4f4227c.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":"gBqIARaCsvtofEQDNWne-"}
|
|
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/ec6498e6b4f4227c.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/ec6498e6b4f4227c.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/ec6498e6b4f4227c.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":"gBqIARaCsvtofEQDNWne-"}
|
|
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/ec6498e6b4f4227c.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":"gBqIARaCsvtofEQDNWne-"}
|
|
@@ -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":"gBqIARaCsvtofEQDNWne-","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/ec6498e6b4f4227c.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/ec6498e6b4f4227c.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-c52cf5cbd2898ec1.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/825-8d69033cd30489b9.js" async=""></script><script src="/_next/static/chunks/237-34a3fbfba7ff0de5.js" async=""></script><script src="/_next/static/chunks/914-8a8dbb0d7c5f49dd.js" async=""></script><script src="/_next/static/chunks/app/layout-5c75ea62c5543a6e.js" async=""></script><script src="/_next/static/chunks/app/workflows/page-da494d4bd74cf25f.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-c52cf5cbd2898ec1.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[30841,[\"820\",\"static/chunks/820-9606b69ff6f7f9b9.js\",\"567\",\"static/chunks/567-65014d15b90b623c.js\",\"993\",\"static/chunks/993-01834e67bc353d44.js\",\"825\",\"static/chunks/825-8d69033cd30489b9.js\",\"237\",\"static/chunks/237-34a3fbfba7ff0de5.js\",\"914\",\"static/chunks/914-8a8dbb0d7c5f49dd.js\",\"177\",\"static/chunks/app/layout-5c75ea62c5543a6e.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-8a8dbb0d7c5f49dd.js\",\"143\",\"static/chunks/app/workflows/page-da494d4bd74cf25f.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/ec6498e6b4f4227c.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/ec6498e6b4f4227c.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/ec6498e6b4f4227c.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-c52cf5cbd2898ec1.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/825-8d69033cd30489b9.js" async=""></script><script src="/_next/static/chunks/237-34a3fbfba7ff0de5.js" async=""></script><script src="/_next/static/chunks/914-8a8dbb0d7c5f49dd.js" async=""></script><script src="/_next/static/chunks/app/layout-5c75ea62c5543a6e.js" async=""></script><script src="/_next/static/chunks/app/workflows/page-da494d4bd74cf25f.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-c52cf5cbd2898ec1.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[30841,[\"820\",\"static/chunks/820-9606b69ff6f7f9b9.js\",\"567\",\"static/chunks/567-65014d15b90b623c.js\",\"993\",\"static/chunks/993-01834e67bc353d44.js\",\"825\",\"static/chunks/825-8d69033cd30489b9.js\",\"237\",\"static/chunks/237-34a3fbfba7ff0de5.js\",\"914\",\"static/chunks/914-8a8dbb0d7c5f49dd.js\",\"177\",\"static/chunks/app/layout-5c75ea62c5543a6e.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-8a8dbb0d7c5f49dd.js\",\"143\",\"static/chunks/app/workflows/page-da494d4bd74cf25f.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/ec6498e6b4f4227c.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/ec6498e6b4f4227c.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\":\"gBqIARaCsvtofEQDNWne-\"}\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/ec6498e6b4f4227c.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/ec6498e6b4f4227c.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/ec6498e6b4f4227c.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":"gBqIARaCsvtofEQDNWne-"}
|
|
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"}]]
|
|
@@ -14,7 +14,7 @@ import {createServer,createConnection}from'net';import {createHash,randomUUID as
|
|
|
14
14
|
`)+1)));let d=c.split(/\r?\n/).slice(-ea),u=t.length>0?Math.min(...t.map(p=>p.promptedAt)):0,l=ya(d,u),f=[...l].reverse().find(p=>ga(p.text,t))??l.at(-1);return f?.text?{answer:f.text,fingerprint:f.fingerprint}:{degradationReason:"transcript_answer_unavailable"}}catch{return {degradationReason:"transcript_unreadable"}}finally{n!==void 0&&closeSync$1(n);}}function ga(e,t){let n=new Set(t.flatMap(r=>r.contract.requiredSections)),o=xo(So(e.split(/\r?\n/u)).headingLines);return [...n].every(r=>o.found.has(r))}function We(e){return wt(e,[]).answer}function ya(e,t){let n=[];for(let o=0;o<e.length;o++){let r=e[o];if(r.trim())try{let i=JSON.parse(r),s=i.message;if(!s||typeof s!="object"||s.role!=="assistant")continue;let a=s,c=ha(i.timestamp);if(c>0&&c+5e3<t)continue;let d=s.content,u=typeof d=="string"?d:Array.isArray(d)?d.filter(l=>l&&typeof l=="object"&&l.type==="text").map(l=>l.text).filter(l=>typeof l=="string").join(`
|
|
15
15
|
`):"";if(u.trim()){let l=u.trim(),m=typeof a.id=="string"&&a.id?`message:${a.id}`:typeof i.uuid=="string"&&i.uuid?`uuid:${i.uuid}`:`record:${String(i.timestamp??"")}:${o}:${createHash("sha256").update(r).digest("hex")}`,f=createHash("sha256").update(l).digest("hex"),p=createHash("sha256").update(`${m}\0${f}`).digest("hex");n.push({text:l,timestamp:c,fingerprint:p});}}catch{continue}}return n}function ha(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e!="string")return 0;let t=Date.parse(e);return Number.isFinite(t)?t:0}function xo(e){let t=new Set,n=new Map,o;for(let r=0;r<e.length;r++){let i=e[r].trim().replace(/^#{1,6}\s*/,"").replace(/^\*\*(.*)\*\*$/,"$1").replace(/^(?:[一二三123][、..]\s*)/,"").replace(/[::]\s*$/,"").trim(),s=pe.find(a=>i===a);s&&(o=s,t.add(s)),n.set(r,o);}return {found:t,byLine:n}}function To(e){let t;try{if(Ra(e.toolResponse))return null;t=openGlobalDevFlowDatabase(void 0,{busyTimeoutMs:50});let n=t.getActiveContextReceipt(e.projectRoot,e.sessionId,e.executionId);if(!n)return null;let o=Ia(e.toolInput);if(o.length===0)return null;let r=e.toolName==="Read"?wa(e.toolInput):void 0,i=r?n.selectedFiles?.find(u=>ka(e.projectRoot,u,r)):void 0,s=ba(e.toolName),a=i?"code":n.canonicalNextAction===s?"action":null,c=i&&o.includes(i)?i:a==="action"&&o.includes(s)?s:void 0;if(a&&c){let u=[n.contextHash,n.requestId??"",a,c,e.toolUseId??`${e.sessionId}:${e.executionId??n.executionId}`].join("\0");t.recordContextSelectionEvent({id:`ctxsel:${createHash("sha256").update(u).digest("hex").slice(0,32)}`,projectRoot:e.projectRoot,sessionId:e.sessionId,executionId:n.executionId,requestId:n.requestId,selectionType:a,candidateId:c,toolName:e.toolName,toolUseId:e.toolUseId,selectedAt:Date.now()});}let d=t.listRetrievalLedgerEvents({projectRoot:e.projectRoot,sessionId:e.sessionId,executionId:n.executionId,requestId:n.requestId}).filter(u=>u.stage==="selected"&&o.includes(u.sourceId));for(let u of d)t.appendRetrievalLedgerEvent({...u,id:retrievalLedgerTransitionId(u.id,"consumed",e.toolUseId??e.toolName),stage:"consumed",toolEvidence:[e.toolUseId??e.toolName],evidenceIds:o,actor:e.toolName,reasonCode:"structural_evidence_ref",payload:{...u.payload,consumedByTool:e.toolName},createdAt:Date.now()});return d.length>0&&ge({event:"retrieval.attribution.transitioned",identity:{projectRoot:e.projectRoot,sessionId:e.sessionId,executionId:n.executionId,requestId:n.requestId,contextReceipt:n.contextHash},level:"info",timestamp:Date.now(),data:{stage:"consumed",actor:e.toolName,consumedCount:d.length,evidenceRefCount:o.length}}),a}catch(n){throw ge({event:"hook.runtime.degraded",identity:{projectRoot:e.projectRoot,sessionId:e.sessionId,executionId:e.executionId,requestId:e.requestId},level:"warn",timestamp:Date.now(),data:{stage:"retrieval_attribution",actor:e.toolName,reason:n instanceof Error?n.message:String(n)}}),n}finally{try{t?.close();}catch{}}}function Co(e){let t=openGlobalDevFlowDatabase();try{let n=t.listRetrievalLedgerEvents(e),o=new Map(n.filter(l=>l.stage==="selected").map(l=>[Eo(l),l])),r=new Map(n.filter(l=>l.stage==="consumed").map(l=>[Eo(l),l])),i=0,s=0,a=0;for(let[l,m]of o){let f=r.get(l);f&&e.verificationReceipt&&t.appendRetrievalLedgerEvent({...f,id:retrievalLedgerTransitionId(f.id,"verified",e.verificationReceipt),stage:"verified",verificationReceipt:e.verificationReceipt,reasonCode:"same_task_verification_receipt",createdAt:e.finishedAt??Date.now()});let p=f&&e.verificationReceipt&&e.outcome!=="unknown"?e.outcome:"unknown",g=p==="positive"?"positive_outcome":p==="negative"?"negative_outcome":"unknown_outcome";t.appendRetrievalLedgerEvent({...m,id:retrievalLedgerTransitionId(m.id,g,e.verificationReceipt??e.sessionId),stage:g,reason:f?e.outcomeReason:"selected_not_consumed",toolEvidence:f?.toolEvidence??[],verificationReceipt:p==="unknown"?void 0:e.verificationReceipt,payload:{...m.payload,consumed:!!f},createdAt:e.finishedAt??Date.now()}),g==="positive_outcome"?i+=1:g==="negative_outcome"?s+=1:a+=1;}let c=e.requiredChannels.map(l=>{let m=[...o.values()].filter(p=>p.sourceType===l).length,f=[...r.values()].filter(p=>p.sourceType===l).length;return {channel:l,selected:m,consumed:f,verified:e.verificationReceipt?f:0}}),d={status:c.length>0&&c.every(l=>l.selected>0&&l.consumed===l.selected&&l.verified===l.selected)?"complete":"unavailable",channels:c},u={consumed:r.size,positive:i,negative:s,unknown:a,consumedSources:[...r.values()].map(l=>({sourceType:l.sourceType,sourceId:l.sourceId})),proof:d};return e.verificationReceipt&&r.size>0&&ge({event:"retrieval.attribution.transitioned",identity:{projectRoot:e.projectRoot,sessionId:e.sessionId,executionId:e.executionId,requestId:e.requestId},level:"info",timestamp:e.finishedAt??Date.now(),data:{stage:"verified",verifiedCount:r.size}}),ge({event:"task.proof.completed",identity:{projectRoot:e.projectRoot,sessionId:e.sessionId,executionId:e.executionId,requestId:e.requestId},level:d.status==="complete"?"info":"warn",timestamp:e.finishedAt??Date.now(),data:d}),ge({event:"retrieval.attribution.transitioned",identity:{projectRoot:e.projectRoot,sessionId:e.sessionId,executionId:e.executionId,requestId:e.requestId},level:a>0?"warn":"info",timestamp:e.finishedAt??Date.now(),data:{stage:"session_outcome",selectedCount:o.size,consumedCount:r.size,verifiedCount:e.verificationReceipt?r.size:0,positiveCount:i,negativeCount:s,unknownCount:a}}),u}finally{t.close();}}function Ia(...e){let t=new Set,n=(o,r=0)=>{if(!(r>6||o==null)){if(typeof o=="string"){try{n(JSON.parse(o),r+1);}catch{}return}if(Array.isArray(o)){for(let i of o)n(i,r+1);return}if(typeof o=="object")for(let[i,s]of Object.entries(o))if((i==="evidenceRefs"||i==="_devflow_evidence_refs")&&Array.isArray(s))for(let a of s)typeof a=="string"&&a.trim()&&t.add(a.trim());else n(s,r+1);}};for(let o of e)n(o);return [...t]}function wa(e){for(let t of ["file_path","path"]){let n=e[t];if(typeof n=="string"&&n.trim())return n.trim()}}function ka(e,t,n){let o=resolve(e,t),r=isAbsolute(n)?resolve(n):resolve(e,n);return o===r}function ba(e){return e.startsWith("mcp__")?e.split("__").at(-1)??e:e}function Ra(e){if(!e||typeof e!="object"||Array.isArray(e))return false;let t=e;return t.ok===false||t.success===false||t.isError===true||!!t.error||["failed","rejected","unavailable"].includes(String(t.status??""))}function Eo(e){return [e.requestId,e.contextReceipt,e.sourceType,e.sourceId].join("\0")}function ge(e){try{h(e);}catch{}}var Ma=8*1024*1024;function Oo(e){if(!e.transcriptPath||!existsSync(e.transcriptPath))return {status:"unavailable",eventsRead:0,failuresFound:0,failuresRecorded:0,reason:"transcript_path_unavailable"};let t=openGlobalDevFlowDatabase(void 0,{busyTimeoutMs:250});try{let n=t.getLatestTranscriptCheckpoint({projectRoot:e.projectRoot,hostId:"claude-code",sessionId:e.sessionId,sourcePath:e.transcriptPath}),o=statSync(e.transcriptPath).size,r=Math.min(n?.byteOffset??0,o),i=Math.min(Ma,o-r);if(i<=0)return {status:"completed",eventsRead:0,failuresFound:0,failuresRecorded:0,checkpointId:n?.id};let s=Buffer.alloc(i),a=openSync$1(e.transcriptPath,"r");try{readSync(a,s,0,i,r);}finally{closeSync$1(a);}let c=s.toString("utf8").split(/\r?\n/u).filter(Boolean),d=t.listLatestTaskIntentArtifacts(e.projectRoot,e.sessionId),u=new Map,l=new Set,m=0,f=0;for(let k of c){let b;try{b=JSON.parse(k);}catch{continue}for(let R of Rt(b,u)){let I=claudeCodeRuntimeAdapter.normalizeToolResult(R,{projectRoot:e.projectRoot});if(I.success||!I.error)continue;let F=I.toolUseId??I.sourceHash;if(l.has(F))continue;l.add(F),m++;let A=I.toolUseId?t.getToolCallEventByToolUseId(e.sessionId,I.toolUseId):null,M=Mo(A?.input,"_devflow_turn_id"),L=Mo(A?.input,"_devflow_request_id"),S=M?d.find(E=>E.turnId===M):[...d].reverse().find(E=>(!A?.executionId||E.executionId===A.executionId)&&E.createdAt<=(A?.timestamp??I.timestamp))??d.at(-1),T=`host-failure:${I.sourceHash}`;t.insertEvent({kind:"host_transcript_tool_failure",timestamp:I.timestamp,success:!1,toolName:I.canonicalName??I.requestedName,metadata:{projectRoot:e.projectRoot,sessionId:e.sessionId,turnId:M??S?.turnId,requestId:L??S?.requestId,sourceId:T,toolUseId:I.toolUseId,correlatedEventId:A?.eventId,requestedName:I.requestedName,canonicalName:I.canonicalName,failureCategory:I.failureCategory,error:I.error.slice(0,1e3)}}),h({event:"host.tool.result.reconciled",identity:{projectRoot:e.projectRoot,sessionId:e.sessionId,turnId:M??S?.turnId,requestId:L??S?.requestId,executionId:A?.executionId},level:"warn",timestamp:Date.now(),data:{toolUseId:I.toolUseId,toolName:I.canonicalName??I.requestedName,failureCategory:I.failureCategory,correlation:A?"tool_use_id":"timestamp_fallback"}}),f++;}}let p=createHash("sha256").update(s).digest("hex"),g=`transcript:${createHash("sha256").update(`${e.projectRoot}\0${e.sessionId}\0${e.transcriptPath}\0${r+i}\0${p}`).digest("hex").slice(0,24)}`;return t.appendTranscriptCheckpoint({id:g,projectRoot:e.projectRoot,hostId:"claude-code",sessionId:e.sessionId,sourcePath:e.transcriptPath,sourceHash:p,byteOffset:r+i,eventCount:c.length,createdAt:Date.now()}),h({event:"session.reconciled",identity:{projectRoot:e.projectRoot,sessionId:e.sessionId},level:m>0?"warn":"info",timestamp:Date.now(),data:{stage:"transcript",eventsRead:c.length,failuresFound:m,failuresRecorded:f,checkpointId:g}}),{status:"completed",eventsRead:c.length,failuresFound:m,failuresRecorded:f,checkpointId:g}}catch(n){return {status:"degraded",eventsRead:0,failuresFound:0,failuresRecorded:0,reason:n instanceof Error?n.message:String(n)}}finally{t.close();}}function Mo(e,t){let n=e?.[t];return typeof n=="string"&&n.trim()?n.trim():void 0}function Rt(e,t,n=0){if(n>7||e===null||e===void 0)return [];if(Array.isArray(e))return e.flatMap(s=>Rt(s,t,n+1));if(typeof e!="object")return [];let o=e,r=typeof o.type=="string"?o.type:"";r==="tool_use"&&typeof o.id=="string"&&typeof o.name=="string"&&t.set(o.id,o.name);let i=[];if(r==="tool_result"){let s=typeof o.tool_use_id=="string"?o.tool_use_id:void 0;i.push({tool_name:s?t.get(s)??"unknown":"unknown",tool_use_id:s,tool_response:o.content,is_error:o.is_error===true,...o.is_error===true?{error:St(o.content)||"host tool result failed"}:{},timestamp:o.timestamp});}else (o.tool_name||o.toolName)&&(o.tool_response!==void 0||o.output!==void 0||o.error!==void 0)&&i.push(o);for(let[s,a]of Object.entries(o))s==="content"&&r==="tool_result"||i.push(...Rt(a,t,n+1));return i}function St(e){if(typeof e=="string")return e.slice(0,4e3);if(Array.isArray(e))return e.map(St).filter(Boolean).join(`
|
|
16
16
|
`).slice(0,4e3);if(!e||typeof e!="object")return "";let t=e;return [t.text,t.content,t.message].map(St).filter(Boolean).join(`
|
|
17
|
-
`).slice(0,4e3)}var ja={open:["intent_bound"],intent_bound:["context_ready","context_degraded"],context_ready:["action_required","action_not_required"],context_degraded:["action_required","action_not_required"],action_required:["action_satisfied","action_degraded","action_failed"],action_not_required:["memory_decided","memory_quarantined"],action_satisfied:["memory_decided","memory_quarantined"],action_degraded:["memory_decided","memory_quarantined"],action_failed:["action_satisfied","action_degraded"],memory_decided:["closed","closed_with_degradation","closed_with_retry_work"],memory_quarantined:["closed_with_degradation","closed_with_retry_work"],closed:[],closed_with_degradation:[],closed_with_retry_work:[]};function Po(e){return $a(e)}function $a(e){let t=openGlobalDevFlowDatabase(void 0,{busyTimeoutMs:250});try{let n=Na(t,e.artifact);if(qa(n.toState))return n;let o=t.getContextReceiptForRequest(e.artifact.projectRoot,e.artifact.sessionId,e.artifact.requestId),r=t.getMemoryTurn(e.artifact.turnId),i=e.artifact.intent==="memory"||r?.source==="explicit_intent";if(!o&&!i)return n;let s=o?Fa(e.artifact,o):"context_ready";n.toState==="intent_bound"&&(n=j(t,n,e,s,i?"task_context_not_required":s==="context_ready"?"canonical_context_receipt_ready":"canonical_context_receipt_degraded"));let a=o?Ha(e.artifact,o):"action_not_required";if((n.toState==="context_ready"||n.toState==="context_degraded")&&(a==="action_not_required"?n=j(t,n,e,"action_not_required","task_action_not_required"):n=j(t,n,e,"action_required","canonical_action_obligation_present")),n.toState==="action_required"){if(a==="action_required")return n;if(a==="action_failed")return j(t,n,e,"action_failed","canonical_action_attempt_failed");a==="action_degraded"?n=j(t,n,e,"action_degraded","canonical_action_unavailable_or_degraded"):a==="action_satisfied"&&(n=j(t,n,e,"action_satisfied","canonical_action_succeeded"));}if(n.toState==="action_failed")if(a==="action_satisfied")n=j(t,n,e,"action_satisfied","canonical_action_retry_succeeded");else if(a==="action_degraded")n=j(t,n,e,"action_degraded","canonical_action_retry_degraded");else return n;let c=s==="context_degraded"||a==="action_degraded";return ["action_not_required","action_satisfied","action_degraded"].includes(n.toState)&&(n=j(t,n,e,e.memoryStatus==="pending"?"memory_quarantined":"memory_decided",e.memoryStatus==="pending"?e.reason:`canonical_memory_${e.memoryStatus}`)),n.toState==="memory_decided"?j(t,n,e,c?"closed_with_degradation":"closed",e.reason):n.toState==="memory_quarantined"?j(t,n,e,e.retryOwned?"closed_with_retry_work":"closed_with_degradation",e.retryOwned?"durable_retry_owner_confirmed":"terminal_obligation_unowned"):n}finally{t.close();}}function Fa(e,t){return e.intent==="memory"||e.intent==="knowledge"||(t.selectedFiles?.length??0)>0?"context_ready":"context_degraded"}function Ha(e,t){let n=t.canonicalAction,r=(n?(t.actionAttempts??[]).filter(i=>i.tool===n.tool):[]).at(-1);return t.actionSatisfiedAt||r?.status==="succeeded"?"action_satisfied":r&&["failed","timeout","unavailable"].includes(r.status)?"action_failed":t.actionDegradation||n?.status==="degraded"||n?.status==="unsupported"?"action_degraded":n?.required||La(e)?"action_required":"action_not_required"}function La(e){return ["create","modify","debug","test","format"].includes(e.action)||["feature","refactor","performance"].includes(e.intent)}function Na(e,t){let n=e.getLatestTerminalTransition(t.projectRoot,t.sessionId,t.turnId);if(!n)throw new Error(`TERMINAL_INTENT_STATE_MISSING:${t.turnId}`);return n}function j(e,t,n,o,r){if(!ja[t.toState]?.includes(o))throw new Error(`TERMINAL_PATH_UNAVAILABLE:${t.toState}->${o}`);let i=t.sequence+1,s=`terminal:${createHash("sha256").update(`${n.artifact.artifactHash}\0${i}\0${o}`).digest("hex").slice(0,24)}`,a=e.appendTerminalTransition({projectRoot:n.artifact.projectRoot,projectId:n.artifact.projectId,hostId:n.artifact.hostId,sessionId:n.artifact.sessionId,turnId:n.artifact.turnId,requestId:n.artifact.requestId,executionId:n.artifact.executionId,sequence:i,fromState:t.toState,toState:o,receiptId:s,sourceReceiptId:n.memoryReceiptId??t.receiptId,reason:r,payload:{memoryStatus:n.memoryStatus,retryOwned:n.retryOwned??false,sourceIntentHash:n.artifact.artifactHash},createdAt:Date.now()});return h({event:"terminal.state.transitioned",identity:{projectRoot:n.artifact.projectRoot,projectId:n.artifact.projectId,hostId:n.artifact.hostId,sessionId:n.artifact.sessionId,turnId:n.artifact.turnId,requestId:n.artifact.requestId,...n.artifact.executionId?{executionId:n.artifact.executionId}:{}},level:o==="closed"?"info":o.includes("degradation")||o.includes("retry")||o==="action_failed"?"warn":"info",timestamp:Date.now(),data:{fromState:t.toState,nextState:o,receiptId:s,reason:r}}),a}function qa(e){return e==="closed"||e==="closed_with_degradation"||e==="closed_with_retry_work"}function jo(e,t){let n=join(e,".devflow","delivery-line","state.db");if(!existsSync(n)||!t.trim())return 0;let o;try{o=new DatabaseSync(n,{timeout:250});let r=o.prepare("SELECT id FROM delivery_cases WHERE id = ? OR json_extract(payload, '$.sessionId') = ?").all(t,t),i=0;for(let s of r)i+=Number(o.prepare("UPDATE delivery_tasks SET lease_owner = NULL, lease_expires_at = NULL WHERE case_id = ? AND lease_owner IS NOT NULL").run(s.id).changes);return i}catch{return 0}finally{o?.close();}}function xt(e){let t={committed:0,skipped:0,pending:0},n=[];for(let o of e)t[o.status]+=1,o.receiptId&&n.push(o.receiptId);return {memoryReceiptIds:[...new Set(n)],missingMemoryDecisionCount:t.pending,memoryTurnOutcomes:t}}function $(e){return (e instanceof Error?e.message:String(e)).trim().slice(0,240)||"memory_lifecycle_unavailable"}var K=class extends Error{constructor(t,n){super(`session_finalize_${t}:${n}`),this.name="SessionFinalizationRetryableError",this.category=`session_finalize_${t}`;}};function ye(e){let t;try{t=openGlobalDevFlowDatabase();let n=(e.executionId?t.getSkillExecution(e.executionId):null)??t.getLatestSkillExecutionForSession(e.sessionId),o={stage:e.stage,reason:e.reason,degradedAt:Date.now()};n&&t.mergeSkillExecutionMetadata(n.executionId,{...e.metadata,sessionFinalizationDegradations:[o]}),t.insertEvent({kind:"session_finalize_degraded",timestamp:o.degradedAt,success:!1,metadata:{projectRoot:e.projectRoot,sessionId:e.sessionId,executionId:n?.executionId,...o}}),h({event:"hook.session_end.degraded",identity:{projectRoot:e.projectRoot,sessionId:e.sessionId,executionId:n?.executionId},level:"warn",timestamp:o.degradedAt,data:{stage:e.stage,reason:e.reason}});}catch{}finally{t?.close();}}function Ue(e,t=Te(),n=true,o,r=true){let i;try{i=JSON.parse(e);}catch{return null}let s=i.session_id?.trim();if(!s)return null;let a=`session-close:${createHash("sha256").update(`${t}\0${s}`).digest("hex").slice(0,24)}`,c={inputJson:e,sessionId:s,cleanupSharedState:n,executionId:o};try{jo(t,s);}catch{}let d;try{d=openGlobalDevFlowDatabase(void 0,{busyTimeoutMs:50});let u=d.requestSessionClosure({receiptId:a,projectRoot:t,sessionId:s,payload:c}),l=d.getWorkByIdempotencyKey(a),m={status:u.state==="closed"||u.state==="closed_with_pending_work"?"completed":"accepted",receiptId:a,workState:l?.state??"pending",closureState:u.state,pendingWorkCount:u.pendingWorkCount,...l?.id?{workItemId:l.id}:{}};return h({event:"hook.session_end.completed",identity:{projectRoot:t,sessionId:s,executionId:o,terminalReceipt:a},level:m.status==="completed"?"info":"debug",timestamp:Date.now(),data:{stage:"enqueue",...m}}),m}catch(u){if(!r)throw u;return fo(t,{receiptId:a,...c}),h({event:"hook.session_end.degraded",identity:{projectRoot:t,sessionId:s,executionId:o,terminalReceipt:a},level:"warn",timestamp:Date.now(),data:{stage:"enqueue",reason:$(u),fallback:"durable_spool"}}),{status:"accepted",receiptId:a,workState:"spooled",closureState:"closing",pendingWorkCount:1}}finally{d?.close();}}async function Fo(e,t=Te(),n=true,o){let r;try{r=JSON.parse(e);}catch{return}let i=r.session_id?.trim();if(!i)return;let s=new q(t),a=s.get(i),c=Oo({projectRoot:t,sessionId:i,transcriptPath:r.transcript_path}),d={evidenceDegradations:a?.evidenceDegradations??[],evidenceContractOutcomes:a?.evidenceOutcomes??[],pendingEvidenceContractIds:a?.evidenceObligations.map(p=>p.contractId)??[],transcriptReconciliation:c},u=o?.telemetry??new Z,l=!o?.telemetry,m=false,f;try{try{await u.flushAndAggregate();}catch{}let p=Date.now(),g=o?.executionId??a?.executionId,k;try{let _=openGlobalDevFlowDatabase();try{k=_.listSessionMemoryTurnsForReconciliation(t,i);for(let y of k){let w=`memory:${y.turnId}`,v=_.getSessionObligation(t,i,w);v?v.state==="open"&&y.status!=="pending"&&_.resolveSessionObligation({projectRoot:t,sessionId:i,obligationId:w,state:"satisfied",receiptId:y.receiptId,reason:y.reason,resolvedAt:y.decidedAt}):_.upsertSessionObligation({obligationId:w,projectRoot:t,sessionId:i,turnId:y.turnId,kind:"memory_decision",state:y.status==="pending"?"open":"satisfied",payload:{eventId:y.eventId,promptHash:y.promptHash},receiptId:y.receiptId,reason:y.reason,createdAt:y.createdAt,updatedAt:y.decidedAt??y.createdAt,resolvedAt:y.decidedAt});}}finally{_.close();}}catch(_){let y=$(_),w={...d,memoryEventReconciliation:{status:"degraded",stage:"turn_load",reason:y,committedProcessed:0,skippedDiscarded:0,remainingUndecided:null,checkpointPending:null}};throw ye({projectRoot:t,sessionId:i,executionId:g,stage:"turn_load",reason:y,metadata:w}),new K("turn_load",y)}let b=xt(k),R=o?.memory??(f=new MemoryGate(t)),I={status:"completed"};try{I=typeof R.reconcileTurnObservationLineage=="function"?{status:"completed",...await R.reconcileTurnObservationLineage(k)}:{status:"unsupported_adapter",committed:0,skipped:0,quarantined:0,unlinked:0};}catch(_){let y=$(_);throw I={status:"degraded",reason:y},ye({projectRoot:t,sessionId:i,executionId:g,stage:"memory_lineage",reason:y,metadata:{...b,...d,memoryLineageReconciliation:I}}),new K("memory_lineage",y)}let F={status:"unknown",selected:0,consumed:0,unknown:0,positive:0,negative:0};try{let _=We(r.transcript_path),y=openGlobalDevFlowDatabase(),w="unknown",v="no_terminal_host_action_evidence",de,H,N,Y=[],at=[];try{let z=y.listHostActionsForSession(t,i,g),hn=z.filter(D=>D.state==="verified"),ct=z.filter(D=>["failed","cancelled","degraded"].includes(D.state));ct.length>0?(w="negative",v=`terminal_host_action_${ct[0].state}`):hn.length>0&&(w="positive",v="host_action_verified");let xe=ct[0]??hn.at(-1);if(de=xe?.runId,H=xe?.contextReceipt,N=xe?.evidenceHash,at=z.flatMap(D=>{let X=D.report.toolUseIds;return Array.isArray(X)?X.filter(le=>typeof le=="string"):[]}),!xe&&g){let D=y.getSkillExecution(g),X=D?.metadata&&typeof D.metadata=="object"&&Array.isArray(D.metadata.policyVerificationOutcomes)?D.metadata.policyVerificationOutcomes:[],le=X.find(B=>B.status==="failed"),dt=X.filter(B=>B.status==="passed");le?(w="negative",v="policy_verification_failed",N=typeof le.receiptId=="string"?le.receiptId:void 0):dt.length>0&&(w="positive",v="policy_verification_passed",N=typeof dt.at(-1)?.receiptId=="string"?String(dt.at(-1).receiptId):void 0),H=y.getActiveContextReceipt(t,i,g)?.contextHash,at=X.map(B=>B.command).filter(B=>typeof B=="string");}H&&(Y=y.getSemanticExecutionContextByHash(H)?.dispositions.filter(D=>D.requirement==="required").map(D=>D.channel)??[]);}finally{y.close();}let yn=Co({projectRoot:t,sessionId:i,executionId:g,outcome:w,outcomeReason:v,verificationReceipt:N,requiredChannels:Y,finishedAt:p}),ci=await R.attributeRetrievalBenefits({sessionId:i,executionId:g,outcome:w,outcomeReason:v,workflowRunId:de,contextReceipt:H,toolEvidence:at,verificationReceipt:N,consumedSourceIds:yn.consumedSources.filter(z=>z.sourceType==="memory").map(z=>z.sourceId)});F={status:_?"evaluated":"unknown",...ci,retrievalLedger:yn};}catch(_){F={...F,status:"degraded",reason:$(_)};}let A;try{A=await R.reconcileDecidedTurnEventWindows(i,k,p);}catch(_){let y=$(_),w={...b,...d,memoryEventReconciliation:{status:"degraded",stage:"event_reconciliation",reason:y,committedProcessed:0,skippedDiscarded:0,remainingUndecided:null,checkpointPending:null}};throw ye({projectRoot:t,sessionId:i,executionId:g,stage:"event_reconciliation",reason:y,metadata:w}),new K("event_reconciliation",y)}let M;try{M=await me({projectRoot:t,sessionId:i,trigger:"session_end",memory:R,details:{eventReconciliation:A},strictPersistence:!0});}catch(_){let y=$(_),w={...b,...d,memoryEventReconciliation:{status:"completed",...A,checkpointPending:null},memoryCheckpointDegradation:y};throw ye({projectRoot:t,sessionId:i,executionId:g,stage:"checkpoint",reason:y,metadata:w}),new K("checkpoint",y)}let L={memoryLineageReconciliation:I,memoryBenefitAttribution:F,memoryEventReconciliation:{status:"completed",...A,checkpointPending:M.pendingEvents},memoryDistillCheckpoint:M};try{let _=openGlobalDevFlowDatabase();try{let y=`session-finalize:${i}:events`,w=Math.max(Number(M.pendingEvents??0),Number(A.remainingUndecided??0)),v=_.getSessionObligation(t,i,y);w>0?_.upsertSessionObligation({obligationId:y,projectRoot:t,sessionId:i,executionId:g,kind:"session_finalize",state:"open",payload:{pendingEvents:w,reconciliation:A,checkpointId:M.id},reason:"active_unprocessed_session_events",createdAt:v?.createdAt??p,updatedAt:p}):v?.state==="open"&&_.resolveSessionObligation({projectRoot:t,sessionId:i,obligationId:y,state:"satisfied",reason:"session_events_reconciled",resolvedAt:p});}finally{_.close();}}catch(_){h({event:"hook.session_end.degraded",identity:{projectRoot:t,sessionId:i,executionId:g},level:"warn",timestamp:Date.now(),data:{stage:"obligation_persistence",reason:$(_)}});}try{await R.closeSession(i),f&&(f.close(),f=void 0);}catch(_){let y=$(_),w={...b,...d,...L,memorySessionCloseDegradation:y};throw ye({projectRoot:t,sessionId:i,executionId:g,stage:"memory_close",reason:y,metadata:w}),new K("memory_close",y)}let S={...b,...d,...L},T=[];try{let _=openGlobalDevFlowDatabase();try{let y=new Map(_.listLatestTaskIntentArtifacts(t,i).map(w=>[w.turnId,w]));for(let w of k){let v=y.get(w.turnId);if(!v)continue;let H=[_.getWorkByIdempotencyKey(`memory-turn:capture_prompt:${w.turnId}`),_.getWorkByIdempotencyKey(`memory-turn:commit_explicit:${w.turnId}`)].filter(Boolean).some(Y=>Y.state==="pending"||Y.state==="leased"||Y.state==="failed"),N=Po({artifact:v,memoryStatus:w.status,memoryReceiptId:w.receiptId,retryOwned:H,reason:w.status==="pending"?"session_end_memory_pending":"session_end_reconciled"});T.push({turnId:w.turnId,state:N.toState,receiptId:N.receiptId});}}finally{_.close();}}catch(_){T.push({state:"terminal_integrity_failure",reason:$(_)});}S.terminalOutcomes=T,m=!0;let E;try{E=openGlobalDevFlowDatabase();let _=g;if(_)try{E.reconcileSkillExecution(_,"completed",p,S);let v=E.getSkillExecution(_);await V("/api/telemetry/skill-execution/complete",{executionId:_,finishedAt:p,status:"completed",summary:{totalToolCalls:v?.totalToolCalls??0,mcpToolCalls:v?.mcpToolCalls??0,directToolCalls:v?.directToolCalls??0,subagentCount:v?.subagentCount??0,totalDuration:v?.totalDuration??0,mcpComplianceRate:v?.mcpComplianceRate??0,missedTools:v?.missedMcpTools??[],actualFailureCount:v?.failedToolCalls??0,fallbackCount:v?.fallbackCount??0,fallbackReasons:v?.fallbackReasons??[]},metadata:S},{fallbackReason:"skill_execution_already_reconciled_locally"});}catch{}let y=E.reconcileRunningSkillExecutionsForSession(i,p,{closureReason:"session_finalize",...S});for(let v of y)await V("/api/telemetry/skill-execution/complete",{executionId:v.executionId,finishedAt:v.finishedAt,status:v.status,summary:{totalToolCalls:v.totalToolCalls??0,mcpToolCalls:v.mcpToolCalls??0,directToolCalls:v.directToolCalls??0,subagentCount:v.subagentCount??0,totalDuration:v.totalDuration??0,mcpComplianceRate:v.mcpComplianceRate??0,missedTools:v.missedMcpTools??[],actualFailureCount:v.failedToolCalls??0,fallbackCount:v.fallbackCount??0,fallbackReasons:v.fallbackReasons??[]},metadata:S},{fallbackReason:"skill_execution_already_reconciled_locally"});let w=E.getLatestSkillExecutionForSession(i);if(w&&!y.some(v=>v.executionId===w.executionId)&&E.mergeSkillExecutionMetadata(w.executionId,S),n){E.deleteHookReceipt(t);let v=P(t),de=createHash("sha256").update(t).digest("hex").slice(0,12);for(let H of [`session-id-${de}`,"current-execution-id","current-skill.json","event-map.json"])rmSync$1(join(v,H),{force:!0});}E.deleteContextReceipt(t,i);}catch(_){h({event:"hook.session_end.degraded",identity:{projectRoot:t,sessionId:i,executionId:g},level:"warn",timestamp:Date.now(),data:{stage:"lifecycle_telemetry",reason:$(_),fallback:"fail_open"}});}finally{E?.close();}try{await u.endSession(i),await u.flushAndAggregate();}catch(_){h({event:"hook.session_end.degraded",identity:{projectRoot:t,sessionId:i,executionId:g},level:"warn",timestamp:Date.now(),data:{stage:"telemetry_flush",reason:$(_),fallback:"local_state_authoritative"}});}}finally{if(f)try{f.close();}catch{}l&&u.close(),m&&s.removeSession(i),h({event:m?"hook.session_end.completed":"hook.session_end.degraded",identity:{projectRoot:t,sessionId:i,executionId:o?.executionId??a?.executionId},level:m?"info":"warn",timestamp:Date.now(),data:{stage:"finalize",criticalStagesCompleted:m,transcriptStatus:c.status}});}}if(process.argv[1]?.endsWith("session-end")||process.argv[1]?.endsWith("session-end.js")){let e=console.log.bind(console);console.log=console.error.bind(console),console.info=console.error.bind(console);let t="";process.stdin.setEncoding("utf8"),process.stdin.on("data",n=>{t+=n;}),process.stdin.on("end",async()=>{let n=Ue(t.trim()||process.argv[2]||"");n&&e(JSON.stringify(n)),process.exit(0);}),process.stdin.on("error",()=>process.exit(0)),setTimeout(()=>process.exit(0),1e4).unref();}var Za=/^\/(?:devflow:)?[\w-]+\b\s*/iu,ec=/\b(?:(?:do\s+not|don't|dont|never|not)(?:\s+need\s+to)?|no\s+need\s+to)\s+(?:please\s+)?(?:remember|memorize)\b|(?:不要|别|不用|无需|不必|不需要)(?:再)?(?:记住|记|记忆)/iu,tc=/(?:^|[.!?]\s*)(?:(?:please|kindly)\s+)?(?:remember|memorize|save\s+this|store\s+this|note\s+that)(?:\s+(?:that|to))?[\s:,-]*(.+)$/iu,nc=/(?:^|[。!?;,,]\s*)(?:(?:请|麻烦|务必|一定要|帮我|帮忙|需要)\s*)?(?:记住|记一下|记下来|记|记录一下|记录下来|保存一下|保存下来)(?:这(?:件事|一点|个信息|些内容))?[\s::,,]*(.+)$/iu;function he(e){let t=e.trim().replace(Za,"").trim();return !t||ec.test(t)?null:(nc.exec(t)??tc.exec(t))?.[1]?.trim().replace(/^[::,,\s]+/u,"")||null}function oc(e){return join(getProjectStateDir(e),"memory-intents.jsonl")}function rc(e){try{return readFileSync$1(e,"utf8").split(`
|
|
17
|
+
`).slice(0,4e3)}var ja={open:["intent_bound"],intent_bound:["context_ready","context_degraded"],context_ready:["action_required","action_not_required"],context_degraded:["action_required","action_not_required"],action_required:["action_satisfied","action_degraded","action_failed"],action_not_required:["memory_decided","memory_quarantined"],action_satisfied:["memory_decided","memory_quarantined"],action_degraded:["memory_decided","memory_quarantined"],action_failed:["action_satisfied","action_degraded"],memory_decided:["closed","closed_with_degradation","closed_with_retry_work"],memory_quarantined:["closed_with_degradation","closed_with_retry_work"],closed:[],closed_with_degradation:[],closed_with_retry_work:[]};function Po(e){return $a(e)}function $a(e){let t=openGlobalDevFlowDatabase(void 0,{busyTimeoutMs:250});try{let n=Na(t,e.artifact);if(qa(n.toState))return n;let o=t.getContextReceiptForRequest(e.artifact.projectRoot,e.artifact.sessionId,e.artifact.requestId),r=t.getMemoryTurn(e.artifact.turnId),i=e.artifact.intent==="memory"||r?.source==="explicit_intent";if(!o&&!i)return n;let s=o?Fa(e.artifact,o):"context_ready";n.toState==="intent_bound"&&(n=j(t,n,e,s,i?"task_context_not_required":s==="context_ready"?"canonical_context_receipt_ready":"canonical_context_receipt_degraded"));let a=o?Ha(e.artifact,o):"action_not_required";if((n.toState==="context_ready"||n.toState==="context_degraded")&&(a==="action_not_required"?n=j(t,n,e,"action_not_required","task_action_not_required"):n=j(t,n,e,"action_required","canonical_action_obligation_present")),n.toState==="action_required"){if(a==="action_required")return n;if(a==="action_failed")return j(t,n,e,"action_failed","canonical_action_attempt_failed");a==="action_degraded"?n=j(t,n,e,"action_degraded","canonical_action_unavailable_or_degraded"):a==="action_satisfied"&&(n=j(t,n,e,"action_satisfied","canonical_action_succeeded"));}if(n.toState==="action_failed")if(a==="action_satisfied")n=j(t,n,e,"action_satisfied","canonical_action_retry_succeeded");else if(a==="action_degraded")n=j(t,n,e,"action_degraded","canonical_action_retry_degraded");else return n;let c=s==="context_degraded"||a==="action_degraded";return ["action_not_required","action_satisfied","action_degraded"].includes(n.toState)&&(n=j(t,n,e,e.memoryStatus==="pending"?"memory_quarantined":"memory_decided",e.memoryStatus==="pending"?e.reason:`canonical_memory_${e.memoryStatus}`)),n.toState==="memory_decided"?j(t,n,e,c?"closed_with_degradation":"closed",e.reason):n.toState==="memory_quarantined"?j(t,n,e,e.retryOwned?"closed_with_retry_work":"closed_with_degradation",e.retryOwned?"durable_retry_owner_confirmed":"terminal_obligation_unowned"):n}finally{t.close();}}function Fa(e,t){return e.intent==="memory"||e.intent==="knowledge"||(t.selectedFiles?.length??0)>0?"context_ready":"context_degraded"}function Ha(e,t){let n=t.canonicalAction,r=(n?(t.actionAttempts??[]).filter(i=>i.tool===n.tool):[]).at(-1);return t.actionSatisfiedAt||r?.status==="succeeded"?"action_satisfied":r&&["failed","timeout","unavailable"].includes(r.status)?"action_failed":t.actionDegradation||n?.status==="degraded"||n?.status==="unsupported"?"action_degraded":n?.required||La(e)?"action_required":"action_not_required"}function La(e){return ["create","modify","debug","test","format"].includes(e.action)||["feature","refactor","performance"].includes(e.intent)}function Na(e,t){let n=e.getLatestTerminalTransition(t.projectRoot,t.sessionId,t.turnId);if(!n)throw new Error(`TERMINAL_INTENT_STATE_MISSING:${t.turnId}`);return n}function j(e,t,n,o,r){if(!ja[t.toState]?.includes(o))throw new Error(`TERMINAL_PATH_UNAVAILABLE:${t.toState}->${o}`);let i=t.sequence+1,s=`terminal:${createHash("sha256").update(`${n.artifact.artifactHash}\0${i}\0${o}`).digest("hex").slice(0,24)}`,a=e.appendTerminalTransition({projectRoot:n.artifact.projectRoot,projectId:n.artifact.projectId,hostId:n.artifact.hostId,sessionId:n.artifact.sessionId,turnId:n.artifact.turnId,requestId:n.artifact.requestId,executionId:n.artifact.executionId,sequence:i,fromState:t.toState,toState:o,receiptId:s,sourceReceiptId:n.memoryReceiptId??t.receiptId,reason:r,payload:{memoryStatus:n.memoryStatus,retryOwned:n.retryOwned??false,sourceIntentHash:n.artifact.artifactHash},createdAt:Date.now()});return h({event:"terminal.state.transitioned",identity:{projectRoot:n.artifact.projectRoot,projectId:n.artifact.projectId,hostId:n.artifact.hostId,sessionId:n.artifact.sessionId,turnId:n.artifact.turnId,requestId:n.artifact.requestId,...n.artifact.executionId?{executionId:n.artifact.executionId}:{}},level:o==="closed"?"info":o.includes("degradation")||o.includes("retry")||o==="action_failed"?"warn":"info",timestamp:Date.now(),data:{fromState:t.toState,nextState:o,receiptId:s,reason:r}}),a}function qa(e){return e==="closed"||e==="closed_with_degradation"||e==="closed_with_retry_work"}function jo(e,t){let n=join(e,".devflow","delivery-line","state.db");if(!existsSync(n)||!t.trim())return 0;let o;try{o=new DatabaseSync(n,{timeout:250});let r=o.prepare("SELECT id FROM delivery_cases WHERE id = ? OR json_extract(payload, '$.sessionId') = ?").all(t,t),i=0,s=!!o.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'delivery_events'").get();for(let a of r)if(i+=Number(o.prepare("UPDATE delivery_tasks SET lease_owner = NULL, lease_expires_at = NULL WHERE case_id = ? AND lease_owner IS NOT NULL").run(a.id).changes),s){let c=`session.closed:${a.id}:${t}`;o.prepare("INSERT OR IGNORE INTO delivery_events (id,case_id,idempotency_key,actor,type,payload,created_at,processed_at) VALUES (?,?,?,?,?,?,?,NULL)").run(c,a.id,c,JSON.stringify({id:"devflow:session-end",kind:"system"}),"session.closed",JSON.stringify({sessionId:t,releasedLeases:i}),Date.now());}return i}catch{return 0}finally{o?.close();}}function xt(e){let t={committed:0,skipped:0,pending:0},n=[];for(let o of e)t[o.status]+=1,o.receiptId&&n.push(o.receiptId);return {memoryReceiptIds:[...new Set(n)],missingMemoryDecisionCount:t.pending,memoryTurnOutcomes:t}}function $(e){return (e instanceof Error?e.message:String(e)).trim().slice(0,240)||"memory_lifecycle_unavailable"}var K=class extends Error{constructor(t,n){super(`session_finalize_${t}:${n}`),this.name="SessionFinalizationRetryableError",this.category=`session_finalize_${t}`;}};function ye(e){let t;try{t=openGlobalDevFlowDatabase();let n=(e.executionId?t.getSkillExecution(e.executionId):null)??t.getLatestSkillExecutionForSession(e.sessionId),o={stage:e.stage,reason:e.reason,degradedAt:Date.now()};n&&t.mergeSkillExecutionMetadata(n.executionId,{...e.metadata,sessionFinalizationDegradations:[o]}),t.insertEvent({kind:"session_finalize_degraded",timestamp:o.degradedAt,success:!1,metadata:{projectRoot:e.projectRoot,sessionId:e.sessionId,executionId:n?.executionId,...o}}),h({event:"hook.session_end.degraded",identity:{projectRoot:e.projectRoot,sessionId:e.sessionId,executionId:n?.executionId},level:"warn",timestamp:o.degradedAt,data:{stage:e.stage,reason:e.reason}});}catch{}finally{t?.close();}}function Ue(e,t=Te(),n=true,o,r=true){let i;try{i=JSON.parse(e);}catch{return null}let s=i.session_id?.trim();if(!s)return null;let a=`session-close:${createHash("sha256").update(`${t}\0${s}`).digest("hex").slice(0,24)}`,c={inputJson:e,sessionId:s,cleanupSharedState:n,executionId:o};try{jo(t,s);}catch{}let d;try{d=openGlobalDevFlowDatabase(void 0,{busyTimeoutMs:50});let u=d.requestSessionClosure({receiptId:a,projectRoot:t,sessionId:s,payload:c}),l=d.getWorkByIdempotencyKey(a),m={status:u.state==="closed"||u.state==="closed_with_pending_work"?"completed":"accepted",receiptId:a,workState:l?.state??"pending",closureState:u.state,pendingWorkCount:u.pendingWorkCount,...l?.id?{workItemId:l.id}:{}};return h({event:"hook.session_end.completed",identity:{projectRoot:t,sessionId:s,executionId:o,terminalReceipt:a},level:m.status==="completed"?"info":"debug",timestamp:Date.now(),data:{stage:"enqueue",...m}}),m}catch(u){if(!r)throw u;return fo(t,{receiptId:a,...c}),h({event:"hook.session_end.degraded",identity:{projectRoot:t,sessionId:s,executionId:o,terminalReceipt:a},level:"warn",timestamp:Date.now(),data:{stage:"enqueue",reason:$(u),fallback:"durable_spool"}}),{status:"accepted",receiptId:a,workState:"spooled",closureState:"closing",pendingWorkCount:1}}finally{d?.close();}}async function Fo(e,t=Te(),n=true,o){let r;try{r=JSON.parse(e);}catch{return}let i=r.session_id?.trim();if(!i)return;let s=new q(t),a=s.get(i),c=Oo({projectRoot:t,sessionId:i,transcriptPath:r.transcript_path}),d={evidenceDegradations:a?.evidenceDegradations??[],evidenceContractOutcomes:a?.evidenceOutcomes??[],pendingEvidenceContractIds:a?.evidenceObligations.map(p=>p.contractId)??[],transcriptReconciliation:c},u=o?.telemetry??new Z,l=!o?.telemetry,m=false,f;try{try{await u.flushAndAggregate();}catch{}let p=Date.now(),g=o?.executionId??a?.executionId,k;try{let _=openGlobalDevFlowDatabase();try{k=_.listSessionMemoryTurnsForReconciliation(t,i);for(let y of k){let w=`memory:${y.turnId}`,v=_.getSessionObligation(t,i,w);v?v.state==="open"&&y.status!=="pending"&&_.resolveSessionObligation({projectRoot:t,sessionId:i,obligationId:w,state:"satisfied",receiptId:y.receiptId,reason:y.reason,resolvedAt:y.decidedAt}):_.upsertSessionObligation({obligationId:w,projectRoot:t,sessionId:i,turnId:y.turnId,kind:"memory_decision",state:y.status==="pending"?"open":"satisfied",payload:{eventId:y.eventId,promptHash:y.promptHash},receiptId:y.receiptId,reason:y.reason,createdAt:y.createdAt,updatedAt:y.decidedAt??y.createdAt,resolvedAt:y.decidedAt});}}finally{_.close();}}catch(_){let y=$(_),w={...d,memoryEventReconciliation:{status:"degraded",stage:"turn_load",reason:y,committedProcessed:0,skippedDiscarded:0,remainingUndecided:null,checkpointPending:null}};throw ye({projectRoot:t,sessionId:i,executionId:g,stage:"turn_load",reason:y,metadata:w}),new K("turn_load",y)}let b=xt(k),R=o?.memory??(f=new MemoryGate(t)),I={status:"completed"};try{I=typeof R.reconcileTurnObservationLineage=="function"?{status:"completed",...await R.reconcileTurnObservationLineage(k)}:{status:"unsupported_adapter",committed:0,skipped:0,quarantined:0,unlinked:0};}catch(_){let y=$(_);throw I={status:"degraded",reason:y},ye({projectRoot:t,sessionId:i,executionId:g,stage:"memory_lineage",reason:y,metadata:{...b,...d,memoryLineageReconciliation:I}}),new K("memory_lineage",y)}let F={status:"unknown",selected:0,consumed:0,unknown:0,positive:0,negative:0};try{let _=We(r.transcript_path),y=openGlobalDevFlowDatabase(),w="unknown",v="no_terminal_host_action_evidence",de,H,N,Y=[],at=[];try{let z=y.listHostActionsForSession(t,i,g),hn=z.filter(D=>D.state==="verified"),ct=z.filter(D=>["failed","cancelled","degraded"].includes(D.state));ct.length>0?(w="negative",v=`terminal_host_action_${ct[0].state}`):hn.length>0&&(w="positive",v="host_action_verified");let xe=ct[0]??hn.at(-1);if(de=xe?.runId,H=xe?.contextReceipt,N=xe?.evidenceHash,at=z.flatMap(D=>{let X=D.report.toolUseIds;return Array.isArray(X)?X.filter(le=>typeof le=="string"):[]}),!xe&&g){let D=y.getSkillExecution(g),X=D?.metadata&&typeof D.metadata=="object"&&Array.isArray(D.metadata.policyVerificationOutcomes)?D.metadata.policyVerificationOutcomes:[],le=X.find(B=>B.status==="failed"),dt=X.filter(B=>B.status==="passed");le?(w="negative",v="policy_verification_failed",N=typeof le.receiptId=="string"?le.receiptId:void 0):dt.length>0&&(w="positive",v="policy_verification_passed",N=typeof dt.at(-1)?.receiptId=="string"?String(dt.at(-1).receiptId):void 0),H=y.getActiveContextReceipt(t,i,g)?.contextHash,at=X.map(B=>B.command).filter(B=>typeof B=="string");}H&&(Y=y.getSemanticExecutionContextByHash(H)?.dispositions.filter(D=>D.requirement==="required").map(D=>D.channel)??[]);}finally{y.close();}let yn=Co({projectRoot:t,sessionId:i,executionId:g,outcome:w,outcomeReason:v,verificationReceipt:N,requiredChannels:Y,finishedAt:p}),ci=await R.attributeRetrievalBenefits({sessionId:i,executionId:g,outcome:w,outcomeReason:v,workflowRunId:de,contextReceipt:H,toolEvidence:at,verificationReceipt:N,consumedSourceIds:yn.consumedSources.filter(z=>z.sourceType==="memory").map(z=>z.sourceId)});F={status:_?"evaluated":"unknown",...ci,retrievalLedger:yn};}catch(_){F={...F,status:"degraded",reason:$(_)};}let A;try{A=await R.reconcileDecidedTurnEventWindows(i,k,p);}catch(_){let y=$(_),w={...b,...d,memoryEventReconciliation:{status:"degraded",stage:"event_reconciliation",reason:y,committedProcessed:0,skippedDiscarded:0,remainingUndecided:null,checkpointPending:null}};throw ye({projectRoot:t,sessionId:i,executionId:g,stage:"event_reconciliation",reason:y,metadata:w}),new K("event_reconciliation",y)}let M;try{M=await me({projectRoot:t,sessionId:i,trigger:"session_end",memory:R,details:{eventReconciliation:A},strictPersistence:!0});}catch(_){let y=$(_),w={...b,...d,memoryEventReconciliation:{status:"completed",...A,checkpointPending:null},memoryCheckpointDegradation:y};throw ye({projectRoot:t,sessionId:i,executionId:g,stage:"checkpoint",reason:y,metadata:w}),new K("checkpoint",y)}let L={memoryLineageReconciliation:I,memoryBenefitAttribution:F,memoryEventReconciliation:{status:"completed",...A,checkpointPending:M.pendingEvents},memoryDistillCheckpoint:M};try{let _=openGlobalDevFlowDatabase();try{let y=`session-finalize:${i}:events`,w=Math.max(Number(M.pendingEvents??0),Number(A.remainingUndecided??0)),v=_.getSessionObligation(t,i,y);w>0?_.upsertSessionObligation({obligationId:y,projectRoot:t,sessionId:i,executionId:g,kind:"session_finalize",state:"open",payload:{pendingEvents:w,reconciliation:A,checkpointId:M.id},reason:"active_unprocessed_session_events",createdAt:v?.createdAt??p,updatedAt:p}):v?.state==="open"&&_.resolveSessionObligation({projectRoot:t,sessionId:i,obligationId:y,state:"satisfied",reason:"session_events_reconciled",resolvedAt:p});}finally{_.close();}}catch(_){h({event:"hook.session_end.degraded",identity:{projectRoot:t,sessionId:i,executionId:g},level:"warn",timestamp:Date.now(),data:{stage:"obligation_persistence",reason:$(_)}});}try{await R.closeSession(i),f&&(f.close(),f=void 0);}catch(_){let y=$(_),w={...b,...d,...L,memorySessionCloseDegradation:y};throw ye({projectRoot:t,sessionId:i,executionId:g,stage:"memory_close",reason:y,metadata:w}),new K("memory_close",y)}let S={...b,...d,...L},T=[];try{let _=openGlobalDevFlowDatabase();try{let y=new Map(_.listLatestTaskIntentArtifacts(t,i).map(w=>[w.turnId,w]));for(let w of k){let v=y.get(w.turnId);if(!v)continue;let H=[_.getWorkByIdempotencyKey(`memory-turn:capture_prompt:${w.turnId}`),_.getWorkByIdempotencyKey(`memory-turn:commit_explicit:${w.turnId}`)].filter(Boolean).some(Y=>Y.state==="pending"||Y.state==="leased"||Y.state==="failed"),N=Po({artifact:v,memoryStatus:w.status,memoryReceiptId:w.receiptId,retryOwned:H,reason:w.status==="pending"?"session_end_memory_pending":"session_end_reconciled"});T.push({turnId:w.turnId,state:N.toState,receiptId:N.receiptId});}}finally{_.close();}}catch(_){T.push({state:"terminal_integrity_failure",reason:$(_)});}S.terminalOutcomes=T,m=!0;let E;try{E=openGlobalDevFlowDatabase();let _=g;if(_)try{E.reconcileSkillExecution(_,"completed",p,S);let v=E.getSkillExecution(_);await V("/api/telemetry/skill-execution/complete",{executionId:_,finishedAt:p,status:"completed",summary:{totalToolCalls:v?.totalToolCalls??0,mcpToolCalls:v?.mcpToolCalls??0,directToolCalls:v?.directToolCalls??0,subagentCount:v?.subagentCount??0,totalDuration:v?.totalDuration??0,mcpComplianceRate:v?.mcpComplianceRate??0,missedTools:v?.missedMcpTools??[],actualFailureCount:v?.failedToolCalls??0,fallbackCount:v?.fallbackCount??0,fallbackReasons:v?.fallbackReasons??[]},metadata:S},{fallbackReason:"skill_execution_already_reconciled_locally"});}catch{}let y=E.reconcileRunningSkillExecutionsForSession(i,p,{closureReason:"session_finalize",...S});for(let v of y)await V("/api/telemetry/skill-execution/complete",{executionId:v.executionId,finishedAt:v.finishedAt,status:v.status,summary:{totalToolCalls:v.totalToolCalls??0,mcpToolCalls:v.mcpToolCalls??0,directToolCalls:v.directToolCalls??0,subagentCount:v.subagentCount??0,totalDuration:v.totalDuration??0,mcpComplianceRate:v.mcpComplianceRate??0,missedTools:v.missedMcpTools??[],actualFailureCount:v.failedToolCalls??0,fallbackCount:v.fallbackCount??0,fallbackReasons:v.fallbackReasons??[]},metadata:S},{fallbackReason:"skill_execution_already_reconciled_locally"});let w=E.getLatestSkillExecutionForSession(i);if(w&&!y.some(v=>v.executionId===w.executionId)&&E.mergeSkillExecutionMetadata(w.executionId,S),n){E.deleteHookReceipt(t);let v=P(t),de=createHash("sha256").update(t).digest("hex").slice(0,12);for(let H of [`session-id-${de}`,"current-execution-id","current-skill.json","event-map.json"])rmSync$1(join(v,H),{force:!0});}E.deleteContextReceipt(t,i);}catch(_){h({event:"hook.session_end.degraded",identity:{projectRoot:t,sessionId:i,executionId:g},level:"warn",timestamp:Date.now(),data:{stage:"lifecycle_telemetry",reason:$(_),fallback:"fail_open"}});}finally{E?.close();}try{await u.endSession(i),await u.flushAndAggregate();}catch(_){h({event:"hook.session_end.degraded",identity:{projectRoot:t,sessionId:i,executionId:g},level:"warn",timestamp:Date.now(),data:{stage:"telemetry_flush",reason:$(_),fallback:"local_state_authoritative"}});}}finally{if(f)try{f.close();}catch{}l&&u.close(),m&&s.removeSession(i),h({event:m?"hook.session_end.completed":"hook.session_end.degraded",identity:{projectRoot:t,sessionId:i,executionId:o?.executionId??a?.executionId},level:m?"info":"warn",timestamp:Date.now(),data:{stage:"finalize",criticalStagesCompleted:m,transcriptStatus:c.status}});}}if(process.argv[1]?.endsWith("session-end")||process.argv[1]?.endsWith("session-end.js")){let e=console.log.bind(console);console.log=console.error.bind(console),console.info=console.error.bind(console);let t="";process.stdin.setEncoding("utf8"),process.stdin.on("data",n=>{t+=n;}),process.stdin.on("end",async()=>{let n=Ue(t.trim()||process.argv[2]||"");n&&e(JSON.stringify(n)),process.exit(0);}),process.stdin.on("error",()=>process.exit(0)),setTimeout(()=>process.exit(0),1e4).unref();}var Za=/^\/(?:devflow:)?[\w-]+\b\s*/iu,ec=/\b(?:(?:do\s+not|don't|dont|never|not)(?:\s+need\s+to)?|no\s+need\s+to)\s+(?:please\s+)?(?:remember|memorize)\b|(?:不要|别|不用|无需|不必|不需要)(?:再)?(?:记住|记|记忆)/iu,tc=/(?:^|[.!?]\s*)(?:(?:please|kindly)\s+)?(?:remember|memorize|save\s+this|store\s+this|note\s+that)(?:\s+(?:that|to))?[\s:,-]*(.+)$/iu,nc=/(?:^|[。!?;,,]\s*)(?:(?:请|麻烦|务必|一定要|帮我|帮忙|需要)\s*)?(?:记住|记一下|记下来|记|记录一下|记录下来|保存一下|保存下来)(?:这(?:件事|一点|个信息|些内容))?[\s::,,]*(.+)$/iu;function he(e){let t=e.trim().replace(Za,"").trim();return !t||ec.test(t)?null:(nc.exec(t)??tc.exec(t))?.[1]?.trim().replace(/^[::,,\s]+/u,"")||null}function oc(e){return join(getProjectStateDir(e),"memory-intents.jsonl")}function rc(e){try{return readFileSync$1(e,"utf8").split(`
|
|
18
18
|
`).filter(Boolean).flatMap(t=>{try{let n=JSON.parse(t);return typeof n.content=="string"&&typeof n.createdAt=="number"?[n]:[]}catch{return []}})}catch{return []}}function Wo(e){let t=oc(e),n=`${t}.claim-`,o=`${basename(t)}.claim-`,r=(()=>{try{return readdirSync$1(dirname$1(t)).filter(a=>a.startsWith(o)&&!a.includes(".tmp-")).sort()[0]}catch{return}})(),i=r?join(dirname$1(t),r):`${n}${Date.now()}-${process.pid}`;if(!r)try{renameSync(t,i);}catch{return null}let s=rc(i);if(s.length===0){try{unlinkSync$1(i);}catch{}return null}return {path:i,intents:s}}function Et(e){if(e.intents.shift(),e.intents.length===0){try{unlinkSync$1(e.path);}catch{}return}let t=`${e.path}.tmp-${process.pid}`;writeFileSync$1(t,e.intents.map(n=>JSON.stringify(n)).join(`
|
|
19
19
|
`)+`
|
|
20
20
|
`,{mode:384}),renameSync(t,e.path);}function ze(e){let t=e.trim().replace(/^\//,"");if(!t.startsWith("devflow:"))return null;let n=t.slice(8).replace(/^devflow-/,"");return /^[a-z0-9][a-z0-9-]*$/i.test(n)?`devflow:${n.toLowerCase()}`:null}function Uo(e){let t=e.trimStart().match(/^\/(devflow:[a-z0-9][a-z0-9-]*)\b/i);if(!t)return null;let n=ze(t[1]);return n?{rawName:t[1],skillName:n}:null}function ve(e,t){return t?`evt_tool_${createHash$1("sha256").update(`${e}\0${t}`).digest("hex").slice(0,24)}`:`evt_${Date.now()}_${Math.random().toString(36).slice(2,11)}`}var Ie=1,Pt="memory-snapshot-v1.json",tr=512*1024,nr=256*1024,or=2e3,mc=500,pc=10,fc=240,gc=300*1e3,yc=720*60*60*1e3,rr=2147483647,hc=100,Jo=250,vc=3e4,_c=10,Be=new Map;function ir(e){return e.currentUid===void 0?{ownerSafe:true,modeSafe:true}:{ownerSafe:e.ownerUid===e.currentUid,modeSafe:(e.mode&18)===0}}function G(e){return resolve(e)}function re(e){return createHash("sha256").update(G(e)).digest("hex").slice(0,16)}function jt(e,t={}){let n=re(e),o=t.stateRoot?join(t.stateRoot,n):getProjectStateDir(G(e));return join(o,Pt)}function Je(e,t){let o=(e instanceof Error?e.message:"").replace(/[\r\n\t]+/gu," ").trim().slice(0,160);return o?`${t}:${o}`:t}function $t(e,t){return Array.isArray(e)&&e.length<=t&&e.every(n=>typeof n=="string"&&n.length>0&&n.length<=512)}function Ic(e){if(!e||typeof e!="object"||Array.isArray(e))return false;let t=e;return typeof t.id=="string"&&t.id.length>0&&t.id.length<=512&&typeof t.kind=="string"&&t.kind.length>0&&t.kind.length<=128&&(t.family===void 0||typeof t.family=="string"&&t.family.length>0&&t.family.length<=256)&&(t.entity===void 0||typeof t.entity=="string"&&t.entity.length>0&&t.entity.length<=256)&&$t(t.memoryIds,100)&&(t.status==="withheld"||t.status==="resolved")&&(t.summary===void 0||typeof t.summary=="string"&&t.summary.length<=2e3)}function wc(e){if(!e||typeof e!="object"||Array.isArray(e))return false;let t=e;return typeof t.reason=="string"&&t.reason.length>0&&t.reason.length<=512&&(t.stale===void 0||typeof t.stale=="boolean")}function Ft(e,t,n){if(!e||typeof e!="object"||Array.isArray(e))return null;let o=e,r=G(t),i=re(r),s=o.generation===void 0?0:o.generation;return o.version!==Ie||o.projectRoot!==r||o.projectHash!==i||typeof o.markdown!="string"||Buffer.byteLength(o.markdown,"utf8")>nr||!$t(o.memoryIds,or)||!Array.isArray(o.conflicts)||o.conflicts.length>mc||!o.conflicts.every(Ic)||typeof o.generatedAt!="number"||!Number.isFinite(o.generatedAt)||o.generatedAt<0||o.generatedAt>n+gc||!Number.isInteger(s)||s<0||s>rr||!["ready","pending","degraded","disabled"].includes(String(o.status))||o.degradation!==void 0&&!wc(o.degradation)?null:{...o,generation:s}}function Ht(e,t,n,o,r=0){let i=G(e);return {version:Ie,projectRoot:i,projectHash:re(i),markdown:"",memoryIds:[],conflicts:[],generatedAt:o,generation:r,status:t,degradation:{reason:n}}}function ne(e,t={}){let n=t.now??Date.now(),o=jt(e,t),r;try{r=openSync$1(o,constants.O_RDONLY|constants.O_NOFOLLOW);let i=fstatSync$1(r);if(!i.isFile()||i.size<=0||i.size>tr)throw new Error("cache_size_invalid");let s=ir({...typeof process.getuid=="function"?{currentUid:process.getuid()}:{},ownerUid:i.uid,mode:i.mode});if(!s.ownerSafe)throw new Error("cache_owner_invalid");if(!s.modeSafe)throw new Error("cache_permissions_unsafe");let a=JSON.parse(readFileSync$1(r,"utf8")),c=Ft(a,e,n);if(!c)throw new Error("cache_schema_invalid");return c.status==="ready"&&n-c.generatedAt>yc?{snapshot:{...c,status:"degraded",degradation:{reason:"cache_stale",stale:!0}},source:"cache",valid:!0,stale:!0}:{snapshot:c,source:"cache",valid:!0,stale:!1}}catch(i){let a=i.code==="ENOENT";return {snapshot:Ht(e,a?"pending":"degraded",a?"cache_missing":Je(i,"cache_invalid"),n),source:"none",valid:false,stale:false}}finally{if(r!==void 0)try{closeSync$1(r);}catch{}}}function Ko(e){if(!Number.isInteger(e)||e<0||e>=rr)throw new Error("memory_snapshot_generation_exhausted");return e+1}function kc(e){let t=dirname$1(e);mkdirSync$1(t,{recursive:true,mode:448}),chmodSync(t,448);}function bc(e){kc(e);let t=`${e}.lock`,n={pid:process.pid,createdAt:Date.now(),token:randomUUID$1()},o=JSON.stringify(n),r;try{return r=openSync$1(t,"wx",384),writeFileSync$1(r,o),fsyncSync(r),{fd:r,path:t,contents:o}}catch(i){if(r!==void 0){try{closeSync$1(r);}catch{}try{unlinkSync$1(t);}catch{}}if(i.code==="EEXIST")return null;throw i}}function Rc(e){if(!e||typeof e!="object"||Array.isArray(e))return false;let t=e;return Number.isInteger(t.pid)&&Number(t.pid)>0&&typeof t.createdAt=="number"&&Number.isFinite(t.createdAt)&&typeof t.token=="string"&&t.token.length>0}function Sc(e){try{return process.kill(e,0),!1}catch(t){return t.code==="ESRCH"}}function xc(e){return !e.canonicalCachePath||!e.directoryIsSafe||!e.lockIsRegularFile||!e.metadataValid||!e.contentsUnchanged||!e.ownerDead&&!e.stale?false:e.currentUid!==void 0?e.directoryUid===e.currentUid&&e.lockUid===e.currentUid:true}function Ec(e){return isAbsolute(e)&&resolve(e)===e&&basename(e)===Pt&&/^[a-f0-9]{16}$/u.test(basename(dirname$1(e)))}function Ac(e,t){let n=`${e}.lock`;try{let o=lstatSync$1(dirname$1(e)),r=lstatSync$1(n),i=readFileSync$1(n,"utf8"),s=null;try{let f=JSON.parse(i);Rc(f)&&(s=f);}catch{}let a=s?.createdAt??r.mtimeMs,c=Date.now()-a>t,d=s?Sc(s.pid):!1,u=readFileSync$1(n,"utf8")===i,l=typeof process.getuid=="function"?process.getuid():void 0,m=ir({...l!==void 0?{currentUid:l}:{},ownerUid:o.uid,mode:o.mode});return xc({canonicalCachePath:Ec(e),directoryIsSafe:o.isDirectory()&&!o.isSymbolicLink()&&m.modeSafe,lockIsRegularFile:r.isFile()&&!r.isSymbolicLink(),metadataValid:s!==null,ownerDead:d,stale:c,contentsUnchanged:u,...l!==void 0?{currentUid:l}:{},directoryUid:o.uid,lockUid:r.uid})?(unlinkSync$1(n),!0):!1}catch{return false}}function Tc(e){try{closeSync$1(e.fd);}catch{}try{readFileSync$1(e.path,"utf8")===e.contents&&unlinkSync$1(e.path);}catch{}}function Cc(e){return new Promise(t=>setTimeout(t,e))}function At(e,t,n,o){let r=Number.isFinite(e)?Math.floor(e):t;return Math.min(o,Math.max(n,r))}async function Dc(e,t){let n=At(t.lockTimeoutMs,hc,0,Jo),o=At(t.lockRetryMs,_c,1,Jo),r=At(t.lockStaleMs,vc,0,Number.MAX_SAFE_INTEGER),i=Date.now()+n;for(;;){let s=bc(e);if(s)return s;if(Ac(e,r))continue;let a=i-Date.now();if(a<=0)throw new Error("memory_snapshot_cache_lock_timeout");await Cc(Math.min(o,a));}}async function Go(e,t,n){let o=await Dc(e,t);try{return await n()}finally{Tc(o);}}function Yo(e,t,n,o){let r=o.now??Date.now(),i=G(e),s={version:Ie,projectRoot:i,projectHash:re(i),markdown:t.markdown,memoryIds:t.memoryIds??[],conflicts:t.conflicts??[],generatedAt:r,generation:n,status:t.status??"ready",...t.degradation?{degradation:t.degradation}:{}};if(!Ft(s,e,r))throw new Error("memory_snapshot_payload_invalid");let a=JSON.stringify(s);if(Buffer.byteLength(a,"utf8")>tr)throw new Error("memory_snapshot_cache_too_large");let c=jt(e,o),d=dirname$1(c);mkdirSync$1(d,{recursive:true,mode:448}),chmodSync(d,448);let u=join(d,`.${Pt}.${process.pid}.${randomUUID$1()}.tmp`),l;try{l=openSync$1(u,"wx",384),writeFileSync$1(l,a),fsyncSync(l),closeSync$1(l),l=void 0,chmodSync(u,384),renameSync(u,c),chmodSync(c,384);let m;try{m=openSync$1(d,"r");try{fsyncSync(m);}catch{}}finally{m!==void 0&&closeSync$1(m);}return s}finally{if(l!==void 0)try{closeSync$1(l);}catch{}rmSync$1(u,{force:true});}}function Mc(e,t){let o=(Be.get(e)??Promise.resolve()).catch(()=>{}).then(t),r=o.then(()=>{},()=>{});return Be.set(e,r),o.finally(()=>{Be.get(e)===r&&Be.delete(e);})}function Tt(e,t,n,o,r){return e.valid?e.snapshot.generation>r?{...e,persisted:false}:{...e,snapshot:{...e.snapshot,status:"degraded",degradation:{reason:n,stale:e.stale||void 0}},persisted:false}:{snapshot:Ht(t,"degraded",n,o,r),source:"none",valid:false,stale:false,persisted:false}}async function Lt(e){let t=jt(e.projectRoot,e.cacheOptions);return Mc(t,async()=>{let n=ne(e.projectRoot,e.cacheOptions),o=n.valid?n.snapshot.generation:0,r;try{r=await e.load();}catch(i){let s=Je(i,`refresh_failed:${e.reason}`);try{return await Go(t,e.cacheOptions??{},()=>{let a=ne(e.projectRoot,e.cacheOptions);if(a.valid)return Tt(a,e.projectRoot,s,e.cacheOptions?.now??Date.now(),o);let c=Ko(o),d=Ht(e.projectRoot,"degraded",s,e.cacheOptions?.now??Date.now(),c);return {snapshot:Yo(e.projectRoot,d,c,e.cacheOptions??{}),source:"cache",valid:!0,stale:!1,persisted:!0}})}catch(a){let c=ne(e.projectRoot,e.cacheOptions);return Tt(c,e.projectRoot,Je(a,s),e.cacheOptions?.now??Date.now(),o)}}try{return await Go(t,e.cacheOptions??{},()=>{let i=ne(e.projectRoot,e.cacheOptions);if(i.valid&&i.snapshot.generation>o)return {...i,persisted:!1};let s=Ko(Math.max(o,i.valid?i.snapshot.generation:0));return {snapshot:Yo(e.projectRoot,r,s,e.cacheOptions??{}),source:"cache",valid:!0,stale:!1,persisted:!0}})}catch(i){let s=ne(e.projectRoot,e.cacheOptions);return Tt(s,e.projectRoot,Je(i,`refresh_commit_failed:${e.reason}`),e.cacheOptions?.now??Date.now(),o)}})}async function Ye(e){return Lt({projectRoot:e.projectRoot,reason:e.reason,cacheOptions:e.cacheOptions,load:async()=>{if(e.injectConfig===false)return {status:"disabled",markdown:"",memoryIds:[],conflicts:[]};let t=typeof e.injectConfig=="object"?e.injectConfig:{},n=Number.isFinite(t.topN)?Math.max(0,Math.floor(t.topN)):4,o=Number.isFinite(t.budgetTokens)?Math.max(1,Math.floor(t.budgetTokens)):400,r=await e.memory.getAll({purpose:"session_bootstrap",budgetTokens:o,limit:n}),s=Number.isInteger(r.truncatedCount)&&r.truncatedCount>=0?r.truncatedCount:null,a=r.memories.length===0&&s!==0,c=s!==null&&s>0?"snapshot_results_truncated":"snapshot_truncation_unknown",d=(r.conflicts??[]).map(l=>({id:l.id,kind:l.kind,family:l.family,entity:l.entity,memoryIds:l.memoryIds,status:l.status,...l.summary?{summary:l.summary}:{}})),u=a?`## Project memory
|