pi-yun 0.2.4 → 0.2.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.
Files changed (150) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +14 -14
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +4 -4
  5. package/.next/required-server-files.js +1 -1
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/_global-error.html +1 -1
  9. package/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/.next/server/app/_not-found/page.js +1 -1
  14. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/_not-found.html +1 -1
  16. package/.next/server/app/_not-found.rsc +6 -6
  17. package/.next/server/app/_not-found.segments/_full.segment.rsc +6 -6
  18. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +6 -6
  19. package/.next/server/app/_not-found.segments/_tree.segment.rsc +4 -4
  20. package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
  21. package/.next/server/app/api/agent/[id]/events/route.js +1 -1
  22. package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -1
  23. package/.next/server/app/api/agent/[id]/lease/route.js +1 -1
  24. package/.next/server/app/api/agent/[id]/lease/route.js.nft.json +1 -1
  25. package/.next/server/app/api/agent/[id]/route.js +1 -1
  26. package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -1
  27. package/.next/server/app/api/agent/debug/route.js +1 -1
  28. package/.next/server/app/api/agent/debug/route.js.nft.json +1 -1
  29. package/.next/server/app/api/agent/new/route.js +1 -1
  30. package/.next/server/app/api/agent/new/route.js.nft.json +1 -1
  31. package/.next/server/app/api/agent/running/route.js +1 -1
  32. package/.next/server/app/api/agent/running/route.js.nft.json +1 -1
  33. package/.next/server/app/api/app-update/route.js +1 -1
  34. package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
  35. package/.next/server/app/api/auth/providers/route.js +1 -1
  36. package/.next/server/app/api/cwd/browse/route.js.nft.json +2 -2
  37. package/.next/server/app/api/cwd/validate/route.js +1 -1
  38. package/.next/server/app/api/cwd/validate/route.js.nft.json +2 -2
  39. package/.next/server/app/api/file-index/route.js +1 -1
  40. package/.next/server/app/api/files/[...path]/route.js +1 -1
  41. package/.next/server/app/api/git/diff/route.js +1 -1
  42. package/.next/server/app/api/git/status/route.js +1 -1
  43. package/.next/server/app/api/mcp/route.js +1 -1
  44. package/.next/server/app/api/mcp/sign-in/route.js +1 -1
  45. package/.next/server/app/api/mcp/test/route.js +1 -1
  46. package/.next/server/app/api/models/default/route.js +1 -1
  47. package/.next/server/app/api/models/default/route.js.nft.json +2 -2
  48. package/.next/server/app/api/models/enabled/route.js +1 -1
  49. package/.next/server/app/api/models/enabled/route.js.nft.json +2 -2
  50. package/.next/server/app/api/models/refresh/route.js +1 -1
  51. package/.next/server/app/api/models/route.js +1 -1
  52. package/.next/server/app/api/open-in-explorer/route.js +1 -1
  53. package/.next/server/app/api/plugins/check/route.js +1 -1
  54. package/.next/server/app/api/plugins/route.js +1 -1
  55. package/.next/server/app/api/project-trust/route.js +1 -1
  56. package/.next/server/app/api/project-trust/route.js.nft.json +1 -1
  57. package/.next/server/app/api/push/config/route.js +1 -1
  58. package/.next/server/app/api/push/subscribe/route.js +1 -1
  59. package/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -1
  60. package/.next/server/app/api/sessions/[id]/auto-name/route.js.nft.json +1 -1
  61. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  62. package/.next/server/app/api/sessions/[id]/context/route.js.nft.json +1 -1
  63. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
  64. package/.next/server/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route.js +1 -1
  65. package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
  66. package/.next/server/app/api/sessions/[id]/fork/route.js +1 -1
  67. package/.next/server/app/api/sessions/[id]/fork/route.js.nft.json +1 -1
  68. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  69. package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  70. package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
  71. package/.next/server/app/api/sessions/[id]/state/route.js.nft.json +1 -1
  72. package/.next/server/app/api/sessions/delete/route.js +1 -1
  73. package/.next/server/app/api/sessions/delete/route.js.nft.json +1 -1
  74. package/.next/server/app/api/sessions/route.js +1 -1
  75. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  76. package/.next/server/app/api/sessions/search/route.js +1 -1
  77. package/.next/server/app/api/sessions/stats/route.js +1 -1
  78. package/.next/server/app/api/sessions/stats/route.js.nft.json +1 -1
  79. package/.next/server/app/api/skills/check/route.js +1 -1
  80. package/.next/server/app/api/skills/content/route.js +1 -1
  81. package/.next/server/app/api/skills/install/route.js +1 -1
  82. package/.next/server/app/api/skills/route.js +1 -1
  83. package/.next/server/app/api/skills/update/route.js +1 -1
  84. package/.next/server/app/api/subagents/[id]/route.js +1 -1
  85. package/.next/server/app/api/subagents/[id]/route.js.nft.json +1 -1
  86. package/.next/server/app/api/subagents/profiles/route.js +1 -1
  87. package/.next/server/app/api/terminal/[id]/events/route.js +3 -3
  88. package/.next/server/app/api/terminal/[id]/events/route.js.nft.json +1 -1
  89. package/.next/server/app/api/terminal/[id]/route.js +1 -1
  90. package/.next/server/app/api/terminal/[id]/route.js.nft.json +1 -1
  91. package/.next/server/app/api/terminal/route.js +1 -1
  92. package/.next/server/app/api/worktrees/route.js +1 -1
  93. package/.next/server/app/index.html +1 -1
  94. package/.next/server/app/index.rsc +9 -9
  95. package/.next/server/app/index.segments/__PAGE__.segment.rsc +8 -8
  96. package/.next/server/app/index.segments/_full.segment.rsc +9 -9
  97. package/.next/server/app/index.segments/_tree.segment.rsc +5 -5
  98. package/.next/server/app/login/page.js +1 -1
  99. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  100. package/.next/server/app/login.html +1 -1
  101. package/.next/server/app/login.rsc +7 -7
  102. package/.next/server/app/login.segments/_full.segment.rsc +7 -7
  103. package/.next/server/app/login.segments/_tree.segment.rsc +4 -4
  104. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +11 -10
  105. package/.next/server/app/manifest.webmanifest/route.js +1 -17
  106. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  107. package/.next/server/app/page.js +87 -16
  108. package/.next/server/app/page_client-reference-manifest.js +1 -1
  109. package/.next/server/app/pet-preview/page.js +1 -1
  110. package/.next/server/app/pet-preview/page_client-reference-manifest.js +1 -1
  111. package/.next/server/app/pet-preview.html +1 -1
  112. package/.next/server/app/pet-preview.rsc +7 -7
  113. package/.next/server/app/pet-preview.segments/_full.segment.rsc +7 -7
  114. package/.next/server/app/pet-preview.segments/_tree.segment.rsc +4 -4
  115. package/.next/server/app/pet-preview.segments/pet-preview/__PAGE__.segment.rsc +6 -6
  116. package/.next/server/app-paths-manifest.json +14 -14
  117. package/.next/server/chunks/1906.js +1 -1
  118. package/.next/server/chunks/2243.js +1 -1
  119. package/.next/server/chunks/2498.js +1 -1
  120. package/.next/server/chunks/27.js +1 -1
  121. package/.next/server/chunks/3757.js +1 -1
  122. package/.next/server/chunks/3824.js +1 -1
  123. package/.next/server/chunks/5138.js +1 -0
  124. package/.next/server/chunks/5582.js +2 -2
  125. package/.next/server/chunks/6429.js +8 -6
  126. package/.next/server/chunks/8177.js +1 -1
  127. package/.next/server/middleware-build-manifest.js +1 -1
  128. package/.next/server/pages/404.html +1 -1
  129. package/.next/server/pages/500.html +1 -1
  130. package/.next/static/chunks/1278-d14efc5351094e2a.js +1 -0
  131. package/.next/static/chunks/app/{layout-fd458f024053777b.js → layout-887864247723a15f.js} +1 -1
  132. package/.next/static/chunks/app/page-5fe4e4e656618c55.js +1093 -0
  133. package/.next/static/css/08eddaaa4f97d65e.css +1 -0
  134. package/.next/static/css/2f63bdc85a747c1b.css +1 -0
  135. package/.next/static/css/{edd81c2e355e9677.css → 3540eb37e32475c8.css} +1 -1
  136. package/.next/static/css/948bdf99ac6477ce.css +1 -0
  137. package/.next/trace +14 -8
  138. package/.next/trace-build +1 -1
  139. package/.next/types/app/manifest.webmanifest/route.ts +353 -0
  140. package/.next/types/routes.d.ts +2 -1
  141. package/.next/types/validator.ts +9 -0
  142. package/README.md +4 -0
  143. package/package.json +13 -11
  144. package/.next/static/chunks/1278-924fb78593d04d55.js +0 -1
  145. package/.next/static/chunks/app/page-d2c786f63d634b03.js +0 -1022
  146. package/.next/static/css/0e52953f40c91a8b.css +0 -1
  147. package/.next/static/css/11d43ff6e42cbb72.css +0 -1
  148. package/.next/static/css/bb657b16840154d3.css +0 -1
  149. /package/.next/static/{vJWDpddtTSWk_gKxyuTL7 → EemFyRH2znEKEODTd_e9W}/_buildManifest.js +0 -0
  150. /package/.next/static/{vJWDpddtTSWk_gKxyuTL7 → EemFyRH2znEKEODTd_e9W}/_ssgManifest.js +0 -0
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-webpack","duration":190069564,"timestamp":2154868451,"id":14,"parentId":1,"tags":{},"startTime":1793411665144,"traceId":"3c396bcea130e180"},{"name":"run-typescript","duration":30994652,"timestamp":2344952167,"id":838,"parentId":1,"tags":{},"startTime":1793411855230,"traceId":"3c396bcea130e180"},{"name":"static-check","duration":9924915,"timestamp":2376080174,"id":841,"parentId":1,"tags":{},"startTime":1793411886357,"traceId":"3c396bcea130e180"},{"name":"static-generation","duration":7034345,"timestamp":2386182852,"id":997,"parentId":1,"tags":{},"startTime":1793411896460,"traceId":"3c396bcea130e180"},{"name":"collect-build-traces","duration":35808098,"timestamp":2386009543,"id":994,"parentId":1,"tags":{},"startTime":1793411896287,"traceId":"3c396bcea130e180"},{"name":"telemetry-flush","duration":51,"timestamp":2421825147,"id":1006,"parentId":1,"tags":{},"startTime":1793411932103,"traceId":"3c396bcea130e180"},{"name":"next-build","duration":267904555,"timestamp":2153920648,"id":1,"tags":{"buildMode":"default","version":"16.3.8","bundler":"webpack","has-custom-webpack-config":"true","use-build-worker":"false"},"startTime":1793411664196,"traceId":"3c396bcea130e180"}]
1
+ [{"name":"run-webpack","duration":211418081,"timestamp":45137904727,"id":14,"parentId":1,"tags":{},"startTime":1793668565431,"traceId":"36c6f2dfac846054"},{"name":"run-typescript","duration":33335134,"timestamp":45349538472,"id":1379,"parentId":1,"tags":{},"startTime":1793668777065,"traceId":"36c6f2dfac846054"},{"name":"static-check","duration":16643438,"timestamp":45383025512,"id":1382,"parentId":1,"tags":{},"startTime":1793668810552,"traceId":"36c6f2dfac846054"},{"name":"static-generation","duration":6521090,"timestamp":45399823999,"id":1538,"parentId":1,"tags":{},"startTime":1793668827351,"traceId":"36c6f2dfac846054"},{"name":"collect-build-traces","duration":36776375,"timestamp":45399673710,"id":1535,"parentId":1,"tags":{},"startTime":1793668827200,"traceId":"36c6f2dfac846054"},{"name":"telemetry-flush","duration":63,"timestamp":45436458430,"id":1547,"parentId":1,"tags":{},"startTime":1793668863985,"traceId":"36c6f2dfac846054"},{"name":"next-build","duration":301332646,"timestamp":45135125854,"id":1,"tags":{"buildMode":"default","version":"16.3.8","bundler":"webpack","has-custom-webpack-config":"true","use-build-worker":"false"},"startTime":1793668562653,"traceId":"36c6f2dfac846054"}]
@@ -0,0 +1,353 @@
1
+ // File: D:\yun\pi-web-yun\app\manifest.webmanifest\route.ts
2
+ import * as entry from '../../../../app/manifest.webmanifest/route.js'
3
+ import type { NextRequest } from 'next/server.js'
4
+
5
+ import type { InstantConfigForTypeCheckInternal, Prefetch } from 'next/dist/build/segment-config/app/app-segment-config.js'
6
+
7
+ type TEntry = typeof import('../../../../app/manifest.webmanifest/route.js')
8
+
9
+ type SegmentParams<T extends Object = any> = T extends Record<string, any>
10
+ ? { [K in keyof T]: T[K] extends string ? string | string[] | undefined : never }
11
+ : T
12
+
13
+ // Check that the entry is a valid entry
14
+ checkFields<Diff<{
15
+ GET?: Function
16
+ HEAD?: Function
17
+ OPTIONS?: Function
18
+ POST?: Function
19
+ PUT?: Function
20
+ DELETE?: Function
21
+ PATCH?: Function
22
+ config?: {}
23
+ generateStaticParams?: Function
24
+ instant?: InstantConfigForTypeCheckInternal
25
+ prefetch?: Prefetch
26
+ unstable_dynamicStaleTime?: number
27
+ revalidate?: RevalidateRange<TEntry> | false
28
+ dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static'
29
+ dynamicParams?: boolean
30
+ fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache'
31
+ /** @deprecated The `preferredRegion` config is deprecated. Remove this export. */
32
+ preferredRegion?: 'auto' | 'global' | 'home' | string | string[]
33
+ runtime?: 'nodejs' | 'experimental-edge' | 'edge'
34
+ maxDuration?: number
35
+
36
+ }, TEntry, ''>>()
37
+
38
+ type RouteContext = { params: Promise<SegmentParams> }
39
+ // Check the prop type of the entry function
40
+ if ('GET' in entry) {
41
+ checkFields<
42
+ Diff<
43
+ ParamCheck<Request | NextRequest>,
44
+ {
45
+ __tag__: 'GET'
46
+ __param_position__: 'first'
47
+ __param_type__: FirstArg<MaybeField<TEntry, 'GET'>>
48
+ },
49
+ 'GET'
50
+ >
51
+ >()
52
+ checkFields<
53
+ Diff<
54
+ ParamCheck<RouteContext>,
55
+ {
56
+ __tag__: 'GET'
57
+ __param_position__: 'second'
58
+ __param_type__: SecondArg<MaybeField<TEntry, 'GET'>>
59
+ },
60
+ 'GET'
61
+ >
62
+ >()
63
+
64
+ checkFields<
65
+ Diff<
66
+ {
67
+ __tag__: 'GET',
68
+ __return_type__: Response | void | never | Promise<Response | void | never>
69
+ },
70
+ {
71
+ __tag__: 'GET',
72
+ __return_type__: ReturnType<MaybeField<TEntry, 'GET'>>
73
+ },
74
+ 'GET'
75
+ >
76
+ >()
77
+ }
78
+ // Check the prop type of the entry function
79
+ if ('HEAD' in entry) {
80
+ checkFields<
81
+ Diff<
82
+ ParamCheck<Request | NextRequest>,
83
+ {
84
+ __tag__: 'HEAD'
85
+ __param_position__: 'first'
86
+ __param_type__: FirstArg<MaybeField<TEntry, 'HEAD'>>
87
+ },
88
+ 'HEAD'
89
+ >
90
+ >()
91
+ checkFields<
92
+ Diff<
93
+ ParamCheck<RouteContext>,
94
+ {
95
+ __tag__: 'HEAD'
96
+ __param_position__: 'second'
97
+ __param_type__: SecondArg<MaybeField<TEntry, 'HEAD'>>
98
+ },
99
+ 'HEAD'
100
+ >
101
+ >()
102
+
103
+ checkFields<
104
+ Diff<
105
+ {
106
+ __tag__: 'HEAD',
107
+ __return_type__: Response | void | never | Promise<Response | void | never>
108
+ },
109
+ {
110
+ __tag__: 'HEAD',
111
+ __return_type__: ReturnType<MaybeField<TEntry, 'HEAD'>>
112
+ },
113
+ 'HEAD'
114
+ >
115
+ >()
116
+ }
117
+ // Check the prop type of the entry function
118
+ if ('OPTIONS' in entry) {
119
+ checkFields<
120
+ Diff<
121
+ ParamCheck<Request | NextRequest>,
122
+ {
123
+ __tag__: 'OPTIONS'
124
+ __param_position__: 'first'
125
+ __param_type__: FirstArg<MaybeField<TEntry, 'OPTIONS'>>
126
+ },
127
+ 'OPTIONS'
128
+ >
129
+ >()
130
+ checkFields<
131
+ Diff<
132
+ ParamCheck<RouteContext>,
133
+ {
134
+ __tag__: 'OPTIONS'
135
+ __param_position__: 'second'
136
+ __param_type__: SecondArg<MaybeField<TEntry, 'OPTIONS'>>
137
+ },
138
+ 'OPTIONS'
139
+ >
140
+ >()
141
+
142
+ checkFields<
143
+ Diff<
144
+ {
145
+ __tag__: 'OPTIONS',
146
+ __return_type__: Response | void | never | Promise<Response | void | never>
147
+ },
148
+ {
149
+ __tag__: 'OPTIONS',
150
+ __return_type__: ReturnType<MaybeField<TEntry, 'OPTIONS'>>
151
+ },
152
+ 'OPTIONS'
153
+ >
154
+ >()
155
+ }
156
+ // Check the prop type of the entry function
157
+ if ('POST' in entry) {
158
+ checkFields<
159
+ Diff<
160
+ ParamCheck<Request | NextRequest>,
161
+ {
162
+ __tag__: 'POST'
163
+ __param_position__: 'first'
164
+ __param_type__: FirstArg<MaybeField<TEntry, 'POST'>>
165
+ },
166
+ 'POST'
167
+ >
168
+ >()
169
+ checkFields<
170
+ Diff<
171
+ ParamCheck<RouteContext>,
172
+ {
173
+ __tag__: 'POST'
174
+ __param_position__: 'second'
175
+ __param_type__: SecondArg<MaybeField<TEntry, 'POST'>>
176
+ },
177
+ 'POST'
178
+ >
179
+ >()
180
+
181
+ checkFields<
182
+ Diff<
183
+ {
184
+ __tag__: 'POST',
185
+ __return_type__: Response | void | never | Promise<Response | void | never>
186
+ },
187
+ {
188
+ __tag__: 'POST',
189
+ __return_type__: ReturnType<MaybeField<TEntry, 'POST'>>
190
+ },
191
+ 'POST'
192
+ >
193
+ >()
194
+ }
195
+ // Check the prop type of the entry function
196
+ if ('PUT' in entry) {
197
+ checkFields<
198
+ Diff<
199
+ ParamCheck<Request | NextRequest>,
200
+ {
201
+ __tag__: 'PUT'
202
+ __param_position__: 'first'
203
+ __param_type__: FirstArg<MaybeField<TEntry, 'PUT'>>
204
+ },
205
+ 'PUT'
206
+ >
207
+ >()
208
+ checkFields<
209
+ Diff<
210
+ ParamCheck<RouteContext>,
211
+ {
212
+ __tag__: 'PUT'
213
+ __param_position__: 'second'
214
+ __param_type__: SecondArg<MaybeField<TEntry, 'PUT'>>
215
+ },
216
+ 'PUT'
217
+ >
218
+ >()
219
+
220
+ checkFields<
221
+ Diff<
222
+ {
223
+ __tag__: 'PUT',
224
+ __return_type__: Response | void | never | Promise<Response | void | never>
225
+ },
226
+ {
227
+ __tag__: 'PUT',
228
+ __return_type__: ReturnType<MaybeField<TEntry, 'PUT'>>
229
+ },
230
+ 'PUT'
231
+ >
232
+ >()
233
+ }
234
+ // Check the prop type of the entry function
235
+ if ('DELETE' in entry) {
236
+ checkFields<
237
+ Diff<
238
+ ParamCheck<Request | NextRequest>,
239
+ {
240
+ __tag__: 'DELETE'
241
+ __param_position__: 'first'
242
+ __param_type__: FirstArg<MaybeField<TEntry, 'DELETE'>>
243
+ },
244
+ 'DELETE'
245
+ >
246
+ >()
247
+ checkFields<
248
+ Diff<
249
+ ParamCheck<RouteContext>,
250
+ {
251
+ __tag__: 'DELETE'
252
+ __param_position__: 'second'
253
+ __param_type__: SecondArg<MaybeField<TEntry, 'DELETE'>>
254
+ },
255
+ 'DELETE'
256
+ >
257
+ >()
258
+
259
+ checkFields<
260
+ Diff<
261
+ {
262
+ __tag__: 'DELETE',
263
+ __return_type__: Response | void | never | Promise<Response | void | never>
264
+ },
265
+ {
266
+ __tag__: 'DELETE',
267
+ __return_type__: ReturnType<MaybeField<TEntry, 'DELETE'>>
268
+ },
269
+ 'DELETE'
270
+ >
271
+ >()
272
+ }
273
+ // Check the prop type of the entry function
274
+ if ('PATCH' in entry) {
275
+ checkFields<
276
+ Diff<
277
+ ParamCheck<Request | NextRequest>,
278
+ {
279
+ __tag__: 'PATCH'
280
+ __param_position__: 'first'
281
+ __param_type__: FirstArg<MaybeField<TEntry, 'PATCH'>>
282
+ },
283
+ 'PATCH'
284
+ >
285
+ >()
286
+ checkFields<
287
+ Diff<
288
+ ParamCheck<RouteContext>,
289
+ {
290
+ __tag__: 'PATCH'
291
+ __param_position__: 'second'
292
+ __param_type__: SecondArg<MaybeField<TEntry, 'PATCH'>>
293
+ },
294
+ 'PATCH'
295
+ >
296
+ >()
297
+
298
+ checkFields<
299
+ Diff<
300
+ {
301
+ __tag__: 'PATCH',
302
+ __return_type__: Response | void | never | Promise<Response | void | never>
303
+ },
304
+ {
305
+ __tag__: 'PATCH',
306
+ __return_type__: ReturnType<MaybeField<TEntry, 'PATCH'>>
307
+ },
308
+ 'PATCH'
309
+ >
310
+ >()
311
+ }
312
+
313
+ // Check the arguments and return type of the generateStaticParams function
314
+ if ('generateStaticParams' in entry) {
315
+ checkFields<Diff<{ params: SegmentParams }, FirstArg<MaybeField<TEntry, 'generateStaticParams'>>, 'generateStaticParams'>>()
316
+ checkFields<Diff<{ __tag__: 'generateStaticParams', __return_type__: any[] | Promise<any[]> }, { __tag__: 'generateStaticParams', __return_type__: ReturnType<MaybeField<TEntry, 'generateStaticParams'>> }>>()
317
+ }
318
+
319
+ export interface PageProps {
320
+ params?: Promise<SegmentParams>
321
+ searchParams?: Promise<any>
322
+ }
323
+ export interface LayoutProps {
324
+ children?: React.ReactNode
325
+
326
+ params?: Promise<SegmentParams>
327
+ }
328
+
329
+ // =============
330
+ // Utility types
331
+ type RevalidateRange<T> = T extends { revalidate: any } ? NonNegative<T['revalidate']> : never
332
+
333
+ // If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit<T, keyof Base>.
334
+ type OmitWithTag<T, K extends keyof any, _M> = Omit<T, K>
335
+ type Diff<Base, T extends Base, Message extends string = ''> = 0 extends (1 & T) ? {} : OmitWithTag<T, keyof Base, Message>
336
+
337
+ type FirstArg<T extends Function> = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never
338
+ type SecondArg<T extends Function> = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never
339
+ type MaybeField<T, K extends string> = T extends { [k in K]: infer G } ? G extends Function ? G : never : never
340
+
341
+ type ParamCheck<T> = {
342
+ __tag__: string
343
+ __param_position__: string
344
+ __param_type__: T
345
+ }
346
+
347
+ function checkFields<_ extends { [k in keyof any]: never }>() {}
348
+
349
+ // https://github.com/sindresorhus/type-fest
350
+ type Numeric = number | bigint
351
+ type Zero = 0 | 0n
352
+ type Negative<T extends Numeric> = T extends Zero ? never : `${T}` extends `-${string}` ? T : never
353
+ type NonNegative<T extends Numeric> = T extends Zero ? T : Negative<T> extends never ? T : '__invalid_negative_number__'
@@ -2,7 +2,7 @@
2
2
  // Do not edit this file manually
3
3
 
4
4
  type AppRoutes = "/" | "/login" | "/pet-preview"
5
- type AppRouteHandlerRoutes = "/api/agent/[id]" | "/api/agent/[id]/bash-output" | "/api/agent/[id]/events" | "/api/agent/[id]/lease" | "/api/agent/debug" | "/api/agent/new" | "/api/agent/running" | "/api/app-update" | "/api/auth/api-key/[provider]" | "/api/auth/login/[provider]" | "/api/auth/logout/[provider]" | "/api/auth/providers" | "/api/cache-miss-notices" | "/api/cwd/browse" | "/api/cwd/validate" | "/api/default-cwd" | "/api/file-index" | "/api/files/[...path]" | "/api/git/diff" | "/api/git/status" | "/api/home" | "/api/mcp" | "/api/mcp/sign-in" | "/api/mcp/sign-in/[flowId]" | "/api/mcp/test" | "/api/models" | "/api/models-config" | "/api/models-config/catalog" | "/api/models-config/discover" | "/api/models-config/test" | "/api/models/default" | "/api/models/enabled" | "/api/models/refresh" | "/api/open-in-explorer" | "/api/plugins" | "/api/plugins/check" | "/api/project-trust" | "/api/provider-usage/query" | "/api/push/config" | "/api/push/subscribe" | "/api/sessions" | "/api/sessions/[id]" | "/api/sessions/[id]/auto-name" | "/api/sessions/[id]/context" | "/api/sessions/[id]/entries/[entryId]/thinking" | "/api/sessions/[id]/entries/[entryId]/tool-result-image" | "/api/sessions/[id]/export" | "/api/sessions/[id]/fork" | "/api/sessions/[id]/state" | "/api/sessions/delete" | "/api/sessions/search" | "/api/sessions/stats" | "/api/sessions/ui-state" | "/api/skills" | "/api/skills/check" | "/api/skills/content" | "/api/skills/install" | "/api/skills/search" | "/api/skills/update" | "/api/subagents/[id]" | "/api/subagents/profiles" | "/api/subagents/settings" | "/api/terminal" | "/api/terminal/[id]" | "/api/terminal/[id]/events" | "/api/tools/settings" | "/api/web-auth" | "/api/worktrees"
5
+ type AppRouteHandlerRoutes = "/api/agent/[id]" | "/api/agent/[id]/bash-output" | "/api/agent/[id]/events" | "/api/agent/[id]/lease" | "/api/agent/debug" | "/api/agent/new" | "/api/agent/running" | "/api/app-update" | "/api/auth/api-key/[provider]" | "/api/auth/login/[provider]" | "/api/auth/logout/[provider]" | "/api/auth/providers" | "/api/cache-miss-notices" | "/api/cwd/browse" | "/api/cwd/validate" | "/api/default-cwd" | "/api/file-index" | "/api/files/[...path]" | "/api/git/diff" | "/api/git/status" | "/api/home" | "/api/mcp" | "/api/mcp/sign-in" | "/api/mcp/sign-in/[flowId]" | "/api/mcp/test" | "/api/models" | "/api/models-config" | "/api/models-config/catalog" | "/api/models-config/discover" | "/api/models-config/test" | "/api/models/default" | "/api/models/enabled" | "/api/models/refresh" | "/api/open-in-explorer" | "/api/plugins" | "/api/plugins/check" | "/api/project-trust" | "/api/provider-usage/query" | "/api/push/config" | "/api/push/subscribe" | "/api/sessions" | "/api/sessions/[id]" | "/api/sessions/[id]/auto-name" | "/api/sessions/[id]/context" | "/api/sessions/[id]/entries/[entryId]/thinking" | "/api/sessions/[id]/entries/[entryId]/tool-result-image" | "/api/sessions/[id]/export" | "/api/sessions/[id]/fork" | "/api/sessions/[id]/state" | "/api/sessions/delete" | "/api/sessions/search" | "/api/sessions/stats" | "/api/sessions/ui-state" | "/api/skills" | "/api/skills/check" | "/api/skills/content" | "/api/skills/install" | "/api/skills/search" | "/api/skills/update" | "/api/subagents/[id]" | "/api/subagents/profiles" | "/api/subagents/settings" | "/api/terminal" | "/api/terminal/[id]" | "/api/terminal/[id]/events" | "/api/tools/settings" | "/api/web-auth" | "/api/worktrees" | "/manifest.webmanifest"
6
6
  type PageRoutes = never
7
7
  type LayoutRoutes = "/"
8
8
  type RedirectRoutes = never
@@ -81,6 +81,7 @@ interface ParamMap {
81
81
  "/api/web-auth": {}
82
82
  "/api/worktrees": {}
83
83
  "/login": {}
84
+ "/manifest.webmanifest": {}
84
85
  "/pet-preview": {}
85
86
  }
86
87
 
@@ -686,6 +686,15 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
686
686
  type __Unused = __Check
687
687
  }
688
688
 
689
+ // Validate ../../app/manifest.webmanifest/route.ts
690
+ {
691
+ type __IsExpected<Specific extends RouteHandlerConfig<"/manifest.webmanifest">> = Specific
692
+ const handler = {} as typeof import("../../app/manifest.webmanifest/route.js")
693
+ type __Check = __IsExpected<typeof handler>
694
+ // @ts-ignore
695
+ type __Unused = __Check
696
+ }
697
+
689
698
 
690
699
 
691
700
 
package/README.md CHANGED
@@ -86,6 +86,10 @@ PI_WEB_PASSWORD='a-long-random-password' pi-web --hostname 0.0.0.0
86
86
 
87
87
  Password authentication does not encrypt the connection. Do not expose Pi Web over plain HTTP to the internet; use HTTPS through a trusted reverse proxy or a trusted VPN. If a reverse proxy sends an external hostname, add that exact name to `PI_WEB_ALLOWED_HOSTS`. This allow-list does not change the address Pi Web binds to.
88
88
 
89
+ ### Docker
90
+
91
+ Each release publishes an image to `ghcr.io/agegr/pi-web`. See [Running Pi Web in Docker](./docs/docker.md) for it, the Compose example and which volumes to keep.
92
+
89
93
  ### HTTP Proxy
90
94
 
91
95
  Server-side model and API requests honor the standard `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` environment variables.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-yun",
3
- "version": "0.2.4",
3
+ "version": "0.2.5",
4
4
  "description": "Web UI for the pi coding agent (fork of @agegr/pi-web)",
5
5
  "homepage": "https://github.com/Jason-24/pi-web-yun#readme",
6
6
  "repository": {
@@ -47,24 +47,26 @@
47
47
  "release": "npm version patch --no-git-tag-version && npm run build && npm publish"
48
48
  },
49
49
  "dependencies": {
50
- "@earendil-works/pi-agent-core": "1.4.0",
51
- "@earendil-works/pi-ai": "1.4.0",
52
- "@earendil-works/pi-codemode": "1.4.0",
53
- "@earendil-works/pi-coding-agent": "1.4.0",
54
- "@earendil-works/pi-mcp": "1.4.0",
55
- "@earendil-works/pi-telemetry": "1.4.0",
56
- "@earendil-works/pi-tui": "1.4.0",
50
+ "@earendil-works/pi-agent-core": "1.5.0",
51
+ "@earendil-works/pi-ai": "1.5.0",
52
+ "@earendil-works/pi-codemode": "1.5.0",
53
+ "@earendil-works/pi-coding-agent": "1.5.0",
54
+ "@earendil-works/pi-mcp": "1.5.0",
55
+ "@earendil-works/pi-schema": "1.5.0",
56
+ "@earendil-works/pi-telemetry": "1.5.0",
57
+ "@earendil-works/pi-tui": "1.5.0",
57
58
  "@xterm/addon-fit": "0.11.0",
58
59
  "@xterm/xterm": "6.0.0",
59
60
  "js-yaml": "^5.2.3",
60
- "next": "16.3.8",
61
+ "next": "16.4.4",
61
62
  "node-pty": "1.2.0-beta.15",
62
63
  "proper-lockfile": "4.1.2",
63
64
  "react": "^19.2.4",
64
65
  "react-dom": "^19.2.4",
65
66
  "semver": "7.8.5",
66
67
  "three": "0.186.1",
67
- "undici": "8.11.0",
68
+ "typebox": "1.3.27",
69
+ "undici": "8.12.3",
68
70
  "web-push": "^3.6.7"
69
71
  },
70
72
  "devDependencies": {
@@ -81,7 +83,7 @@
81
83
  "@types/web-push": "^3.6.4",
82
84
  "ansi_up": "^6.0.6",
83
85
  "eslint": "^9",
84
- "eslint-config-next": "16.3.8",
86
+ "eslint-config-next": "16.4.4",
85
87
  "jiti": "^2.7.0",
86
88
  "katex": "^0.16.47",
87
89
  "mammoth": "^1.12.0",