@devflow-tools/devflow 0.18.3 → 0.18.5
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/README.md +7 -3
- package/dist/cli.js +76 -80
- package/dist/dashboard/404.html +1 -1
- package/dist/dashboard/__next.__PAGE__.txt +4 -4
- package/dist/dashboard/__next._full.txt +4 -4
- package/dist/dashboard/__next._tree.txt +2 -2
- package/dist/dashboard/_next/static/EvEIGY0RpP7e0gDVLEPam/_buildManifest.js +1 -0
- package/dist/dashboard/_next/static/chunks/150-819052fe1a7b4063.js +1 -0
- package/dist/dashboard/_next/static/chunks/237-34a3fbfba7ff0de5.js +1 -0
- package/dist/dashboard/_next/static/chunks/407.105cf348816ce79d.js +1 -0
- package/dist/dashboard/_next/static/chunks/707.559b5bb6b367b0d8.js +1 -0
- package/dist/dashboard/_next/static/chunks/736.a061e521ba738792.js +1 -0
- package/dist/dashboard/_next/static/chunks/825-8d69033cd30489b9.js +1 -0
- package/dist/dashboard/_next/static/chunks/914-8a8dbb0d7c5f49dd.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/accuracy/{page-72ef9620a52e345e.js → page-19a973c3ff0d74c7.js} +1 -1
- package/dist/dashboard/_next/static/chunks/app/context/page-093f938b03fefec3.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/executions/page-3dc6f25a8270833f.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/graph/page-27ca55336f1e5908.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/intelligence/knowledge/page-e6a21c234798623f.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/intelligence/memory/page-e6a21c234798623f.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/intelligence/page-e6a21c234798623f.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/knowledge/page-ad48a6c980322292.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/layout-5c75ea62c5543a6e.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/memory/page-88a6b6bce5fc6c54.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/page-0dd1d745d94c448e.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/replay/{page-7a6293c77eafe8b4.js → page-6decdec1bad1621e.js} +1 -1
- package/dist/dashboard/_next/static/chunks/app/runs/[id]/page-ae676b7ed6c7f061.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/runs/page-33854ca5a31a5f29.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/timeline/{page-c1f1b6c081532456.js → page-1b027d09e3ee35fe.js} +1 -1
- package/dist/dashboard/_next/static/chunks/app/tool-metrics/page-dc73b4433dbb9a04.js +1 -0
- package/dist/dashboard/_next/static/chunks/app/workflows/page-da494d4bd74cf25f.js +1 -0
- package/dist/dashboard/_next/static/chunks/webpack-c52cf5cbd2898ec1.js +1 -0
- package/dist/dashboard/_next/static/css/ec6498e6b4f4227c.css +3 -0
- package/dist/dashboard/_not-found/__next._full.txt +3 -3
- package/dist/dashboard/_not-found/__next._not-found.__PAGE__.txt +3 -3
- package/dist/dashboard/_not-found/__next._tree.txt +2 -2
- package/dist/dashboard/_not-found.html +1 -1
- package/dist/dashboard/_not-found.txt +3 -3
- package/dist/dashboard/accuracy/__next._full.txt +4 -4
- package/dist/dashboard/accuracy/__next._tree.txt +2 -2
- package/dist/dashboard/accuracy/__next.accuracy.__PAGE__.txt +4 -4
- package/dist/dashboard/accuracy.html +1 -1
- package/dist/dashboard/accuracy.txt +4 -4
- package/dist/dashboard/benchmark/__next._full.txt +4 -4
- package/dist/dashboard/benchmark/__next._tree.txt +2 -2
- package/dist/dashboard/benchmark/__next.benchmark.__PAGE__.txt +4 -4
- package/dist/dashboard/benchmark.html +1 -1
- package/dist/dashboard/benchmark.txt +4 -4
- package/dist/dashboard/context/__next._full.txt +4 -4
- package/dist/dashboard/context/__next._tree.txt +2 -2
- package/dist/dashboard/context/__next.context.__PAGE__.txt +4 -4
- package/dist/dashboard/context.html +1 -1
- package/dist/dashboard/context.txt +4 -4
- package/dist/dashboard/doctor/__next._full.txt +4 -4
- package/dist/dashboard/doctor/__next._tree.txt +2 -2
- package/dist/dashboard/doctor/__next.doctor.__PAGE__.txt +4 -4
- package/dist/dashboard/doctor.html +1 -1
- package/dist/dashboard/doctor.txt +4 -4
- package/dist/dashboard/executions/__next._full.txt +4 -4
- package/dist/dashboard/executions/__next._tree.txt +2 -2
- package/dist/dashboard/executions/__next.executions.__PAGE__.txt +4 -4
- package/dist/dashboard/executions.html +1 -1
- package/dist/dashboard/executions.txt +4 -4
- package/dist/dashboard/graph/__next._full.txt +4 -4
- package/dist/dashboard/graph/__next._tree.txt +2 -2
- package/dist/dashboard/graph/__next.graph.__PAGE__.txt +4 -4
- package/dist/dashboard/graph.html +1 -1
- package/dist/dashboard/graph.txt +4 -4
- package/dist/dashboard/index.html +1 -1
- package/dist/dashboard/index.txt +4 -4
- package/dist/dashboard/intelligence/__next._full.txt +19 -0
- package/dist/dashboard/intelligence/__next._tree.txt +2 -0
- package/dist/dashboard/intelligence/__next.intelligence.__PAGE__.txt +25 -0
- package/dist/dashboard/intelligence/knowledge/__next._full.txt +19 -0
- package/dist/dashboard/intelligence/knowledge/__next._tree.txt +2 -0
- package/dist/dashboard/intelligence/knowledge/__next.intelligence.knowledge.__PAGE__.txt +26 -0
- package/dist/dashboard/intelligence/knowledge.html +1 -0
- package/dist/dashboard/intelligence/knowledge.txt +19 -0
- package/dist/dashboard/intelligence/memory/__next._full.txt +19 -0
- package/dist/dashboard/intelligence/memory/__next._tree.txt +2 -0
- package/dist/dashboard/intelligence/memory/__next.intelligence.memory.__PAGE__.txt +26 -0
- package/dist/dashboard/intelligence/memory.html +1 -0
- package/dist/dashboard/intelligence/memory.txt +19 -0
- package/dist/dashboard/intelligence.html +1 -0
- package/dist/dashboard/intelligence.txt +19 -0
- package/dist/dashboard/knowledge/__next._full.txt +4 -4
- package/dist/dashboard/knowledge/__next._tree.txt +2 -2
- package/dist/dashboard/knowledge/__next.knowledge.__PAGE__.txt +4 -4
- package/dist/dashboard/knowledge.html +1 -1
- package/dist/dashboard/knowledge.txt +4 -4
- package/dist/dashboard/locales/en.json +60 -1
- package/dist/dashboard/locales/zh.json +60 -1
- package/dist/dashboard/memory/__next._full.txt +4 -4
- package/dist/dashboard/memory/__next._tree.txt +2 -2
- package/dist/dashboard/memory/__next.memory.__PAGE__.txt +4 -4
- package/dist/dashboard/memory.html +1 -1
- package/dist/dashboard/memory.txt +4 -4
- package/dist/dashboard/replay/__next._full.txt +4 -4
- package/dist/dashboard/replay/__next._tree.txt +2 -2
- package/dist/dashboard/replay/__next.replay.__PAGE__.txt +4 -4
- package/dist/dashboard/replay.html +1 -1
- package/dist/dashboard/replay.txt +4 -4
- package/dist/dashboard/runs/_/__next._full.txt +4 -4
- package/dist/dashboard/runs/_/__next._tree.txt +2 -2
- package/dist/dashboard/runs/_/__next.runs.$d$id.__PAGE__.txt +4 -4
- package/dist/dashboard/runs/_.html +1 -1
- package/dist/dashboard/runs/_.txt +4 -4
- package/dist/dashboard/runs/__next._full.txt +4 -4
- package/dist/dashboard/runs/__next._tree.txt +2 -2
- package/dist/dashboard/runs/__next.runs.__PAGE__.txt +4 -4
- package/dist/dashboard/runs.html +1 -1
- package/dist/dashboard/runs.txt +4 -4
- package/dist/dashboard/settings/__next._full.txt +4 -4
- package/dist/dashboard/settings/__next._tree.txt +2 -2
- package/dist/dashboard/settings/__next.settings.__PAGE__.txt +4 -4
- package/dist/dashboard/settings.html +1 -1
- package/dist/dashboard/settings.txt +4 -4
- package/dist/dashboard/timeline/__next._full.txt +4 -4
- package/dist/dashboard/timeline/__next._tree.txt +2 -2
- package/dist/dashboard/timeline/__next.timeline.__PAGE__.txt +4 -4
- package/dist/dashboard/timeline.html +1 -1
- package/dist/dashboard/timeline.txt +4 -4
- package/dist/dashboard/tool-metrics/__next._full.txt +4 -4
- package/dist/dashboard/tool-metrics/__next._tree.txt +2 -2
- package/dist/dashboard/tool-metrics/__next.tool-metrics.__PAGE__.txt +4 -4
- package/dist/dashboard/tool-metrics.html +1 -1
- package/dist/dashboard/tool-metrics.txt +4 -4
- package/dist/dashboard/workflows/__next._full.txt +4 -4
- package/dist/dashboard/workflows/__next._tree.txt +2 -2
- package/dist/dashboard/workflows/__next.workflows.__PAGE__.txt +4 -4
- package/dist/dashboard/workflows.html +1 -1
- package/dist/dashboard/workflows.txt +4 -4
- package/dist/hooks/hook-daemon.js +28 -27
- package/dist/hooks/post-tool-use-failure.js +2 -2
- package/dist/hooks/post-tool-use.js +6 -6
- package/dist/hooks/pre-compact.js +3 -3
- package/dist/hooks/pre-tool-use.js +4 -4
- package/dist/hooks/server-bootstrap.js +1 -109
- package/dist/hooks/session-end.js +5 -5
- package/dist/hooks/stop.js +9 -9
- package/dist/hooks/user-prompt-submit.js +8 -8
- package/dist/plugin/.claude-plugin/plugin.json +1 -1
- package/dist/plugin/dist/command-registry.json +5 -5
- package/dist/plugin/dist/hooks/hook-daemon.js +28 -27
- package/dist/plugin/dist/hooks/post-tool-use-failure.js +2 -2
- package/dist/plugin/dist/hooks/post-tool-use.js +6 -6
- package/dist/plugin/dist/hooks/pre-compact.js +3 -3
- package/dist/plugin/dist/hooks/pre-tool-use.js +4 -4
- package/dist/plugin/dist/hooks/server-bootstrap.js +1 -109
- package/dist/plugin/dist/hooks/session-end.js +5 -5
- package/dist/plugin/dist/hooks/stop.js +9 -9
- package/dist/plugin/dist/hooks/user-prompt-submit.js +8 -8
- package/dist/plugin/package.json +13 -13
- package/dist/plugin/skills/start/SKILL.md +20 -34
- package/package.json +17 -15
- package/plugin-registry.json +29 -29
- package/dist/dashboard/_next/static/JAFPWp0Do4yhq-QzxqyH3/_buildManifest.js +0 -1
- package/dist/dashboard/_next/static/chunks/240-8f45a6db4f75278b.js +0 -1
- package/dist/dashboard/_next/static/chunks/722-001c96b6723e043d.js +0 -1
- package/dist/dashboard/_next/static/chunks/914-7e538089692b7d1b.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/context/page-070c5ebfffb71f1b.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/executions/page-52f9a045f91548cc.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/graph/page-c3487fe2482e734e.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/knowledge/page-e184866ed2e92ef1.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/layout-a28c30513212e363.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/memory/page-36e047153bedfce2.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/page-1daa0024f1e5dd18.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/runs/[id]/page-7a92db57d7fb2265.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/runs/page-36baf64267e36b28.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/tool-metrics/page-1c5ddf6239cf1734.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/workflows/page-e2ed74df546c3568.js +0 -1
- package/dist/dashboard/_next/static/chunks/webpack-5f4649c40b052b9f.js +0 -1
- package/dist/dashboard/_next/static/css/6912a202a7d0c151.css +0 -3
- /package/dist/dashboard/_next/static/{JAFPWp0Do4yhq-QzxqyH3 → EvEIGY0RpP7e0gDVLEPam}/_ssgManifest.js +0 -0
package/plugin-registry.json
CHANGED
|
@@ -1,172 +1,172 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": "1.0.0",
|
|
3
|
-
"lastUpdated": "2026-08-
|
|
3
|
+
"lastUpdated": "2026-08-26T09:40:04.811Z",
|
|
4
4
|
"plugins": [
|
|
5
5
|
{
|
|
6
6
|
"name": "@devflow-tools/plugin-animation",
|
|
7
|
-
"version": "0.18.
|
|
7
|
+
"version": "0.18.4",
|
|
8
8
|
"description": "Animation analysis and generation tools for DevFlow.",
|
|
9
9
|
"tags": [],
|
|
10
10
|
"compatibleStacks": [
|
|
11
11
|
"animation"
|
|
12
12
|
],
|
|
13
|
-
"size": "
|
|
13
|
+
"size": "76373 B",
|
|
14
14
|
"author": "DevFlow Team",
|
|
15
15
|
"homepage": "https://github.com/shilongfeicool/dev-flow#readme"
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"name": "@devflow-tools/plugin-css",
|
|
19
|
-
"version": "0.18.
|
|
19
|
+
"version": "0.18.4",
|
|
20
20
|
"description": "CSS analysis and selector audit tools for DevFlow.",
|
|
21
21
|
"tags": [],
|
|
22
22
|
"compatibleStacks": [
|
|
23
23
|
"css"
|
|
24
24
|
],
|
|
25
|
-
"size": "
|
|
25
|
+
"size": "63626 B",
|
|
26
26
|
"author": "DevFlow Team",
|
|
27
27
|
"homepage": "https://github.com/shilongfeicool/dev-flow#readme"
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
30
|
"name": "@devflow-tools/plugin-docker",
|
|
31
|
-
"version": "0.18.
|
|
31
|
+
"version": "0.18.4",
|
|
32
32
|
"description": "Docker configuration and diagnostic tools for DevFlow.",
|
|
33
33
|
"tags": [],
|
|
34
34
|
"compatibleStacks": [
|
|
35
35
|
"docker"
|
|
36
36
|
],
|
|
37
|
-
"size": "
|
|
37
|
+
"size": "92315 B",
|
|
38
38
|
"author": "DevFlow Team",
|
|
39
39
|
"homepage": "https://github.com/shilongfeicool/dev-flow#readme"
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
42
|
"name": "@devflow-tools/plugin-electron",
|
|
43
|
-
"version": "0.18.
|
|
43
|
+
"version": "0.18.4",
|
|
44
44
|
"description": "Electron application analysis and implementation tools for DevFlow.",
|
|
45
45
|
"tags": [],
|
|
46
46
|
"compatibleStacks": [
|
|
47
47
|
"electron"
|
|
48
48
|
],
|
|
49
|
-
"size": "
|
|
49
|
+
"size": "108095 B",
|
|
50
50
|
"author": "DevFlow Team",
|
|
51
51
|
"homepage": "https://github.com/shilongfeicool/dev-flow#readme"
|
|
52
52
|
},
|
|
53
53
|
{
|
|
54
54
|
"name": "@devflow-tools/plugin-git",
|
|
55
|
-
"version": "0.18.
|
|
55
|
+
"version": "0.18.4",
|
|
56
56
|
"description": "Git repository analysis and workflow tools for DevFlow.",
|
|
57
57
|
"tags": [],
|
|
58
58
|
"compatibleStacks": [
|
|
59
59
|
"git"
|
|
60
60
|
],
|
|
61
|
-
"size": "
|
|
61
|
+
"size": "73947 B",
|
|
62
62
|
"author": "DevFlow Team",
|
|
63
63
|
"homepage": "https://github.com/shilongfeicool/dev-flow#readme"
|
|
64
64
|
},
|
|
65
65
|
{
|
|
66
66
|
"name": "@devflow-tools/plugin-graphql",
|
|
67
|
-
"version": "0.18.
|
|
67
|
+
"version": "0.18.4",
|
|
68
68
|
"description": "GraphQL schema and operation tools for DevFlow.",
|
|
69
69
|
"tags": [],
|
|
70
70
|
"compatibleStacks": [
|
|
71
71
|
"graphql"
|
|
72
72
|
],
|
|
73
|
-
"size": "
|
|
73
|
+
"size": "76046 B",
|
|
74
74
|
"author": "DevFlow Team",
|
|
75
75
|
"homepage": "https://github.com/shilongfeicool/dev-flow#readme"
|
|
76
76
|
},
|
|
77
77
|
{
|
|
78
78
|
"name": "@devflow-tools/plugin-nest",
|
|
79
|
-
"version": "0.18.
|
|
79
|
+
"version": "0.18.4",
|
|
80
80
|
"description": "NestJS analysis and implementation tools for DevFlow.",
|
|
81
81
|
"tags": [],
|
|
82
82
|
"compatibleStacks": [
|
|
83
83
|
"nest"
|
|
84
84
|
],
|
|
85
|
-
"size": "
|
|
85
|
+
"size": "112776 B",
|
|
86
86
|
"author": "DevFlow Team",
|
|
87
87
|
"homepage": "https://github.com/shilongfeicool/dev-flow#readme"
|
|
88
88
|
},
|
|
89
89
|
{
|
|
90
90
|
"name": "@devflow-tools/plugin-nextjs",
|
|
91
|
-
"version": "0.18.
|
|
91
|
+
"version": "0.18.4",
|
|
92
92
|
"description": "Next.js analysis and implementation tools for DevFlow.",
|
|
93
93
|
"tags": [],
|
|
94
94
|
"compatibleStacks": [
|
|
95
95
|
"nextjs"
|
|
96
96
|
],
|
|
97
|
-
"size": "
|
|
97
|
+
"size": "74414 B",
|
|
98
98
|
"author": "DevFlow Team",
|
|
99
99
|
"homepage": "https://github.com/shilongfeicool/dev-flow#readme"
|
|
100
100
|
},
|
|
101
101
|
{
|
|
102
102
|
"name": "@devflow-tools/plugin-performance",
|
|
103
|
-
"version": "0.18.
|
|
103
|
+
"version": "0.18.4",
|
|
104
104
|
"description": "Web performance audit and optimization tools for DevFlow.",
|
|
105
105
|
"tags": [],
|
|
106
106
|
"compatibleStacks": [
|
|
107
107
|
"performance"
|
|
108
108
|
],
|
|
109
|
-
"size": "
|
|
109
|
+
"size": "124705 B",
|
|
110
110
|
"author": "DevFlow Team",
|
|
111
111
|
"homepage": "https://github.com/shilongfeicool/dev-flow#readme"
|
|
112
112
|
},
|
|
113
113
|
{
|
|
114
114
|
"name": "@devflow-tools/plugin-react",
|
|
115
|
-
"version": "0.18.
|
|
115
|
+
"version": "0.18.4",
|
|
116
116
|
"description": "React analysis, audit, and component tools for DevFlow.",
|
|
117
117
|
"tags": [],
|
|
118
118
|
"compatibleStacks": [
|
|
119
119
|
"react"
|
|
120
120
|
],
|
|
121
|
-
"size": "
|
|
121
|
+
"size": "263593 B",
|
|
122
122
|
"author": "DevFlow Team",
|
|
123
123
|
"homepage": "https://github.com/shilongfeicool/dev-flow#readme"
|
|
124
124
|
},
|
|
125
125
|
{
|
|
126
126
|
"name": "@devflow-tools/plugin-tailwind",
|
|
127
|
-
"version": "0.18.
|
|
127
|
+
"version": "0.18.4",
|
|
128
128
|
"description": "Tailwind CSS analysis and component tools for DevFlow.",
|
|
129
129
|
"tags": [],
|
|
130
130
|
"compatibleStacks": [
|
|
131
131
|
"tailwind"
|
|
132
132
|
],
|
|
133
|
-
"size": "
|
|
133
|
+
"size": "80783 B",
|
|
134
134
|
"author": "DevFlow Team",
|
|
135
135
|
"homepage": "https://github.com/shilongfeicool/dev-flow#readme"
|
|
136
136
|
},
|
|
137
137
|
{
|
|
138
138
|
"name": "@devflow-tools/plugin-taro",
|
|
139
|
-
"version": "0.18.
|
|
139
|
+
"version": "0.18.4",
|
|
140
140
|
"description": "Taro application analysis and implementation tools for DevFlow.",
|
|
141
141
|
"tags": [],
|
|
142
142
|
"compatibleStacks": [
|
|
143
143
|
"taro"
|
|
144
144
|
],
|
|
145
|
-
"size": "
|
|
145
|
+
"size": "84461 B",
|
|
146
146
|
"author": "DevFlow Team",
|
|
147
147
|
"homepage": "https://github.com/shilongfeicool/dev-flow#readme"
|
|
148
148
|
},
|
|
149
149
|
{
|
|
150
150
|
"name": "@devflow-tools/plugin-ui-layout",
|
|
151
|
-
"version": "0.18.
|
|
151
|
+
"version": "0.18.4",
|
|
152
152
|
"description": "UI layout analysis and implementation tools for DevFlow.",
|
|
153
153
|
"tags": [],
|
|
154
154
|
"compatibleStacks": [
|
|
155
155
|
"ui-layout"
|
|
156
156
|
],
|
|
157
|
-
"size": "
|
|
157
|
+
"size": "61751 B",
|
|
158
158
|
"author": "DevFlow Team",
|
|
159
159
|
"homepage": "https://github.com/shilongfeicool/dev-flow#readme"
|
|
160
160
|
},
|
|
161
161
|
{
|
|
162
162
|
"name": "@devflow-tools/plugin-vue",
|
|
163
|
-
"version": "0.18.
|
|
163
|
+
"version": "0.18.4",
|
|
164
164
|
"description": "Vue analysis, audit, and component tools for DevFlow.",
|
|
165
165
|
"tags": [],
|
|
166
166
|
"compatibleStacks": [
|
|
167
167
|
"vue"
|
|
168
168
|
],
|
|
169
|
-
"size": "
|
|
169
|
+
"size": "92598 B",
|
|
170
170
|
"author": "DevFlow Team",
|
|
171
171
|
"homepage": "https://github.com/shilongfeicool/dev-flow#readme"
|
|
172
172
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:17,errorRate:1e-4,numBits:326,numHashes:14,bitArray:[0,0,0,0,1,0,1,1,1,1,0,0,1,0,1,0,1,0,0,1,1,1,1,1,0,1,1,0,0,0,0,0,1,1,0,1,1,0,0,1,1,1,0,0,1,1,1,1,1,0,1,1,0,1,0,0,1,1,1,0,0,0,1,1,0,1,0,1,1,0,1,1,1,0,1,0,0,1,1,0,1,1,0,1,0,1,1,1,0,1,1,0,0,1,0,1,0,0,1,1,0,1,0,0,0,0,0,1,1,1,1,0,1,1,0,0,1,0,1,0,0,1,0,0,1,1,1,1,0,1,1,1,0,0,1,1,1,0,1,1,0,0,1,0,1,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,1,1,1,0,1,0,1,0,0,0,0,0,1,0,1,0,1,0,1,1,0,1,1,0,1,1,1,0,0,0,0,0,1,1,0,0,0,0,1,0,0,1,0,0,1,1,0,1,0,0,0,0,1,1,0,1,0,0,0,0,1,1,1,1,1,0,1,0,1,1,0,1,1,0,0,1,0,1,0,1,1,1,0,1,0,1,1,0,0,0,1,1,1,0,0,1,1,1,0,1,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,1,1,0,1,0,0,0,1,1,1,0,0,1,0,1,0,1,1,1,1,0,0,1,1,0,1,1,0,0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,1,0,0,1,1,0,1]},__routerFilterDynamic:{numItems:1,errorRate:1e-4,numBits:20,numHashes:14,bitArray:[1,0,0,1,0,0,0,1,0,1,0,1,0,1,1,0,1,1,1,0]},sortedPages:["/_app"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[240],{29547:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=r(7620);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=u(e,n)),t&&(o.current=u(t,n))},[e,t])}function u(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},38631:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return u}});let n=r(75600),o=r(4553);function u(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},46206:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var n={formatUrl:function(){return i},formatWithValidation:function(){return s},urlObjectKeys:function(){return l}};for(var o in n)Object.defineProperty(t,o,{enumerable:!0,get:n[o]});let u=r(99649)._(r(46558)),a=/https?|ftp|gopher|file/;function i(e){let{auth:t,hostname:r}=e,n=e.protocol||"",o=e.pathname||"",i=e.hash||"",l=e.query||"",s=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?s=t+e.host:r&&(s=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(s+=":"+e.port)),l&&"object"==typeof l&&(l=String(u.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||a.test(n))&&!1!==s?(s="//"+(s||""),o&&"/"!==o[0]&&(o="/"+o)):s||(s=""),i&&"#"!==i[0]&&(i="#"+i),c&&"?"!==c[0]&&(c="?"+c),o=o.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${s}${o}${c}${i}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function s(e){return i(e)}},46558:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});var r={assign:function(){return i},searchParamsToUrlQuery:function(){return o},urlQueryToSearchParams:function(){return a}};for(var n in r)Object.defineProperty(t,n,{enumerable:!0,get:r[n]});function o(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function u(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function a(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,u(e));else t.set(r,u(n));return t}function i(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},55769:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(81007).A)("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]])},65587:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var n={default:function(){return m},useLinkStatus:function(){return v}};for(var o in n)Object.defineProperty(t,o,{enumerable:!0,get:n[o]});let u=r(99649),a=r(54568),i=u._(r(7620)),l=r(46206),s=r(16152),c=r(29547),f=r(75600),p=r(36306),d=r(73727),h=r(1411),y=r(38631),g=r(78774);function m(e){var t;let n,o,u,[m,v]=(0,i.useOptimistic)(h.IDLE_LINK_STATUS),P=(0,i.useRef)(null),{href:E,as:_,children:S,prefetch:O=null,passHref:C,replace:j,shallow:N,scroll:w,onClick:R,onMouseEnter:k,onTouchStart:T,legacyBehavior:A=!1,onNavigate:L,transitionTypes:x,ref:$,unstable_dynamicOnHover:M,...I}=e;n=S,A&&("string"==typeof n||"number"==typeof n)&&(n=(0,a.jsx)("a",{children:n}));let U=i.default.useContext(s.AppRouterContext),F=!1!==O,B=!1===O?"none":!0===O?"full":"auto",D="none"!==B?"auto"===B?g.FetchStrategy.PPR:g.FetchStrategy.Full:g.FetchStrategy.PPR,z="string"==typeof(t=_||E)?t:(0,l.formatUrl)(t);if(A){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=i.default.Children.only(n)}let K=A?o&&"object"==typeof o&&o.ref:$,W,Q=i.default.useCallback(e=>(null!==U&&(P.current=(0,h.mountLinkInstance)(e,z,U,D,F,v,W)),()=>{P.current&&((0,h.unmountLinkForCurrentNavigation)(P.current),P.current=null),(0,h.unmountPrefetchableInstance)(e)}),[F,z,U,D,v,W]),X={ref:(0,c.useMergedRef)(Q,K),onClick(e){A||"function"!=typeof R||R(e),A&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(e),!U||e.defaultPrevented||function(e,t,n,o,u,a,l,s="none"){{let c,{nodeName:f}=e.currentTarget;if("A"===f.toUpperCase()&&((c=e.currentTarget.getAttribute("target"))&&"_self"!==c||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which)||e.currentTarget.hasAttribute("download"))return;if(!(0,y.isLocalURL)(t)){o&&(e.preventDefault(),location.replace(t));return}if(e.preventDefault(),a){let e=!1;if(a({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:p}=r(23703);i.default.startTransition(()=>{p(t,o?"replace":"push",!1===u?d.ScrollBehavior.NoScroll:d.ScrollBehavior.Default,n.current,l,s)})}}(e,z,P,j,w,L,x,B)},onMouseEnter(e){A||"function"!=typeof k||k(e),A&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),U&&F&&(0,h.onNavigationIntent)(e.currentTarget,!0===M)},onTouchStart:function(e){A||"function"!=typeof T||T(e),A&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),U&&F&&(0,h.onNavigationIntent)(e.currentTarget,!0===M)}};return(0,f.isAbsoluteUrl)(z)?X.href=z:A&&!C&&("a"!==o.type||"href"in o.props)||(X.href=(0,p.addBasePath)(z)),u=A?i.default.cloneElement(o,X):(0,a.jsx)("a",{...I,...X,children:n}),(0,a.jsx)(b.Provider,{value:m,children:u})}let b=(0,i.createContext)(h.IDLE_LINK_STATUS),v=()=>(0,i.useContext)(b);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},75600:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});var r={DecodeError:function(){return g},MiddlewareNotFoundError:function(){return P},MissingStaticPage:function(){return v},NormalizeError:function(){return m},PageNotFoundError:function(){return b},SP:function(){return h},ST:function(){return y},WEB_VITALS:function(){return o},execOnce:function(){return u},getDisplayName:function(){return c},getLocationOrigin:function(){return l},getURL:function(){return s},isAbsoluteUrl:function(){return i},isResSent:function(){return f},loadGetInitialProps:function(){return d},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return E}};for(var n in r)Object.defineProperty(t,n,{enumerable:!0,get:r[n]});let o=["CLS","FCP","FID","INP","LCP","TTFB"];function u(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let a=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,i=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&a.test(e)};function l(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function s(){let{href:e}=window.location,t=l();return e.substring(t.length)}function c(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function d(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await d(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${c(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let h="u">typeof performance,y=h&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class m extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class v extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class P extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function E(e){return JSON.stringify({message:e.message,stack:e.stack})}},79748:(e,t,r)=>{var n=r(79796);r.o(n,"usePathname")&&r.d(t,{usePathname:function(){return n.usePathname}}),r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}}),r.o(n,"useSearchParams")&&r.d(t,{useSearchParams:function(){return n.useSearchParams}})},81007:(e,t,r)=>{r.d(t,{A:()=>i});var n=r(7620);let o=(...e)=>e.filter((e,t,r)=>!!e&&r.indexOf(e)===t).join(" ");var u={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let a=(0,n.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:r=2,absoluteStrokeWidth:a,className:i="",children:l,iconNode:s,...c},f)=>(0,n.createElement)("svg",{ref:f,...u,width:t,height:t,stroke:e,strokeWidth:a?24*Number(r)/Number(t):r,className:o("lucide",i),...c},[...s.map(([e,t])=>(0,n.createElement)(e,t)),...Array.isArray(l)?l:[l]])),i=(e,t)=>{let r=(0,n.forwardRef)(({className:r,...u},i)=>(0,n.createElement)(a,{ref:i,iconNode:t,className:o(`lucide-${e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,r),...u}));return r.displayName=`${e}`,r}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[722],{3140:(e,t,i)=>{e.exports=i(48558)},7920:(e,t,i)=>{i.d(t,{A:()=>a});let a=(0,i(81007).A)("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]])},19851:(e,t,i)=>{i.d(t,{vt:()=>h});var a=i(27650),r=i(7620),s=i(3140);let{useDebugValue:n}=r,{useSyncExternalStoreWithSelector:o}=s,u=!1,l=e=>{"function"!=typeof e&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");let t="function"==typeof e?(0,a.y)(e):e,i=(e,i)=>(function(e,t=e=>e,i){i&&!u&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),u=!0);let a=o(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,i);return n(a),a})(t,e,i);return Object.assign(i,t),i},h=e=>e?l(e):l},22681:(e,t,i)=>{i.d(t,{A:()=>a});let a=(0,i(81007).A)("BarChart3",[["path",{d:"M3 3v18h18",key:"1s2lah"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]])},22996:(e,t,i)=>{i.d(t,{A:()=>a});let a=(0,i(81007).A)("Boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]])},27650:(e,t,i)=>{i.d(t,{y:()=>r});let a=e=>{let t,i=new Set,a=(e,a)=>{let r="function"==typeof e?e(t):e;if(!Object.is(r,t)){let e=t;t=(null!=a?a:"object"!=typeof r||null===r)?r:Object.assign({},t,r),i.forEach(i=>i(t,e))}},r=()=>t,s={setState:a,getState:r,getInitialState:()=>n,subscribe:e=>(i.add(e),()=>i.delete(e)),destroy:()=>{console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),i.clear()}},n=t=e(a,r,s);return s},r=e=>e?a(e):a},30774:(e,t,i)=>{i.d(t,{A:()=>a});let a=(0,i(81007).A)("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]])},37270:(e,t,i)=>{i.d(t,{A:()=>a});let a=(0,i(81007).A)("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},40766:(e,t,i)=>{i.d(t,{A:()=>a});let a=(0,i(81007).A)("Gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]])},42154:(e,t,i)=>{i.d(t,{A:()=>a});let a=(0,i(81007).A)("History",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]])},43028:(e,t,i)=>{i.d(t,{A:()=>x});let{slice:a,forEach:r}=[],s=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,n=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{path:"/"},a=encodeURIComponent(t),r=`${e}=${a}`;if(i.maxAge>0){let e=i.maxAge-0;if(Number.isNaN(e))throw Error("maxAge should be a Number");r+=`; Max-Age=${Math.floor(e)}`}if(i.domain){if(!s.test(i.domain))throw TypeError("option domain is invalid");r+=`; Domain=${i.domain}`}if(i.path){if(!s.test(i.path))throw TypeError("option path is invalid");r+=`; Path=${i.path}`}if(i.expires){if("function"!=typeof i.expires.toUTCString)throw TypeError("option expires is invalid");r+=`; Expires=${i.expires.toUTCString()}`}if(i.httpOnly&&(r+="; HttpOnly"),i.secure&&(r+="; Secure"),i.sameSite)switch("string"==typeof i.sameSite?i.sameSite.toLowerCase():i.sameSite){case!0:case"strict":r+="; SameSite=Strict";break;case"lax":r+="; SameSite=Lax";break;case"none":r+="; SameSite=None";break;default:throw TypeError("option sameSite is invalid")}return i.partitioned&&(r+="; Partitioned"),r},o={create(e,t,i,a){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{path:"/",sameSite:"strict"};i&&(r.expires=new Date,r.expires.setTime(r.expires.getTime()+60*i*1e3)),a&&(r.domain=a),document.cookie=n(e,t,r)},read(e){let t=`${e}=`,i=document.cookie.split(";");for(let e=0;e<i.length;e++){let a=i[e];for(;" "===a.charAt(0);)a=a.substring(1,a.length);if(0===a.indexOf(t))return a.substring(t.length,a.length)}return null},remove(e,t){this.create(e,"",-1,t)}};var u={name:"cookie",lookup(e){let{lookupCookie:t}=e;if(t&&"u">typeof document)return o.read(t)||void 0},cacheUserLanguage(e,t){let{lookupCookie:i,cookieMinutes:a,cookieDomain:r,cookieOptions:s}=t;i&&"u">typeof document&&o.create(i,e,a,r,s)}},l={name:"querystring",lookup(e){let t,{lookupQuerystring:i}=e;if("u">typeof window){let{search:e}=window.location;!window.location.search&&window.location.hash?.indexOf("?")>-1&&(e=window.location.hash.substring(window.location.hash.indexOf("?")));let a=e.substring(1).split("&");for(let e=0;e<a.length;e++){let r=a[e].indexOf("=");r>0&&a[e].substring(0,r)===i&&(t=a[e].substring(r+1))}}return t}},h={name:"hash",lookup(e){let t,{lookupHash:i,lookupFromHashIndex:a}=e;if("u">typeof window){let{hash:e}=window.location;if(e&&e.length>2){let r=e.substring(1);if(i){let e=r.split("&");for(let a=0;a<e.length;a++){let r=e[a].indexOf("=");r>0&&e[a].substring(0,r)===i&&(t=e[a].substring(r+1))}}if(t)return t;if(!t&&a>-1){let t=e.match(/\/([a-zA-Z-]*)/g);if(!Array.isArray(t))return;return t["number"==typeof a?a:0]?.replace("/","")}}}return t}};let c=null,d=()=>{if(null!==c)return c;try{if(!(c="u">typeof window&&null!==window.localStorage))return!1;let e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch(e){c=!1}return c};var f={name:"localStorage",lookup(e){let{lookupLocalStorage:t}=e;if(t&&d())return window.localStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupLocalStorage:i}=t;i&&d()&&window.localStorage.setItem(i,e)}};let y=null,p=()=>{if(null!==y)return y;try{if(!(y="u">typeof window&&null!==window.sessionStorage))return!1;let e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch(e){y=!1}return y};var g={name:"sessionStorage",lookup(e){let{lookupSessionStorage:t}=e;if(t&&p())return window.sessionStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupSessionStorage:i}=t;i&&p()&&window.sessionStorage.setItem(i,e)}},m={name:"navigator",lookup(e){let t=[];if("u">typeof navigator){let{languages:e,userLanguage:i,language:a}=navigator;if(e)for(let i=0;i<e.length;i++)t.push(e[i]);i&&t.push(i),a&&t.push(a)}return t.length>0?t:void 0}},v={name:"htmlTag",lookup(e){let t,{htmlTag:i}=e,a=i||("u">typeof document?document.documentElement:null);return a&&"function"==typeof a.getAttribute&&(t=a.getAttribute("lang")),t}},k={name:"path",lookup(e){let{lookupFromPathIndex:t}=e;if("u"<typeof window)return;let i=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(Array.isArray(i))return i["number"==typeof t?t:0]?.replace("/","")}},w={name:"subdomain",lookup(e){let{lookupFromSubdomainIndex:t}=e,i="u">typeof window&&window.location?.hostname?.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(i)return i["number"==typeof t?t+1:1]}};let b=!1;try{document.cookie,b=!0}catch(e){}let A=["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"];b||A.splice(1,1);class x{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.type="languageDetector",this.detectors={},this.init(e,t)}init(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{languageUtils:{}},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.services=e,this.options=function(e){return r.call(a.call(arguments,1),t=>{if(t)for(let i in t)void 0===e[i]&&(e[i]=t[i])}),e}(t,this.options||{},{order:A,lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:e=>e}),"string"==typeof this.options.convertDetectedLanguage&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=e=>e.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=i,this.addDetector(u),this.addDetector(l),this.addDetector(f),this.addDetector(g),this.addDetector(m),this.addDetector(v),this.addDetector(k),this.addDetector(w),this.addDetector(h)}addDetector(e){return this.detectors[e.name]=e,this}detect(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.order,t=[];return(e.forEach(e=>{if(this.detectors[e]){let i=this.detectors[e].lookup(this.options);i&&"string"==typeof i&&(i=[i]),i&&(t=t.concat(i))}}),t=t.filter(e=>null!=e&&!("string"==typeof e&&[/<\s*script.*?>/i,/<\s*\/\s*script\s*>/i,/<\s*img.*?on\w+\s*=/i,/<\s*\w+\s*on\w+\s*=.*?>/i,/javascript\s*:/i,/vbscript\s*:/i,/expression\s*\(/i,/eval\s*\(/i,/alert\s*\(/i,/document\.cookie/i,/document\.write\s*\(/i,/window\.location/i,/innerHTML/i].some(t=>t.test(e)))).map(e=>this.options.convertDetectedLanguage(e)),this.services&&this.services.languageUtils&&this.services.languageUtils.getBestMatchFromCodes)?t:t.length>0?t[0]:null}cacheUserLanguage(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.caches;!t||this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(e)>-1||t.forEach(t=>{this.detectors[t]&&this.detectors[t].cacheUserLanguage(e,this.options)})}}x.type="languageDetector"},48056:(e,t,i)=>{i.d(t,{A:()=>a});let a=(0,i(81007).A)("Stethoscope",[["path",{d:"M4.8 2.3A.3.3 0 1 0 5 2H4a2 2 0 0 0-2 2v5a6 6 0 0 0 6 6a6 6 0 0 0 6-6V4a2 2 0 0 0-2-2h-1a.2.2 0 1 0 .3.3",key:"10lez9"}],["path",{d:"M8 15v1a6 6 0 0 0 6 6a6 6 0 0 0 6-6v-4",key:"ce9bce"}],["circle",{cx:"20",cy:"10",r:"2",key:"ts1r5v"}]])},48558:(e,t,i)=>{var a=i(7620),r=i(16574),s="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},n=r.useSyncExternalStore,o=a.useRef,u=a.useEffect,l=a.useMemo,h=a.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,i,a,r){var c=o(null);if(null===c.current){var d={hasValue:!1,value:null};c.current=d}else d=c.current;var f=n(e,(c=l(function(){function e(e){if(!u){if(u=!0,n=e,e=a(e),void 0!==r&&d.hasValue){var t=d.value;if(r(t,e))return o=t}return o=e}if(t=o,s(n,e))return t;var i=a(e);return void 0!==r&&r(t,i)?(n=e,t):(n=e,o=i)}var n,o,u=!1,l=void 0===i?null:i;return[function(){return e(t())},null===l?void 0:function(){return e(l())}]},[t,i,a,r]))[0],c[1]);return u(function(){d.hasValue=!0,d.value=f},[f]),h(f),f}},60527:(e,t,i)=>{i.d(t,{A:()=>a});let a=(0,i(81007).A)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},64265:(e,t,i)=>{i.d(t,{A:()=>a});let a=(0,i(81007).A)("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]])},64955:(e,t,i)=>{i.d(t,{E:()=>f});var a=i(91961),r=i(63391),s=i(46676),n=i(18517),o=class extends n.Q{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,i){let s=t.queryKey,n=t.queryHash??(0,a.F$)(s,t),o=this.get(n);return o||(o=new r.X({client:e,queryKey:s,queryHash:n,options:e.defaultQueryOptions(t),state:i,defaultOptions:e.getQueryDefaults(s)}),this.add(o)),o}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){s.jG.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,a.MK)(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>(0,a.MK)(e,t)):t}notify(e){s.jG.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){s.jG.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){s.jG.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},u=i(6407),l=class extends n.Q{constructor(e={}){super(),this.config=e,this.#t=new Set,this.#i=new Map,this.#a=0}#t;#i;#a;build(e,t,i){let a=new u.s({client:e,mutationCache:this,mutationId:++this.#a,options:e.defaultMutationOptions(t),state:i});return this.add(a),a}add(e){this.#t.add(e);let t=h(e);if("string"==typeof t){let i=this.#i.get(t);i?i.push(e):this.#i.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#t.delete(e)){let t=h(e);if("string"==typeof t){let i=this.#i.get(t);if(i)if(i.length>1){let t=i.indexOf(e);-1!==t&&i.splice(t,1)}else i[0]===e&&this.#i.delete(t)}}this.notify({type:"removed",mutation:e})}canRun(e){let t=h(e);if("string"!=typeof t)return!0;{let i=this.#i.get(t),a=i?.find(e=>"pending"===e.state.status);return!a||a===e}}runNext(e){let t=h(e);if("string"!=typeof t)return Promise.resolve();{let i=this.#i.get(t)?.find(t=>t!==e&&t.state.isPaused);return i?.continue()??Promise.resolve()}}clear(){s.jG.batch(()=>{this.#t.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#t.clear(),this.#i.clear()})}getAll(){return Array.from(this.#t)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,a.nJ)(t,e))}findAll(e={}){return this.getAll().filter(t=>(0,a.nJ)(e,t))}notify(e){s.jG.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return s.jG.batch(()=>Promise.all(e.map(e=>e.continue().catch(a.lQ))))}};function h(e){return e.options.scope?.id}var c=i(45467),d=i(55898),f=class{#r;#s;#n;#o;#u;#l;#h;#c;constructor(e={}){this.#r=e.queryCache||new o,this.#s=e.mutationCache||new l,this.#n=e.defaultOptions||{},this.#o=new Map,this.#u=new Map,this.#l=0}mount(){this.#l++,1===this.#l&&(this.#h=c.m.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#r.onFocus())}),this.#c=d.t.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#r.onOnline())}))}unmount(){this.#l--,0===this.#l&&(this.#h?.(),this.#h=void 0,this.#c?.(),this.#c=void 0)}isFetching(e){return this.#r.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#s.findAll({...e,status:"pending"}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#r.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),i=this.#r.build(this,t),r=i.state.data;return void 0===r?this.fetchQuery(e):(e.revalidateIfStale&&i.isStaleByTime((0,a.d2)(t.staleTime,i))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#r.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,i){let r=this.defaultQueryOptions({queryKey:e}),s=this.#r.get(r.queryHash),n=s?.state.data,o=(0,a.Zw)(t,n);if(void 0!==o)return this.#r.build(this,r).setData(o,{...i,manual:!0})}setQueriesData(e,t,i){return s.jG.batch(()=>this.#r.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,i)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#r.get(t.queryHash)?.state}removeQueries(e){let t=this.#r;s.jG.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let i=this.#r;return s.jG.batch(()=>(i.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){let i={revert:!0,...t};return Promise.all(s.jG.batch(()=>this.#r.findAll(e).map(e=>e.cancel(i)))).then(a.lQ).catch(a.lQ)}invalidateQueries(e,t={}){return s.jG.batch(()=>(this.#r.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType==="none")?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t))}refetchQueries(e,t={}){let i={...t,cancelRefetch:t.cancelRefetch??!0};return Promise.all(s.jG.batch(()=>this.#r.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,i);return i.throwOnError||(t=t.catch(a.lQ)),"paused"===e.state.fetchStatus?Promise.resolve():t}))).then(a.lQ)}fetchQuery(e){let t=this.defaultQueryOptions(e);void 0===t.retry&&(t.retry=!1);let i=this.#r.build(this,t);return i.isStaleByTime((0,a.d2)(t.staleTime,i))?i.fetch(t):Promise.resolve(i.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(a.lQ).catch(a.lQ)}fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(a.lQ).catch(a.lQ)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return d.t.isOnline()?this.#s.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#r}getMutationCache(){return this.#s}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#o.set((0,a.EN)(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#o.values()],i={};return t.forEach(t=>{(0,a.Cp)(e,t.queryKey)&&Object.assign(i,t.defaultOptions)}),i}setMutationDefaults(e,t){this.#u.set((0,a.EN)(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#u.values()],i={};return t.forEach(t=>{(0,a.Cp)(e,t.mutationKey)&&Object.assign(i,t.defaultOptions)}),i}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=(0,a.F$)(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.throwOnError&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===a.hT&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#r.clear(),this.#s.clear()}}},69353:(e,t,i)=>{i.d(t,{A:()=>a});let a=(0,i(81007).A)("BookOpen",[["path",{d:"M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z",key:"vv98re"}],["path",{d:"M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z",key:"1cyq3y"}]])},72076:(e,t,i)=>{i.d(t,{A:()=>a});let a=(0,i(81007).A)("GitGraph",[["circle",{cx:"5",cy:"6",r:"3",key:"1qnov2"}],["path",{d:"M5 9v6",key:"158jrl"}],["circle",{cx:"5",cy:"18",r:"3",key:"104gr9"}],["path",{d:"M12 3v18",key:"108xh3"}],["circle",{cx:"19",cy:"6",r:"3",key:"108a5v"}],["path",{d:"M16 15.7A9 9 0 0 0 19 9",key:"1e3vqb"}]])},73599:(e,t,i)=>{i.d(t,{A:()=>a});let a=(0,i(81007).A)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]])},78914:(e,t,i)=>{i.d(t,{A:()=>a});let a=(0,i(81007).A)("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]])}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[914],{14133:(e,t,n)=>{n.d(t,{F:()=>u});var r=n(98368);async function o(e,t){let n=function(){try{return localStorage.getItem("devflow-active-project-root")}catch{return null}}(),o={"Content-Type":"application/json",...(0,r.PK)()};n&&(o["x-devflow-project"]=n);let u=await fetch(`${(0,r.Ez)()}/api${e}`,{...t,headers:{...o,...t?.headers},credentials:"same-origin"});if(!u.ok){let e=await u.text();if(401===u.status)throw Error("API 401: reload the local dashboard or configure a dashboard API key");throw Error(`API ${u.status}: ${e}`)}let s=await u.json();return s&&"object"==typeof s&&"ok"in s&&"data"in s?s.data:s}let u={listProjects:()=>o("/projects"),getProject:e=>o(`/projects/${e}`),createProject:e=>o("/projects",{method:"POST",body:JSON.stringify(e)}),deleteProject:e=>o(`/projects/${e}`,{method:"DELETE"}),connectProject:e=>o("/projects/connect",{method:"POST",body:JSON.stringify({rootPath:e})}),disconnectProject:()=>o("/projects/active",{method:"DELETE"}),getActiveProject:()=>o("/projects/active"),getOnboardingPackByRoot:e=>o(`/projects/onboarding-pack?rootPath=${encodeURIComponent(e)}`),refreshOnboardingPack:e=>o("/projects/onboarding-pack/refresh",{method:"POST",body:JSON.stringify({rootPath:e})}),getContextStatus:()=>o("/context/status"),buildContext:e=>o("/context/build",{method:"POST",body:JSON.stringify(e)}),buildTaskContext:e=>o("/context/build-task",{method:"POST",body:JSON.stringify(e)}),submitFeedback:e=>o("/context/feedback",{method:"POST",body:JSON.stringify(e)}),getFeedbackSummary:()=>o("/context/feedback-summary"),getGraph:()=>o("/graph"),getLayeredGraph:()=>o("/graph?view=layered"),getNode:e=>o(`/graph/${e}`),expandNode:(e,t,n)=>o(`/graph/${e}/expand?depth=${t??2}&direction=${n??"both"}`),listWorkflows:()=>o("/workflows"),runWorkflow:(e,t)=>o(`/workflows/${e}/run`,{method:"POST",body:JSON.stringify({input:t})}),listRuns:(e=20,t=0)=>o(`/workflows/runs?limit=${e}&offset=${t}`),getRun:e=>o(`/workflows/runs/${e}`),approveRun:e=>o(`/workflows/runs/${e}/approve`,{method:"POST"}),rejectRun:(e,t)=>o(`/workflows/runs/${e}/reject`,{method:"POST",body:JSON.stringify({reason:t})}),getMemory:()=>o("/memory"),addMemory:e=>o("/memory",{method:"POST",body:JSON.stringify(e)}),updateMemoryEntry:(e,t)=>o(`/memory/${e}`,{method:"PUT",body:JSON.stringify(t)}),deleteMemoryEntry:e=>o(`/memory/${e}`,{method:"DELETE"}),getCandidates:()=>o("/memory/candidates"),approveCandidate:e=>o(`/memory/candidates/${e}/approve`,{method:"POST"}),rejectCandidate:e=>o(`/memory/candidates/${e}/reject`,{method:"POST"}),searchMemory:(e,t,n)=>o("/memory/search",{method:"POST",body:JSON.stringify({query:e,limit:t,categories:n})}),updateMemory:(e,t,n)=>o(`/memory/${e}/${t}`,{method:"PUT",body:JSON.stringify({value:n})}),searchKnowledge:(e,t)=>o(`/knowledge/search?q=${encodeURIComponent(e)}${t?`&scope=${t}`:""}`),syncKnowledge:e=>o("/knowledge/sync",{method:"POST",body:JSON.stringify({pluginName:e})}),getKnowledgeSources:()=>o("/knowledge/sources"),listTelemetryRuns:(e=20,t=0,n)=>o(`/telemetry/runs?limit=${e}&offset=${t}${n?`&source=${n}`:""}`),getTelemetryRun:e=>o(`/telemetry/runs/${e}`),getTimeline:(e,t)=>o(`/telemetry/timeline${e?`?from=${e}${t?`&to=${t}`:""}`:""}`),listSessions:(e=20,t=0,n)=>{let r=new URLSearchParams({limit:String(e),offset:String(t)});return n&&r.set("projectRoot",n),o(`/telemetry/sessions?${r}`)},getSession:e=>o(`/telemetry/sessions/${e}`),getSessionEvents:e=>o(`/telemetry/sessions/${e}/events`),getRunEvents:e=>o(`/telemetry/runs/${e}/events`),getRunStats:e=>o(`/telemetry/runs/${e}/stats`),completeRun:e=>o(`/telemetry/runs/${e}/complete`,{method:"POST"}),getTelemetryStats:(e=7)=>o(`/telemetry/stats?days=${e}`),getRoiSummary:(e=7)=>o(`/telemetry/roi-summary?days=${e}`),listBenchmarkReports:(e=50)=>o(`/benchmark/reports?limit=${e}`),getLatestBenchmarkReport:(e="default")=>o(`/benchmark/reports/latest?suite=${encodeURIComponent(e)}`),getBenchmarkReport:e=>o(`/benchmark/reports/${encodeURIComponent(e)}`),cleanupTelemetry:e=>o("/telemetry/cleanup",{method:"POST",body:JSON.stringify({olderThanDays:e})}),getToolMetricsSummary:(e=7)=>o(`/telemetry/tool-metrics/summary?days=${e}`),getAccuracyStats:(e,t)=>{let n=new URLSearchParams;e&&n.set("engine",e),t&&n.set("since",String(t));let r=n.toString();return o(`/telemetry/accuracy/stats${r?`?${r}`:""}`)},getAccuracyQueries:e=>{let t=new URLSearchParams;e?.engine&&t.set("engine",e.engine),e?.status&&t.set("status",e.status),e?.limit&&t.set("limit",String(e.limit)),e?.offset&&t.set("offset",String(e.offset));let n=t.toString();return o(`/telemetry/accuracy/queries${n?`?${n}`:""}`)},postAccuracyFeedback:e=>o("/telemetry/accuracy/feedback",{method:"POST",body:JSON.stringify(e)}),getAutoCheck:()=>o("/telemetry/auto-check"),getExecutions:(e=20,t)=>{let n=new URLSearchParams({limit:String(e)});return t&&n.set("skillName",t),o(`/telemetry/executions?${n}`)},getExecutionEvents:e=>o(`/telemetry/executions/${e}/events`),getMcpCompliance:()=>o("/telemetry/mcp-compliance"),getGovernanceRules:()=>o("/governance/rules"),createGovernanceRule:e=>o("/governance/rules",{method:"POST",body:JSON.stringify(e)}),updateGovernanceRule:e=>o(`/governance/rules/${encodeURIComponent(e.id)}`,{method:"PUT",body:JSON.stringify(e)}),deleteGovernanceRule:e=>o(`/governance/rules/${encodeURIComponent(e)}`,{method:"DELETE"}),getGovernanceAudit:(e=100,t=0)=>o(`/governance/audit-chain?limit=${e}&offset=${t}`),listPlugins:(e,t)=>o(`/registry/plugins${e?`?search=${encodeURIComponent(e)}${t?`&tag=${t}`:""}`:t?`?tag=${t}`:""}`),getPlugin:e=>o(`/registry/plugins/${e}`),publishPlugin:e=>o("/registry/plugins",{method:"POST",body:JSON.stringify(e)}),getPluginEffectiveness:e=>o(`/registry/plugins/effectiveness${e?`?rootPath=${encodeURIComponent(e)}`:""}`)}},86914:(e,t,n)=>{n.d(t,{$s:()=>S,B7:()=>m,C9:()=>Q,CU:()=>z,Dr:()=>K,HG:()=>_,I8:()=>G,Kg:()=>$,Ko:()=>M,O:()=>L,Ol:()=>I,Oq:()=>v,PA:()=>h,PS:()=>l,Tr:()=>H,UL:()=>R,Vz:()=>w,WJ:()=>U,YK:()=>i,YZ:()=>J,aW:()=>a,b_:()=>p,d6:()=>V,eG:()=>f,gM:()=>W,he:()=>D,jx:()=>d,lb:()=>T,ll:()=>y,mP:()=>F,nS:()=>c,pf:()=>Y,pz:()=>Z,qV:()=>q,qw:()=>j,tL:()=>X,te:()=>P,uU:()=>g,w4:()=>C,wV:()=>k,xT:()=>A,y4:()=>E,yy:()=>N,z$:()=>O,zb:()=>b,zg:()=>B,zz:()=>x});var r=n(48820),o=n(68728),u=n(19053),s=n(14133);function i(){return(0,r.I)({queryKey:["projects"],queryFn:()=>s.F.listProjects()})}function c(){return(0,r.I)({queryKey:["active-project"],queryFn:()=>s.F.getActiveProject()})}function a(e){return(0,r.I)({queryKey:["onboarding-pack",e],queryFn:()=>s.F.getOnboardingPackByRoot(e),enabled:!!e})}function y(){let e=(0,o.jE)();return(0,u.n)({mutationFn:e=>s.F.refreshOnboardingPack(e),onSuccess:(t,n)=>e.setQueryData(["onboarding-pack",n],t)})}function l(){let e=(0,o.jE)();return(0,u.n)({mutationFn:e=>s.F.connectProject(e),onSuccess:()=>e.invalidateQueries({queryKey:["active-project"]})})}function m(){let e=(0,o.jE)();return(0,u.n)({mutationFn:()=>s.F.disconnectProject(),onSuccess:()=>e.invalidateQueries({queryKey:["active-project"]})})}function d(){return(0,r.I)({queryKey:["context-status"],queryFn:()=>s.F.getContextStatus()})}function g(){return(0,r.I)({queryKey:["graph"],queryFn:()=>s.F.getGraph()})}function f(){return(0,r.I)({queryKey:["layered-graph"],queryFn:()=>s.F.getLayeredGraph()})}function F(){return(0,r.I)({queryKey:["workflows"],queryFn:()=>s.F.listWorkflows()})}function p(e=20,t=0){return(0,r.I)({queryKey:["workflow-runs",e,t],queryFn:()=>s.F.listRuns(e,t)})}function h(){return(0,r.I)({queryKey:["memory"],queryFn:()=>s.F.getMemory()})}function S(e,t){return(0,r.I)({queryKey:["memory-search",e,t],queryFn:()=>s.F.searchMemory(e,t?.limit,t?.categories),enabled:e.length>0})}function q(){let e=(0,o.jE)();return(0,u.n)({mutationFn:e=>s.F.approveCandidate(e),onSuccess:()=>{e.invalidateQueries({queryKey:["memory"]}),e.invalidateQueries({queryKey:["memory-candidates"]})}})}function v(){let e=(0,o.jE)();return(0,u.n)({mutationFn:e=>s.F.rejectCandidate(e),onSuccess:()=>{e.invalidateQueries({queryKey:["memory"]}),e.invalidateQueries({queryKey:["memory-candidates"]})}})}function $(){let e=(0,o.jE)();return(0,u.n)({mutationFn:e=>s.F.addMemory(e),onSuccess:()=>e.invalidateQueries({queryKey:["memory"]})})}function b(e=20,t=0){return(0,r.I)({queryKey:["telemetry-runs",e,t],queryFn:()=>s.F.listTelemetryRuns(e,t)})}function P(e=20,t=0,n){return(0,r.I)({queryKey:["sessions",e,t,n],queryFn:()=>s.F.listSessions(e,t,n)})}function k(e){return(0,r.I)({queryKey:["session",e],queryFn:()=>s.F.getSession(e),enabled:!!e})}function K(e){return(0,r.I)({queryKey:["session-events",e],queryFn:()=>s.F.getSessionEvents(e),enabled:!!e})}function j(e,t){return(0,r.I)({queryKey:["plugins",e,t],queryFn:()=>s.F.listPlugins(e,t)})}function w(){let e=(0,o.jE)();return(0,u.n)({mutationFn:e=>s.F.buildContext(e),onSuccess:t=>e.setQueryData(["context-result"],t)})}function E(){let e=(0,o.jE)();return(0,u.n)({mutationFn:e=>s.F.buildTaskContext(e),onSuccess:t=>e.setQueryData(["task-context-result"],t)})}function I(){return(0,r.I)({queryKey:["context-result"],queryFn:()=>Promise.reject(Error("No queryFn — this query is never enabled")),enabled:!1})}function O(){return(0,r.I)({queryKey:["task-context-result"],queryFn:()=>Promise.reject(Error("No queryFn — this query is never enabled")),enabled:!1})}function T(){return(0,u.n)({mutationFn:e=>s.F.submitFeedback(e)})}function R(){let e=(0,o.jE)();return(0,u.n)({mutationFn:({type:e,input:t})=>s.F.runWorkflow(e,t),onSuccess:()=>e.invalidateQueries({queryKey:["workflow-runs"]})})}function C(){return(0,r.I)({queryKey:["knowledge-sources"],queryFn:()=>s.F.getKnowledgeSources()})}function x(){let e=(0,o.jE)();return(0,u.n)({mutationFn:e=>s.F.syncKnowledge(e),onSuccess:()=>e.invalidateQueries({queryKey:["knowledge-sources"]})})}function N(e){return(0,r.I)({queryKey:["knowledge-search",e],queryFn:()=>s.F.searchKnowledge(e),enabled:e.length>0})}function Q(e=7){return(0,r.I)({queryKey:["telemetry-stats",e],queryFn:()=>s.F.getTelemetryStats(e)})}function U(e=7){return(0,r.I)({queryKey:["roi-summary",e],queryFn:()=>s.F.getRoiSummary(e)})}function J(e="default"){return(0,r.I)({queryKey:["benchmark-report","latest",e],queryFn:()=>s.F.getLatestBenchmarkReport(e)})}function L(e){return(0,r.I)({queryKey:["run-events",e],queryFn:()=>s.F.getRunEvents(e),enabled:!!e,refetchInterval:2e3})}function A(){let e=(0,o.jE)();return(0,u.n)({mutationFn:e=>s.F.cleanupTelemetry(e),onSuccess:()=>e.invalidateQueries({queryKey:["telemetry-stats"]})})}function G(){let e=(0,o.jE)();return(0,u.n)({mutationFn:({id:e,updates:t})=>s.F.updateMemoryEntry(e,t),onSuccess:()=>e.invalidateQueries({queryKey:["memory"]})})}function M(){let e=(0,o.jE)();return(0,u.n)({mutationFn:e=>s.F.deleteMemoryEntry(e),onSuccess:()=>e.invalidateQueries({queryKey:["memory"]})})}function _(e){return(0,r.I)({queryKey:["plugin-effectiveness",e],queryFn:()=>s.F.getPluginEffectiveness(e)})}function D(e=7){return(0,r.I)({queryKey:["tool-metrics-summary",e],queryFn:()=>s.F.getToolMetricsSummary(e)})}function z(e){return(0,r.I)({queryKey:["accuracy-stats",e],queryFn:()=>s.F.getAccuracyStats(e)})}function B(e){return(0,r.I)({queryKey:["accuracy-queries",e],queryFn:()=>s.F.getAccuracyQueries(e)})}function W(){let e=(0,o.jE)();return(0,u.n)({mutationFn:e=>s.F.postAccuracyFeedback(e),onSuccess:()=>{e.invalidateQueries({queryKey:["accuracy-stats"]}),e.invalidateQueries({queryKey:["accuracy-queries"]})}})}function V(){return(0,r.I)({queryKey:["auto-check"],queryFn:()=>s.F.getAutoCheck()})}function Y(){return(0,r.I)({queryKey:["governance-rules"],queryFn:()=>s.F.getGovernanceRules()})}function X(){let e=(0,o.jE)();return(0,u.n)({mutationFn:({rule:e,create:t})=>t?s.F.createGovernanceRule(e):s.F.updateGovernanceRule(e),onSuccess:()=>e.invalidateQueries({queryKey:["governance-rules"]})})}function H(){let e=(0,o.jE)();return(0,u.n)({mutationFn:e=>s.F.deleteGovernanceRule(e),onSuccess:()=>e.invalidateQueries({queryKey:["governance-rules"]})})}function Z(){return(0,r.I)({queryKey:["governance-audit"],queryFn:()=>s.F.getGovernanceAudit(),refetchInterval:1e4})}},98368:(e,t,n)=>{n.d(t,{Ez:()=>s,PK:()=>i});var r=n(84561);let o=r.env.NEXT_PUBLIC_DEVFLOW_API_KEY?.trim()??"",u=r.env.NEXT_PUBLIC_DEVFLOW_API_URL?.trim()??"";function s(){return u?u.replace(/\/$/,""):window.location.origin}function i(){let e=function(){if(o)return o;try{return localStorage.getItem("devflow-api-key")?.trim()||null}catch{return null}}();return e?{"x-api-key":e}:{}}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[114],{638:(e,t,s)=>{"use strict";s.d(t,{C:()=>c});var r=s(19851);let n="devflow-project-root",a="devflow-active-project-root";function l(e){try{return localStorage.getItem(e)}catch{return null}}function i(e,t){try{null===t?localStorage.removeItem(e):localStorage.setItem(e,t)}catch{}}let c=(0,r.vt)(e=>({selectedNodeId:null,detailTab:"properties",searchQuery:"",projectRoot:l(n),activeProjectRoot:l(a),selectedRunId:null,selectNode:t=>e({selectedNodeId:t}),setDetailTab:t=>e({detailTab:t}),setSearchQuery:t=>e({searchQuery:t}),setProjectRoot:t=>{i(n,t),e({projectRoot:t})},setActiveProjectRoot:t=>{i(a,t),e({activeProjectRoot:t})},setSelectedRunId:t=>e({selectedRunId:t})}))},3140:(e,t,s)=>{"use strict";e.exports=s(48558)},8490:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(81007).A)("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},19851:(e,t,s)=>{"use strict";s.d(t,{vt:()=>d});var r=s(27650),n=s(7620),a=s(3140);let{useDebugValue:l}=n,{useSyncExternalStoreWithSelector:i}=a,c=!1,o=e=>{"function"!=typeof e&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");let t="function"==typeof e?(0,r.y)(e):e,s=(e,s)=>(function(e,t=e=>e,s){s&&!c&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),c=!0);let r=i(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,s);return l(r),r})(t,e,s);return Object.assign(s,t),s},d=e=>e?o(e):o},23555:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(81007).A)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]])},23623:(e,t,s)=>{"use strict";s.d(t,{p:()=>l});var r=s(54568),n=s(7620),a=s(64318);let l=n.forwardRef(({className:e,type:t,...s},n)=>(0,r.jsx)("input",{type:t,className:(0,a.cn)("flex h-9 w-full rounded-md border border-input bg-background px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),ref:n,...s}));l.displayName="Input"},27650:(e,t,s)=>{"use strict";s.d(t,{y:()=>n});let r=e=>{let t,s=new Set,r=(e,r)=>{let n="function"==typeof e?e(t):e;if(!Object.is(n,t)){let e=t;t=(null!=r?r:"object"!=typeof n||null===n)?n:Object.assign({},t,n),s.forEach(s=>s(t,e))}},n=()=>t,a={setState:r,getState:n,getInitialState:()=>l,subscribe:e=>(s.add(e),()=>s.delete(e)),destroy:()=>{console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),s.clear()}},l=t=e(r,n,a);return a},n=e=>e?r(e):r},28465:(e,t,s)=>{"use strict";s.d(t,{$:()=>i});var r=s(54568),n=s(7620),a=s(64318);let l=(0,s(91397).F)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),i=n.forwardRef(({className:e,variant:t,size:s,...n},i)=>(0,r.jsx)("button",{className:(0,a.cn)(l({variant:t,size:s,className:e})),ref:i,...n}));i.displayName="Button"},36645:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(81007).A)("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},38688:(e,t,s)=>{"use strict";s.d(t,{ContextViewer:()=>j});var r=s(54568),n=s(7620),a=s(86914),l=s(638),i=s(28465),c=s(89531),o=s(23623),d=s(23555),u=s(81007);let x=(0,u.A)("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);var m=s(63264),h=s(8490);let p=(0,u.A)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),f=(0,u.A)("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);var v=s(36645),g=s(64567);function j(){let{t:e}=(0,g.Bd)(),[t,s]=(0,n.useState)(""),[u,j]=(0,n.useState)(!1),[y,b]=(0,n.useState)({}),N=(0,l.C)(e=>e.activeProjectRoot),k=(0,a.Vz)(),w=(0,a.y4)(),{data:R}=(0,a.Ol)(),{data:A}=(0,a.z$)(),C=(0,a.lb)(),S=u?A:R,E=u?w.isPending:k.isPending,Z=()=>{t.trim()&&(b({}),u?w.mutate({query:t,mode:"fast"}):k.mutate({query:t,mode:"fast"}))},M=e=>{t.trim()&&(b({[t]:e}),C.mutate({query:t,feedback:e,projectRoot:N??void 0,taskType:u&&A?A.taskType:void 0,contextMode:u?"task":"general",tokenCount:S?.tokenCount}))};return(0,r.jsxs)("div",{className:"p-6 space-y-4 h-full overflow-y-auto",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("h2",{className:"text-2xl font-bold",children:e("context.title")}),(0,r.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,r.jsx)("input",{type:"checkbox",checked:u,onChange:e=>j(e.target.checked),className:"rounded"}),e("context.taskMode")]})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(o.p,{placeholder:e("context.placeholder"),value:t,onChange:e=>s(e.target.value),onKeyDown:e=>"Enter"===e.key&&Z()}),(0,r.jsxs)(i.$,{onClick:Z,disabled:E,children:[(0,r.jsx)(d.A,{className:"h-4 w-4 mr-1"})," ",e("context.build")]})]}),E&&(0,r.jsx)("p",{className:"text-muted-foreground text-sm",children:e("context.building")}),S&&(0,r.jsxs)(r.Fragment,{children:[!u&&R&&(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsx)(c.ZB,{children:e("context.results",{files:R.files.length,tokens:R.tokenCount})})}),(0,r.jsx)(c.Wu,{children:(0,r.jsx)("div",{className:"space-y-3",children:R.files.map((e,t)=>(0,r.jsxs)("div",{className:"p-3 rounded-md bg-secondary/50",children:[(0,r.jsx)("p",{className:"text-xs text-muted-foreground font-mono",children:e.path}),(0,r.jsx)("pre",{className:"text-xs mt-1 overflow-x-auto whitespace-pre-wrap",children:e.snippet})]},t))})})]}),u&&A&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(c.Zp,{children:(0,r.jsx)(c.aR,{children:(0,r.jsxs)(c.ZB,{className:"flex items-center justify-between",children:[(0,r.jsxs)("span",{children:[e("context.taskContext"),": ",A.taskType]}),(0,r.jsx)("span",{className:"text-sm font-normal text-muted-foreground",children:e("context.confidenceTokens",{confidence:(100*A.confidence).toFixed(0),tokens:A.tokenCount})})]})})}),(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsxs)(c.ZB,{className:"flex items-center gap-2",children:[(0,r.jsx)(x,{className:"h-4 w-4"}),e("context.requiredFiles")," (",A.requiredFiles.files.length,")"]})}),(0,r.jsx)(c.Wu,{children:(0,r.jsx)("div",{className:"space-y-1",children:A.requiredFiles.files.map(e=>(0,r.jsxs)("div",{className:"text-sm font-mono text-green-700 dark:text-green-400",children:["● ",e]},e))})})]}),A.optionalFiles.files.length>0&&(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsxs)(c.ZB,{className:"flex items-center gap-2",children:[(0,r.jsx)(x,{className:"h-4 w-4"}),e("context.optionalFiles")," (",A.optionalFiles.files.length,")"]})}),(0,r.jsx)(c.Wu,{children:(0,r.jsx)("div",{className:"space-y-1",children:A.optionalFiles.files.map(e=>(0,r.jsxs)("div",{className:"text-sm font-mono text-muted-foreground",children:["○ ",e]},e))})})]}),(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsxs)(c.ZB,{children:[e("context.keySymbols")," (",A.keySymbols.length,")"]})}),(0,r.jsx)(c.Wu,{children:(0,r.jsx)("div",{className:"space-y-2",children:A.keySymbols.slice(0,10).map(t=>(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:`text-xs px-1.5 py-0.5 rounded ${"direct"===t.relevance?"bg-green-100 text-green-700":"bg-gray-100 text-gray-500"}`,children:"direct"===t.relevance?e("context.relevanceDirect"):e("context.relevanceIndirect")}),(0,r.jsx)("span",{className:"text-sm font-medium",children:t.name}),(0,r.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",t.kind,")"]}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground font-mono ml-auto",children:t.file})]},`${t.file}:${t.name}`))})})]}),A.riskHints.length>0&&(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsxs)(c.ZB,{className:"flex items-center gap-2",children:[(0,r.jsx)(m.A,{className:"h-4 w-4"}),e("context.riskHints")," (",A.riskHints.length,")"]})}),(0,r.jsx)(c.Wu,{children:(0,r.jsx)("div",{className:"space-y-2",children:A.riskHints.map((t,s)=>(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.jsx)("span",{className:`mt-0.5 px-1.5 py-0.5 rounded text-xs font-medium ${"high"===t.level?"bg-red-100 text-red-700":"medium"===t.level?"bg-yellow-100 text-yellow-700":"bg-gray-100 text-gray-600"}`,children:"high"===t.level?e("context.levelHigh"):"medium"===t.level?e("context.levelMedium"):e("context.levelLow")}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-sm font-medium",children:t.category}),(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:t.description})]})]},s))})})]}),(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsxs)(c.ZB,{className:"flex items-center gap-2",children:[(0,r.jsx)(h.A,{className:"h-4 w-4"}),e("context.nextActions")]})}),(0,r.jsx)(c.Wu,{children:(0,r.jsx)("div",{className:"space-y-2",children:A.nextActions.map((e,t)=>(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,r.jsx)("span",{className:"px-1.5 py-0.5 rounded bg-blue-100 text-blue-700 text-xs",children:e.kind}),(0,r.jsx)("span",{children:e.label}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground font-mono",children:e.payload})]},t))})})]})]}),S&&(0,r.jsx)(c.Zp,{children:(0,r.jsx)(c.Wu,{className:"p-4",children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"text-sm text-muted-foreground mr-2",children:e("context.wasHelpful")}),(0,r.jsxs)(i.$,{size:"sm",variant:"hit"===y[t]?"default":"outline",onClick:()=>M("hit"),disabled:C.isPending,children:[(0,r.jsx)(p,{className:"h-3 w-3 mr-1"})," ",e("context.hit")]}),(0,r.jsxs)(i.$,{size:"sm",variant:"partial"===y[t]?"default":"outline",onClick:()=>M("partial"),disabled:C.isPending,children:[(0,r.jsx)(f,{className:"h-3 w-3 mr-1"})," ",e("context.partial")]}),(0,r.jsxs)(i.$,{size:"sm",variant:"miss"===y[t]?"default":"outline",onClick:()=>M("miss"),disabled:C.isPending,children:[(0,r.jsx)(v.A,{className:"h-3 w-3 mr-1"})," ",e("context.miss")]}),C.isSuccess&&(0,r.jsx)("span",{className:"text-xs text-green-600 ml-2",children:e("context.thanks")})]})})})]})]})}},48558:(e,t,s)=>{"use strict";var r=s(7620),n=s(16574),a="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},l=n.useSyncExternalStore,i=r.useRef,c=r.useEffect,o=r.useMemo,d=r.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,s,r,n){var u=i(null);if(null===u.current){var x={hasValue:!1,value:null};u.current=x}else x=u.current;var m=l(e,(u=o(function(){function e(e){if(!c){if(c=!0,l=e,e=r(e),void 0!==n&&x.hasValue){var t=x.value;if(n(t,e))return i=t}return i=e}if(t=i,a(l,e))return t;var s=r(e);return void 0!==n&&n(t,s)?(l=e,t):(l=e,i=s)}var l,i,c=!1,o=void 0===s?null:s;return[function(){return e(t())},null===o?void 0:function(){return e(o())}]},[t,s,r,n]))[0],u[1]);return c(function(){x.hasValue=!0,x.value=m},[m]),d(m),m}},63264:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(81007).A)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},64318:(e,t,s)=>{"use strict";s.d(t,{cn:()=>a});var r=s(9917),n=s(2809);function a(...e){return(0,n.QP)((0,r.$)(e))}},73893:(e,t,s)=>{Promise.resolve().then(s.bind(s,38688))},81007:(e,t,s)=>{"use strict";s.d(t,{A:()=>i});var r=s(7620);let n=(...e)=>e.filter((e,t,s)=>!!e&&s.indexOf(e)===t).join(" ");var a={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let l=(0,r.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:s=2,absoluteStrokeWidth:l,className:i="",children:c,iconNode:o,...d},u)=>(0,r.createElement)("svg",{ref:u,...a,width:t,height:t,stroke:e,strokeWidth:l?24*Number(s)/Number(t):s,className:n("lucide",i),...d},[...o.map(([e,t])=>(0,r.createElement)(e,t)),...Array.isArray(c)?c:[c]])),i=(e,t)=>{let s=(0,r.forwardRef)(({className:s,...a},i)=>(0,r.createElement)(l,{ref:i,iconNode:t,className:n(`lucide-${e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,s),...a}));return s.displayName=`${e}`,s}},89531:(e,t,s)=>{"use strict";s.d(t,{Wu:()=>o,ZB:()=>c,Zp:()=>l,aR:()=>i});var r=s(54568),n=s(7620),a=s(64318);let l=n.forwardRef(({className:e,...t},s)=>(0,r.jsx)("div",{ref:s,className:(0,a.cn)("rounded-lg border border-border bg-card text-card-foreground",e),...t}));l.displayName="Card";let i=n.forwardRef(({className:e,...t},s)=>(0,r.jsx)("div",{ref:s,className:(0,a.cn)("flex flex-col space-y-1.5 p-4",e),...t}));i.displayName="CardHeader";let c=n.forwardRef(({className:e,...t},s)=>(0,r.jsx)("h3",{ref:s,className:(0,a.cn)("text-sm font-semibold leading-none tracking-tight",e),...t}));c.displayName="CardTitle";let o=n.forwardRef(({className:e,...t},s)=>(0,r.jsx)("div",{ref:s,className:(0,a.cn)("p-4 pt-0",e),...t}));o.displayName="CardContent"},91397:(e,t,s)=>{"use strict";s.d(t,{F:()=>l});var r=s(9917);let n=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,a=r.$,l=(e,t)=>s=>{var r;if((null==t?void 0:t.variants)==null)return a(e,null==s?void 0:s.class,null==s?void 0:s.className);let{variants:l,defaultVariants:i}=t,c=Object.keys(l).map(e=>{let t=null==s?void 0:s[e],r=null==i?void 0:i[e];if(null===t)return null;let a=n(t)||n(r);return l[e][a]}),o=s&&Object.entries(s).reduce((e,t)=>{let[s,r]=t;return void 0===r||(e[s]=r),e},{});return a(e,c,null==t||null==(r=t.compoundVariants)?void 0:r.reduce((e,t)=>{let{class:s,className:r,...n}=t;return Object.entries(n).every(e=>{let[t,s]=e;return Array.isArray(s)?s.includes({...i,...o}[t]):({...i,...o})[t]===s})?[...e,s,r]:e},[]),null==s?void 0:s.class,null==s?void 0:s.className)}}},e=>{e.O(0,[820,567,993,914,587,968,358],()=>e(e.s=73893)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[488],{2985:(e,t,r)=>{Promise.resolve().then(r.bind(r,63746))},14133:(e,t,r)=>{"use strict";r.d(t,{F:()=>n});var s=r(98368);async function o(e,t){let r=function(){try{return localStorage.getItem("devflow-active-project-root")}catch{return null}}(),o={"Content-Type":"application/json",...(0,s.PK)()};r&&(o["x-devflow-project"]=r);let n=await fetch(`${(0,s.Ez)()}/api${e}`,{...t,headers:{...o,...t?.headers},credentials:"same-origin"});if(!n.ok){let e=await n.text();if(401===n.status)throw Error("API 401: reload the local dashboard or configure a dashboard API key");throw Error(`API ${n.status}: ${e}`)}let a=await n.json();return a&&"object"==typeof a&&"ok"in a&&"data"in a?a.data:a}let n={listProjects:()=>o("/projects"),getProject:e=>o(`/projects/${e}`),createProject:e=>o("/projects",{method:"POST",body:JSON.stringify(e)}),deleteProject:e=>o(`/projects/${e}`,{method:"DELETE"}),connectProject:e=>o("/projects/connect",{method:"POST",body:JSON.stringify({rootPath:e})}),disconnectProject:()=>o("/projects/active",{method:"DELETE"}),getActiveProject:()=>o("/projects/active"),getOnboardingPackByRoot:e=>o(`/projects/onboarding-pack?rootPath=${encodeURIComponent(e)}`),refreshOnboardingPack:e=>o("/projects/onboarding-pack/refresh",{method:"POST",body:JSON.stringify({rootPath:e})}),getContextStatus:()=>o("/context/status"),buildContext:e=>o("/context/build",{method:"POST",body:JSON.stringify(e)}),buildTaskContext:e=>o("/context/build-task",{method:"POST",body:JSON.stringify(e)}),submitFeedback:e=>o("/context/feedback",{method:"POST",body:JSON.stringify(e)}),getFeedbackSummary:()=>o("/context/feedback-summary"),getGraph:()=>o("/graph"),getLayeredGraph:()=>o("/graph?view=layered"),getNode:e=>o(`/graph/${e}`),expandNode:(e,t,r)=>o(`/graph/${e}/expand?depth=${t??2}&direction=${r??"both"}`),listWorkflows:()=>o("/workflows"),runWorkflow:(e,t)=>o(`/workflows/${e}/run`,{method:"POST",body:JSON.stringify({input:t})}),listRuns:(e=20,t=0)=>o(`/workflows/runs?limit=${e}&offset=${t}`),getRun:e=>o(`/workflows/runs/${e}`),approveRun:e=>o(`/workflows/runs/${e}/approve`,{method:"POST"}),rejectRun:(e,t)=>o(`/workflows/runs/${e}/reject`,{method:"POST",body:JSON.stringify({reason:t})}),getMemory:()=>o("/memory"),addMemory:e=>o("/memory",{method:"POST",body:JSON.stringify(e)}),updateMemoryEntry:(e,t)=>o(`/memory/${e}`,{method:"PUT",body:JSON.stringify(t)}),deleteMemoryEntry:e=>o(`/memory/${e}`,{method:"DELETE"}),getCandidates:()=>o("/memory/candidates"),approveCandidate:e=>o(`/memory/candidates/${e}/approve`,{method:"POST"}),rejectCandidate:e=>o(`/memory/candidates/${e}/reject`,{method:"POST"}),searchMemory:(e,t,r)=>o("/memory/search",{method:"POST",body:JSON.stringify({query:e,limit:t,categories:r})}),updateMemory:(e,t,r)=>o(`/memory/${e}/${t}`,{method:"PUT",body:JSON.stringify({value:r})}),searchKnowledge:(e,t)=>o(`/knowledge/search?q=${encodeURIComponent(e)}${t?`&scope=${t}`:""}`),syncKnowledge:e=>o("/knowledge/sync",{method:"POST",body:JSON.stringify({pluginName:e})}),getKnowledgeSources:()=>o("/knowledge/sources"),listTelemetryRuns:(e=20,t=0,r)=>o(`/telemetry/runs?limit=${e}&offset=${t}${r?`&source=${r}`:""}`),getTelemetryRun:e=>o(`/telemetry/runs/${e}`),getTimeline:(e,t)=>o(`/telemetry/timeline${e?`?from=${e}${t?`&to=${t}`:""}`:""}`),listSessions:(e=20,t=0,r)=>{let s=new URLSearchParams({limit:String(e),offset:String(t)});return r&&s.set("projectRoot",r),o(`/telemetry/sessions?${s}`)},getSession:e=>o(`/telemetry/sessions/${e}`),getSessionEvents:e=>o(`/telemetry/sessions/${e}/events`),getRunEvents:e=>o(`/telemetry/runs/${e}/events`),getRunStats:e=>o(`/telemetry/runs/${e}/stats`),completeRun:e=>o(`/telemetry/runs/${e}/complete`,{method:"POST"}),getTelemetryStats:(e=7)=>o(`/telemetry/stats?days=${e}`),getRoiSummary:(e=7)=>o(`/telemetry/roi-summary?days=${e}`),listBenchmarkReports:(e=50)=>o(`/benchmark/reports?limit=${e}`),getLatestBenchmarkReport:(e="default")=>o(`/benchmark/reports/latest?suite=${encodeURIComponent(e)}`),getBenchmarkReport:e=>o(`/benchmark/reports/${encodeURIComponent(e)}`),cleanupTelemetry:e=>o("/telemetry/cleanup",{method:"POST",body:JSON.stringify({olderThanDays:e})}),getToolMetricsSummary:(e=7)=>o(`/telemetry/tool-metrics/summary?days=${e}`),getAccuracyStats:(e,t)=>{let r=new URLSearchParams;e&&r.set("engine",e),t&&r.set("since",String(t));let s=r.toString();return o(`/telemetry/accuracy/stats${s?`?${s}`:""}`)},getAccuracyQueries:e=>{let t=new URLSearchParams;e?.engine&&t.set("engine",e.engine),e?.status&&t.set("status",e.status),e?.limit&&t.set("limit",String(e.limit)),e?.offset&&t.set("offset",String(e.offset));let r=t.toString();return o(`/telemetry/accuracy/queries${r?`?${r}`:""}`)},postAccuracyFeedback:e=>o("/telemetry/accuracy/feedback",{method:"POST",body:JSON.stringify(e)}),getAutoCheck:()=>o("/telemetry/auto-check"),getExecutions:(e=20,t)=>{let r=new URLSearchParams({limit:String(e)});return t&&r.set("skillName",t),o(`/telemetry/executions?${r}`)},getExecutionEvents:e=>o(`/telemetry/executions/${e}/events`),getMcpCompliance:()=>o("/telemetry/mcp-compliance"),getGovernanceRules:()=>o("/governance/rules"),createGovernanceRule:e=>o("/governance/rules",{method:"POST",body:JSON.stringify(e)}),updateGovernanceRule:e=>o(`/governance/rules/${encodeURIComponent(e.id)}`,{method:"PUT",body:JSON.stringify(e)}),deleteGovernanceRule:e=>o(`/governance/rules/${encodeURIComponent(e)}`,{method:"DELETE"}),getGovernanceAudit:(e=100,t=0)=>o(`/governance/audit-chain?limit=${e}&offset=${t}`),listPlugins:(e,t)=>o(`/registry/plugins${e?`?search=${encodeURIComponent(e)}${t?`&tag=${t}`:""}`:t?`?tag=${t}`:""}`),getPlugin:e=>o(`/registry/plugins/${e}`),publishPlugin:e=>o("/registry/plugins",{method:"POST",body:JSON.stringify(e)}),getPluginEffectiveness:e=>o(`/registry/plugins/effectiveness${e?`?rootPath=${encodeURIComponent(e)}`:""}`)}},47186:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(81007).A)("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]])},56242:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(81007).A)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])},63746:(e,t,r)=>{"use strict";r.d(t,{ExecutionsView:()=>g});var s=r(54568),o=r(48820),n=r(14133),a=r(64567),l=r(7620),i=r(78914);let c=(0,r(81007).A)("CircleCheckBig",[["path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14",key:"g774vq"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var d=r(47186),m=r(73599),u=r(56242);function x({rate:e}){let t=e>=80?"bg-green-500":e>=50?"bg-yellow-500":"bg-red-500";return(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"w-20 h-2 bg-muted rounded-full overflow-hidden",children:(0,s.jsx)("div",{className:`h-full ${t} rounded-full`,style:{width:`${e}%`}})}),(0,s.jsxs)("span",{className:"text-xs text-muted-foreground",children:[e.toFixed(1),"%"]})]})}function g(){let{t:e}=(0,a.Bd)(),[t,r]=(0,l.useState)(null),{data:g,isLoading:y}=(0,o.I)({queryKey:["telemetry","executions"],queryFn:()=>n.F.getExecutions(50),refetchInterval:1e4}),{data:h}=(0,o.I)({queryKey:["telemetry","mcp-compliance"],queryFn:()=>n.F.getMcpCompliance()}),{data:p}=(0,o.I)({queryKey:["telemetry","executions",t,"events"],queryFn:()=>n.F.getExecutionEvents(t),enabled:!!t}),f=g??[];return y?(0,s.jsxs)("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:[(0,s.jsx)(i.A,{className:"h-5 w-5 animate-spin mr-2"}),e("executions.loading")]}):(0,s.jsxs)("div",{className:"h-full overflow-auto p-6",children:[(0,s.jsx)("h2",{className:"text-xl font-bold mb-4",children:e("executions.title")}),h&&(0,s.jsxs)("div",{className:"grid grid-cols-3 gap-4 mb-6",children:[(0,s.jsxs)("div",{className:"bg-card border border-border rounded-lg p-4",children:[(0,s.jsx)("div",{className:"text-sm text-muted-foreground",children:e("executions.overallCompliance")}),(0,s.jsxs)("div",{className:"text-2xl font-bold mt-1",children:[h.overall.toFixed(1),"%"]})]}),(0,s.jsxs)("div",{className:"bg-card border border-border rounded-lg p-4",children:[(0,s.jsx)("div",{className:"text-sm text-muted-foreground",children:e("executions.totalExecutions")}),(0,s.jsx)("div",{className:"text-2xl font-bold mt-1",children:f.length})]}),(0,s.jsxs)("div",{className:"bg-card border border-border rounded-lg p-4",children:[(0,s.jsx)("div",{className:"text-sm text-muted-foreground",children:e("executions.skillsTracked")}),(0,s.jsx)("div",{className:"text-2xl font-bold mt-1",children:Object.keys(h.bySkill).length})]})]}),(0,s.jsx)("div",{className:"bg-card border border-border rounded-lg overflow-hidden",children:(0,s.jsxs)("table",{className:"w-full text-sm",children:[(0,s.jsx)("thead",{className:"bg-muted/50",children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{className:"text-left px-4 py-2 font-medium",children:e("executions.skill")}),(0,s.jsx)("th",{className:"text-left px-4 py-2 font-medium",children:e("executions.status")}),(0,s.jsx)("th",{className:"text-left px-4 py-2 font-medium",children:e("executions.tools")}),(0,s.jsx)("th",{className:"text-left px-4 py-2 font-medium",children:e("executions.mcpRate")}),(0,s.jsx)("th",{className:"text-left px-4 py-2 font-medium",children:e("executions.duration")})]})}),(0,s.jsxs)("tbody",{children:[f.map(e=>{var o;return(0,s.jsxs)("tr",{className:`border-t border-border cursor-pointer hover:bg-muted/30 ${t===e.executionId?"bg-muted/50":""}`,onClick:()=>r(e.executionId),children:[(0,s.jsx)("td",{className:"px-4 py-2 font-mono text-xs",children:e.skillName}),(0,s.jsx)("td",{className:"px-4 py-2",children:"completed"===e.status?(0,s.jsx)(c,{className:"h-4 w-4 text-green-500 inline"}):"failed"===e.status?(0,s.jsx)(d.A,{className:"h-4 w-4 text-red-500 inline"}):(0,s.jsx)(m.A,{className:"h-4 w-4 text-yellow-500 inline animate-spin"})}),(0,s.jsx)("td",{className:"px-4 py-2",children:e.totalToolCalls}),(0,s.jsx)("td",{className:"px-4 py-2",children:(0,s.jsx)(x,{rate:e.mcpComplianceRate??0})}),(0,s.jsx)("td",{className:"px-4 py-2",children:(o=e.totalDuration??0)<1e3?`${o}ms`:`${(o/1e3).toFixed(1)}s`})]},e.executionId)}),0===f.length&&(0,s.jsx)("tr",{children:(0,s.jsx)("td",{colSpan:5,className:"px-4 py-8 text-center text-muted-foreground",children:e("executions.empty")})})]})]})}),t&&p&&(0,s.jsxs)("div",{className:"mt-6 bg-card border border-border rounded-lg p-4",children:[(0,s.jsxs)("h3",{className:"font-bold mb-3 flex items-center gap-2",children:[(0,s.jsx)(u.A,{className:"h-4 w-4"}),e("executions.traceTimeline")]}),(0,s.jsx)("div",{className:"space-y-2",children:(p??[]).map(t=>(0,s.jsxs)("div",{className:"flex items-start gap-3 p-2 rounded-md bg-muted/30 text-sm",children:[(0,s.jsx)("span",{className:"text-xs text-muted-foreground w-16 shrink-0",children:new Date(t.timestamp).toLocaleTimeString()}),(0,s.jsx)("span",{className:`px-1.5 py-0.5 rounded text-xs font-mono ${t.isMcpTool?"bg-green-500/20 text-green-400":"subagent"===t.toolType?"bg-blue-500/20 text-blue-400":"bg-muted text-muted-foreground"}`,children:t.toolType}),(0,s.jsx)("span",{className:"font-mono text-xs flex-1",children:t.toolName}),t.blocked&&(0,s.jsx)("span",{className:"px-1.5 py-0.5 rounded text-xs bg-red-500/20 text-red-400",children:e("executions.blocked")}),t.mcpEnforced&&(0,s.jsx)("span",{className:"px-1.5 py-0.5 rounded text-xs bg-green-500/20 text-green-400",children:"MCP"}),t.mcpFallback&&(0,s.jsx)("span",{className:"px-1.5 py-0.5 rounded text-xs bg-yellow-500/20 text-yellow-400",children:e("executions.fallback")})]},t.eventId))})]})]})}},73599:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(81007).A)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]])},78914:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(81007).A)("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]])},81007:(e,t,r)=>{"use strict";r.d(t,{A:()=>l});var s=r(7620);let o=(...e)=>e.filter((e,t,r)=>!!e&&r.indexOf(e)===t).join(" ");var n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let a=(0,s.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:r=2,absoluteStrokeWidth:a,className:l="",children:i,iconNode:c,...d},m)=>(0,s.createElement)("svg",{ref:m,...n,width:t,height:t,stroke:e,strokeWidth:a?24*Number(r)/Number(t):r,className:o("lucide",l),...d},[...c.map(([e,t])=>(0,s.createElement)(e,t)),...Array.isArray(i)?i:[i]])),l=(e,t)=>{let r=(0,s.forwardRef)(({className:r,...n},l)=>(0,s.createElement)(a,{ref:l,iconNode:t,className:o(`lucide-${e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,r),...n}));return r.displayName=`${e}`,r}},98368:(e,t,r)=>{"use strict";r.d(t,{Ez:()=>a,PK:()=>l});var s=r(84561);let o=s.env.NEXT_PUBLIC_DEVFLOW_API_KEY?.trim()??"",n=s.env.NEXT_PUBLIC_DEVFLOW_API_URL?.trim()??"";function a(){return n?n.replace(/\/$/,""):window.location.origin}function l(){let e=function(){if(o)return o;try{return localStorage.getItem("devflow-api-key")?.trim()||null}catch{return null}}();return e?{"x-api-key":e}:{}}}},e=>{e.O(0,[820,567,587,968,358],()=>e(e.s=2985)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[813],{638:(e,t,r)=>{"use strict";r.d(t,{C:()=>l});var o=r(19851);let s="devflow-project-root",a="devflow-active-project-root";function n(e){try{return localStorage.getItem(e)}catch{return null}}function i(e,t){try{null===t?localStorage.removeItem(e):localStorage.setItem(e,t)}catch{}}let l=(0,o.vt)(e=>({selectedNodeId:null,detailTab:"properties",searchQuery:"",projectRoot:n(s),activeProjectRoot:n(a),selectedRunId:null,selectNode:t=>e({selectedNodeId:t}),setDetailTab:t=>e({detailTab:t}),setSearchQuery:t=>e({searchQuery:t}),setProjectRoot:t=>{i(s,t),e({projectRoot:t})},setActiveProjectRoot:t=>{i(a,t),e({activeProjectRoot:t})},setSelectedRunId:t=>e({selectedRunId:t})}))},14736:(e,t,r)=>{"use strict";r.d(t,{GraphView:()=>j});var o=r(54568),s=r(7620),a=r(23623),n=r(28465),i=r(638),l=r(91443);r(88682);var d=r(98058),c=r.n(d),u=r(8011);let h={component:"C",hook:"H",api:"A",store:"S",function:"F",class:"CL",interface:"I",enum:"E",type:"T",variable:"V",unknown:"?"};var f=r(86914);let g={graphNode:function({data:e}){let t=h[e.nodeType]??e.nodeType?.charAt(0)?.toUpperCase()??"?",r=e.layerColor??"#6b7280",s=void 0!==e.highlighted,a=!0===e.highlighted;return(0,o.jsxs)("div",{className:"px-3 py-2 rounded-lg border-2 text-xs font-medium transition-opacity duration-200",style:{borderColor:r,backgroundColor:`color-mix(in srgb, ${r} 8%, var(--background, #fff))`,boxShadow:a?`0 0 12px ${r}, 0 0 4px ${r}`:"0 1px 3px rgba(0,0,0,0.12)",opacity:s&&!a?.15:1},children:[(0,o.jsx)(l.h7,{type:"target",position:u.yX.Top,style:{background:r}}),(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsx)("span",{className:"inline-flex items-center justify-center w-5 h-5 rounded text-[10px] font-bold text-white flex-shrink-0",style:{backgroundColor:r},children:t}),(0,o.jsx)("span",{className:"truncate max-w-[140px]",children:e.label})]}),(0,o.jsx)(l.h7,{type:"source",position:u.yX.Bottom,style:{background:r}})]})}};function p({filterMode:e="highlight",searchQuery:t=""}){return(0,o.jsx)(l.Ln,{children:(0,o.jsx)(m,{filterMode:e,searchQuery:t})})}function m({filterMode:e,searchQuery:t}){let{data:r}=(0,f.eG)(),a=(0,i.C)(e=>e.selectNode),{fitView:n}=(0,l.VH)(),d=(0,s.useMemo)(()=>{if(!r)return{nodes:[],edges:[]};let o=(t??"").toLowerCase().trim(),s="filter"===e&&o?r.nodes.filter(e=>e.name.toLowerCase().includes(o)):r.nodes.slice(0,300),a=o.length>0,n=s.map(e=>({id:e.id,type:"graphNode",position:{x:0,y:0},data:{label:e.name,nodeType:e.type,layer:e.layer??"Other",layerColor:e.layerColor??"#6b7280",highlighted:a?e.name.toLowerCase().includes(o):void 0}})),i=new Set(n.map(e=>e.id)),l=r.edges.filter(e=>i.has(e.from)&&i.has(e.to)).slice(0,500).map((e,t)=>({id:`${e.from}->${e.to}-${t}`,source:e.from,target:e.to,animated:!1,style:{stroke:"#4b5563"}})),d=new(c()).graphlib.Graph;for(let e of(d.setDefaultEdgeLabel(()=>({})),d.setGraph({rankdir:"TB",ranksep:80,nodesep:60}),n))d.setNode(e.id,{width:180,height:50});for(let e of l)d.setEdge(e.source,e.target);return c().layout(d),{nodes:n.map(e=>{let t=d.node(e.id);return{...e,position:{x:t.x-90,y:t.y-25}}}),edges:l}},[r,t,e]),[u,h,p]=(0,l.ck)(d.nodes),[x,b,y]=(0,l.fM)(d.edges);(0,s.useEffect)(()=>{h(d.nodes),b(d.edges)},[d,h,b]),(0,s.useEffect)(()=>{if(t){let e=d.nodes.find(e=>!0===e.data.highlighted);e&&setTimeout(()=>{n({nodes:[e],duration:500,maxZoom:1.5})},100)}},[t,d.nodes,n]);let v=(0,s.useCallback)((e,t)=>{a(t.id)},[a]);return(0,o.jsxs)(l.Gc,{nodes:u,edges:x,onNodesChange:p,onEdgesChange:y,onNodeClick:v,nodeTypes:g,fitView:!0,children:[(0,o.jsx)(l.VS,{}),(0,o.jsx)(l.H2,{}),(0,o.jsx)(l.of,{nodeColor:e=>e.data?.layerColor??"#6b7280"})]})}var x=r(64567),b=r(23555),y=r(20732),v=r(18741);function j(){let{t:e}=(0,x.Bd)(),t=(0,i.C)(e=>e.searchQuery),r=(0,i.C)(e=>e.setSearchQuery),[l,d]=(0,s.useState)("highlight");return(0,o.jsxs)("div",{className:"flex flex-col h-full",children:[(0,o.jsxs)("div",{className:"p-3 border-b border-border flex items-center gap-2",children:[(0,o.jsxs)("div",{className:"relative flex-1 max-w-sm",children:[(0,o.jsx)(b.A,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),(0,o.jsx)(a.p,{placeholder:e("graph.searchPlaceholder"),value:t,onChange:e=>r(e.target.value),className:"pl-8"})]}),t&&(0,o.jsx)(n.$,{variant:"ghost",size:"sm",onClick:()=>d(e=>"highlight"===e?"filter":"highlight"),title:e("highlight"===l?"graph.filterOnly":"graph.highlightAll"),className:"flex-shrink-0",children:"highlight"===l?(0,o.jsx)(y.A,{className:"h-4 w-4"}):(0,o.jsx)(v.A,{className:"h-4 w-4"})})]}),(0,o.jsx)("div",{className:"flex-1",children:(0,o.jsx)(p,{filterMode:l,searchQuery:t})})]})}},23623:(e,t,r)=>{"use strict";r.d(t,{p:()=>n});var o=r(54568),s=r(7620),a=r(64318);let n=s.forwardRef(({className:e,type:t,...r},s)=>(0,o.jsx)("input",{type:t,className:(0,a.cn)("flex h-9 w-full rounded-md border border-input bg-background px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),ref:s,...r}));n.displayName="Input"},28465:(e,t,r)=>{"use strict";r.d(t,{$:()=>i});var o=r(54568),s=r(7620),a=r(64318);let n=(0,r(91397).F)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),i=s.forwardRef(({className:e,variant:t,size:r,...s},i)=>(0,o.jsx)("button",{className:(0,a.cn)(n({variant:t,size:r,className:e})),ref:i,...s}));i.displayName="Button"},64318:(e,t,r)=>{"use strict";r.d(t,{cn:()=>a});var o=r(9917),s=r(2809);function a(...e){return(0,s.QP)((0,o.$)(e))}},90935:(e,t,r)=>{Promise.resolve().then(r.bind(r,14736))}},e=>{e.O(0,[159,383,820,567,993,73,914,587,968,358],()=>e(e.s=90935)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[49],{23623:(e,s,n)=>{"use strict";n.d(s,{p:()=>d});var t=n(54568),r=n(7620),l=n(64318);let d=r.forwardRef(({className:e,type:s,...n},r)=>(0,t.jsx)("input",{type:s,className:(0,l.cn)("flex h-9 w-full rounded-md border border-input bg-background px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),ref:r,...n}));d.displayName="Input"},28465:(e,s,n)=>{"use strict";n.d(s,{$:()=>a});var t=n(54568),r=n(7620),l=n(64318);let d=(0,n(91397).F)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),a=r.forwardRef(({className:e,variant:s,size:n,...r},a)=>(0,t.jsx)("button",{className:(0,l.cn)(d({variant:s,size:n,className:e})),ref:a,...r}));a.displayName="Button"},56707:(e,s,n)=>{"use strict";n.d(s,{KnowledgeView:()=>c});var t=n(54568),r=n(7620),l=n(86914),d=n(89531),a=n(23623),i=n(28465),o=n(64567);function c(){let{t:e}=(0,o.Bd)(),{data:s,isLoading:n}=(0,l.w4)(),c=(0,l.zz)(),[u,m]=(0,r.useState)(""),{data:f}=(0,l.yy)(u);return(0,t.jsxs)("div",{className:"p-6 space-y-4 h-full overflow-y-auto",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("h2",{className:"text-2xl font-bold",children:e("knowledge.title","Knowledge Base")}),(0,t.jsx)(i.$,{onClick:()=>c.mutate(void 0),disabled:c.isPending,children:c.isPending?e("knowledge.syncing","Syncing..."):e("knowledge.syncAll","Sync All")})]}),n?(0,t.jsx)("div",{className:"text-muted-foreground",children:e("knowledge.loading","Loading...")}):s&&s.length>0?(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("h3",{className:"text-sm font-semibold text-muted-foreground",children:e("knowledge.sources","Sources")}),s.map(s=>(0,t.jsx)(d.Zp,{children:(0,t.jsxs)(d.Wu,{className:"p-4 flex justify-between items-center",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"font-semibold",children:s.source?.name??s.name}),(0,t.jsxs)("div",{className:"text-sm text-muted-foreground",children:[s.entryCount??0," chunks \xb7 ",s.source?.urls?.length??0," URLs \xb7 ","ready"===s.status?e("knowledge.synced"):e("knowledge.notSynced"),s.lastSyncTime?` \xb7 ${e("knowledge.last")}: ${new Date(s.lastSyncTime).toLocaleDateString()}`:""]})]}),(0,t.jsx)(i.$,{variant:"outline",size:"sm",onClick:()=>c.mutate(s.source?.name??s.name),disabled:c.isPending,children:e("knowledge.sync")})]})},s.source?.name??s.name))]}):(0,t.jsx)(d.Zp,{children:(0,t.jsx)(d.Wu,{className:"p-6 text-center text-muted-foreground",children:e("knowledge.noSources","No knowledge sources. Install a plugin and sync docs.")})}),(0,t.jsxs)("div",{className:"space-y-2 pt-4",children:[(0,t.jsx)("h3",{className:"text-sm font-semibold text-muted-foreground",children:e("knowledge.search","Search")}),(0,t.jsx)("div",{className:"flex gap-2",children:(0,t.jsx)(a.p,{placeholder:e("knowledge.searchPlaceholder","Search knowledge..."),value:u,onChange:e=>m(e.target.value)})}),f&&f.length>0&&(0,t.jsx)("div",{className:"space-y-2",children:f.map((s,n)=>(0,t.jsx)(d.Zp,{children:(0,t.jsxs)(d.Wu,{className:"p-4",children:[(0,t.jsx)("div",{className:"font-semibold",children:s.title}),(0,t.jsx)("div",{className:"text-sm text-muted-foreground mt-1",children:s.content?.slice(0,200)}),void 0!==s.score&&(0,t.jsxs)("div",{className:"text-xs text-muted-foreground mt-1",children:[e("knowledge.score"),": ",s.score.toFixed(2)]})]})},n))})]})]})}},64318:(e,s,n)=>{"use strict";n.d(s,{cn:()=>l});var t=n(9917),r=n(2809);function l(...e){return(0,r.QP)((0,t.$)(e))}},73983:(e,s,n)=>{Promise.resolve().then(n.bind(n,56707))},89531:(e,s,n)=>{"use strict";n.d(s,{Wu:()=>o,ZB:()=>i,Zp:()=>d,aR:()=>a});var t=n(54568),r=n(7620),l=n(64318);let d=r.forwardRef(({className:e,...s},n)=>(0,t.jsx)("div",{ref:n,className:(0,l.cn)("rounded-lg border border-border bg-card text-card-foreground",e),...s}));d.displayName="Card";let a=r.forwardRef(({className:e,...s},n)=>(0,t.jsx)("div",{ref:n,className:(0,l.cn)("flex flex-col space-y-1.5 p-4",e),...s}));a.displayName="CardHeader";let i=r.forwardRef(({className:e,...s},n)=>(0,t.jsx)("h3",{ref:n,className:(0,l.cn)("text-sm font-semibold leading-none tracking-tight",e),...s}));i.displayName="CardTitle";let o=r.forwardRef(({className:e,...s},n)=>(0,t.jsx)("div",{ref:n,className:(0,l.cn)("p-4 pt-0",e),...s}));o.displayName="CardContent"},91397:(e,s,n)=>{"use strict";n.d(s,{F:()=>d});var t=n(9917);let r=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,l=t.$,d=(e,s)=>n=>{var t;if((null==s?void 0:s.variants)==null)return l(e,null==n?void 0:n.class,null==n?void 0:n.className);let{variants:d,defaultVariants:a}=s,i=Object.keys(d).map(e=>{let s=null==n?void 0:n[e],t=null==a?void 0:a[e];if(null===s)return null;let l=r(s)||r(t);return d[e][l]}),o=n&&Object.entries(n).reduce((e,s)=>{let[n,t]=s;return void 0===t||(e[n]=t),e},{});return l(e,i,null==s||null==(t=s.compoundVariants)?void 0:t.reduce((e,s)=>{let{class:n,className:t,...r}=s;return Object.entries(r).every(e=>{let[s,n]=e;return Array.isArray(n)?n.includes({...a,...o}[s]):({...a,...o})[s]===n})?[...e,n,t]:e},[]),null==n?void 0:n.class,null==n?void 0:n.className)}}},e=>{e.O(0,[820,567,993,914,587,968,358],()=>e(e.s=73983)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{638:(e,t,o)=>{"use strict";o.d(t,{C:()=>i});var n=o(19851);let s="devflow-project-root",r="devflow-active-project-root";function l(e){try{return localStorage.getItem(e)}catch{return null}}function a(e,t){try{null===t?localStorage.removeItem(e):localStorage.setItem(e,t)}catch{}}let i=(0,n.vt)(e=>({selectedNodeId:null,detailTab:"properties",searchQuery:"",projectRoot:l(s),activeProjectRoot:l(r),selectedRunId:null,selectNode:t=>e({selectedNodeId:t}),setDetailTab:t=>e({detailTab:t}),setSearchQuery:t=>e({searchQuery:t}),setProjectRoot:t=>{a(s,t),e({projectRoot:t})},setActiveProjectRoot:t=>{a(r,t),e({activeProjectRoot:t})},setSelectedRunId:t=>e({selectedRunId:t})}))},6248:(e,t,o)=>{"use strict";o.r(t),o.d(t,{default:()=>H});var n=o(54568);o(74471);var s=o(64955),r=o(68728),l=o(7620);function a({children:e}){let[t]=(0,l.useState)(()=>new s.E({defaultOptions:{queries:{staleTime:3e4,retry:1}}}));return(0,n.jsx)(r.Ht,{client:t,children:e})}var i=o(79748),c=o(638),d=o(86914),u=o(64318),m=o(64567);let p={properties:"detail.properties",imports:"detail.imports",history:"detail.history"};function g(){let{t:e}=(0,m.Bd)(),t=(0,c.C)(e=>e.selectedNodeId),o=(0,c.C)(e=>e.detailTab),s=(0,c.C)(e=>e.setDetailTab),{data:r}=(0,d.uU)(),l=r?.nodes.find(e=>e.id===t);return t?(0,n.jsxs)("div",{className:"flex flex-col h-full",children:[(0,n.jsx)("div",{className:"flex border-b border-border",children:Object.keys(p).map(t=>(0,n.jsx)("button",{onClick:()=>s(t),className:(0,u.cn)("flex-1 py-2 text-xs font-medium capitalize",o===t?"border-b-2 border-primary text-primary":"text-muted-foreground"),children:e(p[t])},t))}),(0,n.jsx)("div",{className:"flex-1 p-4 overflow-y-auto",children:l?(0,n.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,n.jsxs)("div",{children:[(0,n.jsxs)("span",{className:"text-muted-foreground",children:[e("detail.name"),":"]})," ",l.name]}),(0,n.jsxs)("div",{children:[(0,n.jsxs)("span",{className:"text-muted-foreground",children:[e("detail.type"),":"]})," ",(0,n.jsx)("span",{className:"capitalize",children:l.type})]}),(0,n.jsxs)("div",{children:[(0,n.jsxs)("span",{className:"text-muted-foreground",children:[e("detail.file"),":"]})," ",(0,n.jsx)("span",{className:"font-mono text-xs",children:l.file})]})]}):(0,n.jsx)("p",{className:"text-muted-foreground text-sm",children:e("detail.notFound")})})]}):(0,n.jsx)("div",{className:"p-4 text-sm text-muted-foreground",children:e("detail.selectNode")})}var f=o(65587),h=o.n(f),v=o(7920),k=o(72076),y=o(22996),x=o(55769),w=o(64265),b=o(69353),R=o(42154),T=o(73599),S=o(78914),j=o(40766),C=o(30774),P=o(60527),A=o(22681),N=o(48056),I=o(37270);let M=[{href:"/",labelKey:"nav.overview",icon:v.A},{href:"/graph",labelKey:"nav.graph",icon:k.A},{href:"/context",labelKey:"nav.context",icon:y.A},{href:"/workflows",labelKey:"nav.workflows",icon:x.A},{href:"/memory",labelKey:"nav.memory",icon:w.A},{href:"/knowledge",labelKey:"nav.knowledge",icon:b.A},{href:"/runs",labelKey:"nav.runs",icon:R.A},{href:"/timeline",labelKey:"nav.timeline",icon:T.A},{href:"/executions",labelKey:"nav.executions",icon:S.A},{href:"/tool-metrics",labelKey:"nav.toolMetrics",icon:j.A},{href:"/accuracy",labelKey:"nav.accuracy",icon:C.A},{href:"/replay",labelKey:"nav.replay",icon:P.A},{href:"/benchmark",labelKey:"nav.benchmark",icon:A.A},{href:"/doctor",labelKey:"nav.doctor",icon:N.A},{href:"/settings",labelKey:"nav.settings",icon:I.A}];function D(){let{t:e,i18n:t}=(0,m.Bd)(),o=(0,i.usePathname)();return(0,n.jsxs)("nav",{className:"flex h-full min-w-max flex-row gap-1 p-2 md:min-w-0 md:flex-col md:p-3",children:[(0,n.jsx)(h(),{href:"/",className:"flex h-9 shrink-0 items-center px-2 text-base font-bold text-primary md:mb-2 md:px-3",children:e("nav.title")}),(0,n.jsx)("div",{className:"flex flex-1 gap-1 md:flex-col",children:M.map(t=>{let s="/"===t.href?"/"===o:o===t.href||o.startsWith(`${t.href}/`);return(0,n.jsxs)(h(),{href:t.href,title:e(t.labelKey),className:(0,u.cn)("flex h-9 shrink-0 items-center gap-3 rounded-md px-2 text-sm transition-colors md:px-3",s?"bg-primary/10 text-primary":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[(0,n.jsx)(t.icon,{className:"h-4 w-4"}),(0,n.jsx)("span",{className:"hidden md:inline",children:e(t.labelKey)})]},t.href)})}),(0,n.jsx)("div",{className:"shrink-0 border-l border-border pl-2 md:mt-auto md:border-l-0 md:border-t md:pl-0 md:pt-3",children:(0,n.jsx)("button",{onClick:()=>{t.changeLanguage("zh"===t.language?"en":"zh")},className:"h-9 w-full rounded-md px-3 text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:e("nav.language")})})]})}function F({nav:e,main:t,detail:o}){return(0,n.jsxs)("div",{className:"flex h-dvh w-full flex-col md:flex-row",children:[(0,n.jsx)("aside",{className:"h-14 shrink-0 overflow-x-auto border-b border-border bg-card md:h-auto md:w-[220px] md:overflow-y-auto md:border-b-0 md:border-r",children:e}),(0,n.jsx)("main",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:t}),o?(0,n.jsx)("aside",{className:"hidden w-[340px] shrink-0 overflow-y-auto border-l border-border bg-card xl:block",children:o}):null]})}function E({children:e}){let t=(0,i.usePathname)(),[o,s]=(0,l.useState)(!1);return((0,l.useEffect)(()=>s(!0),[]),o)?(0,n.jsx)(F,{nav:(0,n.jsx)(D,{}),main:e,detail:"/graph"===t?(0,n.jsx)(g,{}):void 0}):(0,n.jsx)("div",{className:"flex h-dvh items-center justify-center text-sm text-muted-foreground",children:"Loading..."})}var _=o(58202),O=o(43028);let L=JSON.parse('{"nav":{"title":"DevFlow","overview":"Overview","graph":"Graph","context":"Context","workflows":"Workflows","memory":"Memory","benchmark":"Benchmark","knowledge":"Knowledge","runs":"Runs","timeline":"Timeline","executions":"Executions","toolMetrics":"Tool Metrics","accuracy":"Accuracy","replay":"Replay","doctor":"Doctor","settings":"Settings","language":"中文"},"overview":{"title":"Project Overview","project":"Project","noProject":"No project connected","filesIndexed":"Files Indexed","workflows":"Workflows","agentRuns":"Agent Runs","techStack":"Tech Stack","recentRuns":"Recent Agent Runs","noRuns":"No agent runs recorded yet.","agent":"Agent","mode":"Mode","source":"Source","status":"Status","tokens":"Tokens","connectTitle":"Connect Project","connectDescription":"Enter the root path of your project to connect. The server will index and analyze the codebase.","connectPlaceholder":"/path/to/your/project","connecting":"Connecting...","connect":"Connect","connectError":"Failed to connect. Make sure the path exists and is accessible.","architectureLayers":"Architecture Layers","filesCount":"{{count}} files","keyModules":"Key Modules","keyFiles":"Key Files","recommended":"Recommended Next Steps","plugins":"Plugins","queries":"Queries","switchProject":"Switch Project","switchProjectPlaceholder":"Enter project path...","switchProjectConfirm":"Switch","disconnectProject":"Disconnect"},"onboarding":{"title":"Onboarding Pack","empty":"No onboarding pack generated yet","noActiveProject":"No active project","generate":"Generate Onboarding Pack","refresh":"Refresh onboarding pack"},"context":{"title":"Context Builder","placeholder":"Search symbols or ask a question...","build":"Build","building":"Building context...","results":"Results ({{files}} files, ~{{tokens}} tokens)","taskMode":"Task Mode","taskContext":"Task Context","confidenceTokens":"{{confidence}}% confidence \xb7 {{tokens}} tokens","requiredFiles":"Required Files","optionalFiles":"Optional Files","keySymbols":"Key Symbols","riskHints":"Risk Hints","nextActions":"Next Actions","relevanceDirect":"direct","relevanceIndirect":"indirect","levelHigh":"high","levelMedium":"medium","levelLow":"low","wasHelpful":"Was this helpful?","hit":"Hit","partial":"Partial","miss":"Miss","thanks":"Thanks for your feedback!"},"memory":{"title":"Memory","loading":"Loading...","pendingApproval":"Pending Approval","approvedMemories":"Approved Memories","approve":"Approve","reject":"Reject","noMemories":"No memories yet","noMemoriesHint":"Memories help avoid repeating mistakes","confidence":"confidence","original":"Original","yes":"Yes","no":"No","category":{"mcp_correction":"MCP Correction","project_knowledge":"Project Knowledge","failure_lesson":"Failure Lesson"},"searchPlaceholder":"Search memories...","addMemory":"Add Memory","editMemory":"Edit Memory","deleteMemory":"Delete","deleteConfirm":"Delete this memory?","categoryLabel":"Category","content":"Content","scope":"Scope (optional)","cancel":"Cancel","save":"Save"},"workflows":{"title":"Workflow Runs","available":"Available Workflows","steps":"steps","stream":"Stream","closeStream":"Close stream","runHistory":"Run History","runId":"Run ID","started":"Started","noRuns":"No runs yet. Trigger a workflow above."},"benchmark":{"title":"Benchmark","running":"Running...","run":"Run Benchmark","tasks":"tasks","task":"Task","experimentTab":"A/B Benchmark","operationsTab":"Operations","filesTouched":"Files Touched","correctness":"Correctness","regressions":"Regressions Over 10%","baselineCorrectness":"Baseline Correctness","devflowCorrectness":"DevFlow Correctness","baselineTokens":"Baseline Tokens","devflowTokens":"DevFlow Tokens","noReports":"No benchmark reports yet. Run one to get started.","roiTitle":"ROI Dashboard","loading":"Loading...","noData":"No data available. Start using DevFlow to collect telemetry.","overview":"Overview","totalRuns":"Total Runs","completed":"Completed","failed":"Failed","avgDuration":"Avg Duration","avgTokens":"Avg Tokens","firstPassRate":"First Pass Rate","feedbackHitRate":"Feedback Hit Rate","efficiency":"Efficiency","avgTimePerTask":"Avg Time Per Task","avgRetryCount":"Avg Retry Count","tokensSaved":"Tokens Saved","failureBreakdown":"Failure Breakdown","workflowHealth":"Workflow Health","workflow":"Workflow","runs":"Runs","successRate":"Success Rate","pluginEffectiveness":"Plugin Effectiveness","plugin":"Plugin","dailyTrends":"Daily Trends","date":"Date","tokens":"Tokens","failures":"Failures","empty":"No telemetry data yet. Start using DevFlow with an AI agent to collect ROI metrics.","failureCategories":{"context_insufficient":"Context Insufficient","knowledge_missing":"Knowledge Missing","workflow_design_issue":"Workflow Design Issue","tool_error":"Tool Error","agent_override":"Agent Override","unknown":"Unknown"},"seconds":"{{value}}s","period":"{{from}} → {{to}}","experimentSummary":"Experiment Summary","timeSavedRate":"Time Saved","tokenSavedRate":"Token Saved","detailedResults":"Detailed Results","faster":"{{percent}}% faster","baseline":"Baseline","devflow":"DevFlow","noExperimentData":"No experiment data","opsSummary":"Operations Summary","totalRunsCount":"Total Runs","successRatePercent":"Success Rate","avgTokenUsage":"Avg Token Usage","avgDurationTime":"Avg Duration","feedbackHitRatePercent":"Feedback Hit Rate","noOpsData":"No operations data","loadFailed":"Load failed: {{error}}","pluginAnalysis":"Plugin Value Analysis","recommendedInstall":"Recommended to Install","suggestedRemove":"Suggested to Remove","installCount":"Installs","usageRate":"Usage","successRateShort":"Success","tokenImpact":"Token Impact","lastUsed":"Last Used","noPluginData":"No plugin data","recommended":"Recommended","lowEfficiency":"Low Efficiency"},"graph":{"searchPlaceholder":"Search nodes...","filterOnly":"Filter only","highlightAll":"Highlight all"},"detail":{"selectNode":"Select a node to view details","properties":"Properties","imports":"Imports","history":"History","name":"Name","type":"Type","file":"File","notFound":"Node not found"},"knowledge":{"title":"Knowledge Base","sources":"Sources","syncing":"Syncing...","syncAll":"Sync All","loading":"Loading...","noSources":"No knowledge sources. Install a plugin and sync docs.","search":"Search","searchPlaceholder":"Search knowledge...","synced":"Synced","notSynced":"Not synced","last":"Last","sync":"Sync","score":"Score"},"runs":{"title":"Runs","empty":"No runs recorded yet."},"timeline":{"title":"Timeline","runs":"Runs","tokens":"Tokens","llmCalls":"LLM Calls","toolUses":"Tool Uses","completed":"completed","failed":"failed"},"events":{"llmCall":"LLM Call","toolUse":"Tool Use","memoryRead":"Memory Read","memoryWrite":"Memory Write","fileRead":"File Read","fileWrite":"File Write","bashCommand":"Bash","mcpToolCall":"MCP Tool","error":"Error","userInput":"User Input","stepStart":"Step Start","stepEnd":"Step End","empty":"No events recorded for this run.","steps":"Steps","eventCount":"events","selectEvent":"Select an event to view details","eventDetail":"Event Detail","kind":"Kind","step":"Step","duration":"Duration","model":"Model","tokens":"Tokens","tokensInOut":"{{input}} in / {{output}} out","prompt":"Prompt","response":"Response","stdout":"Stdout","stderr":"Stderr","truncated":"Content was truncated"},"runDetail":{"title":"Run Detail","events":"events","llm":"LLM","tokens":"tokens","failureCategory":"Failure Category","failureReason":"Failure Reason","suggestedActions":"Suggested Actions","category":{"context_insufficient":"Context Insufficient","knowledge_missing":"Knowledge Missing","workflow_design_issue":"Workflow Design Issue","tool_error":"Tool Error","agent_override":"Agent Override"}},"plugin":{"title":"Plugin Effectiveness","installCount":"Install Count","activeRate":"Active Rate","successRate":"Success Rate","avgTokenImpact":"Avg Token Impact","recommendInstall":"Recommend Install","recommendOptimize":"Recommend Optimize","recommendRemove":"Recommend Remove"},"executions":{"title":"Skill Executions","loading":"Loading executions...","overallCompliance":"Overall MCP Compliance","totalExecutions":"Total Executions","skillsTracked":"Skills Tracked","skill":"Skill","status":"Status","tools":"Tools","mcpRate":"MCP Rate","duration":"Duration","tokens":"Tokens","empty":"No executions recorded yet","traceTimeline":"Execution Trace","blocked":"Blocked","fallback":"Fallback"},"settings":{"title":"Project Settings","projectInfo":"Project Info","name":"Name","mode":"Mode","plugins":"Plugins","noPlugins":"No plugins installed","telemetry":"Telemetry","totalRuns":"Runs stored","totalTokens":"Total tokens","clearOldRuns":"Clear old runs (30d+)"}}'),K=JSON.parse('{"nav":{"title":"DevFlow","overview":"概览","graph":"图谱","context":"上下文","workflows":"工作流","memory":"记忆","benchmark":"基准测试","knowledge":"知识库","runs":"运行记录","timeline":"时间线","executions":"执行轨迹","toolMetrics":"工具指标","accuracy":"准确率","replay":"回放","doctor":"自检","settings":"设置","language":"EN"},"overview":{"title":"项目概览","project":"项目","noProject":"未连接项目","filesIndexed":"已索引文件","workflows":"工作流","agentRuns":"智能体运行","techStack":"技术栈","recentRuns":"最近运行","noRuns":"暂无运行记录","agent":"智能体","mode":"模式","source":"来源","status":"状态","tokens":"令牌数","connectTitle":"连接项目","connectDescription":"输入项目根路径进行连接。服务端将索引并分析代码库。","connectPlaceholder":"/path/to/your/project","connecting":"连接中...","connect":"连接","connectError":"连接失败,请确认路径存在且可访问。","architectureLayers":"架构分层","filesCount":"{{count}} 个文件","keyModules":"关键模块","keyFiles":"关键文件","recommended":"推荐下一步","plugins":"插件","queries":"推荐查询","switchProject":"切换项目","switchProjectPlaceholder":"输入项目路径...","switchProjectConfirm":"切换","disconnectProject":"断开连接"},"onboarding":{"title":"启动包","empty":"尚未生成启动包","noActiveProject":"未激活项目","generate":"生成启动包","refresh":"刷新启动包"},"context":{"title":"上下文构建器","placeholder":"搜索符号或输入查询...","build":"构建","building":"正在构建上下文...","results":"结果({{files}} 个文件,约 {{tokens}} 个令牌)","taskMode":"任务模式","taskContext":"任务上下文","confidenceTokens":"{{confidence}}% 置信度 \xb7 {{tokens}} 令牌","requiredFiles":"必需文件","optionalFiles":"可选文件","keySymbols":"关键符号","riskHints":"风险提示","nextActions":"下一步操作","relevanceDirect":"直接","relevanceIndirect":"间接","levelHigh":"高","levelMedium":"中","levelLow":"低","wasHelpful":"有帮助吗?","hit":"有用","partial":"部分有用","miss":"无用","thanks":"感谢反馈!"},"memory":{"title":"记忆","loading":"加载中...","pendingApproval":"待审批","approvedMemories":"已批准的记忆","approve":"批准","reject":"拒绝","noMemories":"暂无记忆","noMemoriesHint":"记忆有助于避免重复犯错","confidence":"置信度","original":"原始","yes":"是","no":"否","category":{"mcp_correction":"MCP 纠正","project_knowledge":"项目知识","failure_lesson":"失败教训"},"searchPlaceholder":"搜索记忆...","addMemory":"添加记忆","editMemory":"编辑记忆","deleteMemory":"删除","deleteConfirm":"确定删除这条记忆?","categoryLabel":"分类","content":"内容","scope":"作用域(可选)","cancel":"取消","save":"保存"},"workflows":{"title":"工作流运行","available":"可用工作流","steps":"步骤","stream":"流","closeStream":"关闭流","runHistory":"运行历史","runId":"运行 ID","started":"开始时间","noRuns":"暂无运行,请触发上方工作流"},"benchmark":{"title":"基准测试","running":"运行中...","run":"运行测试","tasks":"任务","task":"任务","experimentTab":"A/B 基准","operationsTab":"运行治理","filesTouched":"涉及文件","correctness":"正确率","regressions":"超过 10% 的回退","baselineCorrectness":"基线正确率","devflowCorrectness":"DevFlow 正确率","baselineTokens":"基线 Token","devflowTokens":"DevFlow Token","noReports":"暂无测试报告,点击运行开始","roiTitle":"ROI 仪表盘","loading":"加载中...","noData":"暂无数据。使用 DevFlow 与 AI Agent 协作以收集 ROI 数据。","overview":"概览","totalRuns":"总运行数","completed":"已完成","failed":"已失败","avgDuration":"平均耗时","avgTokens":"平均令牌","firstPassRate":"首次通过率","feedbackHitRate":"反馈命中率","efficiency":"效率","avgTimePerTask":"平均每任务耗时","avgRetryCount":"平均重试次数","tokensSaved":"节省令牌数","failureBreakdown":"失败分类","workflowHealth":"工作流健康度","workflow":"工作流","runs":"运行数","successRate":"成功率","pluginEffectiveness":"插件有效性","plugin":"插件","dailyTrends":"每日趋势","date":"日期","tokens":"令牌数","failures":"失败数","empty":"暂无遥测数据。使用 DevFlow 与 AI Agent 协作以收集 ROI 指标。","failureCategories":{"context_insufficient":"上下文不足","knowledge_missing":"知识缺失","workflow_design_issue":"工作流设计问题","tool_error":"工具错误","agent_override":"智能体覆盖","unknown":"未知"},"seconds":"{{value}}s","period":"{{from}} → {{to}}","experimentSummary":"实验收益总结","timeSavedRate":"时间节省率","tokenSavedRate":"Token 节省率","detailedResults":"详细结果","faster":"{{percent}}% 更快","baseline":"基线","devflow":"DevFlow","noExperimentData":"暂无实验数据","opsSummary":"运营统计","totalRunsCount":"总运行次数","successRatePercent":"成功率","avgTokenUsage":"平均 Token 使用","avgDurationTime":"平均耗时","feedbackHitRatePercent":"反馈命中率","noOpsData":"暂无运营数据","loadFailed":"加载失败: {{error}}","pluginAnalysis":"插件价值分析","recommendedInstall":"推荐安装","suggestedRemove":"建议移除","installCount":"安装量","usageRate":"使用率","successRateShort":"成功率","tokenImpact":"Token 影响","lastUsed":"最近使用","noPluginData":"暂无插件数据","recommended":"推荐","lowEfficiency":"低效"},"graph":{"searchPlaceholder":"搜索节点...","filterOnly":"仅显示匹配","highlightAll":"高亮全部"},"detail":{"selectNode":"选择一个节点查看详情","properties":"属性","imports":"导入","history":"历史","name":"名称","type":"类型","file":"文件","notFound":"节点未找到"},"knowledge":{"title":"知识库","sources":"数据源","syncing":"同步中...","syncAll":"全部同步","loading":"加载中...","noSources":"暂无知识源,安装插件并同步文档。","search":"搜索","searchPlaceholder":"搜索知识...","synced":"已同步","notSynced":"未同步","last":"最近","sync":"同步","score":"相关性"},"runs":{"title":"运行记录","empty":"暂无运行记录。"},"timeline":{"title":"时间线","runs":"运行数","tokens":"令牌数","llmCalls":"LLM 调用","toolUses":"工具调用","completed":"已完成","failed":"已失败"},"events":{"llmCall":"LLM 调用","toolUse":"工具使用","memoryRead":"读取记忆","memoryWrite":"写入记忆","fileRead":"读取文件","fileWrite":"写入文件","bashCommand":"Bash","mcpToolCall":"MCP 工具","error":"错误","userInput":"用户输入","stepStart":"步骤开始","stepEnd":"步骤结束","empty":"此运行未记录任何事件。","steps":"步骤","eventCount":"个事件","selectEvent":"选择一个事件查看详情","eventDetail":"事件详情","kind":"类型","step":"步骤","duration":"耗时","model":"模型","tokens":"令牌数","tokensInOut":"{{input}} 输入 / {{output}} 输出","prompt":"提示词","response":"响应","stdout":"标准输出","stderr":"标准错误","truncated":"内容已截断"},"runDetail":{"title":"运行详情","events":"个事件","llm":"次 LLM","tokens":"tokens","failureCategory":"失败类别","failureReason":"失败原因","suggestedActions":"建议动作","category":{"context_insufficient":"上下文不足","knowledge_missing":"知识缺失","workflow_design_issue":"工作流设计问题","tool_error":"工具错误","agent_override":"Agent 覆盖"}},"plugin":{"title":"插件效果","installCount":"安装量","activeRate":"活跃率","successRate":"成功率","avgTokenImpact":"平均 Token 影响","recommendInstall":"推荐安装","recommendOptimize":"建议优化","recommendRemove":"建议淘汰"},"executions":{"title":"技能执行记录","loading":"加载执行记录中...","overallCompliance":"总体 MCP 合规率","totalExecutions":"总执行次数","skillsTracked":"追踪技能数","skill":"技能","status":"状态","tools":"工具数","mcpRate":"MCP 比率","duration":"耗时","tokens":"Token","empty":"暂无执行记录","traceTimeline":"执行时间线","blocked":"已拦截","fallback":"降级"},"settings":{"title":"项目设置","projectInfo":"项目信息","name":"名称","mode":"模式","plugins":"插件","noPlugins":"未安装插件","telemetry":"遥测","totalRuns":"运行数","totalTokens":"总令牌数","clearOldRuns":"清理旧记录(30天前)"}}');function H({children:e}){return(0,n.jsx)("html",{lang:"zh",className:"dark",children:(0,n.jsx)("body",{className:"h-dvh overflow-hidden",children:(0,n.jsx)(a,{children:(0,n.jsx)(E,{children:e})})})})}_.Ay.use(O.A).use(m.r9).init({resources:{en:{translation:L},zh:{translation:K}},fallbackLng:"zh",detection:{order:["localStorage","navigator"],caches:["localStorage"]},interpolation:{escapeValue:!1}})},11752:(e,t,o)=>{Promise.resolve().then(o.bind(o,6248))},64318:(e,t,o)=>{"use strict";o.d(t,{cn:()=>r});var n=o(9917),s=o(2809);function r(...e){return(0,s.QP)((0,n.$)(e))}},74471:()=>{}},e=>{e.O(0,[306,820,567,993,240,722,914,587,968,358],()=>e(e.s=11752)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[620],{21345:(e,t,s)=>{"use strict";s.d(t,{Cf:()=>i,L3:()=>c,c7:()=>d,lG:()=>n});var a=s(54568);s(7620);var r=s(25296);let n=r.bL;r.l9;let l=r.ZL;function o({className:e,...t}){return(0,a.jsx)(r.hJ,{className:`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 ${e??""}`,...t})}function i({className:e,children:t,...s}){return(0,a.jsxs)(l,{children:[(0,a.jsx)(o,{}),(0,a.jsx)(r.UC,{className:`fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg ${e??""}`,...s,children:t})]})}function d({className:e,...t}){return(0,a.jsx)("div",{className:`flex flex-col space-y-1.5 text-center sm:text-left ${e??""}`,...t})}function c({className:e,...t}){return(0,a.jsx)(r.hE,{className:`text-lg font-semibold leading-none tracking-tight ${e??""}`,...t})}r.bm},23623:(e,t,s)=>{"use strict";s.d(t,{p:()=>l});var a=s(54568),r=s(7620),n=s(64318);let l=r.forwardRef(({className:e,type:t,...s},r)=>(0,a.jsx)("input",{type:t,className:(0,n.cn)("flex h-9 w-full rounded-md border border-input bg-background px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),ref:r,...s}));l.displayName="Input"},27859:(e,t,s)=>{Promise.resolve().then(s.bind(s,91788))},28465:(e,t,s)=>{"use strict";s.d(t,{$:()=>o});var a=s(54568),r=s(7620),n=s(64318);let l=(0,s(91397).F)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),o=r.forwardRef(({className:e,variant:t,size:s,...r},o)=>(0,a.jsx)("button",{className:(0,n.cn)(l({variant:t,size:s,className:e})),ref:o,...r}));o.displayName="Button"},32715:(e,t,s)=>{"use strict";s.d(t,{h:()=>o,v:()=>i});var a=s(7620),r=s(68728),n=s(98368);async function l(e,t,s){let a=await fetch(`${(0,n.Ez)()}/api${e}`,{headers:(0,n.PK)(),credentials:"same-origin",signal:t});if(!a.ok||!a.body)throw Error(`SSE ${a.status}`);let r=a.body.getReader(),l=new TextDecoder,o="";for(;!t.aborted;){let{value:e,done:t}=await r.read();if(t)break;let a=(o+=l.decode(e,{stream:!0})).split("\n\n");for(let e of(o=a.pop()??"",a)){let t="message",a=[];for(let s of e.split("\n"))s.startsWith("event:")&&(t=s.slice(6).trim()),s.startsWith("data:")&&a.push(s.slice(5).trim());if(0!==a.length)try{s({type:t,data:JSON.parse(a.join("\n"))})}catch{}}}}function o(e){let[t,s]=(0,a.useState)([]);return(0,a.useEffect)(()=>{if(!e)return;let t=new AbortController;return l(`/workflows/runs/${encodeURIComponent(e)}/stream`,t.signal,e=>s(t=>[...t,e])).catch(()=>void 0),()=>t.abort()},[e]),{events:t,clear:(0,a.useCallback)(()=>s([]),[])}}function i(e,t){let s=(0,r.jE)(),n=JSON.stringify(t);(0,a.useEffect)(()=>{let t=new AbortController,a=JSON.parse(n);return l(`/live/stream?channels=${encodeURIComponent(e)}`,t.signal,t=>{if("refresh"===t.type&&t.data.channel===e)for(let e of a)s.invalidateQueries({queryKey:e})}).catch(()=>void 0),()=>t.abort()},[e,s,n])}},64318:(e,t,s)=>{"use strict";s.d(t,{cn:()=>n});var a=s(9917),r=s(2809);function n(...e){return(0,r.QP)((0,a.$)(e))}},89531:(e,t,s)=>{"use strict";s.d(t,{Wu:()=>d,ZB:()=>i,Zp:()=>l,aR:()=>o});var a=s(54568),r=s(7620),n=s(64318);let l=r.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,n.cn)("rounded-lg border border-border bg-card text-card-foreground",e),...t}));l.displayName="Card";let o=r.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,n.cn)("flex flex-col space-y-1.5 p-4",e),...t}));o.displayName="CardHeader";let i=r.forwardRef(({className:e,...t},s)=>(0,a.jsx)("h3",{ref:s,className:(0,n.cn)("text-sm font-semibold leading-none tracking-tight",e),...t}));i.displayName="CardTitle";let d=r.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,n.cn)("p-4 pt-0",e),...t}));d.displayName="CardContent"},91788:(e,t,s)=>{"use strict";s.d(t,{MemoryPanel:()=>g});var a=s(54568),r=s(7620),n=s(794),l=s(44968),o=s(86914),i=s(89531),d=s(28465),c=s(23623),m=s(64567),u=s(32715),f=s(21345);let x=["semantic","procedural","episodic","failure_lesson"];function p({open:e,onOpenChange:t,mode:s,defaultValues:n}){let{t:l}=(0,m.Bd)(),i=(0,o.Kg)(),c=(0,o.I8)(),[u,h]=(0,r.useState)(n?.category??"semantic"),[g,y]=(0,r.useState)(n?.content??""),[v,j]=(0,r.useState)(n?.scope??"");return(0,r.useEffect)(()=>{e&&(h(n?.category??"semantic"),y(n?.content??""),j(n?.scope??""))},[e,n]),(0,a.jsx)(f.lG,{open:e,onOpenChange:t,children:(0,a.jsxs)(f.Cf,{children:[(0,a.jsx)(f.c7,{children:(0,a.jsx)(f.L3,{children:"add"===s?l("memory.addMemory"):l("memory.editMemory")})}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-sm font-medium",children:l("memory.categoryLabel")}),(0,a.jsx)("select",{className:"w-full mt-1 rounded-md border bg-background px-3 py-2 text-sm",value:u,onChange:e=>h(e.target.value),children:x.map(e=>{let t,s;return(0,a.jsx)("option",{value:e,children:(s=l(t=`memory.category.${e}`))===t?e:s},e)})})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-sm font-medium",children:l("memory.content")}),(0,a.jsx)("textarea",{className:"w-full mt-1 rounded-md border bg-background px-3 py-2 text-sm min-h-[100px]",value:g,onChange:e=>y(e.target.value)})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-sm font-medium",children:l("memory.scope")}),(0,a.jsx)("input",{className:"w-full mt-1 rounded-md border bg-background px-3 py-2 text-sm",value:v,onChange:e=>j(e.target.value)})]}),(0,a.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,a.jsx)(d.$,{variant:"outline",onClick:()=>t(!1),children:l("memory.cancel")}),(0,a.jsx)(d.$,{onClick:()=>{g.trim()&&("add"===s?i.mutate({category:u,content:g.trim(),scope:v.trim()||void 0}):n?.id&&c.mutate({id:n.id,updates:{content:g.trim()}}),t(!1))},disabled:!g.trim(),children:l("memory.save")})]})]})]})})}let h=["all","failure_lesson","semantic","procedural","episodic"];function g(){(0,u.v)("memory",[["memory"],["memory-candidates"]]);let{t:e}=(0,m.Bd)(),{data:t}=(0,o.PA)(),s=(0,o.qV)(),f=(0,o.Oq)(),x=(0,o.Ko)(),g=function(){let{t:e}=(0,m.Bd)();return t=>{let s=`memory.category.${t}`,a=e(s);return a===s?t:a}}(),[y,v]=(0,r.useState)(""),{data:j}=(0,o.$s)(y),[b,N]=(0,r.useState)(!1),[w,C]=(0,r.useState)(),[k,$]=(0,r.useState)("all"),z=t?.memories?.filter(e=>"approved"===e.status)??[],S=t?.memories?.filter(e=>"pending"===e.status)??[],R="all"===k?z:z.filter(e=>e.category===k),E="all"===k?S:S.filter(e=>e.category===k),M=(0,r.useMemo)(()=>{let e=new Map;for(let t of E){let s=e.get(t.category)??[];s.push(t),e.set(t.category,s)}return[...e.entries()].sort(([e],[t])=>"failure_lesson"===e?-1:"failure_lesson"===t?1:e.localeCompare(t))},[E]),_=y&&j?j:R;return t?(0,a.jsxs)("div",{className:"p-6 space-y-4 h-full overflow-y-auto",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("h2",{className:"text-2xl font-bold",children:e("memory.title")}),(0,a.jsxs)(d.$,{size:"sm",onClick:()=>{C(void 0),N(!0)},children:["+ ",e("memory.addMemory")]})]}),(0,a.jsx)("div",{className:"relative",children:(0,a.jsx)(c.p,{placeholder:e("memory.searchPlaceholder"),value:y,onChange:e=>v(e.target.value)})}),!y&&(0,a.jsx)("div",{className:"flex gap-2 flex-wrap",children:h.map(t=>(0,a.jsx)(d.$,{variant:k===t?"default":"outline",size:"sm",onClick:()=>$(t),children:"all"===t?e("memory.allCategories","All"):g(t)},t))}),!y&&E.length>0&&(0,a.jsxs)(i.Zp,{children:[(0,a.jsx)(i.aR,{children:(0,a.jsxs)(i.ZB,{children:[e("memory.pendingApproval")," (",E.length,")"]})}),(0,a.jsx)(i.Wu,{children:(0,a.jsx)("div",{className:"space-y-4",children:M.map(([t,r])=>(0,a.jsxs)("div",{children:[(0,a.jsx)("h4",{className:"text-xs font-semibold text-muted-foreground uppercase mb-2",children:g(t)}),(0,a.jsx)("div",{className:"space-y-2",children:r.map(t=>(0,a.jsxs)("div",{className:"flex items-start justify-between p-2 rounded bg-secondary/50",children:[(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("p",{className:"text-sm font-medium truncate",children:t.content}),(0,a.jsxs)("p",{className:"text-xs text-muted-foreground",children:[e("memory.confidence"),": ",t.confidence]})]}),(0,a.jsxs)("div",{className:"flex gap-1 ml-2",children:[(0,a.jsx)(d.$,{size:"sm",variant:"outline",onClick:()=>s.mutate(t.id),children:e("memory.approve")}),(0,a.jsx)(d.$,{size:"sm",variant:"ghost",onClick:()=>f.mutate(t.id),children:e("memory.reject")})]})]},t.id))})]},t))})})]}),(0,a.jsxs)(i.Zp,{children:[(0,a.jsx)(i.aR,{children:(0,a.jsx)(i.ZB,{children:y?`${j?.length??0} results`:`${e("memory.approvedMemories")} (${R.length})`})}),(0,a.jsx)(i.Wu,{children:0===_.length?(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center py-8 border border-dashed border-border rounded-lg text-center",children:[(0,a.jsx)("p",{className:"text-muted-foreground text-sm font-medium",children:e("memory.noMemories")}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs mt-1",children:e("memory.noMemoriesHint")})]}):(0,a.jsx)("div",{className:"space-y-2",children:_.map(t=>(0,a.jsxs)("div",{className:"p-2 rounded bg-secondary/50 text-sm",children:[(0,a.jsxs)("div",{className:"flex justify-between items-start",children:[(0,a.jsx)("span",{className:"flex-1",children:t.content}),(0,a.jsxs)("div",{className:"flex items-center gap-1 ml-2",children:[(0,a.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:g(t.category)}),(0,a.jsx)(d.$,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0",onClick:()=>{C({id:t.id,category:t.category,content:t.content,scope:t.scope??""}),N(!0)},title:e("memory.editMemory"),children:(0,a.jsx)(n.A,{className:"h-3.5 w-3.5"})}),(0,a.jsx)(d.$,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0 text-destructive",onClick:()=>{window.confirm(e("memory.deleteConfirm"))&&x.mutate(t.id)},title:e("memory.deleteMemory"),children:(0,a.jsx)(l.A,{className:"h-3.5 w-3.5"})})]})]}),t.originalText&&(0,a.jsxs)("p",{className:"text-xs text-muted-foreground mt-1",children:[e("memory.original"),": ",t.originalText]})]},t.id))})})]}),(0,a.jsx)(p,{open:b,onOpenChange:N,mode:w?"edit":"add",defaultValues:w})]}):(0,a.jsx)("div",{className:"p-6 text-muted-foreground",children:e("memory.loading")})}}},e=>{e.O(0,[820,567,993,90,136,914,587,968,358],()=>e(e.s=27859)),_N_E=e.O()}]);
|