@godot-mcp/protocol 0.0.0 → 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 (65) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +105 -2
  3. package/dist/canonicalJson.d.ts +4 -0
  4. package/dist/canonicalJson.d.ts.map +1 -0
  5. package/dist/canonicalJson.js +68 -0
  6. package/dist/canonicalJson.js.map +1 -0
  7. package/dist/editor.d.ts +130 -0
  8. package/dist/editor.d.ts.map +1 -0
  9. package/dist/editor.js +179 -0
  10. package/dist/editor.js.map +1 -0
  11. package/dist/editorAuthoring.d.ts +246 -0
  12. package/dist/editorAuthoring.d.ts.map +1 -0
  13. package/dist/editorAuthoring.js +132 -0
  14. package/dist/editorAuthoring.js.map +1 -0
  15. package/dist/editorMutation.d.ts +1239 -0
  16. package/dist/editorMutation.d.ts.map +1 -0
  17. package/dist/editorMutation.js +178 -0
  18. package/dist/editorMutation.js.map +1 -0
  19. package/dist/index.d.ts +14 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +14 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/input.d.ts +1414 -0
  24. package/dist/input.d.ts.map +1 -0
  25. package/dist/input.js +237 -0
  26. package/dist/input.js.map +1 -0
  27. package/dist/projectOperations.d.ts +151 -0
  28. package/dist/projectOperations.d.ts.map +1 -0
  29. package/dist/projectOperations.js +138 -0
  30. package/dist/projectOperations.js.map +1 -0
  31. package/dist/runtime.d.ts +349 -0
  32. package/dist/runtime.d.ts.map +1 -0
  33. package/dist/runtime.js +164 -0
  34. package/dist/runtime.js.map +1 -0
  35. package/dist/runtimeDebug.d.ts +115 -0
  36. package/dist/runtimeDebug.d.ts.map +1 -0
  37. package/dist/runtimeDebug.js +123 -0
  38. package/dist/runtimeDebug.js.map +1 -0
  39. package/dist/runtimePerformance.d.ts +262 -0
  40. package/dist/runtimePerformance.d.ts.map +1 -0
  41. package/dist/runtimePerformance.js +165 -0
  42. package/dist/runtimePerformance.js.map +1 -0
  43. package/dist/runtimeShared.d.ts +19 -0
  44. package/dist/runtimeShared.d.ts.map +1 -0
  45. package/dist/runtimeShared.js +18 -0
  46. package/dist/runtimeShared.js.map +1 -0
  47. package/dist/schemas.d.ts +118 -0
  48. package/dist/schemas.d.ts.map +1 -0
  49. package/dist/schemas.js +95 -0
  50. package/dist/schemas.js.map +1 -0
  51. package/dist/unsafeFixture.d.ts +51 -0
  52. package/dist/unsafeFixture.d.ts.map +1 -0
  53. package/dist/unsafeFixture.js +25 -0
  54. package/dist/unsafeFixture.js.map +1 -0
  55. package/dist/version.d.ts +3 -0
  56. package/dist/version.d.ts.map +1 -0
  57. package/dist/version.js +4 -0
  58. package/dist/version.js.map +1 -0
  59. package/dist/visual.d.ts +812 -0
  60. package/dist/visual.d.ts.map +1 -0
  61. package/dist/visual.js +177 -0
  62. package/dist/visual.js.map +1 -0
  63. package/package.json +25 -6
  64. package/product.json +4 -0
  65. package/index.js +0 -1
@@ -0,0 +1,123 @@
1
+ import { z } from "zod";
2
+ import { RuntimeHandleSchema } from "./runtimeShared.js";
3
+ const opaqueToken = (prefix) => z.string().regex(new RegExp(`^${prefix}_[A-Za-z0-9_-]{43}$`));
4
+ export const DebugFrameTokenSchema = opaqueToken("dft");
5
+ export const DebugVariableTokenSchema = opaqueToken("dvt");
6
+ export const DebugStopResultSchema = z
7
+ .object({
8
+ sequence: z.number().int().min(1),
9
+ reason: z.enum(["breakpoint", "exception", "step", "pause", "unknown"]),
10
+ })
11
+ .strict();
12
+ const DebugSourcePathSchema = z
13
+ .string()
14
+ .min(9)
15
+ .max(512)
16
+ .startsWith("res://")
17
+ .endsWith(".gd")
18
+ .refine((value) => {
19
+ if (value.includes("\0") || value.includes("\\"))
20
+ return false;
21
+ const segments = value.slice(6).split("/");
22
+ if (segments.some((segment) => segment.length === 0 || segment === "." || segment === ".."))
23
+ return false;
24
+ return !value.toLowerCase().startsWith("res://addons/godot_mcp/");
25
+ }, { message: "Debugger source must be a canonical project-local GDScript outside the Godot MCP addon" });
26
+ const RuntimeBreakpointSchema = z
27
+ .object({
28
+ sourcePath: DebugSourcePathSchema,
29
+ line: z.number().int().min(1).max(1_000_000),
30
+ })
31
+ .strict();
32
+ const BreakpointsSetSchema = z
33
+ .object({
34
+ operation: z.literal("debug_breakpoints_set"),
35
+ handle: RuntimeHandleSchema,
36
+ breakpoints: z.array(RuntimeBreakpointSchema).max(64),
37
+ })
38
+ .strict()
39
+ .refine((input) => new Set(input.breakpoints.map((entry) => entry.sourcePath)).size <= 16, {
40
+ message: "Debugger requests may target at most 16 source files",
41
+ })
42
+ .refine((input) => {
43
+ const identities = input.breakpoints.map((entry) => `${entry.sourcePath}:${entry.line}`);
44
+ return new Set(identities).size === identities.length;
45
+ }, { message: "Debugger breakpoints must be unique" });
46
+ const DebugHandleOperationSchema = (operation) => z.object({ operation: z.literal(operation), handle: RuntimeHandleSchema }).strict();
47
+ const PageSchema = {
48
+ offset: z.number().int().min(0).max(2_048).default(0),
49
+ limit: z.number().int().min(1).max(256).default(100),
50
+ };
51
+ const DebugWatchSegmentSchema = z.union([
52
+ z.string().min(1).max(128).refine((value) => !value.includes("\0")),
53
+ z.number().int().min(0).max(1_000_000),
54
+ ]);
55
+ const DebugWatchSelectorSchema = z
56
+ .object({
57
+ scope: z.enum(["locals", "members", "globals"]),
58
+ path: z.array(DebugWatchSegmentSchema).min(1).max(8),
59
+ })
60
+ .strict();
61
+ export const RuntimeDebugOperationInputSchema = z.discriminatedUnion("operation", [
62
+ BreakpointsSetSchema,
63
+ DebugHandleOperationSchema("debug_status"),
64
+ z
65
+ .object({
66
+ operation: z.literal("debug_wait"),
67
+ handle: RuntimeHandleSchema,
68
+ afterSequence: z.number().int().min(0).default(0),
69
+ timeoutMs: z.number().int().min(1).max(30_000).default(10_000),
70
+ })
71
+ .strict(),
72
+ DebugHandleOperationSchema("debug_pause"),
73
+ DebugHandleOperationSchema("debug_continue"),
74
+ DebugHandleOperationSchema("debug_step_over"),
75
+ DebugHandleOperationSchema("debug_step_into"),
76
+ z
77
+ .object({
78
+ operation: z.literal("debug_stack"),
79
+ handle: RuntimeHandleSchema,
80
+ offset: z.number().int().min(0).max(64).default(0),
81
+ limit: z.number().int().min(1).max(64).default(64),
82
+ })
83
+ .strict(),
84
+ z
85
+ .object({
86
+ operation: z.literal("debug_variables"),
87
+ handle: RuntimeHandleSchema,
88
+ ["frameToken"]: DebugFrameTokenSchema,
89
+ scope: z.enum(["locals", "members", "globals"]),
90
+ ...PageSchema,
91
+ })
92
+ .strict(),
93
+ z
94
+ .object({
95
+ operation: z.literal("debug_children"),
96
+ handle: RuntimeHandleSchema,
97
+ ["variableToken"]: DebugVariableTokenSchema,
98
+ ...PageSchema,
99
+ })
100
+ .strict(),
101
+ z
102
+ .object({
103
+ operation: z.literal("debug_watch"),
104
+ handle: RuntimeHandleSchema,
105
+ ["frameToken"]: DebugFrameTokenSchema,
106
+ selectors: z.array(DebugWatchSelectorSchema).min(1).max(32),
107
+ })
108
+ .strict(),
109
+ ]);
110
+ export const RUNTIME_DEBUG_OPERATIONS = [
111
+ "debug_breakpoints_set",
112
+ "debug_status",
113
+ "debug_wait",
114
+ "debug_pause",
115
+ "debug_continue",
116
+ "debug_step_over",
117
+ "debug_step_into",
118
+ "debug_stack",
119
+ "debug_variables",
120
+ "debug_children",
121
+ "debug_watch",
122
+ ];
123
+ //# sourceMappingURL=runtimeDebug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeDebug.js","sourceRoot":"","sources":["../src/runtimeDebug.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,262 @@
1
+ import { z } from "zod";
2
+ export declare const ProfileJobTokenSchema: z.ZodString;
3
+ export declare const MonitorGroupSchema: z.ZodEnum<{
4
+ custom: "custom";
5
+ frame: "frame";
6
+ memory: "memory";
7
+ objects: "objects";
8
+ rendering: "rendering";
9
+ physics: "physics";
10
+ audio: "audio";
11
+ navigation: "navigation";
12
+ pipeline: "pipeline";
13
+ }>;
14
+ export declare const RuntimePerformanceOperationInputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
15
+ operation: z.ZodLiteral<"monitor_snapshot">;
16
+ handle: z.ZodObject<{
17
+ runId: z.ZodUUID;
18
+ generation: z.ZodNumber;
19
+ }, z.core.$strict>;
20
+ groups: z.ZodDefault<z.ZodArray<z.ZodEnum<{
21
+ custom: "custom";
22
+ frame: "frame";
23
+ memory: "memory";
24
+ objects: "objects";
25
+ rendering: "rendering";
26
+ physics: "physics";
27
+ audio: "audio";
28
+ navigation: "navigation";
29
+ pipeline: "pipeline";
30
+ }>>>;
31
+ }, z.core.$strict>, z.ZodObject<{
32
+ operation: z.ZodLiteral<"profile_start">;
33
+ handle: z.ZodObject<{
34
+ runId: z.ZodUUID;
35
+ generation: z.ZodNumber;
36
+ }, z.core.$strict>;
37
+ durationMs: z.ZodNumber;
38
+ intervalFrames: z.ZodNumber;
39
+ groups: z.ZodArray<z.ZodEnum<{
40
+ custom: "custom";
41
+ frame: "frame";
42
+ memory: "memory";
43
+ objects: "objects";
44
+ rendering: "rendering";
45
+ physics: "physics";
46
+ audio: "audio";
47
+ navigation: "navigation";
48
+ pipeline: "pipeline";
49
+ }>>;
50
+ retainRaw: z.ZodDefault<z.ZodBoolean>;
51
+ }, z.core.$strict>, z.ZodObject<{
52
+ operation: z.ZodLiteral<"profile_status">;
53
+ handle: z.ZodObject<{
54
+ runId: z.ZodUUID;
55
+ generation: z.ZodNumber;
56
+ }, z.core.$strict>;
57
+ jobToken: z.ZodString;
58
+ }, z.core.$strict>, z.ZodObject<{
59
+ operation: z.ZodLiteral<"profile_cancel">;
60
+ handle: z.ZodObject<{
61
+ runId: z.ZodUUID;
62
+ generation: z.ZodNumber;
63
+ }, z.core.$strict>;
64
+ jobToken: z.ZodString;
65
+ }, z.core.$strict>, z.ZodObject<{
66
+ operation: z.ZodLiteral<"profile_result">;
67
+ handle: z.ZodObject<{
68
+ runId: z.ZodUUID;
69
+ generation: z.ZodNumber;
70
+ }, z.core.$strict>;
71
+ jobToken: z.ZodString;
72
+ }, z.core.$strict>], "operation">;
73
+ export declare const MonitorSnapshotSchema: z.ZodObject<{
74
+ schemaVersion: z.ZodLiteral<1>;
75
+ frame: z.ZodNumber;
76
+ monotonicUsec: z.ZodNumber;
77
+ engine: z.ZodObject<{
78
+ version: z.ZodString;
79
+ renderer: z.ZodString;
80
+ renderingMethod: z.ZodString;
81
+ graphicsApi: z.ZodString;
82
+ }, z.core.$strict>;
83
+ groups: z.ZodRecord<z.ZodEnum<{
84
+ custom: "custom";
85
+ frame: "frame";
86
+ memory: "memory";
87
+ objects: "objects";
88
+ rendering: "rendering";
89
+ physics: "physics";
90
+ audio: "audio";
91
+ navigation: "navigation";
92
+ pipeline: "pipeline";
93
+ }> & z.core.$partial, z.ZodRecord<z.ZodString, z.ZodNumber>>;
94
+ unavailable: z.ZodArray<z.ZodString>;
95
+ gpuTimestamps: z.ZodDiscriminatedUnion<[z.ZodObject<{
96
+ supported: z.ZodLiteral<false>;
97
+ reason: z.ZodOptional<z.ZodString>;
98
+ }, z.core.$strict>, z.ZodObject<{
99
+ supported: z.ZodLiteral<true>;
100
+ deltasUsec: z.ZodArray<z.ZodNumber>;
101
+ }, z.core.$strict>], "supported">;
102
+ }, z.core.$strict>;
103
+ export declare const ProfileEvidenceSchema: z.ZodObject<{
104
+ schemaVersion: z.ZodLiteral<1>;
105
+ jobToken: z.ZodString;
106
+ state: z.ZodEnum<{
107
+ completed: "completed";
108
+ failed: "failed";
109
+ cancelled: "cancelled";
110
+ }>;
111
+ complete: z.ZodBoolean;
112
+ startedMonotonicUsec: z.ZodNumber;
113
+ finishedMonotonicUsec: z.ZodNumber;
114
+ startFrame: z.ZodNumber;
115
+ endFrame: z.ZodNumber;
116
+ requestedDurationMs: z.ZodNumber;
117
+ intervalFrames: z.ZodNumber;
118
+ observedSamples: z.ZodNumber;
119
+ retainedSamples: z.ZodNumber;
120
+ invalidSamples: z.ZodNumber;
121
+ droppedSamples: z.ZodNumber;
122
+ metricTruncation: z.ZodObject<{
123
+ truncated: z.ZodBoolean;
124
+ affectedSamples: z.ZodNumber;
125
+ maxDroppedMetricsPerSample: z.ZodNumber;
126
+ droppedGroups: z.ZodArray<z.ZodEnum<{
127
+ custom: "custom";
128
+ frame: "frame";
129
+ memory: "memory";
130
+ objects: "objects";
131
+ rendering: "rendering";
132
+ physics: "physics";
133
+ audio: "audio";
134
+ navigation: "navigation";
135
+ pipeline: "pipeline";
136
+ profiler: "profiler";
137
+ }>>;
138
+ }, z.core.$strict>;
139
+ aggregates: z.ZodRecord<z.ZodString, z.ZodObject<{
140
+ min: z.ZodNumber;
141
+ max: z.ZodNumber;
142
+ mean: z.ZodNumber;
143
+ p50: z.ZodNumber;
144
+ p95: z.ZodNumber;
145
+ p99: z.ZodNumber;
146
+ }, z.core.$strict>>;
147
+ rawSamples: z.ZodArray<z.ZodObject<{
148
+ frame: z.ZodNumber;
149
+ monotonicUsec: z.ZodNumber;
150
+ values: z.ZodRecord<z.ZodString, z.ZodNumber>;
151
+ }, z.core.$strict>>;
152
+ engine: z.ZodObject<{
153
+ version: z.ZodString;
154
+ renderer: z.ZodString;
155
+ renderingMethod: z.ZodString;
156
+ graphicsApi: z.ZodString;
157
+ }, z.core.$strict>;
158
+ gpuTimestamps: z.ZodDiscriminatedUnion<[z.ZodObject<{
159
+ supported: z.ZodLiteral<false>;
160
+ reason: z.ZodOptional<z.ZodString>;
161
+ }, z.core.$strict>, z.ZodObject<{
162
+ supported: z.ZodLiteral<true>;
163
+ deltasUsec: z.ZodArray<z.ZodNumber>;
164
+ }, z.core.$strict>], "supported">;
165
+ terminalReason: z.ZodOptional<z.ZodString>;
166
+ sha256: z.ZodString;
167
+ }, z.core.$strict>;
168
+ export declare const ProfileJobReceiptSchema: z.ZodObject<{
169
+ jobToken: z.ZodString;
170
+ state: z.ZodEnum<{
171
+ running: "running";
172
+ completed: "completed";
173
+ failed: "failed";
174
+ cancelled: "cancelled";
175
+ }>;
176
+ progress: z.ZodNumber;
177
+ observedSamples: z.ZodNumber;
178
+ retainedSamples: z.ZodNumber;
179
+ terminalReason: z.ZodOptional<z.ZodString>;
180
+ }, z.core.$strict>;
181
+ export declare const ProfileResultSchema: z.ZodObject<{
182
+ state: z.ZodEnum<{
183
+ completed: "completed";
184
+ failed: "failed";
185
+ cancelled: "cancelled";
186
+ }>;
187
+ evidence: z.ZodObject<{
188
+ schemaVersion: z.ZodLiteral<1>;
189
+ jobToken: z.ZodString;
190
+ state: z.ZodEnum<{
191
+ completed: "completed";
192
+ failed: "failed";
193
+ cancelled: "cancelled";
194
+ }>;
195
+ complete: z.ZodBoolean;
196
+ startedMonotonicUsec: z.ZodNumber;
197
+ finishedMonotonicUsec: z.ZodNumber;
198
+ startFrame: z.ZodNumber;
199
+ endFrame: z.ZodNumber;
200
+ requestedDurationMs: z.ZodNumber;
201
+ intervalFrames: z.ZodNumber;
202
+ observedSamples: z.ZodNumber;
203
+ retainedSamples: z.ZodNumber;
204
+ invalidSamples: z.ZodNumber;
205
+ droppedSamples: z.ZodNumber;
206
+ metricTruncation: z.ZodObject<{
207
+ truncated: z.ZodBoolean;
208
+ affectedSamples: z.ZodNumber;
209
+ maxDroppedMetricsPerSample: z.ZodNumber;
210
+ droppedGroups: z.ZodArray<z.ZodEnum<{
211
+ custom: "custom";
212
+ frame: "frame";
213
+ memory: "memory";
214
+ objects: "objects";
215
+ rendering: "rendering";
216
+ physics: "physics";
217
+ audio: "audio";
218
+ navigation: "navigation";
219
+ pipeline: "pipeline";
220
+ profiler: "profiler";
221
+ }>>;
222
+ }, z.core.$strict>;
223
+ aggregates: z.ZodRecord<z.ZodString, z.ZodObject<{
224
+ min: z.ZodNumber;
225
+ max: z.ZodNumber;
226
+ mean: z.ZodNumber;
227
+ p50: z.ZodNumber;
228
+ p95: z.ZodNumber;
229
+ p99: z.ZodNumber;
230
+ }, z.core.$strict>>;
231
+ rawSamples: z.ZodArray<z.ZodObject<{
232
+ frame: z.ZodNumber;
233
+ monotonicUsec: z.ZodNumber;
234
+ values: z.ZodRecord<z.ZodString, z.ZodNumber>;
235
+ }, z.core.$strict>>;
236
+ engine: z.ZodObject<{
237
+ version: z.ZodString;
238
+ renderer: z.ZodString;
239
+ renderingMethod: z.ZodString;
240
+ graphicsApi: z.ZodString;
241
+ }, z.core.$strict>;
242
+ gpuTimestamps: z.ZodDiscriminatedUnion<[z.ZodObject<{
243
+ supported: z.ZodLiteral<false>;
244
+ reason: z.ZodOptional<z.ZodString>;
245
+ }, z.core.$strict>, z.ZodObject<{
246
+ supported: z.ZodLiteral<true>;
247
+ deltasUsec: z.ZodArray<z.ZodNumber>;
248
+ }, z.core.$strict>], "supported">;
249
+ terminalReason: z.ZodOptional<z.ZodString>;
250
+ sha256: z.ZodString;
251
+ }, z.core.$strict>;
252
+ }, z.core.$strict>;
253
+ export declare const RUNTIME_PERFORMANCE_OPERATIONS: readonly ["monitor_snapshot", "profile_start", "profile_status", "profile_cancel", "profile_result"];
254
+ export type MonitorGroup = z.infer<typeof MonitorGroupSchema>;
255
+ export type MonitorSnapshot = z.infer<typeof MonitorSnapshotSchema>;
256
+ export type ProfileEvidence = z.infer<typeof ProfileEvidenceSchema>;
257
+ export type ProfileJobReceipt = z.infer<typeof ProfileJobReceiptSchema>;
258
+ export type ProfileResult = z.infer<typeof ProfileResultSchema>;
259
+ type OpaqueProfileJob = z.infer<typeof ProfileJobTokenSchema>;
260
+ export { type OpaqueProfileJob as ProfileJobToken };
261
+ export type RuntimePerformanceOperationInput = z.infer<typeof RuntimePerformanceOperationInputSchema>;
262
+ //# sourceMappingURL=runtimePerformance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimePerformance.d.ts","sourceRoot":"","sources":["../src/runtimePerformance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,qBAAqB,aAA8C,CAAC;AAEjF,eAAO,MAAM,kBAAkB;;;;;;;;;;EAU7B,CAAC;AAiBH,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAqBjD,CAAC;AAoBH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAUvB,CAAC;AA0CZ,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAiC9B,CAAC;AAEL,eAAO,MAAM,uBAAuB;;;;;;;;;;;;kBASzB,CAAC;AAEZ,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAM0F,CAAC;AAE3H,eAAO,MAAM,8BAA8B,sGAMjC,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,KAAK,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAC9D,OAAO,EAAE,KAAK,gBAAgB,IAAI,eAAe,EAAE,CAAC;AACpD,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sCAAsC,CAAC,CAAC"}
@@ -0,0 +1,165 @@
1
+ import { z } from "zod";
2
+ import { RuntimeHandleSchema } from "./runtimeShared.js";
3
+ export const ProfileJobTokenSchema = z.string().regex(/^pjt_[A-Za-z0-9_-]{43}$/);
4
+ export const MonitorGroupSchema = z.enum([
5
+ "frame",
6
+ "memory",
7
+ "objects",
8
+ "rendering",
9
+ "physics",
10
+ "audio",
11
+ "navigation",
12
+ "pipeline",
13
+ "custom",
14
+ ]);
15
+ const ALL_MONITOR_GROUPS = MonitorGroupSchema.options;
16
+ const MonitorGroupsSchema = z
17
+ .array(MonitorGroupSchema)
18
+ .min(1)
19
+ .max(9)
20
+ .refine((groups) => new Set(groups).size === groups.length, { message: "Monitor groups must be unique" });
21
+ const ProfileGroupsSchema = z
22
+ .array(MonitorGroupSchema)
23
+ .min(1)
24
+ .max(8)
25
+ .refine((groups) => new Set(groups).size === groups.length, { message: "Monitor groups must be unique" });
26
+ const ProfileJobOperationSchema = (operation) => z.object({ operation: z.literal(operation), handle: RuntimeHandleSchema, ["jobToken"]: ProfileJobTokenSchema }).strict();
27
+ export const RuntimePerformanceOperationInputSchema = z.discriminatedUnion("operation", [
28
+ z
29
+ .object({
30
+ operation: z.literal("monitor_snapshot"),
31
+ handle: RuntimeHandleSchema,
32
+ groups: MonitorGroupsSchema.default(ALL_MONITOR_GROUPS),
33
+ })
34
+ .strict(),
35
+ z
36
+ .object({
37
+ operation: z.literal("profile_start"),
38
+ handle: RuntimeHandleSchema,
39
+ durationMs: z.number().int().min(100).max(30_000),
40
+ intervalFrames: z.number().int().min(1).max(120),
41
+ groups: ProfileGroupsSchema,
42
+ retainRaw: z.boolean().default(false),
43
+ })
44
+ .strict(),
45
+ ProfileJobOperationSchema("profile_status"),
46
+ ProfileJobOperationSchema("profile_cancel"),
47
+ ProfileJobOperationSchema("profile_result"),
48
+ ]);
49
+ const EngineMetadataSchema = z
50
+ .object({
51
+ version: z.string().min(1).max(128),
52
+ renderer: z.string().min(1).max(128),
53
+ renderingMethod: z.string().min(1).max(128),
54
+ graphicsApi: z.string().min(1).max(128),
55
+ })
56
+ .strict();
57
+ const GpuTimestampsSchema = z.discriminatedUnion("supported", [
58
+ z.object({ supported: z.literal(false), reason: z.string().min(1).max(256).optional() }).strict(),
59
+ z.object({ supported: z.literal(true), deltasUsec: z.array(z.number().finite().min(0)).max(2_048) }).strict(),
60
+ ]);
61
+ const MonitorValuesSchema = z
62
+ .record(z.string().min(1).max(128), z.number().finite())
63
+ .refine((values) => Object.keys(values).length <= 128, { message: "A monitor group may contain at most 128 values" });
64
+ export const MonitorSnapshotSchema = z
65
+ .object({
66
+ schemaVersion: z.literal(1),
67
+ frame: z.number().int().min(0),
68
+ monotonicUsec: z.number().int().min(0),
69
+ engine: EngineMetadataSchema,
70
+ groups: z.partialRecord(MonitorGroupSchema, MonitorValuesSchema),
71
+ unavailable: z.array(z.string().min(1).max(256)).max(128),
72
+ gpuTimestamps: GpuTimestampsSchema,
73
+ })
74
+ .strict();
75
+ const ProfileAggregateSchema = z
76
+ .object({
77
+ min: z.number().finite(),
78
+ max: z.number().finite(),
79
+ mean: z.number().finite(),
80
+ p50: z.number().finite(),
81
+ p95: z.number().finite(),
82
+ p99: z.number().finite(),
83
+ })
84
+ .strict();
85
+ const FlattenedMetricNameSchema = z.string().min(1).max(139);
86
+ const ProfileSampleSchema = z
87
+ .object({
88
+ frame: z.number().int().min(0),
89
+ monotonicUsec: z.number().int().min(0),
90
+ values: z.record(FlattenedMetricNameSchema, z.number().finite()),
91
+ })
92
+ .strict();
93
+ const ProfileMetricTruncationSchema = z
94
+ .object({
95
+ truncated: z.boolean(),
96
+ affectedSamples: z.number().int().min(0),
97
+ maxDroppedMetricsPerSample: z.number().int().min(0),
98
+ droppedGroups: z
99
+ .array(z.enum([...MonitorGroupSchema.options, "profiler"]))
100
+ .max(10)
101
+ .refine((groups) => new Set(groups).size === groups.length, { message: "Dropped metric groups must be unique" }),
102
+ })
103
+ .strict()
104
+ .refine((value) => value.truncated
105
+ ? value.affectedSamples > 0 && value.maxDroppedMetricsPerSample > 0 && value.droppedGroups.length > 0
106
+ : value.affectedSamples === 0 && value.maxDroppedMetricsPerSample === 0 && value.droppedGroups.length === 0, { message: "Metric truncation metadata must match its truncation state" });
107
+ export const ProfileEvidenceSchema = z
108
+ .object({
109
+ schemaVersion: z.literal(1),
110
+ ["jobToken"]: ProfileJobTokenSchema,
111
+ state: z.enum(["completed", "cancelled", "failed"]),
112
+ complete: z.boolean(),
113
+ startedMonotonicUsec: z.number().int().min(0),
114
+ finishedMonotonicUsec: z.number().int().min(0),
115
+ startFrame: z.number().int().min(0),
116
+ endFrame: z.number().int().min(0),
117
+ requestedDurationMs: z.number().int().min(100).max(30_000),
118
+ intervalFrames: z.number().int().min(1).max(120),
119
+ observedSamples: z.number().int().min(0),
120
+ retainedSamples: z.number().int().min(0).max(2_048),
121
+ invalidSamples: z.number().int().min(0),
122
+ droppedSamples: z.number().int().min(0),
123
+ metricTruncation: ProfileMetricTruncationSchema,
124
+ aggregates: z.record(FlattenedMetricNameSchema, ProfileAggregateSchema),
125
+ rawSamples: z.array(ProfileSampleSchema).max(2_048),
126
+ engine: EngineMetadataSchema,
127
+ gpuTimestamps: GpuTimestampsSchema,
128
+ terminalReason: z.string().min(1).max(256).optional(),
129
+ sha256: z.string().regex(/^[a-f0-9]{64}$/),
130
+ })
131
+ .strict()
132
+ .refine((evidence) => evidence.finishedMonotonicUsec >= evidence.startedMonotonicUsec && evidence.endFrame >= evidence.startFrame, {
133
+ message: "Profile evidence must have monotonic time and frame bounds",
134
+ })
135
+ .refine((evidence) => evidence.retainedSamples === evidence.rawSamples.length || evidence.rawSamples.length === 0, {
136
+ message: "Retained sample metadata must match included raw samples",
137
+ })
138
+ .refine((evidence) => evidence.metricTruncation.affectedSamples <= evidence.observedSamples, {
139
+ message: "Metric truncation cannot affect more samples than were observed",
140
+ });
141
+ export const ProfileJobReceiptSchema = z
142
+ .object({
143
+ ["jobToken"]: ProfileJobTokenSchema,
144
+ state: z.enum(["running", "completed", "cancelled", "failed"]),
145
+ progress: z.number().finite().min(0).max(1),
146
+ observedSamples: z.number().int().min(0),
147
+ retainedSamples: z.number().int().min(0).max(2_048),
148
+ terminalReason: z.string().min(1).max(256).optional(),
149
+ })
150
+ .strict();
151
+ export const ProfileResultSchema = z
152
+ .object({
153
+ state: z.enum(["completed", "cancelled", "failed"]),
154
+ evidence: ProfileEvidenceSchema,
155
+ })
156
+ .strict()
157
+ .refine((result) => result.state === result.evidence.state, { message: "Profile result state must match its evidence" });
158
+ export const RUNTIME_PERFORMANCE_OPERATIONS = [
159
+ "monitor_snapshot",
160
+ "profile_start",
161
+ "profile_status",
162
+ "profile_cancel",
163
+ "profile_result",
164
+ ];
165
+ //# sourceMappingURL=runtimePerformance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimePerformance.js","sourceRoot":"","sources":["../src/runtimePerformance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { z } from "zod";
2
+ export declare const RuntimeHandleSchema: z.ZodObject<{
3
+ runId: z.ZodUUID;
4
+ generation: z.ZodNumber;
5
+ }, z.core.$strict>;
6
+ export declare const RuntimeLaunchPinsSchema: z.ZodObject<{
7
+ width: z.ZodNumber;
8
+ height: z.ZodNumber;
9
+ renderer: z.ZodEnum<{
10
+ gl_compatibility: "gl_compatibility";
11
+ mobile: "mobile";
12
+ }>;
13
+ locale: z.ZodString;
14
+ seed: z.ZodNumber;
15
+ fixedFps: z.ZodUnion<readonly [z.ZodLiteral<30>, z.ZodLiteral<60>, z.ZodLiteral<120>]>;
16
+ }, z.core.$strict>;
17
+ export type RuntimeHandle = z.infer<typeof RuntimeHandleSchema>;
18
+ export type RuntimeLaunchPins = z.infer<typeof RuntimeLaunchPinsSchema>;
19
+ //# sourceMappingURL=runtimeShared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeShared.d.ts","sourceRoot":"","sources":["../src/runtimeShared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;kBAKrB,CAAC;AAEZ,eAAO,MAAM,uBAAuB;;;;;;;;;;kBASzB,CAAC;AAEZ,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { z } from "zod";
2
+ export const RuntimeHandleSchema = z
3
+ .object({
4
+ runId: z.uuid(),
5
+ generation: z.number().int().min(1),
6
+ })
7
+ .strict();
8
+ export const RuntimeLaunchPinsSchema = z
9
+ .object({
10
+ width: z.number().int().min(1).max(2048),
11
+ height: z.number().int().min(1).max(2048),
12
+ renderer: z.enum(["gl_compatibility", "mobile"]),
13
+ locale: z.string().regex(/^[A-Za-z]{2,3}(?:_[A-Za-z]{2})?$/),
14
+ seed: z.number().int().min(-2_147_483_648).max(2_147_483_647),
15
+ fixedFps: z.union([z.literal(30), z.literal(60), z.literal(120)]),
16
+ })
17
+ .strict();
18
+ //# sourceMappingURL=runtimeShared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeShared.js","sourceRoot":"","sources":["../src/runtimeShared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE;IACf,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACpC,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACxC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAChD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kCAAkC,CAAC;IAC5D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC;IAC7D,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;CAClE,CAAC;KACD,MAAM,EAAE,CAAC"}