@zwbigi/ink-xy 0.1.13 → 0.1.15

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 (172) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +4 -3
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/routes-manifest.json +6 -0
  5. package/.next/server/app/_global-error/page.js +2 -2
  6. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  7. package/.next/server/app/_global-error.html +1 -1
  8. package/.next/server/app/_global-error.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next/server/app/_not-found/page.js +2 -2
  16. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/_not-found.html +1 -1
  18. package/.next/server/app/_not-found.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  20. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  21. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  23. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  24. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  25. package/.next/server/app/api/agent/[id]/events/route.js +2 -2
  26. package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -1
  27. package/.next/server/app/api/agent/[id]/route.js +1 -1
  28. package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -1
  29. package/.next/server/app/api/agent/describe-image/route.js +1 -1
  30. package/.next/server/app/api/agent/describe-image/route.js.nft.json +1 -1
  31. package/.next/server/app/api/agent/new/route.js +1 -1
  32. package/.next/server/app/api/agent/new/route.js.nft.json +1 -1
  33. package/.next/server/app/api/agent/parse-characters/route.js +43 -0
  34. package/.next/server/app/api/agent/parse-characters/route.js.nft.json +1 -0
  35. package/.next/server/app/api/agent/parse-characters/route_client-reference-manifest.js +1 -0
  36. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  37. package/.next/server/app/api/auth/all-providers/route.js.nft.json +1 -1
  38. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  39. package/.next/server/app/api/auth/api-key/[provider]/route.js.nft.json +1 -1
  40. package/.next/server/app/api/auth/login/[provider]/route.js +1 -1
  41. package/.next/server/app/api/auth/login/[provider]/route.js.nft.json +1 -1
  42. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  43. package/.next/server/app/api/auth/logout/[provider]/route.js.nft.json +1 -1
  44. package/.next/server/app/api/auth/providers/route.js +1 -1
  45. package/.next/server/app/api/auth/providers/route.js.nft.json +1 -1
  46. package/.next/server/app/api/default-cwd/route.js +1 -1
  47. package/.next/server/app/api/files/[...path]/route.js +3 -3
  48. package/.next/server/app/api/files/[...path]/route.js.nft.json +1 -1
  49. package/.next/server/app/api/gem-xy/[id]/route.js +1 -1
  50. package/.next/server/app/api/gem-xy/[id]/route.js.nft.json +1 -1
  51. package/.next/server/app/api/gem-xy/route.js +1 -1
  52. package/.next/server/app/api/gem-xy/route.js.nft.json +1 -1
  53. package/.next/server/app/api/home/route.js +1 -1
  54. package/.next/server/app/api/inkos/route.js +1 -1
  55. package/.next/server/app/api/inkos/route.js.nft.json +1 -1
  56. package/.next/server/app/api/models/route.js +1 -1
  57. package/.next/server/app/api/models/route.js.nft.json +1 -1
  58. package/.next/server/app/api/models-config/route.js +1 -1
  59. package/.next/server/app/api/models-config/route.js.nft.json +1 -1
  60. package/.next/server/app/api/register-cwd/route.js +1 -1
  61. package/.next/server/app/api/sessions/[id]/context/route.js +2 -2
  62. package/.next/server/app/api/sessions/[id]/context/route.js.nft.json +1 -1
  63. package/.next/server/app/api/sessions/[id]/lock/route.js +1 -1
  64. package/.next/server/app/api/sessions/[id]/lock/route.js.nft.json +1 -1
  65. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  66. package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  67. package/.next/server/app/api/sessions/new/route.js +1 -1
  68. package/.next/server/app/api/sessions/route.js +1 -1
  69. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  70. package/.next/server/app/api/skills/install/route.js +1 -1
  71. package/.next/server/app/api/skills/install/route.js.nft.json +1 -1
  72. package/.next/server/app/api/skills/route.js +1 -1
  73. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  74. package/.next/server/app/api/skills/search/route.js +1 -1
  75. package/.next/server/app/api/skills/search/route.js.nft.json +1 -1
  76. package/.next/server/app/api/tts/synthesize/route.js +1 -1
  77. package/.next/server/app/api/tts/synthesize/route.js.nft.json +1 -1
  78. package/.next/server/app/favicon.ico/route.js +1 -1
  79. package/.next/server/app/index.html +1 -1
  80. package/.next/server/app/index.rsc +2 -2
  81. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  82. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  83. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  84. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  85. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  86. package/.next/server/app/page.js +64 -29
  87. package/.next/server/app/page_client-reference-manifest.js +1 -1
  88. package/.next/server/app-paths-manifest.json +4 -3
  89. package/.next/server/chunks/162.js +1 -1
  90. package/.next/server/middleware-build-manifest.js +1 -1
  91. package/.next/server/pages/404.html +1 -1
  92. package/.next/server/pages/500.html +1 -1
  93. package/.next/static/Y5hk_NhnX1o3afMM2Tt5-/_buildManifest.js +1 -0
  94. package/.next/static/chunks/app/_global-error/page-63ec4518ba538b61.js +1 -0
  95. package/.next/static/chunks/app/api/agent/[id]/events/route-63ec4518ba538b61.js +1 -0
  96. package/.next/static/chunks/app/api/agent/[id]/route-63ec4518ba538b61.js +1 -0
  97. package/.next/static/chunks/app/api/agent/describe-image/route-63ec4518ba538b61.js +1 -0
  98. package/.next/static/chunks/app/api/agent/new/route-63ec4518ba538b61.js +1 -0
  99. package/.next/static/chunks/app/api/agent/parse-characters/route-63ec4518ba538b61.js +1 -0
  100. package/.next/static/chunks/app/api/auth/all-providers/route-63ec4518ba538b61.js +1 -0
  101. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-63ec4518ba538b61.js +1 -0
  102. package/.next/static/chunks/app/api/auth/login/[provider]/route-63ec4518ba538b61.js +1 -0
  103. package/.next/static/chunks/app/api/auth/logout/[provider]/route-63ec4518ba538b61.js +1 -0
  104. package/.next/static/chunks/app/api/auth/providers/route-63ec4518ba538b61.js +1 -0
  105. package/.next/static/chunks/app/api/default-cwd/route-63ec4518ba538b61.js +1 -0
  106. package/.next/static/chunks/app/api/files/[...path]/route-63ec4518ba538b61.js +1 -0
  107. package/.next/static/chunks/app/api/gem-xy/[id]/route-63ec4518ba538b61.js +1 -0
  108. package/.next/static/chunks/app/api/gem-xy/route-63ec4518ba538b61.js +1 -0
  109. package/.next/static/chunks/app/api/home/route-63ec4518ba538b61.js +1 -0
  110. package/.next/static/chunks/app/api/inkos/route-63ec4518ba538b61.js +1 -0
  111. package/.next/static/chunks/app/api/models/route-63ec4518ba538b61.js +1 -0
  112. package/.next/static/chunks/app/api/models-config/route-63ec4518ba538b61.js +1 -0
  113. package/.next/static/chunks/app/api/register-cwd/route-63ec4518ba538b61.js +1 -0
  114. package/.next/static/chunks/app/api/sessions/[id]/context/route-63ec4518ba538b61.js +1 -0
  115. package/.next/static/chunks/app/api/sessions/[id]/lock/route-63ec4518ba538b61.js +1 -0
  116. package/.next/static/chunks/app/api/sessions/[id]/route-63ec4518ba538b61.js +1 -0
  117. package/.next/static/chunks/app/api/sessions/new/route-63ec4518ba538b61.js +1 -0
  118. package/.next/static/chunks/app/api/sessions/route-63ec4518ba538b61.js +1 -0
  119. package/.next/static/chunks/app/api/skills/install/route-63ec4518ba538b61.js +1 -0
  120. package/.next/static/chunks/app/api/skills/route-63ec4518ba538b61.js +1 -0
  121. package/.next/static/chunks/app/api/skills/search/route-63ec4518ba538b61.js +1 -0
  122. package/.next/static/chunks/app/api/tts/synthesize/route-63ec4518ba538b61.js +1 -0
  123. package/.next/static/chunks/app/page-3c94fbcf268ba682.js +202 -0
  124. package/.next/static/chunks/next/dist/client/components/builtin/app-error-63ec4518ba538b61.js +1 -0
  125. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-63ec4518ba538b61.js +1 -0
  126. package/.next/static/chunks/next/dist/client/components/builtin/not-found-63ec4518ba538b61.js +1 -0
  127. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-63ec4518ba538b61.js +1 -0
  128. package/.next/trace +4 -4
  129. package/.next/trace-build +1 -1
  130. package/.next/types/app/api/agent/parse-characters/route.ts +351 -0
  131. package/.next/types/routes.d.ts +2 -1
  132. package/.next/types/validator.ts +9 -0
  133. package/inkos/packages/cli/dist/index.js +2 -2
  134. package/inkos/packages/core/dist/pipeline/runner.js +2 -2
  135. package/inkos/packages/core/dist/pipeline/runner.js.map +1 -1
  136. package/inkos/packages/core/src/pipeline/runner.ts +2 -2
  137. package/package.json +1 -1
  138. package/.next/static/_dVc8qn-Ll1d6faCafbmD/_buildManifest.js +0 -1
  139. package/.next/static/chunks/app/_global-error/page-7f5e7bebe7a745ed.js +0 -1
  140. package/.next/static/chunks/app/api/agent/[id]/events/route-7f5e7bebe7a745ed.js +0 -1
  141. package/.next/static/chunks/app/api/agent/[id]/route-7f5e7bebe7a745ed.js +0 -1
  142. package/.next/static/chunks/app/api/agent/describe-image/route-7f5e7bebe7a745ed.js +0 -1
  143. package/.next/static/chunks/app/api/agent/new/route-7f5e7bebe7a745ed.js +0 -1
  144. package/.next/static/chunks/app/api/auth/all-providers/route-7f5e7bebe7a745ed.js +0 -1
  145. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-7f5e7bebe7a745ed.js +0 -1
  146. package/.next/static/chunks/app/api/auth/login/[provider]/route-7f5e7bebe7a745ed.js +0 -1
  147. package/.next/static/chunks/app/api/auth/logout/[provider]/route-7f5e7bebe7a745ed.js +0 -1
  148. package/.next/static/chunks/app/api/auth/providers/route-7f5e7bebe7a745ed.js +0 -1
  149. package/.next/static/chunks/app/api/default-cwd/route-7f5e7bebe7a745ed.js +0 -1
  150. package/.next/static/chunks/app/api/files/[...path]/route-7f5e7bebe7a745ed.js +0 -1
  151. package/.next/static/chunks/app/api/gem-xy/[id]/route-7f5e7bebe7a745ed.js +0 -1
  152. package/.next/static/chunks/app/api/gem-xy/route-7f5e7bebe7a745ed.js +0 -1
  153. package/.next/static/chunks/app/api/home/route-7f5e7bebe7a745ed.js +0 -1
  154. package/.next/static/chunks/app/api/inkos/route-7f5e7bebe7a745ed.js +0 -1
  155. package/.next/static/chunks/app/api/models/route-7f5e7bebe7a745ed.js +0 -1
  156. package/.next/static/chunks/app/api/models-config/route-7f5e7bebe7a745ed.js +0 -1
  157. package/.next/static/chunks/app/api/register-cwd/route-7f5e7bebe7a745ed.js +0 -1
  158. package/.next/static/chunks/app/api/sessions/[id]/context/route-7f5e7bebe7a745ed.js +0 -1
  159. package/.next/static/chunks/app/api/sessions/[id]/lock/route-7f5e7bebe7a745ed.js +0 -1
  160. package/.next/static/chunks/app/api/sessions/[id]/route-7f5e7bebe7a745ed.js +0 -1
  161. package/.next/static/chunks/app/api/sessions/new/route-7f5e7bebe7a745ed.js +0 -1
  162. package/.next/static/chunks/app/api/sessions/route-7f5e7bebe7a745ed.js +0 -1
  163. package/.next/static/chunks/app/api/skills/install/route-7f5e7bebe7a745ed.js +0 -1
  164. package/.next/static/chunks/app/api/skills/route-7f5e7bebe7a745ed.js +0 -1
  165. package/.next/static/chunks/app/api/skills/search/route-7f5e7bebe7a745ed.js +0 -1
  166. package/.next/static/chunks/app/api/tts/synthesize/route-7f5e7bebe7a745ed.js +0 -1
  167. package/.next/static/chunks/app/page-fbf66e00e4553a09.js +0 -167
  168. package/.next/static/chunks/next/dist/client/components/builtin/app-error-7f5e7bebe7a745ed.js +0 -1
  169. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-7f5e7bebe7a745ed.js +0 -1
  170. package/.next/static/chunks/next/dist/client/components/builtin/not-found-7f5e7bebe7a745ed.js +0 -1
  171. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-7f5e7bebe7a745ed.js +0 -1
  172. /package/.next/static/{_dVc8qn-Ll1d6faCafbmD → Y5hk_NhnX1o3afMM2Tt5-}/_ssgManifest.js +0 -0
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-webpack","duration":10940519,"timestamp":11463732001,"id":14,"parentId":1,"tags":{},"startTime":1780592079032,"traceId":"42c830e47206db71"},{"name":"run-typescript","duration":9297709,"timestamp":11474684354,"id":435,"parentId":1,"tags":{},"startTime":1780592089985,"traceId":"42c830e47206db71"},{"name":"static-check","duration":3188594,"timestamp":11484331791,"id":438,"parentId":1,"tags":{},"startTime":1780592099632,"traceId":"42c830e47206db71"},{"name":"static-generation","duration":3546096,"timestamp":11488207786,"id":506,"parentId":1,"tags":{},"startTime":1780592103508,"traceId":"42c830e47206db71"},{"name":"collect-build-traces","duration":41012689,"timestamp":11487521724,"id":503,"parentId":1,"tags":{},"startTime":1780592102822,"traceId":"42c830e47206db71"},{"name":"telemetry-flush","duration":46,"timestamp":11528537606,"id":515,"parentId":1,"tags":{},"startTime":1780592143827,"traceId":"42c830e47206db71"},{"name":"next-build","duration":64999082,"timestamp":11463538577,"id":1,"tags":{"buildMode":"default","version":"16.2.1","bundler":"webpack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1780592078839,"traceId":"42c830e47206db71"}]
1
+ [{"name":"run-webpack","duration":16308561,"timestamp":46015072283,"id":14,"parentId":1,"tags":{},"startTime":1780677678369,"traceId":"7984e251d56acd70"},{"name":"run-typescript","duration":9237566,"timestamp":46031385238,"id":479,"parentId":1,"tags":{},"startTime":1780677694682,"traceId":"7984e251d56acd70"},{"name":"static-check","duration":3783171,"timestamp":46040905572,"id":482,"parentId":1,"tags":{},"startTime":1780677704202,"traceId":"7984e251d56acd70"},{"name":"static-generation","duration":3618831,"timestamp":46045450148,"id":552,"parentId":1,"tags":{},"startTime":1780677708747,"traceId":"7984e251d56acd70"},{"name":"collect-build-traces","duration":53366321,"timestamp":46044690141,"id":549,"parentId":1,"tags":{},"startTime":1780677707987,"traceId":"7984e251d56acd70"},{"name":"telemetry-flush","duration":52,"timestamp":46098060387,"id":561,"parentId":1,"tags":{},"startTime":1780677761351,"traceId":"7984e251d56acd70"},{"name":"next-build","duration":83236842,"timestamp":46014823604,"id":1,"tags":{"buildMode":"default","version":"16.2.1","bundler":"webpack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1780677678120,"traceId":"7984e251d56acd70"}]
@@ -0,0 +1,351 @@
1
+ // File: E:\ink-xY\app\api\agent\parse-characters\route.ts
2
+ import * as entry from '../../../../../../app/api/agent/parse-characters/route.js'
3
+ import type { NextRequest } from 'next/server.js'
4
+
5
+ import type { InstantConfigForTypeCheckInternal } from 'next/dist/build/segment-config/app/app-segment-config.js'
6
+
7
+ type TEntry = typeof import('../../../../../../app/api/agent/parse-characters/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
+ unstable_instant?: InstantConfigForTypeCheckInternal
25
+ unstable_dynamicStaleTime?: number
26
+ revalidate?: RevalidateRange<TEntry> | false
27
+ dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static'
28
+ dynamicParams?: boolean
29
+ fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache'
30
+ preferredRegion?: 'auto' | 'global' | 'home' | string | string[]
31
+ runtime?: 'nodejs' | 'experimental-edge' | 'edge'
32
+ maxDuration?: number
33
+
34
+ }, TEntry, ''>>()
35
+
36
+ type RouteContext = { params: Promise<SegmentParams> }
37
+ // Check the prop type of the entry function
38
+ if ('GET' in entry) {
39
+ checkFields<
40
+ Diff<
41
+ ParamCheck<Request | NextRequest>,
42
+ {
43
+ __tag__: 'GET'
44
+ __param_position__: 'first'
45
+ __param_type__: FirstArg<MaybeField<TEntry, 'GET'>>
46
+ },
47
+ 'GET'
48
+ >
49
+ >()
50
+ checkFields<
51
+ Diff<
52
+ ParamCheck<RouteContext>,
53
+ {
54
+ __tag__: 'GET'
55
+ __param_position__: 'second'
56
+ __param_type__: SecondArg<MaybeField<TEntry, 'GET'>>
57
+ },
58
+ 'GET'
59
+ >
60
+ >()
61
+
62
+ checkFields<
63
+ Diff<
64
+ {
65
+ __tag__: 'GET',
66
+ __return_type__: Response | void | never | Promise<Response | void | never>
67
+ },
68
+ {
69
+ __tag__: 'GET',
70
+ __return_type__: ReturnType<MaybeField<TEntry, 'GET'>>
71
+ },
72
+ 'GET'
73
+ >
74
+ >()
75
+ }
76
+ // Check the prop type of the entry function
77
+ if ('HEAD' in entry) {
78
+ checkFields<
79
+ Diff<
80
+ ParamCheck<Request | NextRequest>,
81
+ {
82
+ __tag__: 'HEAD'
83
+ __param_position__: 'first'
84
+ __param_type__: FirstArg<MaybeField<TEntry, 'HEAD'>>
85
+ },
86
+ 'HEAD'
87
+ >
88
+ >()
89
+ checkFields<
90
+ Diff<
91
+ ParamCheck<RouteContext>,
92
+ {
93
+ __tag__: 'HEAD'
94
+ __param_position__: 'second'
95
+ __param_type__: SecondArg<MaybeField<TEntry, 'HEAD'>>
96
+ },
97
+ 'HEAD'
98
+ >
99
+ >()
100
+
101
+ checkFields<
102
+ Diff<
103
+ {
104
+ __tag__: 'HEAD',
105
+ __return_type__: Response | void | never | Promise<Response | void | never>
106
+ },
107
+ {
108
+ __tag__: 'HEAD',
109
+ __return_type__: ReturnType<MaybeField<TEntry, 'HEAD'>>
110
+ },
111
+ 'HEAD'
112
+ >
113
+ >()
114
+ }
115
+ // Check the prop type of the entry function
116
+ if ('OPTIONS' in entry) {
117
+ checkFields<
118
+ Diff<
119
+ ParamCheck<Request | NextRequest>,
120
+ {
121
+ __tag__: 'OPTIONS'
122
+ __param_position__: 'first'
123
+ __param_type__: FirstArg<MaybeField<TEntry, 'OPTIONS'>>
124
+ },
125
+ 'OPTIONS'
126
+ >
127
+ >()
128
+ checkFields<
129
+ Diff<
130
+ ParamCheck<RouteContext>,
131
+ {
132
+ __tag__: 'OPTIONS'
133
+ __param_position__: 'second'
134
+ __param_type__: SecondArg<MaybeField<TEntry, 'OPTIONS'>>
135
+ },
136
+ 'OPTIONS'
137
+ >
138
+ >()
139
+
140
+ checkFields<
141
+ Diff<
142
+ {
143
+ __tag__: 'OPTIONS',
144
+ __return_type__: Response | void | never | Promise<Response | void | never>
145
+ },
146
+ {
147
+ __tag__: 'OPTIONS',
148
+ __return_type__: ReturnType<MaybeField<TEntry, 'OPTIONS'>>
149
+ },
150
+ 'OPTIONS'
151
+ >
152
+ >()
153
+ }
154
+ // Check the prop type of the entry function
155
+ if ('POST' in entry) {
156
+ checkFields<
157
+ Diff<
158
+ ParamCheck<Request | NextRequest>,
159
+ {
160
+ __tag__: 'POST'
161
+ __param_position__: 'first'
162
+ __param_type__: FirstArg<MaybeField<TEntry, 'POST'>>
163
+ },
164
+ 'POST'
165
+ >
166
+ >()
167
+ checkFields<
168
+ Diff<
169
+ ParamCheck<RouteContext>,
170
+ {
171
+ __tag__: 'POST'
172
+ __param_position__: 'second'
173
+ __param_type__: SecondArg<MaybeField<TEntry, 'POST'>>
174
+ },
175
+ 'POST'
176
+ >
177
+ >()
178
+
179
+ checkFields<
180
+ Diff<
181
+ {
182
+ __tag__: 'POST',
183
+ __return_type__: Response | void | never | Promise<Response | void | never>
184
+ },
185
+ {
186
+ __tag__: 'POST',
187
+ __return_type__: ReturnType<MaybeField<TEntry, 'POST'>>
188
+ },
189
+ 'POST'
190
+ >
191
+ >()
192
+ }
193
+ // Check the prop type of the entry function
194
+ if ('PUT' in entry) {
195
+ checkFields<
196
+ Diff<
197
+ ParamCheck<Request | NextRequest>,
198
+ {
199
+ __tag__: 'PUT'
200
+ __param_position__: 'first'
201
+ __param_type__: FirstArg<MaybeField<TEntry, 'PUT'>>
202
+ },
203
+ 'PUT'
204
+ >
205
+ >()
206
+ checkFields<
207
+ Diff<
208
+ ParamCheck<RouteContext>,
209
+ {
210
+ __tag__: 'PUT'
211
+ __param_position__: 'second'
212
+ __param_type__: SecondArg<MaybeField<TEntry, 'PUT'>>
213
+ },
214
+ 'PUT'
215
+ >
216
+ >()
217
+
218
+ checkFields<
219
+ Diff<
220
+ {
221
+ __tag__: 'PUT',
222
+ __return_type__: Response | void | never | Promise<Response | void | never>
223
+ },
224
+ {
225
+ __tag__: 'PUT',
226
+ __return_type__: ReturnType<MaybeField<TEntry, 'PUT'>>
227
+ },
228
+ 'PUT'
229
+ >
230
+ >()
231
+ }
232
+ // Check the prop type of the entry function
233
+ if ('DELETE' in entry) {
234
+ checkFields<
235
+ Diff<
236
+ ParamCheck<Request | NextRequest>,
237
+ {
238
+ __tag__: 'DELETE'
239
+ __param_position__: 'first'
240
+ __param_type__: FirstArg<MaybeField<TEntry, 'DELETE'>>
241
+ },
242
+ 'DELETE'
243
+ >
244
+ >()
245
+ checkFields<
246
+ Diff<
247
+ ParamCheck<RouteContext>,
248
+ {
249
+ __tag__: 'DELETE'
250
+ __param_position__: 'second'
251
+ __param_type__: SecondArg<MaybeField<TEntry, 'DELETE'>>
252
+ },
253
+ 'DELETE'
254
+ >
255
+ >()
256
+
257
+ checkFields<
258
+ Diff<
259
+ {
260
+ __tag__: 'DELETE',
261
+ __return_type__: Response | void | never | Promise<Response | void | never>
262
+ },
263
+ {
264
+ __tag__: 'DELETE',
265
+ __return_type__: ReturnType<MaybeField<TEntry, 'DELETE'>>
266
+ },
267
+ 'DELETE'
268
+ >
269
+ >()
270
+ }
271
+ // Check the prop type of the entry function
272
+ if ('PATCH' in entry) {
273
+ checkFields<
274
+ Diff<
275
+ ParamCheck<Request | NextRequest>,
276
+ {
277
+ __tag__: 'PATCH'
278
+ __param_position__: 'first'
279
+ __param_type__: FirstArg<MaybeField<TEntry, 'PATCH'>>
280
+ },
281
+ 'PATCH'
282
+ >
283
+ >()
284
+ checkFields<
285
+ Diff<
286
+ ParamCheck<RouteContext>,
287
+ {
288
+ __tag__: 'PATCH'
289
+ __param_position__: 'second'
290
+ __param_type__: SecondArg<MaybeField<TEntry, 'PATCH'>>
291
+ },
292
+ 'PATCH'
293
+ >
294
+ >()
295
+
296
+ checkFields<
297
+ Diff<
298
+ {
299
+ __tag__: 'PATCH',
300
+ __return_type__: Response | void | never | Promise<Response | void | never>
301
+ },
302
+ {
303
+ __tag__: 'PATCH',
304
+ __return_type__: ReturnType<MaybeField<TEntry, 'PATCH'>>
305
+ },
306
+ 'PATCH'
307
+ >
308
+ >()
309
+ }
310
+
311
+ // Check the arguments and return type of the generateStaticParams function
312
+ if ('generateStaticParams' in entry) {
313
+ checkFields<Diff<{ params: SegmentParams }, FirstArg<MaybeField<TEntry, 'generateStaticParams'>>, 'generateStaticParams'>>()
314
+ checkFields<Diff<{ __tag__: 'generateStaticParams', __return_type__: any[] | Promise<any[]> }, { __tag__: 'generateStaticParams', __return_type__: ReturnType<MaybeField<TEntry, 'generateStaticParams'>> }>>()
315
+ }
316
+
317
+ export interface PageProps {
318
+ params?: Promise<SegmentParams>
319
+ searchParams?: Promise<any>
320
+ }
321
+ export interface LayoutProps {
322
+ children?: React.ReactNode
323
+
324
+ params?: Promise<SegmentParams>
325
+ }
326
+
327
+ // =============
328
+ // Utility types
329
+ type RevalidateRange<T> = T extends { revalidate: any } ? NonNegative<T['revalidate']> : never
330
+
331
+ // If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit<T, keyof Base>.
332
+ type OmitWithTag<T, K extends keyof any, _M> = Omit<T, K>
333
+ type Diff<Base, T extends Base, Message extends string = ''> = 0 extends (1 & T) ? {} : OmitWithTag<T, keyof Base, Message>
334
+
335
+ type FirstArg<T extends Function> = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never
336
+ type SecondArg<T extends Function> = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never
337
+ type MaybeField<T, K extends string> = T extends { [k in K]: infer G } ? G extends Function ? G : never : never
338
+
339
+ type ParamCheck<T> = {
340
+ __tag__: string
341
+ __param_position__: string
342
+ __param_type__: T
343
+ }
344
+
345
+ function checkFields<_ extends { [k in keyof any]: never }>() {}
346
+
347
+ // https://github.com/sindresorhus/type-fest
348
+ type Numeric = number | bigint
349
+ type Zero = 0 | 0n
350
+ type Negative<T extends Numeric> = T extends Zero ? never : `${T}` extends `-${string}` ? T : never
351
+ 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 = "/"
5
- type AppRouteHandlerRoutes = "/api/agent/[id]" | "/api/agent/[id]/events" | "/api/agent/describe-image" | "/api/agent/new" | "/api/auth/all-providers" | "/api/auth/api-key/[provider]" | "/api/auth/login/[provider]" | "/api/auth/logout/[provider]" | "/api/auth/providers" | "/api/default-cwd" | "/api/files/[...path]" | "/api/gem-xy" | "/api/gem-xy/[id]" | "/api/home" | "/api/inkos" | "/api/models" | "/api/models-config" | "/api/register-cwd" | "/api/sessions" | "/api/sessions/[id]" | "/api/sessions/[id]/context" | "/api/sessions/[id]/lock" | "/api/sessions/new" | "/api/skills" | "/api/skills/install" | "/api/skills/search" | "/api/tts/synthesize"
5
+ type AppRouteHandlerRoutes = "/api/agent/[id]" | "/api/agent/[id]/events" | "/api/agent/describe-image" | "/api/agent/new" | "/api/agent/parse-characters" | "/api/auth/all-providers" | "/api/auth/api-key/[provider]" | "/api/auth/login/[provider]" | "/api/auth/logout/[provider]" | "/api/auth/providers" | "/api/default-cwd" | "/api/files/[...path]" | "/api/gem-xy" | "/api/gem-xy/[id]" | "/api/home" | "/api/inkos" | "/api/models" | "/api/models-config" | "/api/register-cwd" | "/api/sessions" | "/api/sessions/[id]" | "/api/sessions/[id]/context" | "/api/sessions/[id]/lock" | "/api/sessions/new" | "/api/skills" | "/api/skills/install" | "/api/skills/search" | "/api/tts/synthesize"
6
6
  type PageRoutes = never
7
7
  type LayoutRoutes = "/"
8
8
  type RedirectRoutes = never
@@ -16,6 +16,7 @@ interface ParamMap {
16
16
  "/api/agent/[id]/events": { "id": string; }
17
17
  "/api/agent/describe-image": {}
18
18
  "/api/agent/new": {}
19
+ "/api/agent/parse-characters": {}
19
20
  "/api/auth/all-providers": {}
20
21
  "/api/auth/api-key/[provider]": { "provider": string; }
21
22
  "/api/auth/login/[provider]": { "provider": string; }
@@ -92,6 +92,15 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
92
92
  type __Unused = __Check
93
93
  }
94
94
 
95
+ // Validate ../../app/api/agent/parse-characters/route.ts
96
+ {
97
+ type __IsExpected<Specific extends RouteHandlerConfig<"/api/agent/parse-characters">> = Specific
98
+ const handler = {} as typeof import("../../app/api/agent/parse-characters/route.js")
99
+ type __Check = __IsExpected<typeof handler>
100
+ // @ts-ignore
101
+ type __Unused = __Check
102
+ }
103
+
95
104
  // Validate ../../app/api/auth/all-providers/route.ts
96
105
  {
97
106
  type __IsExpected<Specific extends RouteHandlerConfig<"/api/auth/all-providers">> = Specific
@@ -203052,7 +203052,7 @@ ${normalizedRevision.content}`, "utf-8");
203052
203052
  throw new Error(`Chapter ${targetChapter} is not state-degraded.`);
203053
203053
  }
203054
203054
  if (targetChapter !== latestChapter) {
203055
- throw new Error(`Only the latest state-degraded chapter can be repaired safely (latest is ${latestChapter}).`);
203055
+ throw new Error(`\u53EA\u80FD\u5B89\u5168\u4FEE\u8865\u6700\u65B0\u7684\u72B6\u6001\u9000\u5316\u7AE0\u8282\uFF08\u5F53\u524D\u6700\u65B0\u7AE0\u8282\u662F\u7B2C ${latestChapter} \u7AE0\uFF09\u3002Only the latest state-degraded chapter can be repaired safely (latest is ${latestChapter}).`);
203056
203056
  }
203057
203057
  this.logStage(stageLanguage, { zh: "\u4FEE\u590D\u7AE0\u8282\u72B6\u6001\u7ED3\u7B97", en: "repairing chapter state settlement" });
203058
203058
  const { profile: gp } = await this.loadGenreProfile(book.genre);
@@ -203149,7 +203149,7 @@ ${normalizedRevision.content}`, "utf-8");
203149
203149
  const targetMeta = index[targetIndex];
203150
203150
  const latestChapter = Math.max(...index.map((chapter) => chapter.number));
203151
203151
  if (targetChapter !== latestChapter) {
203152
- throw new Error(`Only the latest persisted chapter can be synced safely (latest is ${latestChapter}).`);
203152
+ throw new Error(`\u53EA\u80FD\u5B89\u5168\u540C\u6B65\u6700\u65B0\u7684\u5DF2\u6301\u4E45\u5316\u7AE0\u8282\uFF08\u5F53\u524D\u6700\u65B0\u7AE0\u8282\u662F\u7B2C ${latestChapter} \u7AE0\uFF09\u3002Only the latest persisted chapter can be synced safely (latest is ${latestChapter}).`);
203153
203153
  }
203154
203154
  this.logStage(stageLanguage, { zh: "\u6839\u636E\u5DF2\u7F16\u8F91\u6B63\u6587\u540C\u6B65\u771F\u76F8\u6587\u4EF6\u4E0E\u7D22\u5F15", en: "syncing truth files and indexes from edited chapter body" });
203155
203155
  const { profile: gp } = await this.loadGenreProfile(book.genre);
@@ -1414,7 +1414,7 @@ export class PipelineRunner {
1414
1414
  throw new Error(`Chapter ${targetChapter} is not state-degraded.`);
1415
1415
  }
1416
1416
  if (targetChapter !== latestChapter) {
1417
- throw new Error(`Only the latest state-degraded chapter can be repaired safely (latest is ${latestChapter}).`);
1417
+ throw new Error(`只能安全修补最新的状态退化章节(当前最新章节是第 ${latestChapter} 章)。Only the latest state-degraded chapter can be repaired safely (latest is ${latestChapter}).`);
1418
1418
  }
1419
1419
  this.logStage(stageLanguage, { zh: "修复章节状态结算", en: "repairing chapter state settlement" });
1420
1420
  const { profile: gp } = await this.loadGenreProfile(book.genre);
@@ -1512,7 +1512,7 @@ export class PipelineRunner {
1512
1512
  const targetMeta = index[targetIndex];
1513
1513
  const latestChapter = Math.max(...index.map((chapter) => chapter.number));
1514
1514
  if (targetChapter !== latestChapter) {
1515
- throw new Error(`Only the latest persisted chapter can be synced safely (latest is ${latestChapter}).`);
1515
+ throw new Error(`只能安全同步最新的已持久化章节(当前最新章节是第 ${latestChapter} 章)。Only the latest persisted chapter can be synced safely (latest is ${latestChapter}).`);
1516
1516
  }
1517
1517
  this.logStage(stageLanguage, { zh: "根据已编辑正文同步真相文件与索引", en: "syncing truth files and indexes from edited chapter body" });
1518
1518
  const { profile: gp } = await this.loadGenreProfile(book.genre);