@khorsheed/dsh-game 0.0.0-stage → 0.1.0

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 (99) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.en.md +53 -0
  3. package/README.i18n.yaml +6 -0
  4. package/README.md +52 -2
  5. package/cordis.patch.yml +23 -0
  6. package/lib/client.js +30348 -0
  7. package/lib/index.js +4154 -0
  8. package/lib/typert.host.d.ts +3 -0
  9. package/lib/typert.host.js +3769 -0
  10. package/lib/typert.remote-client.d.ts +101 -0
  11. package/lib/typert.remote-client.js +2082 -0
  12. package/lib/types/agent.d.ts +20 -0
  13. package/lib/types/agent.js +42 -0
  14. package/lib/types/checks.d.ts +44 -0
  15. package/lib/types/checks.js +267 -0
  16. package/lib/types/client/DesignView.d.ts +22 -0
  17. package/lib/types/client/DesignView.js +134 -0
  18. package/lib/types/client/ElementsView.d.ts +21 -0
  19. package/lib/types/client/ElementsView.js +187 -0
  20. package/lib/types/client/GameTab.d.ts +14 -0
  21. package/lib/types/client/GameTab.js +256 -0
  22. package/lib/types/client/PlayFrame.d.ts +54 -0
  23. package/lib/types/client/PlayFrame.js +129 -0
  24. package/lib/types/client/PlayView.d.ts +19 -0
  25. package/lib/types/client/PlayView.js +161 -0
  26. package/lib/types/client/Preview3D.d.ts +50 -0
  27. package/lib/types/client/Preview3D.js +176 -0
  28. package/lib/types/client/ProjectSwitcher.d.ts +20 -0
  29. package/lib/types/client/ProjectSwitcher.js +75 -0
  30. package/lib/types/client/Recipe3DEditor.d.ts +19 -0
  31. package/lib/types/client/Recipe3DEditor.js +44 -0
  32. package/lib/types/client/StyleGallery.d.ts +18 -0
  33. package/lib/types/client/StyleGallery.js +27 -0
  34. package/lib/types/client/TurnCard.d.ts +62 -0
  35. package/lib/types/client/TurnCard.js +100 -0
  36. package/lib/types/client/VersionsView.d.ts +17 -0
  37. package/lib/types/client/VersionsView.js +68 -0
  38. package/lib/types/client/chat-node.d.ts +42 -0
  39. package/lib/types/client/chat-node.js +77 -0
  40. package/lib/types/client/contract.d.ts +125 -0
  41. package/lib/types/client/contract.js +6 -0
  42. package/lib/types/client/definition.d.ts +22 -0
  43. package/lib/types/client/definition.js +28 -0
  44. package/lib/types/client/index.d.ts +21 -0
  45. package/lib/types/client/index.js +229 -0
  46. package/lib/types/client/locales.d.ts +376 -0
  47. package/lib/types/client/locales.js +727 -0
  48. package/lib/types/client/looks.d.ts +36 -0
  49. package/lib/types/client/looks.js +105 -0
  50. package/lib/types/client/markdown.d.ts +11 -0
  51. package/lib/types/client/markdown.js +52 -0
  52. package/lib/types/client/preset-visibility.d.ts +94 -0
  53. package/lib/types/client/preset-visibility.js +115 -0
  54. package/lib/types/client/preview-entry.d.ts +24 -0
  55. package/lib/types/client/preview-entry.js +107 -0
  56. package/lib/types/client/refs.d.ts +36 -0
  57. package/lib/types/client/refs.js +44 -0
  58. package/lib/types/client/style-samples.d.ts +5 -0
  59. package/lib/types/client/style-samples.js +196 -0
  60. package/lib/types/fsutil.d.ts +26 -0
  61. package/lib/types/fsutil.js +104 -0
  62. package/lib/types/hooks.d.ts +83 -0
  63. package/lib/types/hooks.js +108 -0
  64. package/lib/types/index.d.ts +30 -0
  65. package/lib/types/index.js +22 -0
  66. package/lib/types/kits/canvas2d.d.ts +6 -0
  67. package/lib/types/kits/canvas2d.js +60 -0
  68. package/lib/types/kits/ids.d.ts +11 -0
  69. package/lib/types/kits/ids.js +6 -0
  70. package/lib/types/kits/index.d.ts +26 -0
  71. package/lib/types/kits/index.js +28 -0
  72. package/lib/types/kits/three3d.d.ts +12 -0
  73. package/lib/types/kits/three3d.js +188 -0
  74. package/lib/types/kits/types.d.ts +52 -0
  75. package/lib/types/kits/types.js +6 -0
  76. package/lib/types/look3d.d.ts +20 -0
  77. package/lib/types/look3d.js +175 -0
  78. package/lib/types/panel-session.d.ts +21 -0
  79. package/lib/types/panel-session.js +16 -0
  80. package/lib/types/project.d.ts +132 -0
  81. package/lib/types/project.js +494 -0
  82. package/lib/types/remote.d.ts +182 -0
  83. package/lib/types/remote.js +256 -0
  84. package/lib/types/skills.d.ts +13 -0
  85. package/lib/types/skills.js +140 -0
  86. package/lib/types/store.d.ts +325 -0
  87. package/lib/types/store.js +1285 -0
  88. package/lib/types/tools.d.ts +12 -0
  89. package/lib/types/tools.js +301 -0
  90. package/lib/types/trash.d.ts +5 -0
  91. package/lib/types/trash.js +64 -0
  92. package/lib/types/types.d.ts +522 -0
  93. package/lib/types/types.js +85 -0
  94. package/lib/types/vfs.d.ts +92 -0
  95. package/lib/types/vfs.js +217 -0
  96. package/locale/en.json +6 -0
  97. package/locale/zh.json +6 -0
  98. package/package.json +132 -3
  99. package/runtime/dsh3d.js +1279 -0
@@ -0,0 +1,2082 @@
1
+ /* Generated by @deepseek-ai/dsh-typert-generator from the Host FaceModel — do not edit. */
2
+ import { z } from 'zod'
3
+
4
+ import { createTypertRemoteInfo } from '@deepseek-ai/dsh-typert-protocol/remote-info'
5
+
6
+ let _khorsheed_dsh_game_game_bind_parameter_0$schema$value
7
+ const _khorsheed_dsh_game_game_bind_parameter_0$schema = () => (_khorsheed_dsh_game_game_bind_parameter_0$schema$value ??= z.string())
8
+ let _khorsheed_dsh_game_game_bind_parameter_1$schema$value
9
+ const _khorsheed_dsh_game_game_bind_parameter_1$schema = () => (_khorsheed_dsh_game_game_bind_parameter_1$schema$value ??= z.object({
10
+ 'projectId': z.union([z.literal(null), z.string()]),
11
+ }))
12
+ let _khorsheed_dsh_game_game_bind_result$schema$value
13
+ const _khorsheed_dsh_game_game_bind_result$schema = () => (_khorsheed_dsh_game_game_bind_result$schema$value ??= z.union([z.object({
14
+ 'ok': z.literal(false).readonly(),
15
+ 'error': z.union([z.literal("not-found"), z.literal("denied"), z.literal("io"), z.literal("unbound"), z.literal("invalid"), z.literal("no-version"), z.literal("not-a-project"), z.literal("is-workspace"), z.literal("trash-failed")]).readonly(),
16
+ }), z.object({
17
+ 'ok': z.literal(true).readonly(),
18
+ })]))
19
+ let _khorsheed_dsh_game_game_bundle_parameter_0$schema$value
20
+ const _khorsheed_dsh_game_game_bundle_parameter_0$schema = () => (_khorsheed_dsh_game_game_bundle_parameter_0$schema$value ??= z.object({
21
+ 'projectId': z.string(),
22
+ 'which': z.union([z.literal("current"), z.literal("candidate")]).optional(),
23
+ }))
24
+ let _khorsheed_dsh_game_game_bundle_result$schema$value
25
+ const _khorsheed_dsh_game_game_bundle_result$schema = () => (_khorsheed_dsh_game_game_bundle_result$schema$value ??= z.union([z.object({
26
+ 'ok': z.literal(false).readonly(),
27
+ 'error': z.union([z.literal("not-found"), z.literal("denied"), z.literal("io"), z.literal("unbound"), z.literal("invalid"), z.literal("no-version"), z.literal("not-a-project"), z.literal("is-workspace"), z.literal("trash-failed")]).readonly(),
28
+ }), z.object({
29
+ 'ok': z.literal(true).readonly(),
30
+ 'bundle': z.object({
31
+ 'projectId': z.string().readonly(),
32
+ 'version': z.number().readonly(),
33
+ 'files': z.record(z.string(), z.union([z.object({
34
+ 'type': z.string().readonly(),
35
+ 'text': z.string().readonly(),
36
+ }), z.object({
37
+ 'type': z.string().readonly(),
38
+ 'b64': z.string().readonly(),
39
+ })])).readonly().readonly(),
40
+ }).readonly(),
41
+ })]))
42
+ let _khorsheed_dsh_game_game_changes_parameter_0$schema$value
43
+ const _khorsheed_dsh_game_game_changes_parameter_0$schema = () => (_khorsheed_dsh_game_game_changes_parameter_0$schema$value ??= z.object({
44
+ 'projectId': z.string(),
45
+ }))
46
+ let _khorsheed_dsh_game_game_changes_result$schema$value
47
+ const _khorsheed_dsh_game_game_changes_result$schema = () => (_khorsheed_dsh_game_game_changes_result$schema$value ??= z.union([z.object({
48
+ 'ok': z.literal(false).readonly(),
49
+ 'error': z.union([z.literal("not-found"), z.literal("denied"), z.literal("io"), z.literal("unbound"), z.literal("invalid"), z.literal("no-version"), z.literal("not-a-project"), z.literal("is-workspace"), z.literal("trash-failed")]).readonly(),
50
+ }), z.object({
51
+ 'against': z.union([z.literal(null), z.number()]).readonly().describe('The version compared against (the waiting candidate, else the live one); null before any.'),
52
+ 'hasEntry': z.boolean().readonly(),
53
+ 'count': z.number().readonly().describe('Build files added, changed or removed (first 30 of \\`count\\`).'),
54
+ 'files': z.array(z.object({
55
+ 'path': z.string().readonly(),
56
+ 'kind': z.union([z.literal("changed"), z.literal("added"), z.literal("removed")]).readonly(),
57
+ })).readonly(),
58
+ 'lastAt': z.union([z.literal(null), z.string()]).readonly().describe('The newest change\'s time.'),
59
+ 'busy': z.union([z.literal(null), z.literal("turn"), z.literal("recent")]).readonly().describe('Someone is still writing: a bound session\'s turn is running, or a file changed in the last 20 s.'),
60
+ 'edits': z.array(z.object({
61
+ 'key': z.string().readonly().describe('Stable key so repeated edits of one thing collapse into one entry (`param:speed`, `look:fog`, `design:core-loop`).'),
62
+ 'text': z.string().readonly().describe('Short label for the dock and the model (`参数 移动速度 1.4→1.8`).'),
63
+ })).readonly().describe('The panel edits among them.'),
64
+ 'failed': z.union([z.literal(null), z.array(z.object({
65
+ 'where': z.string().readonly(),
66
+ 'message': z.string().readonly(),
67
+ }))]).readonly().describe('The last check ran after the newest change and failed: its findings.'),
68
+ 'ok': z.literal(true).readonly(),
69
+ })]))
70
+ let _khorsheed_dsh_game_game_checkShot_parameter_0$schema$value
71
+ const _khorsheed_dsh_game_game_checkShot_parameter_0$schema = () => (_khorsheed_dsh_game_game_checkShot_parameter_0$schema$value ??= z.object({
72
+ 'projectId': z.string(),
73
+ 'version': z.number().optional(),
74
+ }))
75
+ let _khorsheed_dsh_game_game_checkShot_result$schema$value
76
+ const _khorsheed_dsh_game_game_checkShot_result$schema = () => (_khorsheed_dsh_game_game_checkShot_result$schema$value ??= z.union([z.object({
77
+ 'ok': z.literal(false).readonly(),
78
+ 'error': z.union([z.literal("not-found"), z.literal("denied"), z.literal("io"), z.literal("unbound"), z.literal("invalid"), z.literal("no-version"), z.literal("not-a-project"), z.literal("is-workspace"), z.literal("trash-failed")]).readonly(),
79
+ }), z.object({
80
+ 'ok': z.literal(true).readonly(),
81
+ 'webp': z.string().readonly(),
82
+ })]))
83
+ let _khorsheed_dsh_game_game_commit_parameter_0$schema$value
84
+ const _khorsheed_dsh_game_game_commit_parameter_0$schema = () => (_khorsheed_dsh_game_game_commit_parameter_0$schema$value ??= z.string())
85
+ let _khorsheed_dsh_game_game_commit_parameter_1$schema$value
86
+ const _khorsheed_dsh_game_game_commit_parameter_1$schema = () => (_khorsheed_dsh_game_game_commit_parameter_1$schema$value ??= z.object({
87
+ 'projectId': z.string(),
88
+ }))
89
+ let _khorsheed_dsh_game_game_commit_result$schema$value
90
+ const _khorsheed_dsh_game_game_commit_result$schema = () => (_khorsheed_dsh_game_game_commit_result$schema$value ??= z.union([z.object({
91
+ 'ok': z.literal(false).readonly(),
92
+ 'error': z.union([z.literal("not-found"), z.literal("denied"), z.literal("io"), z.literal("unbound"), z.literal("invalid"), z.literal("no-version"), z.literal("not-a-project"), z.literal("is-workspace"), z.literal("trash-failed")]).readonly(),
93
+ }), z.object({
94
+ 'ok': z.literal(true).readonly(),
95
+ 'kind': z.union([z.literal("candidate"), z.literal("deployed")]).readonly(),
96
+ 'version': z.number().readonly(),
97
+ }), z.object({
98
+ 'ok': z.literal(true).readonly(),
99
+ 'kind': z.literal("failed").readonly(),
100
+ 'failures': z.array(z.object({
101
+ 'where': z.string().readonly(),
102
+ 'message': z.string().readonly(),
103
+ })).readonly(),
104
+ }), z.object({
105
+ 'ok': z.literal(true).readonly(),
106
+ 'kind': z.union([z.literal("unchanged"), z.literal("no-entry")]).readonly(),
107
+ })]))
108
+ let _khorsheed_dsh_game_game_confirm_parameter_0$schema$value
109
+ const _khorsheed_dsh_game_game_confirm_parameter_0$schema = () => (_khorsheed_dsh_game_game_confirm_parameter_0$schema$value ??= z.string())
110
+ let _khorsheed_dsh_game_game_confirm_parameter_1$schema$value
111
+ const _khorsheed_dsh_game_game_confirm_parameter_1$schema = () => (_khorsheed_dsh_game_game_confirm_parameter_1$schema$value ??= z.object({
112
+ 'projectId': z.string(),
113
+ }))
114
+ let _khorsheed_dsh_game_game_confirm_result$schema$value
115
+ const _khorsheed_dsh_game_game_confirm_result$schema = () => (_khorsheed_dsh_game_game_confirm_result$schema$value ??= z.union([z.object({
116
+ 'ok': z.literal(false).readonly(),
117
+ 'error': z.union([z.literal("not-found"), z.literal("denied"), z.literal("io"), z.literal("unbound"), z.literal("invalid"), z.literal("no-version"), z.literal("not-a-project"), z.literal("is-workspace"), z.literal("trash-failed")]).readonly(),
118
+ }), z.object({
119
+ 'ok': z.literal(true).readonly(),
120
+ 'version': z.number().readonly(),
121
+ })]))
122
+ let _khorsheed_dsh_game_game_deleteProject_parameter_0$schema$value
123
+ const _khorsheed_dsh_game_game_deleteProject_parameter_0$schema = () => (_khorsheed_dsh_game_game_deleteProject_parameter_0$schema$value ??= z.string())
124
+ let _khorsheed_dsh_game_game_deleteProject_parameter_1$schema$value
125
+ const _khorsheed_dsh_game_game_deleteProject_parameter_1$schema = () => (_khorsheed_dsh_game_game_deleteProject_parameter_1$schema$value ??= z.object({
126
+ 'projectId': z.string(),
127
+ 'mode': z.union([z.literal("trash"), z.literal("forget")]),
128
+ }))
129
+ let _khorsheed_dsh_game_game_deleteProject_result$schema$value
130
+ const _khorsheed_dsh_game_game_deleteProject_result$schema = () => (_khorsheed_dsh_game_game_deleteProject_result$schema$value ??= z.union([z.object({
131
+ 'ok': z.literal(true).readonly(),
132
+ 'trashedTo': z.string().readonly().optional(),
133
+ }), z.object({
134
+ 'ok': z.literal(false).readonly(),
135
+ 'error': z.union([z.literal("not-found"), z.literal("denied"), z.literal("io"), z.literal("unbound"), z.literal("invalid"), z.literal("no-version"), z.literal("not-a-project"), z.literal("is-workspace"), z.literal("trash-failed")]).readonly(),
136
+ 'reason': z.string().readonly().optional(),
137
+ })]))
138
+ let _khorsheed_dsh_game_game_diff_parameter_0$schema$value
139
+ const _khorsheed_dsh_game_game_diff_parameter_0$schema = () => (_khorsheed_dsh_game_game_diff_parameter_0$schema$value ??= z.object({
140
+ 'projectId': z.string(),
141
+ 'from': z.number(),
142
+ 'to': z.number(),
143
+ }))
144
+ let _khorsheed_dsh_game_game_diff_result$schema$value
145
+ const _khorsheed_dsh_game_game_diff_result$schema = () => (_khorsheed_dsh_game_game_diff_result$schema$value ??= z.union([z.object({
146
+ 'ok': z.literal(false).readonly(),
147
+ 'error': z.union([z.literal("not-found"), z.literal("denied"), z.literal("io"), z.literal("unbound"), z.literal("invalid"), z.literal("no-version"), z.literal("not-a-project"), z.literal("is-workspace"), z.literal("trash-failed")]).readonly(),
148
+ }), z.object({
149
+ 'ok': z.literal(true).readonly(),
150
+ 'diff': z.object({
151
+ 'added': z.array(z.string()).readonly(),
152
+ 'removed': z.array(z.string()).readonly(),
153
+ 'changed': z.array(z.string()).readonly(),
154
+ }).readonly(),
155
+ })]))
156
+ let _khorsheed_dsh_game_game_dropPending_parameter_0$schema$value
157
+ const _khorsheed_dsh_game_game_dropPending_parameter_0$schema = () => (_khorsheed_dsh_game_game_dropPending_parameter_0$schema$value ??= z.string())
158
+ let _khorsheed_dsh_game_game_dropPending_parameter_1$schema$value
159
+ const _khorsheed_dsh_game_game_dropPending_parameter_1$schema = () => (_khorsheed_dsh_game_game_dropPending_parameter_1$schema$value ??= z.object({
160
+ 'projectId': z.string(),
161
+ 'key': z.string(),
162
+ }))
163
+ let _khorsheed_dsh_game_game_dropPending_result$schema$value
164
+ const _khorsheed_dsh_game_game_dropPending_result$schema = () => (_khorsheed_dsh_game_game_dropPending_result$schema$value ??= z.union([z.object({
165
+ 'ok': z.literal(false).readonly(),
166
+ 'error': z.union([z.literal("not-found"), z.literal("denied"), z.literal("io"), z.literal("unbound"), z.literal("invalid"), z.literal("no-version"), z.literal("not-a-project"), z.literal("is-workspace"), z.literal("trash-failed")]).readonly(),
167
+ }), z.object({
168
+ 'ok': z.literal(true).readonly(),
169
+ })]))
170
+ let _khorsheed_dsh_game_game_editElement_parameter_0$schema$value
171
+ const _khorsheed_dsh_game_game_editElement_parameter_0$schema = () => (_khorsheed_dsh_game_game_editElement_parameter_0$schema$value ??= z.string())
172
+ let _khorsheed_dsh_game_game_editElement_parameter_1$schema$value
173
+ const _khorsheed_dsh_game_game_editElement_parameter_1$schema = () => (_khorsheed_dsh_game_game_editElement_parameter_1$schema$value ??= z.object({
174
+ 'projectId': z.string(),
175
+ 'elementId': z.string(),
176
+ 'look': z.string().optional(),
177
+ 'fields': z.string().optional(),
178
+ }))
179
+ let _khorsheed_dsh_game_game_editElement_result$schema$value
180
+ const _khorsheed_dsh_game_game_editElement_result$schema = () => (_khorsheed_dsh_game_game_editElement_result$schema$value ??= z.union([z.object({
181
+ 'ok': z.literal(false).readonly(),
182
+ 'error': z.union([z.literal("not-found"), z.literal("denied"), z.literal("io"), z.literal("unbound"), z.literal("invalid"), z.literal("no-version"), z.literal("not-a-project"), z.literal("is-workspace"), z.literal("trash-failed")]).readonly(),
183
+ }), z.object({
184
+ 'ok': z.literal(true).readonly(),
185
+ 'elementJson': z.string().readonly(),
186
+ })]))
187
+ let _khorsheed_dsh_game_game_finalizeParams_parameter_0$schema$value
188
+ const _khorsheed_dsh_game_game_finalizeParams_parameter_0$schema = () => (_khorsheed_dsh_game_game_finalizeParams_parameter_0$schema$value ??= z.string())
189
+ let _khorsheed_dsh_game_game_finalizeParams_parameter_1$schema$value
190
+ const _khorsheed_dsh_game_game_finalizeParams_parameter_1$schema = () => (_khorsheed_dsh_game_game_finalizeParams_parameter_1$schema$value ??= z.object({
191
+ 'projectId': z.string(),
192
+ }))
193
+ let _khorsheed_dsh_game_game_finalizeParams_result$schema$value
194
+ const _khorsheed_dsh_game_game_finalizeParams_result$schema = () => (_khorsheed_dsh_game_game_finalizeParams_result$schema$value ??= z.union([z.object({
195
+ 'ok': z.literal(false).readonly(),
196
+ 'error': z.union([z.literal("not-found"), z.literal("denied"), z.literal("io"), z.literal("unbound"), z.literal("invalid"), z.literal("no-version"), z.literal("not-a-project"), z.literal("is-workspace"), z.literal("trash-failed")]).readonly(),
197
+ }), z.object({
198
+ 'ok': z.literal(true).readonly(),
199
+ })]))
200
+ let _khorsheed_dsh_game_game_logPlay_parameter_0$schema$value
201
+ const _khorsheed_dsh_game_game_logPlay_parameter_0$schema = () => (_khorsheed_dsh_game_game_logPlay_parameter_0$schema$value ??= z.string())
202
+ let _khorsheed_dsh_game_game_logPlay_parameter_1$schema$value
203
+ const _khorsheed_dsh_game_game_logPlay_parameter_1$schema = () => (_khorsheed_dsh_game_game_logPlay_parameter_1$schema$value ??= z.object({
204
+ 'projectId': z.string(),
205
+ 'version': z.number(),
206
+ 'seconds': z.number(),
207
+ 'errors': z.array(z.string()),
208
+ }))
209
+ let _khorsheed_dsh_game_game_logPlay_result$schema$value
210
+ const _khorsheed_dsh_game_game_logPlay_result$schema = () => (_khorsheed_dsh_game_game_logPlay_result$schema$value ??= z.union([z.object({
211
+ 'ok': z.literal(false).readonly(),
212
+ 'error': z.union([z.literal("not-found"), z.literal("denied"), z.literal("io"), z.literal("unbound"), z.literal("invalid"), z.literal("no-version"), z.literal("not-a-project"), z.literal("is-workspace"), z.literal("trash-failed")]).readonly(),
213
+ }), z.object({
214
+ 'ok': z.literal(true).readonly(),
215
+ })]))
216
+ let _khorsheed_dsh_game_game_pickProposal_parameter_0$schema$value
217
+ const _khorsheed_dsh_game_game_pickProposal_parameter_0$schema = () => (_khorsheed_dsh_game_game_pickProposal_parameter_0$schema$value ??= z.string())
218
+ let _khorsheed_dsh_game_game_pickProposal_parameter_1$schema$value
219
+ const _khorsheed_dsh_game_game_pickProposal_parameter_1$schema = () => (_khorsheed_dsh_game_game_pickProposal_parameter_1$schema$value ??= z.object({
220
+ 'projectId': z.string(),
221
+ 'elementId': z.string(),
222
+ 'at': z.string(),
223
+ 'index': z.number(),
224
+ }))
225
+ let _khorsheed_dsh_game_game_pickProposal_result$schema$value
226
+ const _khorsheed_dsh_game_game_pickProposal_result$schema = () => (_khorsheed_dsh_game_game_pickProposal_result$schema$value ??= z.union([z.object({
227
+ 'ok': z.literal(false).readonly(),
228
+ 'error': z.union([z.literal("not-found"), z.literal("denied"), z.literal("io"), z.literal("unbound"), z.literal("invalid"), z.literal("no-version"), z.literal("not-a-project"), z.literal("is-workspace"), z.literal("trash-failed")]).readonly(),
229
+ }), z.object({
230
+ 'ok': z.literal(true).readonly(),
231
+ })]))
232
+ let _khorsheed_dsh_game_game_projectCards_result$schema$value
233
+ const _khorsheed_dsh_game_game_projectCards_result$schema = () => (_khorsheed_dsh_game_game_projectCards_result$schema$value ??= z.array(z.object({
234
+ 'id': z.string().readonly(),
235
+ 'title': z.string().readonly(),
236
+ 'root': z.string().readonly(),
237
+ 'updatedAt': z.string().readonly(),
238
+ 'pitch': z.string().readonly(),
239
+ 'artStyle': z.string().readonly(),
240
+ 'version': z.union([z.literal(null), z.number()]).readonly(),
241
+ 'elements': z.number().readonly(),
242
+ 'thumb': z.string().readonly().optional().describe('The last check\'s screenshot (webp, base64), when there is one.'),
243
+ })))
244
+ let _khorsheed_dsh_game_game_reject_parameter_0$schema$value
245
+ const _khorsheed_dsh_game_game_reject_parameter_0$schema = () => (_khorsheed_dsh_game_game_reject_parameter_0$schema$value ??= z.string())
246
+ let _khorsheed_dsh_game_game_reject_parameter_1$schema$value
247
+ const _khorsheed_dsh_game_game_reject_parameter_1$schema = () => (_khorsheed_dsh_game_game_reject_parameter_1$schema$value ??= z.object({
248
+ 'projectId': z.string(),
249
+ 'reason': z.string(),
250
+ }))
251
+ let _khorsheed_dsh_game_game_reject_result$schema$value
252
+ const _khorsheed_dsh_game_game_reject_result$schema = () => (_khorsheed_dsh_game_game_reject_result$schema$value ??= z.union([z.object({
253
+ 'ok': z.literal(false).readonly(),
254
+ 'error': z.union([z.literal("not-found"), z.literal("denied"), z.literal("io"), z.literal("unbound"), z.literal("invalid"), z.literal("no-version"), z.literal("not-a-project"), z.literal("is-workspace"), z.literal("trash-failed")]).readonly(),
255
+ }), z.object({
256
+ 'ok': z.literal(true).readonly(),
257
+ })]))
258
+ let _khorsheed_dsh_game_game_requestRestyle_parameter_0$schema$value
259
+ const _khorsheed_dsh_game_game_requestRestyle_parameter_0$schema = () => (_khorsheed_dsh_game_game_requestRestyle_parameter_0$schema$value ??= z.string())
260
+ let _khorsheed_dsh_game_game_requestRestyle_parameter_1$schema$value
261
+ const _khorsheed_dsh_game_game_requestRestyle_parameter_1$schema = () => (_khorsheed_dsh_game_game_requestRestyle_parameter_1$schema$value ??= z.object({
262
+ 'projectId': z.string(),
263
+ 'styleId': z.string(),
264
+ }))
265
+ let _khorsheed_dsh_game_game_requestRestyle_result$schema$value
266
+ const _khorsheed_dsh_game_game_requestRestyle_result$schema = () => (_khorsheed_dsh_game_game_requestRestyle_result$schema$value ??= z.union([z.object({
267
+ 'ok': z.literal(false).readonly(),
268
+ 'error': z.union([z.literal("not-found"), z.literal("denied"), z.literal("io"), z.literal("unbound"), z.literal("invalid"), z.literal("no-version"), z.literal("not-a-project"), z.literal("is-workspace"), z.literal("trash-failed")]).readonly(),
269
+ }), z.object({
270
+ 'ok': z.literal(true).readonly(),
271
+ })]))
272
+ let _khorsheed_dsh_game_game_resetParams_parameter_0$schema$value
273
+ const _khorsheed_dsh_game_game_resetParams_parameter_0$schema = () => (_khorsheed_dsh_game_game_resetParams_parameter_0$schema$value ??= z.string())
274
+ let _khorsheed_dsh_game_game_resetParams_parameter_1$schema$value
275
+ const _khorsheed_dsh_game_game_resetParams_parameter_1$schema = () => (_khorsheed_dsh_game_game_resetParams_parameter_1$schema$value ??= z.object({
276
+ 'projectId': z.string(),
277
+ }))
278
+ let _khorsheed_dsh_game_game_resetParams_result$schema$value
279
+ const _khorsheed_dsh_game_game_resetParams_result$schema = () => (_khorsheed_dsh_game_game_resetParams_result$schema$value ??= z.union([z.object({
280
+ 'ok': z.literal(false).readonly(),
281
+ 'error': z.union([z.literal("not-found"), z.literal("denied"), z.literal("io"), z.literal("unbound"), z.literal("invalid"), z.literal("no-version"), z.literal("not-a-project"), z.literal("is-workspace"), z.literal("trash-failed")]).readonly(),
282
+ }), z.object({
283
+ 'ok': z.literal(true).readonly(),
284
+ })]))
285
+ let _khorsheed_dsh_game_game_rollback_parameter_0$schema$value
286
+ const _khorsheed_dsh_game_game_rollback_parameter_0$schema = () => (_khorsheed_dsh_game_game_rollback_parameter_0$schema$value ??= z.string())
287
+ let _khorsheed_dsh_game_game_rollback_parameter_1$schema$value
288
+ const _khorsheed_dsh_game_game_rollback_parameter_1$schema = () => (_khorsheed_dsh_game_game_rollback_parameter_1$schema$value ??= z.object({
289
+ 'projectId': z.string(),
290
+ 'version': z.number(),
291
+ }))
292
+ let _khorsheed_dsh_game_game_rollback_result$schema$value
293
+ const _khorsheed_dsh_game_game_rollback_result$schema = () => (_khorsheed_dsh_game_game_rollback_result$schema$value ??= z.union([z.object({
294
+ 'ok': z.literal(false).readonly(),
295
+ 'error': z.union([z.literal("not-found"), z.literal("denied"), z.literal("io"), z.literal("unbound"), z.literal("invalid"), z.literal("no-version"), z.literal("not-a-project"), z.literal("is-workspace"), z.literal("trash-failed")]).readonly(),
296
+ }), z.object({
297
+ 'ok': z.literal(true).readonly(),
298
+ })]))
299
+ let _khorsheed_dsh_game_game_setAutoConfirm_parameter_0$schema$value
300
+ const _khorsheed_dsh_game_game_setAutoConfirm_parameter_0$schema = () => (_khorsheed_dsh_game_game_setAutoConfirm_parameter_0$schema$value ??= z.string())
301
+ let _khorsheed_dsh_game_game_setAutoConfirm_parameter_1$schema$value
302
+ const _khorsheed_dsh_game_game_setAutoConfirm_parameter_1$schema = () => (_khorsheed_dsh_game_game_setAutoConfirm_parameter_1$schema$value ??= z.object({
303
+ 'projectId': z.string(),
304
+ 'on': z.boolean(),
305
+ }))
306
+ let _khorsheed_dsh_game_game_setAutoConfirm_result$schema$value
307
+ const _khorsheed_dsh_game_game_setAutoConfirm_result$schema = () => (_khorsheed_dsh_game_game_setAutoConfirm_result$schema$value ??= z.union([z.object({
308
+ 'ok': z.literal(false).readonly(),
309
+ 'error': z.union([z.literal("not-found"), z.literal("denied"), z.literal("io"), z.literal("unbound"), z.literal("invalid"), z.literal("no-version"), z.literal("not-a-project"), z.literal("is-workspace"), z.literal("trash-failed")]).readonly(),
310
+ }), z.object({
311
+ 'ok': z.literal(true).readonly(),
312
+ })]))
313
+ let _khorsheed_dsh_game_game_setOnePager_parameter_0$schema$value
314
+ const _khorsheed_dsh_game_game_setOnePager_parameter_0$schema = () => (_khorsheed_dsh_game_game_setOnePager_parameter_0$schema$value ??= z.string())
315
+ let _khorsheed_dsh_game_game_setOnePager_parameter_1$schema$value
316
+ const _khorsheed_dsh_game_game_setOnePager_parameter_1$schema = () => (_khorsheed_dsh_game_game_setOnePager_parameter_1$schema$value ??= z.object({
317
+ 'projectId': z.string(),
318
+ 'pitch': z.string().optional(),
319
+ 'elementTypes': z.string().optional(),
320
+ 'pillars': z.string().optional(),
321
+ }))
322
+ let _khorsheed_dsh_game_game_setOnePager_result$schema$value
323
+ const _khorsheed_dsh_game_game_setOnePager_result$schema = () => (_khorsheed_dsh_game_game_setOnePager_result$schema$value ??= z.union([z.object({
324
+ 'ok': z.literal(false).readonly(),
325
+ 'error': z.union([z.literal("not-found"), z.literal("denied"), z.literal("io"), z.literal("unbound"), z.literal("invalid"), z.literal("no-version"), z.literal("not-a-project"), z.literal("is-workspace"), z.literal("trash-failed")]).readonly(),
326
+ }), z.object({
327
+ 'ok': z.literal(true).readonly(),
328
+ })]))
329
+ let _khorsheed_dsh_game_game_setParam_parameter_0$schema$value
330
+ const _khorsheed_dsh_game_game_setParam_parameter_0$schema = () => (_khorsheed_dsh_game_game_setParam_parameter_0$schema$value ??= z.string())
331
+ let _khorsheed_dsh_game_game_setParam_parameter_1$schema$value
332
+ const _khorsheed_dsh_game_game_setParam_parameter_1$schema = () => (_khorsheed_dsh_game_game_setParam_parameter_1$schema$value ??= z.object({
333
+ 'projectId': z.string(),
334
+ 'key': z.string(),
335
+ 'value': z.number(),
336
+ }))
337
+ let _khorsheed_dsh_game_game_setParam_result$schema$value
338
+ const _khorsheed_dsh_game_game_setParam_result$schema = () => (_khorsheed_dsh_game_game_setParam_result$schema$value ??= z.union([z.object({
339
+ 'ok': z.literal(false).readonly(),
340
+ 'error': z.union([z.literal("not-found"), z.literal("denied"), z.literal("io"), z.literal("unbound"), z.literal("invalid"), z.literal("no-version"), z.literal("not-a-project"), z.literal("is-workspace"), z.literal("trash-failed")]).readonly(),
341
+ }), z.object({
342
+ 'ok': z.literal(true).readonly(),
343
+ })]))
344
+ let _khorsheed_dsh_game_game_state_parameter_0$schema$value
345
+ const _khorsheed_dsh_game_game_state_parameter_0$schema = () => (_khorsheed_dsh_game_game_state_parameter_0$schema$value ??= z.string())
346
+ let _khorsheed_dsh_game_game_state_result$schema$value
347
+ const _khorsheed_dsh_game_game_state_result$schema = () => (_khorsheed_dsh_game_game_state_result$schema$value ??= z.object({
348
+ 'bound': z.union([z.literal(null), z.object({
349
+ 'id': z.string().readonly(),
350
+ 'title': z.string().readonly(),
351
+ 'root': z.string().readonly(),
352
+ 'manifest': z.union([z.literal(null), z.object({
353
+ 'schema': z.literal(1).readonly(),
354
+ 'id': z.string().readonly(),
355
+ 'title': z.string().readonly(),
356
+ 'pitch': z.string().readonly().describe('The one-pager\'s core: what the player does and why it is fun, in a sentence or two.'),
357
+ 'elementTypes': z.array(z.string()).readonly().describe('Element categories the game has (角色 / 敌人 / 道具 …); element files declare one of these.'),
358
+ 'artStyle': z.string().readonly().describe('An {@link ART_STYLES} id, or `custom:<description>`.'),
359
+ 'pillars': z.array(z.string()).readonly().describe('Design pillars, pinned at the top of the design doc.'),
360
+ 'autoConfirm': z.boolean().readonly().describe('Passing candidates deploy into the play area without a click (default on, decision D6).'),
361
+ 'params': z.array(z.object({
362
+ 'key': z.string().readonly(),
363
+ 'label': z.string().readonly(),
364
+ 'min': z.number().readonly(),
365
+ 'max': z.number().readonly(),
366
+ 'step': z.number().readonly(),
367
+ 'value': z.number().readonly(),
368
+ 'unit': z.string().readonly().optional(),
369
+ })).readonly().describe('The tunable numbers the 试玩 drawer shows; `value` is the finalized default.'),
370
+ 'palette': z.array(z.string()).readonly().describe('The palette element looks draw from (the style\'s, unless the agent set its own).'),
371
+ 'createdAt': z.string().readonly(),
372
+ 'runtime': z.object({
373
+ 'kit': z.union([z.literal("2d-canvas"), z.literal("3d-three")]).readonly(),
374
+ 'version': z.number().readonly(),
375
+ }).readonly().optional().describe('The runtime kit the project is pinned to; absent = `2d-canvas` v1 (projects made before kits).'),
376
+ 'style3d': z.object({
377
+ 'preset': z.string().readonly().optional(),
378
+ 'bg': z.string().readonly().optional(),
379
+ 'ground': z.string().readonly().optional(),
380
+ 'ground2': z.string().readonly().optional(),
381
+ 'water': z.string().readonly().optional(),
382
+ 'outline': z.string().readonly().optional(),
383
+ 'outlineWidth': z.number().readonly().optional().describe('Outline thickness in world units; 0 turns the ink line off.'),
384
+ 'shades': z.number().readonly().optional().describe('Toon shading bands (2 = hard cel, 5 = soft).'),
385
+ 'fog': z.tuple([z.number(), z.number()]).readonly().optional().describe('Fog start and end distance.'),
386
+ 'light': z.number().readonly().optional().describe('Sun intensity.'),
387
+ 'shadows': z.boolean().readonly().optional().describe('The sun casts shadows (game-wide; off unless set).'),
388
+ 'rim': z.number().readonly().optional().describe('Rim light on toon surfaces (0 = off … 2), and its color.'),
389
+ 'rimColor': z.string().readonly().optional(),
390
+ 'scenes': z.record(z.string(), z.object({
391
+ 'bg': z.string().readonly().optional(),
392
+ 'ground': z.string().readonly().optional(),
393
+ 'ground2': z.string().readonly().optional(),
394
+ 'water': z.string().readonly().optional(),
395
+ 'fog': z.tuple([z.number(), z.number()]).readonly().optional(),
396
+ 'light': z.number().readonly().optional(),
397
+ })).readonly().readonly().optional().describe('Per-scene overrides, keyed by the game\'s own scene names (dsh3d `enterScene(name)`): background, ground colors, water, fog and light. Shading bands and the outline stay global.'),
398
+ }).readonly().optional().describe('3D projects: the rendering style as data (see {@link Style3D}).'),
399
+ })]).readonly(),
400
+ 'manifestError': z.string().readonly().optional().describe('Why the manifest could not be read, when it could not.'),
401
+ 'chapters': z.array(z.object({
402
+ 'id': z.string().readonly(),
403
+ 'title': z.string().readonly(),
404
+ 'file': z.string().readonly(),
405
+ 'status': z.union([z.literal("draft"), z.literal("done"), z.literal("todo")]).readonly(),
406
+ 'text': z.string().readonly(),
407
+ 'generated': z.boolean().readonly(),
408
+ 'mtime': z.number().readonly().describe('Last-modified time (ms) of the chapter\'s source, 0 when unknown.'),
409
+ })).readonly(),
410
+ 'elements': z.array(z.object({
411
+ 'file': z.string().readonly(),
412
+ 'index': z.number().readonly().describe('Position inside the file when it holds an array, else -1.'),
413
+ 'id': z.string().readonly(),
414
+ 'type': z.string().readonly(),
415
+ 'name': z.string().readonly(),
416
+ 'stats': z.record(z.string(), z.union([z.string(), z.number(), z.literal(false), z.literal(true)])).readonly().readonly().describe('Every other top-level scalar, for the numbers table and the field editor.'),
417
+ 'look': z.union([z.literal(null), z.object({
418
+ 'palette': z.array(z.string()).readonly(),
419
+ 'states': z.record(z.string(), z.array(z.string())).readonly().readonly(),
420
+ })]).readonly().describe('The 2D pixel look, if the element has one.'),
421
+ 'look3d': z.union([z.literal(null), z.object({
422
+ 'kind': z.literal("parts3d").readonly(),
423
+ 'base': z.union([z.literal("quadruped"), z.literal("bird"), z.literal("fish"), z.literal("serpent"), z.literal("humanoid"), z.string()]).readonly().describe('A built-in {@link BodyBase} or a body the project registers with `dsh3d.defineBase`.'),
424
+ 'proportions': z.record(z.string(), z.number()).readonly().readonly(),
425
+ 'parts': z.array(z.object({
426
+ 'type': z.union([z.string(), z.literal("ear"), z.literal("horn"), z.literal("tail"), z.literal("wing"), z.literal("fin"), z.literal("eye"), z.literal("face")]).readonly(),
427
+ 'count': z.number().readonly().optional(),
428
+ 'size': z.number().readonly().optional(),
429
+ 'length': z.number().readonly().optional(),
430
+ 'fan': z.number().readonly().optional().describe('Spread of a multi-part fan (tails, wings), degrees.'),
431
+ 'thickness': z.number().readonly().optional(),
432
+ 'color': z.string().readonly().optional().describe('A `palette` key or a `#rrggbb` color.'),
433
+ 'style': z.string().readonly().optional().describe('`face` only: `human` gives a human face.'),
434
+ 'extra': z.record(z.string(), z.union([z.string(), z.number()])).readonly().readonly().optional().describe('A project-defined part\'s own parameters (anything beyond the shared keys).'),
435
+ })).readonly(),
436
+ 'palette': z.record(z.string(), z.string()).readonly().readonly().describe('Named colors: `body`, `accent`, `eye`, `belly`…'),
437
+ 'motion': z.record(z.string(), z.object({
438
+ 'amplitude': z.number().readonly().optional(),
439
+ 'period': z.number().readonly().optional(),
440
+ })).readonly().readonly().describe('`tailSway`, `breath`, `flap`, `swim`, `bob`.'),
441
+ 'scale': z.number().readonly().optional().describe('Overall size in world units (default 1).'),
442
+ 'preview': z.object({
443
+ 'yaw': z.number().readonly().optional(),
444
+ 'pitch': z.number().readonly().optional(),
445
+ }).readonly().optional().describe('The panel\'s default view of it.'),
446
+ 'refine': z.record(z.string(), z.number()).readonly().readonly().optional().describe('Refine-path (Blender) knobs; ignored by the live builder.'),
447
+ }), z.object({
448
+ 'kind': z.literal("gltf").readonly(),
449
+ 'src': z.string().readonly().describe('Project-relative path to a `.glb` / `.gltf`.'),
450
+ 'scale': z.number().readonly().optional(),
451
+ 'material': z.union([z.literal("toon"), z.literal("original")]).readonly().optional().describe('`toon` (default): the style\'s toon shading over the model\'s colors, vertex colors and textures; `original`: its own materials.'),
452
+ 'outline': z.boolean().readonly().optional().describe('Ink outline around the model (default: on with toon, off with original).'),
453
+ 'animation': z.string().readonly().optional().describe('The clip that plays on its own (default: one named idle / 待机 / stand, else the first).'),
454
+ 'preview': z.object({
455
+ 'yaw': z.number().readonly().optional(),
456
+ 'pitch': z.number().readonly().optional(),
457
+ }).readonly().optional().describe('The panel\'s default view of it.'),
458
+ 'tint': z.record(z.string(), z.string()).readonly().readonly().optional().describe('Base color by the model\'s material name (`{ "冠": "#c9a23a" }`).'),
459
+ 'bones': z.record(z.string(), z.object({
460
+ 'scale': z.union([z.number(), z.tuple([z.number(), z.number(), z.number()])]).readonly().optional(),
461
+ 'rotate': z.tuple([z.number(), z.number(), z.number()]).readonly().optional(),
462
+ })).readonly().readonly().optional().describe('Per bone (by name): a scale (one number or x/y/z) and a rotation offset in degrees, on top of any animation.'),
463
+ 'morphs': z.record(z.string(), z.number()).readonly().readonly().optional().describe('Shape-key weights by name (`{ "smile": 0.6 }`).'),
464
+ 'recipe': z.object({
465
+ 'kind': z.literal("parts3d").readonly(),
466
+ 'base': z.union([z.literal("quadruped"), z.literal("bird"), z.literal("fish"), z.literal("serpent"), z.literal("humanoid"), z.string()]).readonly().describe('A built-in {@link BodyBase} or a body the project registers with `dsh3d.defineBase`.'),
467
+ 'proportions': z.record(z.string(), z.number()).readonly().readonly(),
468
+ 'parts': z.array(z.object({
469
+ 'type': z.union([z.string(), z.literal("ear"), z.literal("horn"), z.literal("tail"), z.literal("wing"), z.literal("fin"), z.literal("eye"), z.literal("face")]).readonly(),
470
+ 'count': z.number().readonly().optional(),
471
+ 'size': z.number().readonly().optional(),
472
+ 'length': z.number().readonly().optional(),
473
+ 'fan': z.number().readonly().optional().describe('Spread of a multi-part fan (tails, wings), degrees.'),
474
+ 'thickness': z.number().readonly().optional(),
475
+ 'color': z.string().readonly().optional().describe('A `palette` key or a `#rrggbb` color.'),
476
+ 'style': z.string().readonly().optional().describe('`face` only: `human` gives a human face.'),
477
+ 'extra': z.record(z.string(), z.union([z.string(), z.number()])).readonly().readonly().optional().describe('A project-defined part\'s own parameters (anything beyond the shared keys).'),
478
+ })).readonly(),
479
+ 'palette': z.record(z.string(), z.string()).readonly().readonly().describe('Named colors: `body`, `accent`, `eye`, `belly`…'),
480
+ 'motion': z.record(z.string(), z.object({
481
+ 'amplitude': z.number().readonly().optional(),
482
+ 'period': z.number().readonly().optional(),
483
+ })).readonly().readonly().describe('`tailSway`, `breath`, `flap`, `swim`, `bob`.'),
484
+ 'scale': z.number().readonly().optional().describe('Overall size in world units (default 1).'),
485
+ 'preview': z.object({
486
+ 'yaw': z.number().readonly().optional(),
487
+ 'pitch': z.number().readonly().optional(),
488
+ }).readonly().optional().describe('The panel\'s default view of it.'),
489
+ 'refine': z.record(z.string(), z.number()).readonly().readonly().optional().describe('Refine-path (Blender) knobs; ignored by the live builder.'),
490
+ }).readonly().optional(),
491
+ })]).readonly().describe('The 3D look, if the element has one (3d-three projects).'),
492
+ 'lore': z.string().readonly().describe('The 设定 text (the element\'s `lore` field): who it is, its temper, how it meets the player. \'\' when unwritten.'),
493
+ })).readonly(),
494
+ 'elementErrors': z.array(z.object({
495
+ 'where': z.string().readonly().describe('`smoke`, `data`, or the test file\'s project-relative path.'),
496
+ 'message': z.string().readonly(),
497
+ })).readonly(),
498
+ 'current': z.union([z.literal(null), z.object({
499
+ 'version': z.number().readonly(),
500
+ 'at': z.string().readonly(),
501
+ 'fingerprint': z.string().readonly(),
502
+ 'by': z.union([z.literal("user"), z.literal("agent"), z.literal("turn")]).readonly().optional().describe('Who cut it: the user (检查并发版 / 提交), the agent (\\`game_publish\\`), or the end-of-turn check. Absent on older versions.'),
503
+ 'note': z.string().readonly().optional().describe('One line about what changed (the turn\'s last words, or the plugin\'s own note).'),
504
+ })]).readonly(),
505
+ 'candidate': z.union([z.literal(null), z.object({
506
+ 'version': z.number().readonly(),
507
+ 'at': z.string().readonly(),
508
+ 'fingerprint': z.string().readonly(),
509
+ 'by': z.union([z.literal("user"), z.literal("agent"), z.literal("turn")]).readonly().optional().describe('Who cut it: the user (检查并发版 / 提交), the agent (\\`game_publish\\`), or the end-of-turn check. Absent on older versions.'),
510
+ 'note': z.string().readonly().optional().describe('One line about what changed (the turn\'s last words, or the plugin\'s own note).'),
511
+ })]).readonly(),
512
+ 'lastCheck': z.union([z.literal(null), z.object({
513
+ 'fingerprint': z.string().readonly(),
514
+ 'at': z.string().readonly(),
515
+ 'ok': z.boolean().readonly(),
516
+ 'failures': z.array(z.object({
517
+ 'where': z.string().readonly().describe('`smoke`, `data`, or the test file\'s project-relative path.'),
518
+ 'message': z.string().readonly(),
519
+ })).readonly(),
520
+ 'passed': z.number().readonly().describe('Test cases that ran and passed.'),
521
+ 'skipped': z.string().readonly().optional().describe('Why the browser part did not run (no Chrome found, say); the data part still did.'),
522
+ 'attempt': z.number().readonly().describe('The automatic fix round this run belongs to (1-based), 0 when not steered.'),
523
+ 'gaveUp': z.boolean().readonly().optional().describe('Set when the fix cap was hit and the plugin stopped steering.'),
524
+ })]).readonly(),
525
+ 'hasEntry': z.boolean().readonly(),
526
+ 'paramOverrides': z.record(z.string(), z.number()).readonly().readonly().describe('The user\'s slider values that differ from the finalized defaults.'),
527
+ 'pending': z.array(z.object({
528
+ 'key': z.string().readonly().describe('Stable key so repeated edits of one thing collapse into one entry (`param:speed`, `look:fog`, `design:core-loop`).'),
529
+ 'text': z.string().readonly().describe('Short label for the dock and the model (`参数 移动速度 1.4→1.8`).'),
530
+ })).readonly().describe('Panel changes the agent has not read yet (`game_read` shows, then clears them).'),
531
+ 'uncommitted': z.array(z.object({
532
+ 'key': z.string().readonly().describe('Stable key so repeated edits of one thing collapse into one entry (`param:speed`, `look:fog`, `design:core-loop`).'),
533
+ 'text': z.string().readonly().describe('Short label for the dock and the model (`参数 移动速度 1.4→1.8`).'),
534
+ })).readonly().describe('Panel edits in the working files that no version carries yet — the panel\'s 提交为新版本.'),
535
+ 'proposals': z.array(z.object({
536
+ 'elementId': z.string().readonly(),
537
+ 'at': z.string().readonly(),
538
+ 'request': z.string().readonly(),
539
+ 'variants': z.array(z.object({
540
+ 'label': z.string().readonly(),
541
+ 'note': z.string().readonly(),
542
+ 'look': z.union([z.object({
543
+ 'palette': z.array(z.string()).readonly(),
544
+ 'states': z.record(z.string(), z.array(z.string())).readonly().readonly(),
545
+ }), z.object({
546
+ 'kind': z.literal("parts3d").readonly(),
547
+ 'base': z.union([z.literal("quadruped"), z.literal("bird"), z.literal("fish"), z.literal("serpent"), z.literal("humanoid"), z.string()]).readonly().describe('A built-in {@link BodyBase} or a body the project registers with `dsh3d.defineBase`.'),
548
+ 'proportions': z.record(z.string(), z.number()).readonly().readonly(),
549
+ 'parts': z.array(z.object({
550
+ 'type': z.union([z.string(), z.literal("ear"), z.literal("horn"), z.literal("tail"), z.literal("wing"), z.literal("fin"), z.literal("eye"), z.literal("face")]).readonly(),
551
+ 'count': z.number().readonly().optional(),
552
+ 'size': z.number().readonly().optional(),
553
+ 'length': z.number().readonly().optional(),
554
+ 'fan': z.number().readonly().optional().describe('Spread of a multi-part fan (tails, wings), degrees.'),
555
+ 'thickness': z.number().readonly().optional(),
556
+ 'color': z.string().readonly().optional().describe('A `palette` key or a `#rrggbb` color.'),
557
+ 'style': z.string().readonly().optional().describe('`face` only: `human` gives a human face.'),
558
+ 'extra': z.record(z.string(), z.union([z.string(), z.number()])).readonly().readonly().optional().describe('A project-defined part\'s own parameters (anything beyond the shared keys).'),
559
+ })).readonly(),
560
+ 'palette': z.record(z.string(), z.string()).readonly().readonly().describe('Named colors: `body`, `accent`, `eye`, `belly`…'),
561
+ 'motion': z.record(z.string(), z.object({
562
+ 'amplitude': z.number().readonly().optional(),
563
+ 'period': z.number().readonly().optional(),
564
+ })).readonly().readonly().describe('`tailSway`, `breath`, `flap`, `swim`, `bob`.'),
565
+ 'scale': z.number().readonly().optional().describe('Overall size in world units (default 1).'),
566
+ 'preview': z.object({
567
+ 'yaw': z.number().readonly().optional(),
568
+ 'pitch': z.number().readonly().optional(),
569
+ }).readonly().optional().describe('The panel\'s default view of it.'),
570
+ 'refine': z.record(z.string(), z.number()).readonly().readonly().optional().describe('Refine-path (Blender) knobs; ignored by the live builder.'),
571
+ }), z.object({
572
+ 'kind': z.literal("gltf").readonly(),
573
+ 'src': z.string().readonly().describe('Project-relative path to a `.glb` / `.gltf`.'),
574
+ 'scale': z.number().readonly().optional(),
575
+ 'material': z.union([z.literal("toon"), z.literal("original")]).readonly().optional().describe('`toon` (default): the style\'s toon shading over the model\'s colors, vertex colors and textures; `original`: its own materials.'),
576
+ 'outline': z.boolean().readonly().optional().describe('Ink outline around the model (default: on with toon, off with original).'),
577
+ 'animation': z.string().readonly().optional().describe('The clip that plays on its own (default: one named idle / 待机 / stand, else the first).'),
578
+ 'preview': z.object({
579
+ 'yaw': z.number().readonly().optional(),
580
+ 'pitch': z.number().readonly().optional(),
581
+ }).readonly().optional().describe('The panel\'s default view of it.'),
582
+ 'tint': z.record(z.string(), z.string()).readonly().readonly().optional().describe('Base color by the model\'s material name (`{ "冠": "#c9a23a" }`).'),
583
+ 'bones': z.record(z.string(), z.object({
584
+ 'scale': z.union([z.number(), z.tuple([z.number(), z.number(), z.number()])]).readonly().optional(),
585
+ 'rotate': z.tuple([z.number(), z.number(), z.number()]).readonly().optional(),
586
+ })).readonly().readonly().optional().describe('Per bone (by name): a scale (one number or x/y/z) and a rotation offset in degrees, on top of any animation.'),
587
+ 'morphs': z.record(z.string(), z.number()).readonly().readonly().optional().describe('Shape-key weights by name (`{ "smile": 0.6 }`).'),
588
+ 'recipe': z.object({
589
+ 'kind': z.literal("parts3d").readonly(),
590
+ 'base': z.union([z.literal("quadruped"), z.literal("bird"), z.literal("fish"), z.literal("serpent"), z.literal("humanoid"), z.string()]).readonly().describe('A built-in {@link BodyBase} or a body the project registers with `dsh3d.defineBase`.'),
591
+ 'proportions': z.record(z.string(), z.number()).readonly().readonly(),
592
+ 'parts': z.array(z.object({
593
+ 'type': z.union([z.string(), z.literal("ear"), z.literal("horn"), z.literal("tail"), z.literal("wing"), z.literal("fin"), z.literal("eye"), z.literal("face")]).readonly(),
594
+ 'count': z.number().readonly().optional(),
595
+ 'size': z.number().readonly().optional(),
596
+ 'length': z.number().readonly().optional(),
597
+ 'fan': z.number().readonly().optional().describe('Spread of a multi-part fan (tails, wings), degrees.'),
598
+ 'thickness': z.number().readonly().optional(),
599
+ 'color': z.string().readonly().optional().describe('A `palette` key or a `#rrggbb` color.'),
600
+ 'style': z.string().readonly().optional().describe('`face` only: `human` gives a human face.'),
601
+ 'extra': z.record(z.string(), z.union([z.string(), z.number()])).readonly().readonly().optional().describe('A project-defined part\'s own parameters (anything beyond the shared keys).'),
602
+ })).readonly(),
603
+ 'palette': z.record(z.string(), z.string()).readonly().readonly().describe('Named colors: `body`, `accent`, `eye`, `belly`…'),
604
+ 'motion': z.record(z.string(), z.object({
605
+ 'amplitude': z.number().readonly().optional(),
606
+ 'period': z.number().readonly().optional(),
607
+ })).readonly().readonly().describe('`tailSway`, `breath`, `flap`, `swim`, `bob`.'),
608
+ 'scale': z.number().readonly().optional().describe('Overall size in world units (default 1).'),
609
+ 'preview': z.object({
610
+ 'yaw': z.number().readonly().optional(),
611
+ 'pitch': z.number().readonly().optional(),
612
+ }).readonly().optional().describe('The panel\'s default view of it.'),
613
+ 'refine': z.record(z.string(), z.number()).readonly().readonly().optional().describe('Refine-path (Blender) knobs; ignored by the live builder.'),
614
+ }).readonly().optional(),
615
+ })]).readonly(),
616
+ })).readonly(),
617
+ 'picked': z.number().readonly().optional().describe('Index the user picked, once picked.'),
618
+ })).readonly().describe('Open (unpicked) and recent appearance proposals, newest first.'),
619
+ 'versions': z.array(z.object({
620
+ 'status': z.union([z.literal("current"), z.literal("rejected"), z.literal("candidate"), z.literal("past")]).readonly(),
621
+ 'passed': z.number().readonly().optional().describe('Test cases that passed when this version was checked.'),
622
+ 'version': z.number().readonly(),
623
+ 'at': z.string().readonly(),
624
+ 'fingerprint': z.string().readonly(),
625
+ 'by': z.union([z.literal("user"), z.literal("agent"), z.literal("turn")]).readonly().optional().describe('Who cut it: the user (检查并发版 / 提交), the agent (\\`game_publish\\`), or the end-of-turn check. Absent on older versions.'),
626
+ 'note': z.string().readonly().optional().describe('One line about what changed (the turn\'s last words, or the plugin\'s own note).'),
627
+ })).readonly(),
628
+ 'log': z.array(z.object({
629
+ 'at': z.string().readonly(),
630
+ 'text': z.string().readonly(),
631
+ })).readonly(),
632
+ 'restyleTo': z.string().readonly().optional().describe('Set while a style change waits for its candidate (decision: a restyle always goes through a candidate).'),
633
+ 'candidateDiff': z.union([z.literal(null), z.object({
634
+ 'changed': z.array(z.string()).readonly(),
635
+ 'added': z.array(z.string()).readonly(),
636
+ })]).readonly().describe('What the waiting candidate changed against the live version, by element id (the play area\'s diff rings).'),
637
+ })]).readonly(),
638
+ 'projects': z.array(z.object({
639
+ 'id': z.string().readonly(),
640
+ 'title': z.string().readonly(),
641
+ 'root': z.string().readonly(),
642
+ 'createdAt': z.string().readonly(),
643
+ 'updatedAt': z.string().readonly(),
644
+ })).readonly(),
645
+ }))
646
+ let _khorsheed_dsh_game_game_turnReport_parameter_0$schema$value
647
+ const _khorsheed_dsh_game_game_turnReport_parameter_0$schema = () => (_khorsheed_dsh_game_game_turnReport_parameter_0$schema$value ??= z.string())
648
+ let _khorsheed_dsh_game_game_turnReport_parameter_1$schema$value
649
+ const _khorsheed_dsh_game_game_turnReport_parameter_1$schema = () => (_khorsheed_dsh_game_game_turnReport_parameter_1$schema$value ??= z.object({
650
+ 'turn': z.number(),
651
+ }))
652
+ let _khorsheed_dsh_game_game_turnReport_result$schema$value
653
+ const _khorsheed_dsh_game_game_turnReport_result$schema = () => (_khorsheed_dsh_game_game_turnReport_result$schema$value ??= z.union([z.literal(null), z.object({
654
+ 'turn': z.number().readonly(),
655
+ 'projectId': z.string().readonly(),
656
+ 'title': z.string().readonly(),
657
+ 'at': z.string().readonly(),
658
+ 'version': z.union([z.literal(null), z.object({
659
+ 'kind': z.union([z.literal("candidate"), z.literal("deployed")]).readonly(),
660
+ 'version': z.number().readonly(),
661
+ })]).readonly().describe('A version that became live (or a candidate) during the turn.'),
662
+ 'check': z.union([z.literal(null), z.object({
663
+ 'ok': z.boolean().readonly(),
664
+ 'fixes': z.number().readonly(),
665
+ 'gaveUp': z.boolean().readonly(),
666
+ 'passed': z.number().readonly(),
667
+ 'failures': z.number().readonly(),
668
+ })]).readonly().describe('The turn\'s end-of-turn check, when one ran.'),
669
+ 'elements': z.array(z.object({
670
+ 'id': z.string().readonly(),
671
+ 'name': z.string().readonly(),
672
+ 'what': z.union([z.literal("removed"), z.literal("new"), z.literal("look"), z.literal("fields")]).readonly(),
673
+ 'fields': z.array(z.string()).readonly().optional(),
674
+ 'looks': z.object({
675
+ 'before': z.union([z.literal(null), z.string()]).readonly(),
676
+ 'after': z.string().readonly(),
677
+ }).readonly().optional().describe('3D looks before and after the turn (JSON), for the card\'s side-by-side previews.'),
678
+ })).readonly(),
679
+ 'chapters': z.array(z.object({
680
+ 'id': z.string().readonly(),
681
+ 'title': z.string().readonly(),
682
+ })).readonly(),
683
+ 'params': z.array(z.object({
684
+ 'key': z.string().readonly(),
685
+ 'label': z.string().readonly(),
686
+ 'from': z.number().readonly().optional(),
687
+ 'to': z.number().readonly(),
688
+ })).readonly(),
689
+ 'code': z.array(z.string()).readonly().describe('Other changed source files (code, assets, index.html).'),
690
+ 'tests': z.array(z.string()).readonly(),
691
+ })]))
692
+ let _khorsheed_dsh_game_game_versionBundle_parameter_0$schema$value
693
+ const _khorsheed_dsh_game_game_versionBundle_parameter_0$schema = () => (_khorsheed_dsh_game_game_versionBundle_parameter_0$schema$value ??= z.object({
694
+ 'projectId': z.string(),
695
+ 'version': z.number(),
696
+ }))
697
+ let _khorsheed_dsh_game_game_versionBundle_result$schema$value
698
+ const _khorsheed_dsh_game_game_versionBundle_result$schema = () => (_khorsheed_dsh_game_game_versionBundle_result$schema$value ??= z.union([z.object({
699
+ 'ok': z.literal(false).readonly(),
700
+ 'error': z.union([z.literal("not-found"), z.literal("denied"), z.literal("io"), z.literal("unbound"), z.literal("invalid"), z.literal("no-version"), z.literal("not-a-project"), z.literal("is-workspace"), z.literal("trash-failed")]).readonly(),
701
+ }), z.object({
702
+ 'ok': z.literal(true).readonly(),
703
+ 'bundle': z.object({
704
+ 'projectId': z.string().readonly(),
705
+ 'version': z.number().readonly(),
706
+ 'files': z.record(z.string(), z.union([z.object({
707
+ 'type': z.string().readonly(),
708
+ 'text': z.string().readonly(),
709
+ }), z.object({
710
+ 'type': z.string().readonly(),
711
+ 'b64': z.string().readonly(),
712
+ })])).readonly().readonly(),
713
+ }).readonly(),
714
+ })]))
715
+ let _khorsheed_dsh_game_game_workingFile_parameter_0$schema$value
716
+ const _khorsheed_dsh_game_game_workingFile_parameter_0$schema = () => (_khorsheed_dsh_game_game_workingFile_parameter_0$schema$value ??= z.object({
717
+ 'projectId': z.string(),
718
+ 'path': z.string(),
719
+ }))
720
+ let _khorsheed_dsh_game_game_workingFile_result$schema$value
721
+ const _khorsheed_dsh_game_game_workingFile_result$schema = () => (_khorsheed_dsh_game_game_workingFile_result$schema$value ??= z.union([z.object({
722
+ 'ok': z.literal(false).readonly(),
723
+ 'error': z.union([z.literal("not-found"), z.literal("denied"), z.literal("io"), z.literal("unbound"), z.literal("invalid"), z.literal("no-version"), z.literal("not-a-project"), z.literal("is-workspace"), z.literal("trash-failed")]).readonly(),
724
+ }), z.object({
725
+ 'ok': z.literal(true).readonly(),
726
+ 'file': z.union([z.object({
727
+ 'type': z.string().readonly(),
728
+ 'text': z.string().readonly(),
729
+ }), z.object({
730
+ 'type': z.string().readonly(),
731
+ 'b64': z.string().readonly(),
732
+ })]).readonly(),
733
+ })]))
734
+ let _khorsheed_dsh_game_game_writeChapter_parameter_0$schema$value
735
+ const _khorsheed_dsh_game_game_writeChapter_parameter_0$schema = () => (_khorsheed_dsh_game_game_writeChapter_parameter_0$schema$value ??= z.string())
736
+ let _khorsheed_dsh_game_game_writeChapter_parameter_1$schema$value
737
+ const _khorsheed_dsh_game_game_writeChapter_parameter_1$schema = () => (_khorsheed_dsh_game_game_writeChapter_parameter_1$schema$value ??= z.object({
738
+ 'projectId': z.string(),
739
+ 'chapterId': z.string(),
740
+ 'text': z.string(),
741
+ }))
742
+ let _khorsheed_dsh_game_game_writeChapter_result$schema$value
743
+ const _khorsheed_dsh_game_game_writeChapter_result$schema = () => (_khorsheed_dsh_game_game_writeChapter_result$schema$value ??= z.union([z.object({
744
+ 'ok': z.literal(false).readonly(),
745
+ 'error': z.union([z.literal("not-found"), z.literal("denied"), z.literal("io"), z.literal("unbound"), z.literal("invalid"), z.literal("no-version"), z.literal("not-a-project"), z.literal("is-workspace"), z.literal("trash-failed")]).readonly(),
746
+ }), z.object({
747
+ 'ok': z.literal(true).readonly(),
748
+ })]))
749
+ let _khorsheed_dsh_game_game_bind_parameter_0_strict$schema$value
750
+ const _khorsheed_dsh_game_game_bind_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_bind_parameter_0_strict$schema$value ??= z.string())
751
+ let _khorsheed_dsh_game_game_bind_parameter_1_strict$schema$value
752
+ const _khorsheed_dsh_game_game_bind_parameter_1_strict$schema = () => (_khorsheed_dsh_game_game_bind_parameter_1_strict$schema$value ??= z.strictObject({
753
+ 'projectId': z.union([z.literal(null), z.string()]),
754
+ }))
755
+ let _khorsheed_dsh_game_game_bundle_parameter_0_strict$schema$value
756
+ const _khorsheed_dsh_game_game_bundle_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_bundle_parameter_0_strict$schema$value ??= z.strictObject({
757
+ 'projectId': z.string(),
758
+ 'which': z.union([z.literal("current"), z.literal("candidate")]).optional(),
759
+ }))
760
+ let _khorsheed_dsh_game_game_changes_parameter_0_strict$schema$value
761
+ const _khorsheed_dsh_game_game_changes_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_changes_parameter_0_strict$schema$value ??= z.strictObject({
762
+ 'projectId': z.string(),
763
+ }))
764
+ let _khorsheed_dsh_game_game_checkShot_parameter_0_strict$schema$value
765
+ const _khorsheed_dsh_game_game_checkShot_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_checkShot_parameter_0_strict$schema$value ??= z.strictObject({
766
+ 'projectId': z.string(),
767
+ 'version': z.number().optional(),
768
+ }))
769
+ let _khorsheed_dsh_game_game_commit_parameter_0_strict$schema$value
770
+ const _khorsheed_dsh_game_game_commit_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_commit_parameter_0_strict$schema$value ??= z.string())
771
+ let _khorsheed_dsh_game_game_commit_parameter_1_strict$schema$value
772
+ const _khorsheed_dsh_game_game_commit_parameter_1_strict$schema = () => (_khorsheed_dsh_game_game_commit_parameter_1_strict$schema$value ??= z.strictObject({
773
+ 'projectId': z.string(),
774
+ }))
775
+ let _khorsheed_dsh_game_game_confirm_parameter_0_strict$schema$value
776
+ const _khorsheed_dsh_game_game_confirm_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_confirm_parameter_0_strict$schema$value ??= z.string())
777
+ let _khorsheed_dsh_game_game_confirm_parameter_1_strict$schema$value
778
+ const _khorsheed_dsh_game_game_confirm_parameter_1_strict$schema = () => (_khorsheed_dsh_game_game_confirm_parameter_1_strict$schema$value ??= z.strictObject({
779
+ 'projectId': z.string(),
780
+ }))
781
+ let _khorsheed_dsh_game_game_deleteProject_parameter_0_strict$schema$value
782
+ const _khorsheed_dsh_game_game_deleteProject_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_deleteProject_parameter_0_strict$schema$value ??= z.string())
783
+ let _khorsheed_dsh_game_game_deleteProject_parameter_1_strict$schema$value
784
+ const _khorsheed_dsh_game_game_deleteProject_parameter_1_strict$schema = () => (_khorsheed_dsh_game_game_deleteProject_parameter_1_strict$schema$value ??= z.strictObject({
785
+ 'projectId': z.string(),
786
+ 'mode': z.union([z.literal("trash"), z.literal("forget")]),
787
+ }))
788
+ let _khorsheed_dsh_game_game_diff_parameter_0_strict$schema$value
789
+ const _khorsheed_dsh_game_game_diff_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_diff_parameter_0_strict$schema$value ??= z.strictObject({
790
+ 'projectId': z.string(),
791
+ 'from': z.number(),
792
+ 'to': z.number(),
793
+ }))
794
+ let _khorsheed_dsh_game_game_dropPending_parameter_0_strict$schema$value
795
+ const _khorsheed_dsh_game_game_dropPending_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_dropPending_parameter_0_strict$schema$value ??= z.string())
796
+ let _khorsheed_dsh_game_game_dropPending_parameter_1_strict$schema$value
797
+ const _khorsheed_dsh_game_game_dropPending_parameter_1_strict$schema = () => (_khorsheed_dsh_game_game_dropPending_parameter_1_strict$schema$value ??= z.strictObject({
798
+ 'projectId': z.string(),
799
+ 'key': z.string(),
800
+ }))
801
+ let _khorsheed_dsh_game_game_editElement_parameter_0_strict$schema$value
802
+ const _khorsheed_dsh_game_game_editElement_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_editElement_parameter_0_strict$schema$value ??= z.string())
803
+ let _khorsheed_dsh_game_game_editElement_parameter_1_strict$schema$value
804
+ const _khorsheed_dsh_game_game_editElement_parameter_1_strict$schema = () => (_khorsheed_dsh_game_game_editElement_parameter_1_strict$schema$value ??= z.strictObject({
805
+ 'projectId': z.string(),
806
+ 'elementId': z.string(),
807
+ 'look': z.string().optional(),
808
+ 'fields': z.string().optional(),
809
+ }))
810
+ let _khorsheed_dsh_game_game_finalizeParams_parameter_0_strict$schema$value
811
+ const _khorsheed_dsh_game_game_finalizeParams_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_finalizeParams_parameter_0_strict$schema$value ??= z.string())
812
+ let _khorsheed_dsh_game_game_finalizeParams_parameter_1_strict$schema$value
813
+ const _khorsheed_dsh_game_game_finalizeParams_parameter_1_strict$schema = () => (_khorsheed_dsh_game_game_finalizeParams_parameter_1_strict$schema$value ??= z.strictObject({
814
+ 'projectId': z.string(),
815
+ }))
816
+ let _khorsheed_dsh_game_game_logPlay_parameter_0_strict$schema$value
817
+ const _khorsheed_dsh_game_game_logPlay_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_logPlay_parameter_0_strict$schema$value ??= z.string())
818
+ let _khorsheed_dsh_game_game_logPlay_parameter_1_strict$schema$value
819
+ const _khorsheed_dsh_game_game_logPlay_parameter_1_strict$schema = () => (_khorsheed_dsh_game_game_logPlay_parameter_1_strict$schema$value ??= z.strictObject({
820
+ 'projectId': z.string(),
821
+ 'version': z.number(),
822
+ 'seconds': z.number(),
823
+ 'errors': z.array(z.string()),
824
+ }))
825
+ let _khorsheed_dsh_game_game_pickProposal_parameter_0_strict$schema$value
826
+ const _khorsheed_dsh_game_game_pickProposal_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_pickProposal_parameter_0_strict$schema$value ??= z.string())
827
+ let _khorsheed_dsh_game_game_pickProposal_parameter_1_strict$schema$value
828
+ const _khorsheed_dsh_game_game_pickProposal_parameter_1_strict$schema = () => (_khorsheed_dsh_game_game_pickProposal_parameter_1_strict$schema$value ??= z.strictObject({
829
+ 'projectId': z.string(),
830
+ 'elementId': z.string(),
831
+ 'at': z.string(),
832
+ 'index': z.number(),
833
+ }))
834
+ let _khorsheed_dsh_game_game_reject_parameter_0_strict$schema$value
835
+ const _khorsheed_dsh_game_game_reject_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_reject_parameter_0_strict$schema$value ??= z.string())
836
+ let _khorsheed_dsh_game_game_reject_parameter_1_strict$schema$value
837
+ const _khorsheed_dsh_game_game_reject_parameter_1_strict$schema = () => (_khorsheed_dsh_game_game_reject_parameter_1_strict$schema$value ??= z.strictObject({
838
+ 'projectId': z.string(),
839
+ 'reason': z.string(),
840
+ }))
841
+ let _khorsheed_dsh_game_game_requestRestyle_parameter_0_strict$schema$value
842
+ const _khorsheed_dsh_game_game_requestRestyle_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_requestRestyle_parameter_0_strict$schema$value ??= z.string())
843
+ let _khorsheed_dsh_game_game_requestRestyle_parameter_1_strict$schema$value
844
+ const _khorsheed_dsh_game_game_requestRestyle_parameter_1_strict$schema = () => (_khorsheed_dsh_game_game_requestRestyle_parameter_1_strict$schema$value ??= z.strictObject({
845
+ 'projectId': z.string(),
846
+ 'styleId': z.string(),
847
+ }))
848
+ let _khorsheed_dsh_game_game_resetParams_parameter_0_strict$schema$value
849
+ const _khorsheed_dsh_game_game_resetParams_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_resetParams_parameter_0_strict$schema$value ??= z.string())
850
+ let _khorsheed_dsh_game_game_resetParams_parameter_1_strict$schema$value
851
+ const _khorsheed_dsh_game_game_resetParams_parameter_1_strict$schema = () => (_khorsheed_dsh_game_game_resetParams_parameter_1_strict$schema$value ??= z.strictObject({
852
+ 'projectId': z.string(),
853
+ }))
854
+ let _khorsheed_dsh_game_game_rollback_parameter_0_strict$schema$value
855
+ const _khorsheed_dsh_game_game_rollback_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_rollback_parameter_0_strict$schema$value ??= z.string())
856
+ let _khorsheed_dsh_game_game_rollback_parameter_1_strict$schema$value
857
+ const _khorsheed_dsh_game_game_rollback_parameter_1_strict$schema = () => (_khorsheed_dsh_game_game_rollback_parameter_1_strict$schema$value ??= z.strictObject({
858
+ 'projectId': z.string(),
859
+ 'version': z.number(),
860
+ }))
861
+ let _khorsheed_dsh_game_game_setAutoConfirm_parameter_0_strict$schema$value
862
+ const _khorsheed_dsh_game_game_setAutoConfirm_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_setAutoConfirm_parameter_0_strict$schema$value ??= z.string())
863
+ let _khorsheed_dsh_game_game_setAutoConfirm_parameter_1_strict$schema$value
864
+ const _khorsheed_dsh_game_game_setAutoConfirm_parameter_1_strict$schema = () => (_khorsheed_dsh_game_game_setAutoConfirm_parameter_1_strict$schema$value ??= z.strictObject({
865
+ 'projectId': z.string(),
866
+ 'on': z.boolean(),
867
+ }))
868
+ let _khorsheed_dsh_game_game_setOnePager_parameter_0_strict$schema$value
869
+ const _khorsheed_dsh_game_game_setOnePager_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_setOnePager_parameter_0_strict$schema$value ??= z.string())
870
+ let _khorsheed_dsh_game_game_setOnePager_parameter_1_strict$schema$value
871
+ const _khorsheed_dsh_game_game_setOnePager_parameter_1_strict$schema = () => (_khorsheed_dsh_game_game_setOnePager_parameter_1_strict$schema$value ??= z.strictObject({
872
+ 'projectId': z.string(),
873
+ 'pitch': z.string().optional(),
874
+ 'elementTypes': z.string().optional(),
875
+ 'pillars': z.string().optional(),
876
+ }))
877
+ let _khorsheed_dsh_game_game_setParam_parameter_0_strict$schema$value
878
+ const _khorsheed_dsh_game_game_setParam_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_setParam_parameter_0_strict$schema$value ??= z.string())
879
+ let _khorsheed_dsh_game_game_setParam_parameter_1_strict$schema$value
880
+ const _khorsheed_dsh_game_game_setParam_parameter_1_strict$schema = () => (_khorsheed_dsh_game_game_setParam_parameter_1_strict$schema$value ??= z.strictObject({
881
+ 'projectId': z.string(),
882
+ 'key': z.string(),
883
+ 'value': z.number(),
884
+ }))
885
+ let _khorsheed_dsh_game_game_state_parameter_0_strict$schema$value
886
+ const _khorsheed_dsh_game_game_state_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_state_parameter_0_strict$schema$value ??= z.string())
887
+ let _khorsheed_dsh_game_game_turnReport_parameter_0_strict$schema$value
888
+ const _khorsheed_dsh_game_game_turnReport_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_turnReport_parameter_0_strict$schema$value ??= z.string())
889
+ let _khorsheed_dsh_game_game_turnReport_parameter_1_strict$schema$value
890
+ const _khorsheed_dsh_game_game_turnReport_parameter_1_strict$schema = () => (_khorsheed_dsh_game_game_turnReport_parameter_1_strict$schema$value ??= z.strictObject({
891
+ 'turn': z.number(),
892
+ }))
893
+ let _khorsheed_dsh_game_game_versionBundle_parameter_0_strict$schema$value
894
+ const _khorsheed_dsh_game_game_versionBundle_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_versionBundle_parameter_0_strict$schema$value ??= z.strictObject({
895
+ 'projectId': z.string(),
896
+ 'version': z.number(),
897
+ }))
898
+ let _khorsheed_dsh_game_game_workingFile_parameter_0_strict$schema$value
899
+ const _khorsheed_dsh_game_game_workingFile_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_workingFile_parameter_0_strict$schema$value ??= z.strictObject({
900
+ 'projectId': z.string(),
901
+ 'path': z.string(),
902
+ }))
903
+ let _khorsheed_dsh_game_game_writeChapter_parameter_0_strict$schema$value
904
+ const _khorsheed_dsh_game_game_writeChapter_parameter_0_strict$schema = () => (_khorsheed_dsh_game_game_writeChapter_parameter_0_strict$schema$value ??= z.string())
905
+ let _khorsheed_dsh_game_game_writeChapter_parameter_1_strict$schema$value
906
+ const _khorsheed_dsh_game_game_writeChapter_parameter_1_strict$schema = () => (_khorsheed_dsh_game_game_writeChapter_parameter_1_strict$schema$value ??= z.strictObject({
907
+ 'projectId': z.string(),
908
+ 'chapterId': z.string(),
909
+ 'text': z.string(),
910
+ }))
911
+
912
+ export const TYPERT_REMOTE = createTypertRemoteInfo({
913
+ package: '@khorsheed/dsh-game',
914
+ methods: {
915
+ 'game/bind': {
916
+ service: 'gameRemote',
917
+ description: 'Bind the session to a project, or unbind with `projectId: null`.',
918
+ invocation: { kind: 'direct' },
919
+ parameters: [
920
+ {
921
+ name: 'sessionId',
922
+ source: 'json',
923
+ codec: {
924
+ mode: 'strict',
925
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
926
+ create: _khorsheed_dsh_game_game_bind_parameter_0$schema,
927
+ schema: _khorsheed_dsh_game_game_bind_parameter_0$schema(),
928
+ jsonSchema: {"type":"string"},
929
+ },
930
+ strictCodec: {
931
+ mode: 'strict',
932
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
933
+ create: _khorsheed_dsh_game_game_bind_parameter_0_strict$schema,
934
+ schema: _khorsheed_dsh_game_game_bind_parameter_0_strict$schema(),
935
+ jsonSchema: {"type":"string"},
936
+ },
937
+ },
938
+ {
939
+ name: 'request',
940
+ source: 'json',
941
+ codec: {
942
+ mode: 'strict',
943
+ typeSymbol: '@khorsheed/dsh-game#game/bind:request',
944
+ create: _khorsheed_dsh_game_game_bind_parameter_1$schema,
945
+ schema: _khorsheed_dsh_game_game_bind_parameter_1$schema(),
946
+ jsonSchema: {"type":"object","properties":{"projectId":{"oneOf":[{"type":"null","const":null},{"type":"string"}]}},"required":["projectId"],"additionalProperties":true},
947
+ },
948
+ strictCodec: {
949
+ mode: 'strict',
950
+ typeSymbol: '@khorsheed/dsh-game#game/bind:request',
951
+ create: _khorsheed_dsh_game_game_bind_parameter_1_strict$schema,
952
+ schema: _khorsheed_dsh_game_game_bind_parameter_1_strict$schema(),
953
+ jsonSchema: {"type":"object","properties":{"projectId":{"oneOf":[{"type":"null","const":null},{"type":"string"}]}},"required":["projectId"],"additionalProperties":false},
954
+ },
955
+ },
956
+ ],
957
+ result: {
958
+ mode: 'strict',
959
+ typeSymbol: '@khorsheed/dsh-game/types#GameResult',
960
+ create: _khorsheed_dsh_game_game_bind_result$schema,
961
+ schema: _khorsheed_dsh_game_game_bind_result$schema(),
962
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string","enum":["not-found","denied","io","unbound","invalid","no-version","not-a-project","is-workspace","trash-failed"]}},"required":["ok","error"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":true}},"required":["ok"],"additionalProperties":true}]},
963
+ },
964
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":67,"column":3},
965
+ },
966
+ 'game/bundle': {
967
+ service: 'gameRemote',
968
+ description: 'A version\'s files for the play area.',
969
+ invocation: { kind: 'direct' },
970
+ parameters: [
971
+ {
972
+ name: 'request',
973
+ source: 'json',
974
+ codec: {
975
+ mode: 'strict',
976
+ typeSymbol: '@khorsheed/dsh-game#game/bundle:request',
977
+ create: _khorsheed_dsh_game_game_bundle_parameter_0$schema,
978
+ schema: _khorsheed_dsh_game_game_bundle_parameter_0$schema(),
979
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"which":{"type":"string","enum":["current","candidate"]}},"required":["projectId"],"additionalProperties":true},
980
+ },
981
+ strictCodec: {
982
+ mode: 'strict',
983
+ typeSymbol: '@khorsheed/dsh-game#game/bundle:request',
984
+ create: _khorsheed_dsh_game_game_bundle_parameter_0_strict$schema,
985
+ schema: _khorsheed_dsh_game_game_bundle_parameter_0_strict$schema(),
986
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"which":{"type":"string","enum":["current","candidate"]}},"required":["projectId"],"additionalProperties":false},
987
+ },
988
+ },
989
+ ],
990
+ result: {
991
+ mode: 'strict',
992
+ typeSymbol: '@khorsheed/dsh-game/types#GameResult',
993
+ create: _khorsheed_dsh_game_game_bundle_result$schema,
994
+ schema: _khorsheed_dsh_game_game_bundle_result$schema(),
995
+ jsonSchemaError: 'typert tool schema: selected union branches overlap or have no required discriminator',
996
+ },
997
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":79,"column":3},
998
+ },
999
+ 'game/changes': {
1000
+ service: 'gameRemote',
1001
+ description: 'What the working files hold that the play area does not (the commit bar polls it).',
1002
+ invocation: { kind: 'direct' },
1003
+ parameters: [
1004
+ {
1005
+ name: 'request',
1006
+ source: 'json',
1007
+ codec: {
1008
+ mode: 'strict',
1009
+ typeSymbol: '@khorsheed/dsh-game#game/changes:request',
1010
+ create: _khorsheed_dsh_game_game_changes_parameter_0$schema,
1011
+ schema: _khorsheed_dsh_game_game_changes_parameter_0$schema(),
1012
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"}},"required":["projectId"],"additionalProperties":true},
1013
+ },
1014
+ strictCodec: {
1015
+ mode: 'strict',
1016
+ typeSymbol: '@khorsheed/dsh-game#game/changes:request',
1017
+ create: _khorsheed_dsh_game_game_changes_parameter_0_strict$schema,
1018
+ schema: _khorsheed_dsh_game_game_changes_parameter_0_strict$schema(),
1019
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"}},"required":["projectId"],"additionalProperties":false},
1020
+ },
1021
+ },
1022
+ ],
1023
+ result: {
1024
+ mode: 'strict',
1025
+ typeSymbol: '@khorsheed/dsh-game/types#GameResult',
1026
+ create: _khorsheed_dsh_game_game_changes_result$schema,
1027
+ schema: _khorsheed_dsh_game_game_changes_result$schema(),
1028
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string","enum":["not-found","denied","io","unbound","invalid","no-version","not-a-project","is-workspace","trash-failed"]}},"required":["ok","error"],"additionalProperties":true},{"type":"object","properties":{"against":{"oneOf":[{"type":"null","const":null},{"type":"number"}],"description":"The version compared against (the waiting candidate, else the live one); null before any."},"hasEntry":{"type":"boolean"},"count":{"type":"number","description":"Build files added, changed or removed (first 30 of \\`count\\`)."},"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"kind":{"type":"string","enum":["changed","added","removed"]}},"required":["path","kind"],"additionalProperties":true}},"lastAt":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"The newest change's time."},"busy":{"oneOf":[{"type":"null","const":null},{"type":"string","enum":["turn","recent"]}],"description":"Someone is still writing: a bound session's turn is running, or a file changed in the last 20 s."},"edits":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"Stable key so repeated edits of one thing collapse into one entry (`param:speed`, `look:fog`, `design:core-loop`)."},"text":{"type":"string","description":"Short label for the dock and the model (`参数 移动速度 1.4→1.8`)."}},"required":["key","text"],"additionalProperties":true},"description":"The panel edits among them."},"failed":{"oneOf":[{"type":"null","const":null},{"type":"array","items":{"type":"object","properties":{"where":{"type":"string"},"message":{"type":"string"}},"required":["where","message"],"additionalProperties":true}}],"description":"The last check ran after the newest change and failed: its findings."},"ok":{"type":"boolean","const":true}},"required":["against","hasEntry","count","files","lastAt","busy","edits","failed","ok"],"additionalProperties":true}]},
1029
+ },
1030
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":91,"column":3},
1031
+ },
1032
+ 'game/checkShot': {
1033
+ service: 'gameRemote',
1034
+ description: 'The last check\'s screenshot.',
1035
+ invocation: { kind: 'direct' },
1036
+ parameters: [
1037
+ {
1038
+ name: 'request',
1039
+ source: 'json',
1040
+ codec: {
1041
+ mode: 'strict',
1042
+ typeSymbol: '@khorsheed/dsh-game#game/checkShot:request',
1043
+ create: _khorsheed_dsh_game_game_checkShot_parameter_0$schema,
1044
+ schema: _khorsheed_dsh_game_game_checkShot_parameter_0$schema(),
1045
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"version":{"type":"number"}},"required":["projectId"],"additionalProperties":true},
1046
+ },
1047
+ strictCodec: {
1048
+ mode: 'strict',
1049
+ typeSymbol: '@khorsheed/dsh-game#game/checkShot:request',
1050
+ create: _khorsheed_dsh_game_game_checkShot_parameter_0_strict$schema,
1051
+ schema: _khorsheed_dsh_game_game_checkShot_parameter_0_strict$schema(),
1052
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"version":{"type":"number"}},"required":["projectId"],"additionalProperties":false},
1053
+ },
1054
+ },
1055
+ ],
1056
+ result: {
1057
+ mode: 'strict',
1058
+ typeSymbol: '@khorsheed/dsh-game/types#GameResult',
1059
+ create: _khorsheed_dsh_game_game_checkShot_result$schema,
1060
+ schema: _khorsheed_dsh_game_game_checkShot_result$schema(),
1061
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string","enum":["not-found","denied","io","unbound","invalid","no-version","not-a-project","is-workspace","trash-failed"]}},"required":["ok","error"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":true},"webp":{"type":"string"}},"required":["ok","webp"],"additionalProperties":true}]},
1062
+ },
1063
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":198,"column":3},
1064
+ },
1065
+ 'game/commit': {
1066
+ service: 'gameRemote',
1067
+ description: '检查并发版: check the working files and cut a version (by the user) carrying every change.',
1068
+ invocation: { kind: 'direct' },
1069
+ parameters: [
1070
+ {
1071
+ name: 'sessionId',
1072
+ source: 'json',
1073
+ codec: {
1074
+ mode: 'strict',
1075
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1076
+ create: _khorsheed_dsh_game_game_commit_parameter_0$schema,
1077
+ schema: _khorsheed_dsh_game_game_commit_parameter_0$schema(),
1078
+ jsonSchema: {"type":"string"},
1079
+ },
1080
+ strictCodec: {
1081
+ mode: 'strict',
1082
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1083
+ create: _khorsheed_dsh_game_game_commit_parameter_0_strict$schema,
1084
+ schema: _khorsheed_dsh_game_game_commit_parameter_0_strict$schema(),
1085
+ jsonSchema: {"type":"string"},
1086
+ },
1087
+ },
1088
+ {
1089
+ name: 'request',
1090
+ source: 'json',
1091
+ codec: {
1092
+ mode: 'strict',
1093
+ typeSymbol: '@khorsheed/dsh-game#game/commit:request',
1094
+ create: _khorsheed_dsh_game_game_commit_parameter_1$schema,
1095
+ schema: _khorsheed_dsh_game_game_commit_parameter_1$schema(),
1096
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"}},"required":["projectId"],"additionalProperties":true},
1097
+ },
1098
+ strictCodec: {
1099
+ mode: 'strict',
1100
+ typeSymbol: '@khorsheed/dsh-game#game/commit:request',
1101
+ create: _khorsheed_dsh_game_game_commit_parameter_1_strict$schema,
1102
+ schema: _khorsheed_dsh_game_game_commit_parameter_1_strict$schema(),
1103
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"}},"required":["projectId"],"additionalProperties":false},
1104
+ },
1105
+ },
1106
+ ],
1107
+ result: {
1108
+ mode: 'strict',
1109
+ typeSymbol: '@khorsheed/dsh-game/types#GameResult',
1110
+ create: _khorsheed_dsh_game_game_commit_result$schema,
1111
+ schema: _khorsheed_dsh_game_game_commit_result$schema(),
1112
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string","enum":["not-found","denied","io","unbound","invalid","no-version","not-a-project","is-workspace","trash-failed"]}},"required":["ok","error"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":true},"kind":{"type":"string","enum":["candidate","deployed"]},"version":{"type":"number"}},"required":["ok","kind","version"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":true},"kind":{"type":"string","const":"failed"},"failures":{"type":"array","items":{"type":"object","properties":{"where":{"type":"string"},"message":{"type":"string"}},"required":["where","message"],"additionalProperties":true}}},"required":["ok","kind","failures"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":true},"kind":{"type":"string","enum":["unchanged","no-entry"]}},"required":["ok","kind"],"additionalProperties":true}]},
1113
+ },
1114
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":97,"column":9},
1115
+ },
1116
+ 'game/confirm': {
1117
+ service: 'gameRemote',
1118
+ description: 'Promote the candidate into the play area.',
1119
+ invocation: { kind: 'direct' },
1120
+ parameters: [
1121
+ {
1122
+ name: 'sessionId',
1123
+ source: 'json',
1124
+ codec: {
1125
+ mode: 'strict',
1126
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1127
+ create: _khorsheed_dsh_game_game_confirm_parameter_0$schema,
1128
+ schema: _khorsheed_dsh_game_game_confirm_parameter_0$schema(),
1129
+ jsonSchema: {"type":"string"},
1130
+ },
1131
+ strictCodec: {
1132
+ mode: 'strict',
1133
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1134
+ create: _khorsheed_dsh_game_game_confirm_parameter_0_strict$schema,
1135
+ schema: _khorsheed_dsh_game_game_confirm_parameter_0_strict$schema(),
1136
+ jsonSchema: {"type":"string"},
1137
+ },
1138
+ },
1139
+ {
1140
+ name: 'request',
1141
+ source: 'json',
1142
+ codec: {
1143
+ mode: 'strict',
1144
+ typeSymbol: '@khorsheed/dsh-game#game/confirm:request',
1145
+ create: _khorsheed_dsh_game_game_confirm_parameter_1$schema,
1146
+ schema: _khorsheed_dsh_game_game_confirm_parameter_1$schema(),
1147
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"}},"required":["projectId"],"additionalProperties":true},
1148
+ },
1149
+ strictCodec: {
1150
+ mode: 'strict',
1151
+ typeSymbol: '@khorsheed/dsh-game#game/confirm:request',
1152
+ create: _khorsheed_dsh_game_game_confirm_parameter_1_strict$schema,
1153
+ schema: _khorsheed_dsh_game_game_confirm_parameter_1_strict$schema(),
1154
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"}},"required":["projectId"],"additionalProperties":false},
1155
+ },
1156
+ },
1157
+ ],
1158
+ result: {
1159
+ mode: 'strict',
1160
+ typeSymbol: '@khorsheed/dsh-game/types#GameResult',
1161
+ create: _khorsheed_dsh_game_game_confirm_result$schema,
1162
+ schema: _khorsheed_dsh_game_game_confirm_result$schema(),
1163
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string","enum":["not-found","denied","io","unbound","invalid","no-version","not-a-project","is-workspace","trash-failed"]}},"required":["ok","error"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":true},"version":{"type":"number"}},"required":["ok","version"],"additionalProperties":true}]},
1164
+ },
1165
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":85,"column":9},
1166
+ },
1167
+ 'game/deleteProject': {
1168
+ service: 'gameRemote',
1169
+ description: 'Delete a project: `trash` moves its folder to the system trash, `forget` only removes it from the plugin.',
1170
+ invocation: { kind: 'direct' },
1171
+ parameters: [
1172
+ {
1173
+ name: 'sessionId',
1174
+ source: 'json',
1175
+ codec: {
1176
+ mode: 'strict',
1177
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1178
+ create: _khorsheed_dsh_game_game_deleteProject_parameter_0$schema,
1179
+ schema: _khorsheed_dsh_game_game_deleteProject_parameter_0$schema(),
1180
+ jsonSchema: {"type":"string"},
1181
+ },
1182
+ strictCodec: {
1183
+ mode: 'strict',
1184
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1185
+ create: _khorsheed_dsh_game_game_deleteProject_parameter_0_strict$schema,
1186
+ schema: _khorsheed_dsh_game_game_deleteProject_parameter_0_strict$schema(),
1187
+ jsonSchema: {"type":"string"},
1188
+ },
1189
+ },
1190
+ {
1191
+ name: 'request',
1192
+ source: 'json',
1193
+ codec: {
1194
+ mode: 'strict',
1195
+ typeSymbol: '@khorsheed/dsh-game#game/deleteProject:request',
1196
+ create: _khorsheed_dsh_game_game_deleteProject_parameter_1$schema,
1197
+ schema: _khorsheed_dsh_game_game_deleteProject_parameter_1$schema(),
1198
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"mode":{"type":"string","enum":["trash","forget"]}},"required":["projectId","mode"],"additionalProperties":true},
1199
+ },
1200
+ strictCodec: {
1201
+ mode: 'strict',
1202
+ typeSymbol: '@khorsheed/dsh-game#game/deleteProject:request',
1203
+ create: _khorsheed_dsh_game_game_deleteProject_parameter_1_strict$schema,
1204
+ schema: _khorsheed_dsh_game_game_deleteProject_parameter_1_strict$schema(),
1205
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"mode":{"type":"string","enum":["trash","forget"]}},"required":["projectId","mode"],"additionalProperties":false},
1206
+ },
1207
+ },
1208
+ ],
1209
+ result: {
1210
+ mode: 'strict',
1211
+ typeSymbol: '@khorsheed/dsh-game/types#DeleteProjectResult',
1212
+ create: _khorsheed_dsh_game_game_deleteProject_result$schema,
1213
+ schema: _khorsheed_dsh_game_game_deleteProject_result$schema(),
1214
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"trashedTo":{"type":"string"}},"required":["ok"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string","enum":["not-found","denied","io","unbound","invalid","no-version","not-a-project","is-workspace","trash-failed"]},"reason":{"type":"string"}},"required":["ok","error"],"additionalProperties":true}]},
1215
+ },
1216
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":61,"column":9},
1217
+ },
1218
+ 'game/diff': {
1219
+ service: 'gameRemote',
1220
+ description: 'Files that differ between two versions.',
1221
+ invocation: { kind: 'direct' },
1222
+ parameters: [
1223
+ {
1224
+ name: 'request',
1225
+ source: 'json',
1226
+ codec: {
1227
+ mode: 'strict',
1228
+ typeSymbol: '@khorsheed/dsh-game#game/diff:request',
1229
+ create: _khorsheed_dsh_game_game_diff_parameter_0$schema,
1230
+ schema: _khorsheed_dsh_game_game_diff_parameter_0$schema(),
1231
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"from":{"type":"number"},"to":{"type":"number"}},"required":["projectId","from","to"],"additionalProperties":true},
1232
+ },
1233
+ strictCodec: {
1234
+ mode: 'strict',
1235
+ typeSymbol: '@khorsheed/dsh-game#game/diff:request',
1236
+ create: _khorsheed_dsh_game_game_diff_parameter_0_strict$schema,
1237
+ schema: _khorsheed_dsh_game_game_diff_parameter_0_strict$schema(),
1238
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"from":{"type":"number"},"to":{"type":"number"}},"required":["projectId","from","to"],"additionalProperties":false},
1239
+ },
1240
+ },
1241
+ ],
1242
+ result: {
1243
+ mode: 'strict',
1244
+ typeSymbol: '@khorsheed/dsh-game/types#GameResult',
1245
+ create: _khorsheed_dsh_game_game_diff_result$schema,
1246
+ schema: _khorsheed_dsh_game_game_diff_result$schema(),
1247
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string","enum":["not-found","denied","io","unbound","invalid","no-version","not-a-project","is-workspace","trash-failed"]}},"required":["ok","error"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":true},"diff":{"type":"object","properties":{"added":{"type":"array","items":{"type":"string"}},"removed":{"type":"array","items":{"type":"string"}},"changed":{"type":"array","items":{"type":"string"}}},"required":["added","removed","changed"],"additionalProperties":true}},"required":["ok","diff"],"additionalProperties":true}]},
1248
+ },
1249
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":192,"column":3},
1250
+ },
1251
+ 'game/dropPending': {
1252
+ service: 'gameRemote',
1253
+ description: 'Drop one pending change (the dock\'s ×).',
1254
+ invocation: { kind: 'direct' },
1255
+ parameters: [
1256
+ {
1257
+ name: 'sessionId',
1258
+ source: 'json',
1259
+ codec: {
1260
+ mode: 'strict',
1261
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1262
+ create: _khorsheed_dsh_game_game_dropPending_parameter_0$schema,
1263
+ schema: _khorsheed_dsh_game_game_dropPending_parameter_0$schema(),
1264
+ jsonSchema: {"type":"string"},
1265
+ },
1266
+ strictCodec: {
1267
+ mode: 'strict',
1268
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1269
+ create: _khorsheed_dsh_game_game_dropPending_parameter_0_strict$schema,
1270
+ schema: _khorsheed_dsh_game_game_dropPending_parameter_0_strict$schema(),
1271
+ jsonSchema: {"type":"string"},
1272
+ },
1273
+ },
1274
+ {
1275
+ name: 'request',
1276
+ source: 'json',
1277
+ codec: {
1278
+ mode: 'strict',
1279
+ typeSymbol: '@khorsheed/dsh-game#game/dropPending:request',
1280
+ create: _khorsheed_dsh_game_game_dropPending_parameter_1$schema,
1281
+ schema: _khorsheed_dsh_game_game_dropPending_parameter_1$schema(),
1282
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"key":{"type":"string"}},"required":["projectId","key"],"additionalProperties":true},
1283
+ },
1284
+ strictCodec: {
1285
+ mode: 'strict',
1286
+ typeSymbol: '@khorsheed/dsh-game#game/dropPending:request',
1287
+ create: _khorsheed_dsh_game_game_dropPending_parameter_1_strict$schema,
1288
+ schema: _khorsheed_dsh_game_game_dropPending_parameter_1_strict$schema(),
1289
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"key":{"type":"string"}},"required":["projectId","key"],"additionalProperties":false},
1290
+ },
1291
+ },
1292
+ ],
1293
+ result: {
1294
+ mode: 'strict',
1295
+ typeSymbol: '@khorsheed/dsh-game/types#GameResult',
1296
+ create: _khorsheed_dsh_game_game_dropPending_result$schema,
1297
+ schema: _khorsheed_dsh_game_game_dropPending_result$schema(),
1298
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string","enum":["not-found","denied","io","unbound","invalid","no-version","not-a-project","is-workspace","trash-failed"]}},"required":["ok","error"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":true}},"required":["ok"],"additionalProperties":true}]},
1299
+ },
1300
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":115,"column":9},
1301
+ },
1302
+ 'game/editElement': {
1303
+ service: 'gameRemote',
1304
+ description: 'Edit one element\'s look (JSON text) and/or scalar fields (JSON text of an object).',
1305
+ invocation: { kind: 'direct' },
1306
+ parameters: [
1307
+ {
1308
+ name: 'sessionId',
1309
+ source: 'json',
1310
+ codec: {
1311
+ mode: 'strict',
1312
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1313
+ create: _khorsheed_dsh_game_game_editElement_parameter_0$schema,
1314
+ schema: _khorsheed_dsh_game_game_editElement_parameter_0$schema(),
1315
+ jsonSchema: {"type":"string"},
1316
+ },
1317
+ strictCodec: {
1318
+ mode: 'strict',
1319
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1320
+ create: _khorsheed_dsh_game_game_editElement_parameter_0_strict$schema,
1321
+ schema: _khorsheed_dsh_game_game_editElement_parameter_0_strict$schema(),
1322
+ jsonSchema: {"type":"string"},
1323
+ },
1324
+ },
1325
+ {
1326
+ name: 'request',
1327
+ source: 'json',
1328
+ codec: {
1329
+ mode: 'strict',
1330
+ typeSymbol: '@khorsheed/dsh-game#game/editElement:request',
1331
+ create: _khorsheed_dsh_game_game_editElement_parameter_1$schema,
1332
+ schema: _khorsheed_dsh_game_game_editElement_parameter_1$schema(),
1333
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"elementId":{"type":"string"},"look":{"type":"string"},"fields":{"type":"string"}},"required":["projectId","elementId"],"additionalProperties":true},
1334
+ },
1335
+ strictCodec: {
1336
+ mode: 'strict',
1337
+ typeSymbol: '@khorsheed/dsh-game#game/editElement:request',
1338
+ create: _khorsheed_dsh_game_game_editElement_parameter_1_strict$schema,
1339
+ schema: _khorsheed_dsh_game_game_editElement_parameter_1_strict$schema(),
1340
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"elementId":{"type":"string"},"look":{"type":"string"},"fields":{"type":"string"}},"required":["projectId","elementId"],"additionalProperties":false},
1341
+ },
1342
+ },
1343
+ ],
1344
+ result: {
1345
+ mode: 'strict',
1346
+ typeSymbol: '@khorsheed/dsh-game/types#GameResult',
1347
+ create: _khorsheed_dsh_game_game_editElement_result$schema,
1348
+ schema: _khorsheed_dsh_game_game_editElement_result$schema(),
1349
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string","enum":["not-found","denied","io","unbound","invalid","no-version","not-a-project","is-workspace","trash-failed"]}},"required":["ok","error"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":true},"elementJson":{"type":"string"}},"required":["ok","elementJson"],"additionalProperties":true}]},
1350
+ },
1351
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":139,"column":9},
1352
+ },
1353
+ 'game/finalizeParams': {
1354
+ service: 'gameRemote',
1355
+ description: '定稿: write slider values into game.json.',
1356
+ invocation: { kind: 'direct' },
1357
+ parameters: [
1358
+ {
1359
+ name: 'sessionId',
1360
+ source: 'json',
1361
+ codec: {
1362
+ mode: 'strict',
1363
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1364
+ create: _khorsheed_dsh_game_game_finalizeParams_parameter_0$schema,
1365
+ schema: _khorsheed_dsh_game_game_finalizeParams_parameter_0$schema(),
1366
+ jsonSchema: {"type":"string"},
1367
+ },
1368
+ strictCodec: {
1369
+ mode: 'strict',
1370
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1371
+ create: _khorsheed_dsh_game_game_finalizeParams_parameter_0_strict$schema,
1372
+ schema: _khorsheed_dsh_game_game_finalizeParams_parameter_0_strict$schema(),
1373
+ jsonSchema: {"type":"string"},
1374
+ },
1375
+ },
1376
+ {
1377
+ name: 'request',
1378
+ source: 'json',
1379
+ codec: {
1380
+ mode: 'strict',
1381
+ typeSymbol: '@khorsheed/dsh-game#game/finalizeParams:request',
1382
+ create: _khorsheed_dsh_game_game_finalizeParams_parameter_1$schema,
1383
+ schema: _khorsheed_dsh_game_game_finalizeParams_parameter_1$schema(),
1384
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"}},"required":["projectId"],"additionalProperties":true},
1385
+ },
1386
+ strictCodec: {
1387
+ mode: 'strict',
1388
+ typeSymbol: '@khorsheed/dsh-game#game/finalizeParams:request',
1389
+ create: _khorsheed_dsh_game_game_finalizeParams_parameter_1_strict$schema,
1390
+ schema: _khorsheed_dsh_game_game_finalizeParams_parameter_1_strict$schema(),
1391
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"}},"required":["projectId"],"additionalProperties":false},
1392
+ },
1393
+ },
1394
+ ],
1395
+ result: {
1396
+ mode: 'strict',
1397
+ typeSymbol: '@khorsheed/dsh-game/types#GameResult',
1398
+ create: _khorsheed_dsh_game_game_finalizeParams_result$schema,
1399
+ schema: _khorsheed_dsh_game_game_finalizeParams_result$schema(),
1400
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string","enum":["not-found","denied","io","unbound","invalid","no-version","not-a-project","is-workspace","trash-failed"]}},"required":["ok","error"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":true}},"required":["ok"],"additionalProperties":true}]},
1401
+ },
1402
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":127,"column":9},
1403
+ },
1404
+ 'game/logPlay': {
1405
+ service: 'gameRemote',
1406
+ description: 'Record one play session into the playtest log.',
1407
+ invocation: { kind: 'direct' },
1408
+ parameters: [
1409
+ {
1410
+ name: 'sessionId',
1411
+ source: 'json',
1412
+ codec: {
1413
+ mode: 'strict',
1414
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1415
+ create: _khorsheed_dsh_game_game_logPlay_parameter_0$schema,
1416
+ schema: _khorsheed_dsh_game_game_logPlay_parameter_0$schema(),
1417
+ jsonSchema: {"type":"string"},
1418
+ },
1419
+ strictCodec: {
1420
+ mode: 'strict',
1421
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1422
+ create: _khorsheed_dsh_game_game_logPlay_parameter_0_strict$schema,
1423
+ schema: _khorsheed_dsh_game_game_logPlay_parameter_0_strict$schema(),
1424
+ jsonSchema: {"type":"string"},
1425
+ },
1426
+ },
1427
+ {
1428
+ name: 'request',
1429
+ source: 'json',
1430
+ codec: {
1431
+ mode: 'strict',
1432
+ typeSymbol: '@khorsheed/dsh-game#game/logPlay:request',
1433
+ create: _khorsheed_dsh_game_game_logPlay_parameter_1$schema,
1434
+ schema: _khorsheed_dsh_game_game_logPlay_parameter_1$schema(),
1435
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"version":{"type":"number"},"seconds":{"type":"number"},"errors":{"type":"array","items":{"type":"string"}}},"required":["projectId","version","seconds","errors"],"additionalProperties":true},
1436
+ },
1437
+ strictCodec: {
1438
+ mode: 'strict',
1439
+ typeSymbol: '@khorsheed/dsh-game#game/logPlay:request',
1440
+ create: _khorsheed_dsh_game_game_logPlay_parameter_1_strict$schema,
1441
+ schema: _khorsheed_dsh_game_game_logPlay_parameter_1_strict$schema(),
1442
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"version":{"type":"number"},"seconds":{"type":"number"},"errors":{"type":"array","items":{"type":"string"}}},"required":["projectId","version","seconds","errors"],"additionalProperties":false},
1443
+ },
1444
+ },
1445
+ ],
1446
+ result: {
1447
+ mode: 'strict',
1448
+ typeSymbol: '@khorsheed/dsh-game/types#GameResult',
1449
+ create: _khorsheed_dsh_game_game_logPlay_result$schema,
1450
+ schema: _khorsheed_dsh_game_game_logPlay_result$schema(),
1451
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string","enum":["not-found","denied","io","unbound","invalid","no-version","not-a-project","is-workspace","trash-failed"]}},"required":["ok","error"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":true}},"required":["ok"],"additionalProperties":true}]},
1452
+ },
1453
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":109,"column":9},
1454
+ },
1455
+ 'game/pickProposal': {
1456
+ service: 'gameRemote',
1457
+ description: 'Pick one appearance variant.',
1458
+ invocation: { kind: 'direct' },
1459
+ parameters: [
1460
+ {
1461
+ name: 'sessionId',
1462
+ source: 'json',
1463
+ codec: {
1464
+ mode: 'strict',
1465
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1466
+ create: _khorsheed_dsh_game_game_pickProposal_parameter_0$schema,
1467
+ schema: _khorsheed_dsh_game_game_pickProposal_parameter_0$schema(),
1468
+ jsonSchema: {"type":"string"},
1469
+ },
1470
+ strictCodec: {
1471
+ mode: 'strict',
1472
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1473
+ create: _khorsheed_dsh_game_game_pickProposal_parameter_0_strict$schema,
1474
+ schema: _khorsheed_dsh_game_game_pickProposal_parameter_0_strict$schema(),
1475
+ jsonSchema: {"type":"string"},
1476
+ },
1477
+ },
1478
+ {
1479
+ name: 'request',
1480
+ source: 'json',
1481
+ codec: {
1482
+ mode: 'strict',
1483
+ typeSymbol: '@khorsheed/dsh-game#game/pickProposal:request',
1484
+ create: _khorsheed_dsh_game_game_pickProposal_parameter_1$schema,
1485
+ schema: _khorsheed_dsh_game_game_pickProposal_parameter_1$schema(),
1486
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"elementId":{"type":"string"},"at":{"type":"string"},"index":{"type":"number"}},"required":["projectId","elementId","at","index"],"additionalProperties":true},
1487
+ },
1488
+ strictCodec: {
1489
+ mode: 'strict',
1490
+ typeSymbol: '@khorsheed/dsh-game#game/pickProposal:request',
1491
+ create: _khorsheed_dsh_game_game_pickProposal_parameter_1_strict$schema,
1492
+ schema: _khorsheed_dsh_game_game_pickProposal_parameter_1_strict$schema(),
1493
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"elementId":{"type":"string"},"at":{"type":"string"},"index":{"type":"number"}},"required":["projectId","elementId","at","index"],"additionalProperties":false},
1494
+ },
1495
+ },
1496
+ ],
1497
+ result: {
1498
+ mode: 'strict',
1499
+ typeSymbol: '@khorsheed/dsh-game/types#GameResult',
1500
+ create: _khorsheed_dsh_game_game_pickProposal_result$schema,
1501
+ schema: _khorsheed_dsh_game_game_pickProposal_result$schema(),
1502
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string","enum":["not-found","denied","io","unbound","invalid","no-version","not-a-project","is-workspace","trash-failed"]}},"required":["ok","error"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":true}},"required":["ok"],"additionalProperties":true}]},
1503
+ },
1504
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":156,"column":9},
1505
+ },
1506
+ 'game/projectCards': {
1507
+ service: 'gameRemote',
1508
+ description: 'Every project as a switcher card.',
1509
+ invocation: { kind: 'direct' },
1510
+ parameters: [
1511
+ ],
1512
+ result: {
1513
+ mode: 'strict',
1514
+ typeSymbol: '@khorsheed/dsh-game#game/projectCards:result',
1515
+ create: _khorsheed_dsh_game_game_projectCards_result$schema,
1516
+ schema: _khorsheed_dsh_game_game_projectCards_result$schema(),
1517
+ jsonSchema: {"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"root":{"type":"string"},"updatedAt":{"type":"string"},"pitch":{"type":"string"},"artStyle":{"type":"string"},"version":{"oneOf":[{"type":"null","const":null},{"type":"number"}]},"elements":{"type":"number"},"thumb":{"type":"string","description":"The last check's screenshot (webp, base64), when there is one."}},"required":["id","title","root","updatedAt","pitch","artStyle","version","elements"],"additionalProperties":true}},
1518
+ },
1519
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":55,"column":3},
1520
+ },
1521
+ 'game/reject': {
1522
+ service: 'gameRemote',
1523
+ description: 'Throw the candidate away.',
1524
+ invocation: { kind: 'direct' },
1525
+ parameters: [
1526
+ {
1527
+ name: 'sessionId',
1528
+ source: 'json',
1529
+ codec: {
1530
+ mode: 'strict',
1531
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1532
+ create: _khorsheed_dsh_game_game_reject_parameter_0$schema,
1533
+ schema: _khorsheed_dsh_game_game_reject_parameter_0$schema(),
1534
+ jsonSchema: {"type":"string"},
1535
+ },
1536
+ strictCodec: {
1537
+ mode: 'strict',
1538
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1539
+ create: _khorsheed_dsh_game_game_reject_parameter_0_strict$schema,
1540
+ schema: _khorsheed_dsh_game_game_reject_parameter_0_strict$schema(),
1541
+ jsonSchema: {"type":"string"},
1542
+ },
1543
+ },
1544
+ {
1545
+ name: 'request',
1546
+ source: 'json',
1547
+ codec: {
1548
+ mode: 'strict',
1549
+ typeSymbol: '@khorsheed/dsh-game#game/reject:request',
1550
+ create: _khorsheed_dsh_game_game_reject_parameter_1$schema,
1551
+ schema: _khorsheed_dsh_game_game_reject_parameter_1$schema(),
1552
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"reason":{"type":"string"}},"required":["projectId","reason"],"additionalProperties":true},
1553
+ },
1554
+ strictCodec: {
1555
+ mode: 'strict',
1556
+ typeSymbol: '@khorsheed/dsh-game#game/reject:request',
1557
+ create: _khorsheed_dsh_game_game_reject_parameter_1_strict$schema,
1558
+ schema: _khorsheed_dsh_game_game_reject_parameter_1_strict$schema(),
1559
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"reason":{"type":"string"}},"required":["projectId","reason"],"additionalProperties":false},
1560
+ },
1561
+ },
1562
+ ],
1563
+ result: {
1564
+ mode: 'strict',
1565
+ typeSymbol: '@khorsheed/dsh-game/types#GameResult',
1566
+ create: _khorsheed_dsh_game_game_reject_result$schema,
1567
+ schema: _khorsheed_dsh_game_game_reject_result$schema(),
1568
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string","enum":["not-found","denied","io","unbound","invalid","no-version","not-a-project","is-workspace","trash-failed"]}},"required":["ok","error"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":true}},"required":["ok"],"additionalProperties":true}]},
1569
+ },
1570
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":180,"column":9},
1571
+ },
1572
+ 'game/requestRestyle': {
1573
+ service: 'gameRemote',
1574
+ description: 'Mark a pending restyle (the next passing version becomes a candidate).',
1575
+ invocation: { kind: 'direct' },
1576
+ parameters: [
1577
+ {
1578
+ name: 'sessionId',
1579
+ source: 'json',
1580
+ codec: {
1581
+ mode: 'strict',
1582
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1583
+ create: _khorsheed_dsh_game_game_requestRestyle_parameter_0$schema,
1584
+ schema: _khorsheed_dsh_game_game_requestRestyle_parameter_0$schema(),
1585
+ jsonSchema: {"type":"string"},
1586
+ },
1587
+ strictCodec: {
1588
+ mode: 'strict',
1589
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1590
+ create: _khorsheed_dsh_game_game_requestRestyle_parameter_0_strict$schema,
1591
+ schema: _khorsheed_dsh_game_game_requestRestyle_parameter_0_strict$schema(),
1592
+ jsonSchema: {"type":"string"},
1593
+ },
1594
+ },
1595
+ {
1596
+ name: 'request',
1597
+ source: 'json',
1598
+ codec: {
1599
+ mode: 'strict',
1600
+ typeSymbol: '@khorsheed/dsh-game#game/requestRestyle:request',
1601
+ create: _khorsheed_dsh_game_game_requestRestyle_parameter_1$schema,
1602
+ schema: _khorsheed_dsh_game_game_requestRestyle_parameter_1$schema(),
1603
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"styleId":{"type":"string"}},"required":["projectId","styleId"],"additionalProperties":true},
1604
+ },
1605
+ strictCodec: {
1606
+ mode: 'strict',
1607
+ typeSymbol: '@khorsheed/dsh-game#game/requestRestyle:request',
1608
+ create: _khorsheed_dsh_game_game_requestRestyle_parameter_1_strict$schema,
1609
+ schema: _khorsheed_dsh_game_game_requestRestyle_parameter_1_strict$schema(),
1610
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"styleId":{"type":"string"}},"required":["projectId","styleId"],"additionalProperties":false},
1611
+ },
1612
+ },
1613
+ ],
1614
+ result: {
1615
+ mode: 'strict',
1616
+ typeSymbol: '@khorsheed/dsh-game/types#GameResult',
1617
+ create: _khorsheed_dsh_game_game_requestRestyle_result$schema,
1618
+ schema: _khorsheed_dsh_game_game_requestRestyle_result$schema(),
1619
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string","enum":["not-found","denied","io","unbound","invalid","no-version","not-a-project","is-workspace","trash-failed"]}},"required":["ok","error"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":true}},"required":["ok"],"additionalProperties":true}]},
1620
+ },
1621
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":174,"column":9},
1622
+ },
1623
+ 'game/resetParams': {
1624
+ service: 'gameRemote',
1625
+ description: '还原: drop the slider overrides.',
1626
+ invocation: { kind: 'direct' },
1627
+ parameters: [
1628
+ {
1629
+ name: 'sessionId',
1630
+ source: 'json',
1631
+ codec: {
1632
+ mode: 'strict',
1633
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1634
+ create: _khorsheed_dsh_game_game_resetParams_parameter_0$schema,
1635
+ schema: _khorsheed_dsh_game_game_resetParams_parameter_0$schema(),
1636
+ jsonSchema: {"type":"string"},
1637
+ },
1638
+ strictCodec: {
1639
+ mode: 'strict',
1640
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1641
+ create: _khorsheed_dsh_game_game_resetParams_parameter_0_strict$schema,
1642
+ schema: _khorsheed_dsh_game_game_resetParams_parameter_0_strict$schema(),
1643
+ jsonSchema: {"type":"string"},
1644
+ },
1645
+ },
1646
+ {
1647
+ name: 'request',
1648
+ source: 'json',
1649
+ codec: {
1650
+ mode: 'strict',
1651
+ typeSymbol: '@khorsheed/dsh-game#game/resetParams:request',
1652
+ create: _khorsheed_dsh_game_game_resetParams_parameter_1$schema,
1653
+ schema: _khorsheed_dsh_game_game_resetParams_parameter_1$schema(),
1654
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"}},"required":["projectId"],"additionalProperties":true},
1655
+ },
1656
+ strictCodec: {
1657
+ mode: 'strict',
1658
+ typeSymbol: '@khorsheed/dsh-game#game/resetParams:request',
1659
+ create: _khorsheed_dsh_game_game_resetParams_parameter_1_strict$schema,
1660
+ schema: _khorsheed_dsh_game_game_resetParams_parameter_1_strict$schema(),
1661
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"}},"required":["projectId"],"additionalProperties":false},
1662
+ },
1663
+ },
1664
+ ],
1665
+ result: {
1666
+ mode: 'strict',
1667
+ typeSymbol: '@khorsheed/dsh-game/types#GameResult',
1668
+ create: _khorsheed_dsh_game_game_resetParams_result$schema,
1669
+ schema: _khorsheed_dsh_game_game_resetParams_result$schema(),
1670
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string","enum":["not-found","denied","io","unbound","invalid","no-version","not-a-project","is-workspace","trash-failed"]}},"required":["ok","error"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":true}},"required":["ok"],"additionalProperties":true}]},
1671
+ },
1672
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":133,"column":9},
1673
+ },
1674
+ 'game/rollback': {
1675
+ service: 'gameRemote',
1676
+ description: 'Put an older version into the play area.',
1677
+ invocation: { kind: 'direct' },
1678
+ parameters: [
1679
+ {
1680
+ name: 'sessionId',
1681
+ source: 'json',
1682
+ codec: {
1683
+ mode: 'strict',
1684
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1685
+ create: _khorsheed_dsh_game_game_rollback_parameter_0$schema,
1686
+ schema: _khorsheed_dsh_game_game_rollback_parameter_0$schema(),
1687
+ jsonSchema: {"type":"string"},
1688
+ },
1689
+ strictCodec: {
1690
+ mode: 'strict',
1691
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1692
+ create: _khorsheed_dsh_game_game_rollback_parameter_0_strict$schema,
1693
+ schema: _khorsheed_dsh_game_game_rollback_parameter_0_strict$schema(),
1694
+ jsonSchema: {"type":"string"},
1695
+ },
1696
+ },
1697
+ {
1698
+ name: 'request',
1699
+ source: 'json',
1700
+ codec: {
1701
+ mode: 'strict',
1702
+ typeSymbol: '@khorsheed/dsh-game#game/rollback:request',
1703
+ create: _khorsheed_dsh_game_game_rollback_parameter_1$schema,
1704
+ schema: _khorsheed_dsh_game_game_rollback_parameter_1$schema(),
1705
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"version":{"type":"number"}},"required":["projectId","version"],"additionalProperties":true},
1706
+ },
1707
+ strictCodec: {
1708
+ mode: 'strict',
1709
+ typeSymbol: '@khorsheed/dsh-game#game/rollback:request',
1710
+ create: _khorsheed_dsh_game_game_rollback_parameter_1_strict$schema,
1711
+ schema: _khorsheed_dsh_game_game_rollback_parameter_1_strict$schema(),
1712
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"version":{"type":"number"}},"required":["projectId","version"],"additionalProperties":false},
1713
+ },
1714
+ },
1715
+ ],
1716
+ result: {
1717
+ mode: 'strict',
1718
+ typeSymbol: '@khorsheed/dsh-game/types#GameResult',
1719
+ create: _khorsheed_dsh_game_game_rollback_result$schema,
1720
+ schema: _khorsheed_dsh_game_game_rollback_result$schema(),
1721
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string","enum":["not-found","denied","io","unbound","invalid","no-version","not-a-project","is-workspace","trash-failed"]}},"required":["ok","error"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":true}},"required":["ok"],"additionalProperties":true}]},
1722
+ },
1723
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":186,"column":9},
1724
+ },
1725
+ 'game/setAutoConfirm': {
1726
+ service: 'gameRemote',
1727
+ description: 'Switch the project\'s auto-confirm.',
1728
+ invocation: { kind: 'direct' },
1729
+ parameters: [
1730
+ {
1731
+ name: 'sessionId',
1732
+ source: 'json',
1733
+ codec: {
1734
+ mode: 'strict',
1735
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1736
+ create: _khorsheed_dsh_game_game_setAutoConfirm_parameter_0$schema,
1737
+ schema: _khorsheed_dsh_game_game_setAutoConfirm_parameter_0$schema(),
1738
+ jsonSchema: {"type":"string"},
1739
+ },
1740
+ strictCodec: {
1741
+ mode: 'strict',
1742
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1743
+ create: _khorsheed_dsh_game_game_setAutoConfirm_parameter_0_strict$schema,
1744
+ schema: _khorsheed_dsh_game_game_setAutoConfirm_parameter_0_strict$schema(),
1745
+ jsonSchema: {"type":"string"},
1746
+ },
1747
+ },
1748
+ {
1749
+ name: 'request',
1750
+ source: 'json',
1751
+ codec: {
1752
+ mode: 'strict',
1753
+ typeSymbol: '@khorsheed/dsh-game#game/setAutoConfirm:request',
1754
+ create: _khorsheed_dsh_game_game_setAutoConfirm_parameter_1$schema,
1755
+ schema: _khorsheed_dsh_game_game_setAutoConfirm_parameter_1$schema(),
1756
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"on":{"type":"boolean"}},"required":["projectId","on"],"additionalProperties":true},
1757
+ },
1758
+ strictCodec: {
1759
+ mode: 'strict',
1760
+ typeSymbol: '@khorsheed/dsh-game#game/setAutoConfirm:request',
1761
+ create: _khorsheed_dsh_game_game_setAutoConfirm_parameter_1_strict$schema,
1762
+ schema: _khorsheed_dsh_game_game_setAutoConfirm_parameter_1_strict$schema(),
1763
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"on":{"type":"boolean"}},"required":["projectId","on"],"additionalProperties":false},
1764
+ },
1765
+ },
1766
+ ],
1767
+ result: {
1768
+ mode: 'strict',
1769
+ typeSymbol: '@khorsheed/dsh-game/types#GameResult',
1770
+ create: _khorsheed_dsh_game_game_setAutoConfirm_result$schema,
1771
+ schema: _khorsheed_dsh_game_game_setAutoConfirm_result$schema(),
1772
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string","enum":["not-found","denied","io","unbound","invalid","no-version","not-a-project","is-workspace","trash-failed"]}},"required":["ok","error"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":true}},"required":["ok"],"additionalProperties":true}]},
1773
+ },
1774
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":103,"column":9},
1775
+ },
1776
+ 'game/setOnePager': {
1777
+ service: 'gameRemote',
1778
+ description: 'Edit the one-pager (game.json pitch / element types / pillars).',
1779
+ invocation: { kind: 'direct' },
1780
+ parameters: [
1781
+ {
1782
+ name: 'sessionId',
1783
+ source: 'json',
1784
+ codec: {
1785
+ mode: 'strict',
1786
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1787
+ create: _khorsheed_dsh_game_game_setOnePager_parameter_0$schema,
1788
+ schema: _khorsheed_dsh_game_game_setOnePager_parameter_0$schema(),
1789
+ jsonSchema: {"type":"string"},
1790
+ },
1791
+ strictCodec: {
1792
+ mode: 'strict',
1793
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1794
+ create: _khorsheed_dsh_game_game_setOnePager_parameter_0_strict$schema,
1795
+ schema: _khorsheed_dsh_game_game_setOnePager_parameter_0_strict$schema(),
1796
+ jsonSchema: {"type":"string"},
1797
+ },
1798
+ },
1799
+ {
1800
+ name: 'request',
1801
+ source: 'json',
1802
+ codec: {
1803
+ mode: 'strict',
1804
+ typeSymbol: '@khorsheed/dsh-game#game/setOnePager:request',
1805
+ create: _khorsheed_dsh_game_game_setOnePager_parameter_1$schema,
1806
+ schema: _khorsheed_dsh_game_game_setOnePager_parameter_1$schema(),
1807
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"pitch":{"type":"string"},"elementTypes":{"type":"string"},"pillars":{"type":"string"}},"required":["projectId"],"additionalProperties":true},
1808
+ },
1809
+ strictCodec: {
1810
+ mode: 'strict',
1811
+ typeSymbol: '@khorsheed/dsh-game#game/setOnePager:request',
1812
+ create: _khorsheed_dsh_game_game_setOnePager_parameter_1_strict$schema,
1813
+ schema: _khorsheed_dsh_game_game_setOnePager_parameter_1_strict$schema(),
1814
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"pitch":{"type":"string"},"elementTypes":{"type":"string"},"pillars":{"type":"string"}},"required":["projectId"],"additionalProperties":false},
1815
+ },
1816
+ },
1817
+ ],
1818
+ result: {
1819
+ mode: 'strict',
1820
+ typeSymbol: '@khorsheed/dsh-game/types#GameResult',
1821
+ create: _khorsheed_dsh_game_game_setOnePager_result$schema,
1822
+ schema: _khorsheed_dsh_game_game_setOnePager_result$schema(),
1823
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string","enum":["not-found","denied","io","unbound","invalid","no-version","not-a-project","is-workspace","trash-failed"]}},"required":["ok","error"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":true}},"required":["ok"],"additionalProperties":true}]},
1824
+ },
1825
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":168,"column":9},
1826
+ },
1827
+ 'game/setParam': {
1828
+ service: 'gameRemote',
1829
+ description: 'Set one slider value (user layer).',
1830
+ invocation: { kind: 'direct' },
1831
+ parameters: [
1832
+ {
1833
+ name: 'sessionId',
1834
+ source: 'json',
1835
+ codec: {
1836
+ mode: 'strict',
1837
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1838
+ create: _khorsheed_dsh_game_game_setParam_parameter_0$schema,
1839
+ schema: _khorsheed_dsh_game_game_setParam_parameter_0$schema(),
1840
+ jsonSchema: {"type":"string"},
1841
+ },
1842
+ strictCodec: {
1843
+ mode: 'strict',
1844
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1845
+ create: _khorsheed_dsh_game_game_setParam_parameter_0_strict$schema,
1846
+ schema: _khorsheed_dsh_game_game_setParam_parameter_0_strict$schema(),
1847
+ jsonSchema: {"type":"string"},
1848
+ },
1849
+ },
1850
+ {
1851
+ name: 'request',
1852
+ source: 'json',
1853
+ codec: {
1854
+ mode: 'strict',
1855
+ typeSymbol: '@khorsheed/dsh-game#game/setParam:request',
1856
+ create: _khorsheed_dsh_game_game_setParam_parameter_1$schema,
1857
+ schema: _khorsheed_dsh_game_game_setParam_parameter_1$schema(),
1858
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"key":{"type":"string"},"value":{"type":"number"}},"required":["projectId","key","value"],"additionalProperties":true},
1859
+ },
1860
+ strictCodec: {
1861
+ mode: 'strict',
1862
+ typeSymbol: '@khorsheed/dsh-game#game/setParam:request',
1863
+ create: _khorsheed_dsh_game_game_setParam_parameter_1_strict$schema,
1864
+ schema: _khorsheed_dsh_game_game_setParam_parameter_1_strict$schema(),
1865
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"key":{"type":"string"},"value":{"type":"number"}},"required":["projectId","key","value"],"additionalProperties":false},
1866
+ },
1867
+ },
1868
+ ],
1869
+ result: {
1870
+ mode: 'strict',
1871
+ typeSymbol: '@khorsheed/dsh-game/types#GameResult',
1872
+ create: _khorsheed_dsh_game_game_setParam_result$schema,
1873
+ schema: _khorsheed_dsh_game_game_setParam_result$schema(),
1874
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string","enum":["not-found","denied","io","unbound","invalid","no-version","not-a-project","is-workspace","trash-failed"]}},"required":["ok","error"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":true}},"required":["ok"],"additionalProperties":true}]},
1875
+ },
1876
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":121,"column":9},
1877
+ },
1878
+ 'game/state': {
1879
+ service: 'gameRemote',
1880
+ description: 'The session\'s bound project (full view) and the project list.',
1881
+ invocation: { kind: 'direct' },
1882
+ parameters: [
1883
+ {
1884
+ name: 'sessionId',
1885
+ source: 'json',
1886
+ codec: {
1887
+ mode: 'strict',
1888
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1889
+ create: _khorsheed_dsh_game_game_state_parameter_0$schema,
1890
+ schema: _khorsheed_dsh_game_game_state_parameter_0$schema(),
1891
+ jsonSchema: {"type":"string"},
1892
+ },
1893
+ strictCodec: {
1894
+ mode: 'strict',
1895
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1896
+ create: _khorsheed_dsh_game_game_state_parameter_0_strict$schema,
1897
+ schema: _khorsheed_dsh_game_game_state_parameter_0_strict$schema(),
1898
+ jsonSchema: {"type":"string"},
1899
+ },
1900
+ },
1901
+ ],
1902
+ result: {
1903
+ mode: 'strict',
1904
+ typeSymbol: '@khorsheed/dsh-game/types#SessionGameState',
1905
+ create: _khorsheed_dsh_game_game_state_result$schema,
1906
+ schema: _khorsheed_dsh_game_game_state_result$schema(),
1907
+ jsonSchemaError: 'typert tool schema: unsupported selected tuple type',
1908
+ },
1909
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":43,"column":3},
1910
+ },
1911
+ 'game/turnReport': {
1912
+ service: 'gameRemote',
1913
+ description: 'What one of the session\'s turns changed (null when nothing, or not recorded).',
1914
+ invocation: { kind: 'direct' },
1915
+ parameters: [
1916
+ {
1917
+ name: 'sessionId',
1918
+ source: 'json',
1919
+ codec: {
1920
+ mode: 'strict',
1921
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1922
+ create: _khorsheed_dsh_game_game_turnReport_parameter_0$schema,
1923
+ schema: _khorsheed_dsh_game_game_turnReport_parameter_0$schema(),
1924
+ jsonSchema: {"type":"string"},
1925
+ },
1926
+ strictCodec: {
1927
+ mode: 'strict',
1928
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
1929
+ create: _khorsheed_dsh_game_game_turnReport_parameter_0_strict$schema,
1930
+ schema: _khorsheed_dsh_game_game_turnReport_parameter_0_strict$schema(),
1931
+ jsonSchema: {"type":"string"},
1932
+ },
1933
+ },
1934
+ {
1935
+ name: 'request',
1936
+ source: 'json',
1937
+ codec: {
1938
+ mode: 'strict',
1939
+ typeSymbol: '@khorsheed/dsh-game#game/turnReport:request',
1940
+ create: _khorsheed_dsh_game_game_turnReport_parameter_1$schema,
1941
+ schema: _khorsheed_dsh_game_game_turnReport_parameter_1$schema(),
1942
+ jsonSchema: {"type":"object","properties":{"turn":{"type":"number"}},"required":["turn"],"additionalProperties":true},
1943
+ },
1944
+ strictCodec: {
1945
+ mode: 'strict',
1946
+ typeSymbol: '@khorsheed/dsh-game#game/turnReport:request',
1947
+ create: _khorsheed_dsh_game_game_turnReport_parameter_1_strict$schema,
1948
+ schema: _khorsheed_dsh_game_game_turnReport_parameter_1_strict$schema(),
1949
+ jsonSchema: {"type":"object","properties":{"turn":{"type":"number"}},"required":["turn"],"additionalProperties":false},
1950
+ },
1951
+ },
1952
+ ],
1953
+ result: {
1954
+ mode: 'strict',
1955
+ typeSymbol: '@khorsheed/dsh-game#game/turnReport:result',
1956
+ create: _khorsheed_dsh_game_game_turnReport_result$schema,
1957
+ schema: _khorsheed_dsh_game_game_turnReport_result$schema(),
1958
+ jsonSchema: {"oneOf":[{"type":"null","const":null},{"type":"object","properties":{"turn":{"type":"number"},"projectId":{"type":"string"},"title":{"type":"string"},"at":{"type":"string"},"version":{"oneOf":[{"type":"null","const":null},{"type":"object","properties":{"kind":{"type":"string","enum":["candidate","deployed"]},"version":{"type":"number"}},"required":["kind","version"],"additionalProperties":true}],"description":"A version that became live (or a candidate) during the turn."},"check":{"oneOf":[{"type":"null","const":null},{"type":"object","properties":{"ok":{"type":"boolean"},"fixes":{"type":"number"},"gaveUp":{"type":"boolean"},"passed":{"type":"number"},"failures":{"type":"number"}},"required":["ok","fixes","gaveUp","passed","failures"],"additionalProperties":true}],"description":"The turn's end-of-turn check, when one ran."},"elements":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"what":{"type":"string","enum":["removed","new","look","fields"]},"fields":{"type":"array","items":{"type":"string"}},"looks":{"type":"object","properties":{"before":{"oneOf":[{"type":"null","const":null},{"type":"string"}]},"after":{"type":"string"}},"required":["before","after"],"additionalProperties":true,"description":"3D looks before and after the turn (JSON), for the card's side-by-side previews."}},"required":["id","name","what"],"additionalProperties":true}},"chapters":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"}},"required":["id","title"],"additionalProperties":true}},"params":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"from":{"type":"number"},"to":{"type":"number"}},"required":["key","label","to"],"additionalProperties":true}},"code":{"type":"array","items":{"type":"string"},"description":"Other changed source files (code, assets, index.html)."},"tests":{"type":"array","items":{"type":"string"}}},"required":["turn","projectId","title","at","version","check","elements","chapters","params","code","tests"],"additionalProperties":true}]},
1959
+ },
1960
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":49,"column":3},
1961
+ },
1962
+ 'game/versionBundle': {
1963
+ service: 'gameRemote',
1964
+ description: 'A specific version\'s files (rollback preview, export).',
1965
+ invocation: { kind: 'direct' },
1966
+ parameters: [
1967
+ {
1968
+ name: 'request',
1969
+ source: 'json',
1970
+ codec: {
1971
+ mode: 'strict',
1972
+ typeSymbol: '@khorsheed/dsh-game#game/versionBundle:request',
1973
+ create: _khorsheed_dsh_game_game_versionBundle_parameter_0$schema,
1974
+ schema: _khorsheed_dsh_game_game_versionBundle_parameter_0$schema(),
1975
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"version":{"type":"number"}},"required":["projectId","version"],"additionalProperties":true},
1976
+ },
1977
+ strictCodec: {
1978
+ mode: 'strict',
1979
+ typeSymbol: '@khorsheed/dsh-game#game/versionBundle:request',
1980
+ create: _khorsheed_dsh_game_game_versionBundle_parameter_0_strict$schema,
1981
+ schema: _khorsheed_dsh_game_game_versionBundle_parameter_0_strict$schema(),
1982
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"version":{"type":"number"}},"required":["projectId","version"],"additionalProperties":false},
1983
+ },
1984
+ },
1985
+ ],
1986
+ result: {
1987
+ mode: 'strict',
1988
+ typeSymbol: '@khorsheed/dsh-game/types#GameResult',
1989
+ create: _khorsheed_dsh_game_game_versionBundle_result$schema,
1990
+ schema: _khorsheed_dsh_game_game_versionBundle_result$schema(),
1991
+ jsonSchemaError: 'typert tool schema: selected union branches overlap or have no required discriminator',
1992
+ },
1993
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":204,"column":3},
1994
+ },
1995
+ 'game/workingFile': {
1996
+ service: 'gameRemote',
1997
+ description: 'One working build file, for a panel preview ahead of any version.',
1998
+ invocation: { kind: 'direct' },
1999
+ parameters: [
2000
+ {
2001
+ name: 'request',
2002
+ source: 'json',
2003
+ codec: {
2004
+ mode: 'strict',
2005
+ typeSymbol: '@khorsheed/dsh-game#game/workingFile:request',
2006
+ create: _khorsheed_dsh_game_game_workingFile_parameter_0$schema,
2007
+ schema: _khorsheed_dsh_game_game_workingFile_parameter_0$schema(),
2008
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"path":{"type":"string"}},"required":["projectId","path"],"additionalProperties":true},
2009
+ },
2010
+ strictCodec: {
2011
+ mode: 'strict',
2012
+ typeSymbol: '@khorsheed/dsh-game#game/workingFile:request',
2013
+ create: _khorsheed_dsh_game_game_workingFile_parameter_0_strict$schema,
2014
+ schema: _khorsheed_dsh_game_game_workingFile_parameter_0_strict$schema(),
2015
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"path":{"type":"string"}},"required":["projectId","path"],"additionalProperties":false},
2016
+ },
2017
+ },
2018
+ ],
2019
+ result: {
2020
+ mode: 'strict',
2021
+ typeSymbol: '@khorsheed/dsh-game/types#GameResult',
2022
+ create: _khorsheed_dsh_game_game_workingFile_result$schema,
2023
+ schema: _khorsheed_dsh_game_game_workingFile_result$schema(),
2024
+ jsonSchemaError: 'typert tool schema: selected union branches overlap or have no required discriminator',
2025
+ },
2026
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":73,"column":3},
2027
+ },
2028
+ 'game/writeChapter': {
2029
+ service: 'gameRemote',
2030
+ description: 'Write a design chapter.',
2031
+ invocation: { kind: 'direct' },
2032
+ parameters: [
2033
+ {
2034
+ name: 'sessionId',
2035
+ source: 'json',
2036
+ codec: {
2037
+ mode: 'strict',
2038
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
2039
+ create: _khorsheed_dsh_game_game_writeChapter_parameter_0$schema,
2040
+ schema: _khorsheed_dsh_game_game_writeChapter_parameter_0$schema(),
2041
+ jsonSchema: {"type":"string"},
2042
+ },
2043
+ strictCodec: {
2044
+ mode: 'strict',
2045
+ typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
2046
+ create: _khorsheed_dsh_game_game_writeChapter_parameter_0_strict$schema,
2047
+ schema: _khorsheed_dsh_game_game_writeChapter_parameter_0_strict$schema(),
2048
+ jsonSchema: {"type":"string"},
2049
+ },
2050
+ },
2051
+ {
2052
+ name: 'request',
2053
+ source: 'json',
2054
+ codec: {
2055
+ mode: 'strict',
2056
+ typeSymbol: '@khorsheed/dsh-game#game/writeChapter:request',
2057
+ create: _khorsheed_dsh_game_game_writeChapter_parameter_1$schema,
2058
+ schema: _khorsheed_dsh_game_game_writeChapter_parameter_1$schema(),
2059
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"chapterId":{"type":"string"},"text":{"type":"string"}},"required":["projectId","chapterId","text"],"additionalProperties":true},
2060
+ },
2061
+ strictCodec: {
2062
+ mode: 'strict',
2063
+ typeSymbol: '@khorsheed/dsh-game#game/writeChapter:request',
2064
+ create: _khorsheed_dsh_game_game_writeChapter_parameter_1_strict$schema,
2065
+ schema: _khorsheed_dsh_game_game_writeChapter_parameter_1_strict$schema(),
2066
+ jsonSchema: {"type":"object","properties":{"projectId":{"type":"string"},"chapterId":{"type":"string"},"text":{"type":"string"}},"required":["projectId","chapterId","text"],"additionalProperties":false},
2067
+ },
2068
+ },
2069
+ ],
2070
+ result: {
2071
+ mode: 'strict',
2072
+ typeSymbol: '@khorsheed/dsh-game/types#GameResult',
2073
+ create: _khorsheed_dsh_game_game_writeChapter_result$schema,
2074
+ schema: _khorsheed_dsh_game_game_writeChapter_result$schema(),
2075
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string","enum":["not-found","denied","io","unbound","invalid","no-version","not-a-project","is-workspace","trash-failed"]}},"required":["ok","error"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":true}},"required":["ok"],"additionalProperties":true}]},
2076
+ },
2077
+ sourceLocation: {"file":"packages/game/src/remote.ts","line":162,"column":9},
2078
+ },
2079
+ },
2080
+ }, z)
2081
+
2082
+ export default TYPERT_REMOTE