c64-debug-mcp 1.0.7 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -26,6 +26,25 @@ The MCP server accepts C64 addresses in multiple formats for natural interaction
26
26
 
27
27
  **Note**: Bare hex without prefix (e.g., `D000`) is NOT supported to avoid ambiguity with 4-digit decimals.
28
28
 
29
+ ### Range Support
30
+
31
+ Tools that read memory or set breakpoints support both **address+length** and **start+end** formats:
32
+
33
+ **Address + Length format** (original):
34
+ ```javascript
35
+ memory_read(address="$D000", length=256) // Read 256 bytes starting at $D000
36
+ breakpoint_set(kind="exec", address="$1000", length=1) // Breakpoint at $1000
37
+ ```
38
+
39
+ **Start + End format** (more intuitive for ranges):
40
+ ```javascript
41
+ memory_read(start="$D000", end="$D0FF") // Read from $D000 to $D0FF inclusive
42
+ memory_read(start=198, end=199) // Read addresses 198-199 (2 bytes)
43
+ breakpoint_set(kind="exec", start="$1000", end="$1000") // Breakpoint at $1000
44
+ ```
45
+
46
+ Both formats work with all address representations (decimal, $, 0x).
47
+
29
48
  **Common C64 Addresses**:
30
49
  - `$D000` - SID chip registers (sound)
31
50
  - `$D020` - Border color register
@@ -34,6 +53,24 @@ The MCP server accepts C64 addresses in multiple formats for natural interaction
34
53
  - `$0800` - Common program start
35
54
  - `$C000` - BASIC ROM start
36
55
 
56
+ ## Address Ranges
57
+
58
+ For operations that work with memory ranges (like `memory_read` and `breakpoint_set`), you can specify ranges in two ways:
59
+
60
+ **Option 1: Address + Length**
61
+ ```javascript
62
+ memory_read(address="$0400", length=256) // Read 256 bytes from $0400
63
+ breakpoint_set(kind="exec", address="$1000", length=16) // Break on $1000-$100F
64
+ ```
65
+
66
+ **Option 2: Start + End (inclusive)**
67
+ ```javascript
68
+ memory_read(start="$0400", end="$04FF") // Read from $0400 to $04FF (256 bytes)
69
+ breakpoint_set(kind="exec", start="$1000", end="$100F") // Break on $1000-$100F
70
+ ```
71
+
72
+ Both formats work identically and support all address formats (decimal, hex).
73
+
37
74
  ## Byte Value Formats
38
75
 
39
76
  The MCP server accepts byte values (0-255) in multiple formats for natural C64-style input:
package/dist/http.cjs CHANGED
@@ -153,6 +153,15 @@ var import_zod3 = require("zod");
153
153
  var import_zod2 = require("zod");
154
154
  var warningSchema = warningItemSchema;
155
155
  function parseAddress16(input) {
156
+ if (input === void 0) {
157
+ throw new import_zod2.z.ZodError([
158
+ {
159
+ code: "custom",
160
+ message: "Address is required",
161
+ path: []
162
+ }
163
+ ]);
164
+ }
156
165
  if (typeof input === "number") {
157
166
  if (!Number.isInteger(input) || input < 0 || input > 65535) {
158
167
  throw new import_zod2.z.ZodError([
@@ -215,6 +224,15 @@ function parseAddress16(input) {
215
224
  }
216
225
  var address16Schema = import_zod2.z.preprocess(parseAddress16, import_zod2.z.number().int().min(0).max(65535)).describe("16-bit C64 address: decimal (53248) or hex string with prefix ($D000, 0xD000)");
217
226
  function parseByte(input) {
227
+ if (input === void 0) {
228
+ throw new import_zod2.z.ZodError([
229
+ {
230
+ code: "custom",
231
+ message: "Byte value is required",
232
+ path: []
233
+ }
234
+ ]);
235
+ }
218
236
  if (typeof input === "number") {
219
237
  if (!Number.isInteger(input) || input < 0 || input > 255) {
220
238
  throw new import_zod2.z.ZodError([
@@ -3636,10 +3654,27 @@ var setRegistersTool = createViceTool({
3636
3654
  });
3637
3655
  var readMemoryTool = createViceTool({
3638
3656
  id: "memory_read",
3639
- description: "Reads a memory chunk by start address and length. Address can be decimal (53248) or hex string with prefix ($D000, 0xD000). Returns byte values as decimal numbers.",
3640
- inputSchema: import_zod4.z.object({
3641
- address: address16Schema.describe("Start address: decimal (53248) or hex string with prefix ($D000, 0xD000)"),
3642
- length: import_zod4.z.number().int().positive().max(65535).describe("Size of the data chunk to read in bytes")
3657
+ description: "Reads a memory chunk. Use either (address, length) or (start, end) format. Addresses can be decimal (53248) or hex string with prefix ($D000, 0xD000). Returns byte values as decimal numbers.",
3658
+ inputSchema: import_zod4.z.union([
3659
+ import_zod4.z.object({
3660
+ address: address16Schema.describe("Start address: decimal (53248) or hex string with prefix ($D000, 0xD000)"),
3661
+ length: import_zod4.z.number().int().positive().max(65535).describe("Number of bytes to read")
3662
+ }),
3663
+ import_zod4.z.object({
3664
+ start: address16Schema.describe("Start address (inclusive): decimal (53248) or hex string with prefix ($D000, 0xD000)"),
3665
+ end: address16Schema.describe("End address (inclusive): decimal (53248) or hex string with prefix ($D000, 0xD000)")
3666
+ })
3667
+ ]).transform((input) => {
3668
+ if ("start" in input && "end" in input) {
3669
+ if (input.end < input.start) {
3670
+ throw new Error("End address must be greater than or equal to start address");
3671
+ }
3672
+ return {
3673
+ address: input.start,
3674
+ length: input.end - input.start + 1
3675
+ };
3676
+ }
3677
+ return input;
3643
3678
  }).refine((input) => input.address + input.length <= 65536, {
3644
3679
  message: "address + length must stay within the 64K address space",
3645
3680
  path: ["length"]
@@ -3719,15 +3754,36 @@ var listBreakpointsTool = createViceTool({
3719
3754
  });
3720
3755
  var breakpointSetTool = createViceTool({
3721
3756
  id: "breakpoint_set",
3722
- description: "Creates an execution breakpoint or read/write watchpoint. Address can be decimal (53248) or hex string with prefix ($D000, 0xD000).",
3757
+ description: "Creates an execution breakpoint or read/write watchpoint. Use either (address, length) or (start, end) format. Addresses can be decimal (53248) or hex string with prefix ($D000, 0xD000).",
3723
3758
  inputSchema: import_zod4.z.object({
3724
3759
  kind: breakpointKindSchema,
3725
- address: address16Schema.describe("Start address: decimal (53248) or hex string with prefix ($D000, 0xD000)"),
3726
- length: import_zod4.z.number().int().positive().default(1).describe("Size of the breakpoint range in bytes"),
3727
3760
  condition: import_zod4.z.string().optional(),
3728
3761
  label: import_zod4.z.string().optional(),
3729
3762
  temporary: import_zod4.z.boolean().default(false),
3730
3763
  enabled: import_zod4.z.boolean().default(true)
3764
+ }).and(
3765
+ import_zod4.z.union([
3766
+ import_zod4.z.object({
3767
+ address: address16Schema.describe("Start address: decimal (53248) or hex string with prefix ($D000, 0xD000)"),
3768
+ length: import_zod4.z.number().int().positive().default(1).describe("Size of the breakpoint range in bytes")
3769
+ }),
3770
+ import_zod4.z.object({
3771
+ start: address16Schema.describe("Start address (inclusive): decimal (53248) or hex string with prefix ($D000, 0xD000)"),
3772
+ end: address16Schema.describe("End address (inclusive): decimal (53248) or hex string with prefix ($D000, 0xD000)")
3773
+ })
3774
+ ])
3775
+ ).transform((input) => {
3776
+ if ("start" in input && "end" in input) {
3777
+ if (input.end < input.start) {
3778
+ throw new Error("End address must be greater than or equal to start address");
3779
+ }
3780
+ return {
3781
+ ...input,
3782
+ address: input.start,
3783
+ length: input.end - input.start + 1
3784
+ };
3785
+ }
3786
+ return input;
3731
3787
  }),
3732
3788
  dataSchema: import_zod4.z.object({
3733
3789
  breakpoint: breakpointSchema,
package/dist/http.js CHANGED
@@ -130,6 +130,15 @@ import { ZodError } from "zod";
130
130
  import { z as z2 } from "zod";
131
131
  var warningSchema = warningItemSchema;
132
132
  function parseAddress16(input) {
133
+ if (input === void 0) {
134
+ throw new z2.ZodError([
135
+ {
136
+ code: "custom",
137
+ message: "Address is required",
138
+ path: []
139
+ }
140
+ ]);
141
+ }
133
142
  if (typeof input === "number") {
134
143
  if (!Number.isInteger(input) || input < 0 || input > 65535) {
135
144
  throw new z2.ZodError([
@@ -192,6 +201,15 @@ function parseAddress16(input) {
192
201
  }
193
202
  var address16Schema = z2.preprocess(parseAddress16, z2.number().int().min(0).max(65535)).describe("16-bit C64 address: decimal (53248) or hex string with prefix ($D000, 0xD000)");
194
203
  function parseByte(input) {
204
+ if (input === void 0) {
205
+ throw new z2.ZodError([
206
+ {
207
+ code: "custom",
208
+ message: "Byte value is required",
209
+ path: []
210
+ }
211
+ ]);
212
+ }
195
213
  if (typeof input === "number") {
196
214
  if (!Number.isInteger(input) || input < 0 || input > 255) {
197
215
  throw new z2.ZodError([
@@ -3613,10 +3631,27 @@ var setRegistersTool = createViceTool({
3613
3631
  });
3614
3632
  var readMemoryTool = createViceTool({
3615
3633
  id: "memory_read",
3616
- description: "Reads a memory chunk by start address and length. Address can be decimal (53248) or hex string with prefix ($D000, 0xD000). Returns byte values as decimal numbers.",
3617
- inputSchema: z3.object({
3618
- address: address16Schema.describe("Start address: decimal (53248) or hex string with prefix ($D000, 0xD000)"),
3619
- length: z3.number().int().positive().max(65535).describe("Size of the data chunk to read in bytes")
3634
+ description: "Reads a memory chunk. Use either (address, length) or (start, end) format. Addresses can be decimal (53248) or hex string with prefix ($D000, 0xD000). Returns byte values as decimal numbers.",
3635
+ inputSchema: z3.union([
3636
+ z3.object({
3637
+ address: address16Schema.describe("Start address: decimal (53248) or hex string with prefix ($D000, 0xD000)"),
3638
+ length: z3.number().int().positive().max(65535).describe("Number of bytes to read")
3639
+ }),
3640
+ z3.object({
3641
+ start: address16Schema.describe("Start address (inclusive): decimal (53248) or hex string with prefix ($D000, 0xD000)"),
3642
+ end: address16Schema.describe("End address (inclusive): decimal (53248) or hex string with prefix ($D000, 0xD000)")
3643
+ })
3644
+ ]).transform((input) => {
3645
+ if ("start" in input && "end" in input) {
3646
+ if (input.end < input.start) {
3647
+ throw new Error("End address must be greater than or equal to start address");
3648
+ }
3649
+ return {
3650
+ address: input.start,
3651
+ length: input.end - input.start + 1
3652
+ };
3653
+ }
3654
+ return input;
3620
3655
  }).refine((input) => input.address + input.length <= 65536, {
3621
3656
  message: "address + length must stay within the 64K address space",
3622
3657
  path: ["length"]
@@ -3696,15 +3731,36 @@ var listBreakpointsTool = createViceTool({
3696
3731
  });
3697
3732
  var breakpointSetTool = createViceTool({
3698
3733
  id: "breakpoint_set",
3699
- description: "Creates an execution breakpoint or read/write watchpoint. Address can be decimal (53248) or hex string with prefix ($D000, 0xD000).",
3734
+ description: "Creates an execution breakpoint or read/write watchpoint. Use either (address, length) or (start, end) format. Addresses can be decimal (53248) or hex string with prefix ($D000, 0xD000).",
3700
3735
  inputSchema: z3.object({
3701
3736
  kind: breakpointKindSchema,
3702
- address: address16Schema.describe("Start address: decimal (53248) or hex string with prefix ($D000, 0xD000)"),
3703
- length: z3.number().int().positive().default(1).describe("Size of the breakpoint range in bytes"),
3704
3737
  condition: z3.string().optional(),
3705
3738
  label: z3.string().optional(),
3706
3739
  temporary: z3.boolean().default(false),
3707
3740
  enabled: z3.boolean().default(true)
3741
+ }).and(
3742
+ z3.union([
3743
+ z3.object({
3744
+ address: address16Schema.describe("Start address: decimal (53248) or hex string with prefix ($D000, 0xD000)"),
3745
+ length: z3.number().int().positive().default(1).describe("Size of the breakpoint range in bytes")
3746
+ }),
3747
+ z3.object({
3748
+ start: address16Schema.describe("Start address (inclusive): decimal (53248) or hex string with prefix ($D000, 0xD000)"),
3749
+ end: address16Schema.describe("End address (inclusive): decimal (53248) or hex string with prefix ($D000, 0xD000)")
3750
+ })
3751
+ ])
3752
+ ).transform((input) => {
3753
+ if ("start" in input && "end" in input) {
3754
+ if (input.end < input.start) {
3755
+ throw new Error("End address must be greater than or equal to start address");
3756
+ }
3757
+ return {
3758
+ ...input,
3759
+ address: input.start,
3760
+ length: input.end - input.start + 1
3761
+ };
3762
+ }
3763
+ return input;
3708
3764
  }),
3709
3765
  dataSchema: z3.object({
3710
3766
  breakpoint: breakpointSchema,
package/dist/stdio.cjs CHANGED
@@ -150,6 +150,15 @@ var import_zod3 = require("zod");
150
150
  var import_zod2 = require("zod");
151
151
  var warningSchema = warningItemSchema;
152
152
  function parseAddress16(input) {
153
+ if (input === void 0) {
154
+ throw new import_zod2.z.ZodError([
155
+ {
156
+ code: "custom",
157
+ message: "Address is required",
158
+ path: []
159
+ }
160
+ ]);
161
+ }
153
162
  if (typeof input === "number") {
154
163
  if (!Number.isInteger(input) || input < 0 || input > 65535) {
155
164
  throw new import_zod2.z.ZodError([
@@ -212,6 +221,15 @@ function parseAddress16(input) {
212
221
  }
213
222
  var address16Schema = import_zod2.z.preprocess(parseAddress16, import_zod2.z.number().int().min(0).max(65535)).describe("16-bit C64 address: decimal (53248) or hex string with prefix ($D000, 0xD000)");
214
223
  function parseByte(input) {
224
+ if (input === void 0) {
225
+ throw new import_zod2.z.ZodError([
226
+ {
227
+ code: "custom",
228
+ message: "Byte value is required",
229
+ path: []
230
+ }
231
+ ]);
232
+ }
215
233
  if (typeof input === "number") {
216
234
  if (!Number.isInteger(input) || input < 0 || input > 255) {
217
235
  throw new import_zod2.z.ZodError([
@@ -3633,10 +3651,27 @@ var setRegistersTool = createViceTool({
3633
3651
  });
3634
3652
  var readMemoryTool = createViceTool({
3635
3653
  id: "memory_read",
3636
- description: "Reads a memory chunk by start address and length. Address can be decimal (53248) or hex string with prefix ($D000, 0xD000). Returns byte values as decimal numbers.",
3637
- inputSchema: import_zod4.z.object({
3638
- address: address16Schema.describe("Start address: decimal (53248) or hex string with prefix ($D000, 0xD000)"),
3639
- length: import_zod4.z.number().int().positive().max(65535).describe("Size of the data chunk to read in bytes")
3654
+ description: "Reads a memory chunk. Use either (address, length) or (start, end) format. Addresses can be decimal (53248) or hex string with prefix ($D000, 0xD000). Returns byte values as decimal numbers.",
3655
+ inputSchema: import_zod4.z.union([
3656
+ import_zod4.z.object({
3657
+ address: address16Schema.describe("Start address: decimal (53248) or hex string with prefix ($D000, 0xD000)"),
3658
+ length: import_zod4.z.number().int().positive().max(65535).describe("Number of bytes to read")
3659
+ }),
3660
+ import_zod4.z.object({
3661
+ start: address16Schema.describe("Start address (inclusive): decimal (53248) or hex string with prefix ($D000, 0xD000)"),
3662
+ end: address16Schema.describe("End address (inclusive): decimal (53248) or hex string with prefix ($D000, 0xD000)")
3663
+ })
3664
+ ]).transform((input) => {
3665
+ if ("start" in input && "end" in input) {
3666
+ if (input.end < input.start) {
3667
+ throw new Error("End address must be greater than or equal to start address");
3668
+ }
3669
+ return {
3670
+ address: input.start,
3671
+ length: input.end - input.start + 1
3672
+ };
3673
+ }
3674
+ return input;
3640
3675
  }).refine((input) => input.address + input.length <= 65536, {
3641
3676
  message: "address + length must stay within the 64K address space",
3642
3677
  path: ["length"]
@@ -3716,15 +3751,36 @@ var listBreakpointsTool = createViceTool({
3716
3751
  });
3717
3752
  var breakpointSetTool = createViceTool({
3718
3753
  id: "breakpoint_set",
3719
- description: "Creates an execution breakpoint or read/write watchpoint. Address can be decimal (53248) or hex string with prefix ($D000, 0xD000).",
3754
+ description: "Creates an execution breakpoint or read/write watchpoint. Use either (address, length) or (start, end) format. Addresses can be decimal (53248) or hex string with prefix ($D000, 0xD000).",
3720
3755
  inputSchema: import_zod4.z.object({
3721
3756
  kind: breakpointKindSchema,
3722
- address: address16Schema.describe("Start address: decimal (53248) or hex string with prefix ($D000, 0xD000)"),
3723
- length: import_zod4.z.number().int().positive().default(1).describe("Size of the breakpoint range in bytes"),
3724
3757
  condition: import_zod4.z.string().optional(),
3725
3758
  label: import_zod4.z.string().optional(),
3726
3759
  temporary: import_zod4.z.boolean().default(false),
3727
3760
  enabled: import_zod4.z.boolean().default(true)
3761
+ }).and(
3762
+ import_zod4.z.union([
3763
+ import_zod4.z.object({
3764
+ address: address16Schema.describe("Start address: decimal (53248) or hex string with prefix ($D000, 0xD000)"),
3765
+ length: import_zod4.z.number().int().positive().default(1).describe("Size of the breakpoint range in bytes")
3766
+ }),
3767
+ import_zod4.z.object({
3768
+ start: address16Schema.describe("Start address (inclusive): decimal (53248) or hex string with prefix ($D000, 0xD000)"),
3769
+ end: address16Schema.describe("End address (inclusive): decimal (53248) or hex string with prefix ($D000, 0xD000)")
3770
+ })
3771
+ ])
3772
+ ).transform((input) => {
3773
+ if ("start" in input && "end" in input) {
3774
+ if (input.end < input.start) {
3775
+ throw new Error("End address must be greater than or equal to start address");
3776
+ }
3777
+ return {
3778
+ ...input,
3779
+ address: input.start,
3780
+ length: input.end - input.start + 1
3781
+ };
3782
+ }
3783
+ return input;
3728
3784
  }),
3729
3785
  dataSchema: import_zod4.z.object({
3730
3786
  breakpoint: breakpointSchema,
package/dist/stdio.js CHANGED
@@ -127,6 +127,15 @@ import { ZodError } from "zod";
127
127
  import { z as z2 } from "zod";
128
128
  var warningSchema = warningItemSchema;
129
129
  function parseAddress16(input) {
130
+ if (input === void 0) {
131
+ throw new z2.ZodError([
132
+ {
133
+ code: "custom",
134
+ message: "Address is required",
135
+ path: []
136
+ }
137
+ ]);
138
+ }
130
139
  if (typeof input === "number") {
131
140
  if (!Number.isInteger(input) || input < 0 || input > 65535) {
132
141
  throw new z2.ZodError([
@@ -189,6 +198,15 @@ function parseAddress16(input) {
189
198
  }
190
199
  var address16Schema = z2.preprocess(parseAddress16, z2.number().int().min(0).max(65535)).describe("16-bit C64 address: decimal (53248) or hex string with prefix ($D000, 0xD000)");
191
200
  function parseByte(input) {
201
+ if (input === void 0) {
202
+ throw new z2.ZodError([
203
+ {
204
+ code: "custom",
205
+ message: "Byte value is required",
206
+ path: []
207
+ }
208
+ ]);
209
+ }
192
210
  if (typeof input === "number") {
193
211
  if (!Number.isInteger(input) || input < 0 || input > 255) {
194
212
  throw new z2.ZodError([
@@ -3610,10 +3628,27 @@ var setRegistersTool = createViceTool({
3610
3628
  });
3611
3629
  var readMemoryTool = createViceTool({
3612
3630
  id: "memory_read",
3613
- description: "Reads a memory chunk by start address and length. Address can be decimal (53248) or hex string with prefix ($D000, 0xD000). Returns byte values as decimal numbers.",
3614
- inputSchema: z3.object({
3615
- address: address16Schema.describe("Start address: decimal (53248) or hex string with prefix ($D000, 0xD000)"),
3616
- length: z3.number().int().positive().max(65535).describe("Size of the data chunk to read in bytes")
3631
+ description: "Reads a memory chunk. Use either (address, length) or (start, end) format. Addresses can be decimal (53248) or hex string with prefix ($D000, 0xD000). Returns byte values as decimal numbers.",
3632
+ inputSchema: z3.union([
3633
+ z3.object({
3634
+ address: address16Schema.describe("Start address: decimal (53248) or hex string with prefix ($D000, 0xD000)"),
3635
+ length: z3.number().int().positive().max(65535).describe("Number of bytes to read")
3636
+ }),
3637
+ z3.object({
3638
+ start: address16Schema.describe("Start address (inclusive): decimal (53248) or hex string with prefix ($D000, 0xD000)"),
3639
+ end: address16Schema.describe("End address (inclusive): decimal (53248) or hex string with prefix ($D000, 0xD000)")
3640
+ })
3641
+ ]).transform((input) => {
3642
+ if ("start" in input && "end" in input) {
3643
+ if (input.end < input.start) {
3644
+ throw new Error("End address must be greater than or equal to start address");
3645
+ }
3646
+ return {
3647
+ address: input.start,
3648
+ length: input.end - input.start + 1
3649
+ };
3650
+ }
3651
+ return input;
3617
3652
  }).refine((input) => input.address + input.length <= 65536, {
3618
3653
  message: "address + length must stay within the 64K address space",
3619
3654
  path: ["length"]
@@ -3693,15 +3728,36 @@ var listBreakpointsTool = createViceTool({
3693
3728
  });
3694
3729
  var breakpointSetTool = createViceTool({
3695
3730
  id: "breakpoint_set",
3696
- description: "Creates an execution breakpoint or read/write watchpoint. Address can be decimal (53248) or hex string with prefix ($D000, 0xD000).",
3731
+ description: "Creates an execution breakpoint or read/write watchpoint. Use either (address, length) or (start, end) format. Addresses can be decimal (53248) or hex string with prefix ($D000, 0xD000).",
3697
3732
  inputSchema: z3.object({
3698
3733
  kind: breakpointKindSchema,
3699
- address: address16Schema.describe("Start address: decimal (53248) or hex string with prefix ($D000, 0xD000)"),
3700
- length: z3.number().int().positive().default(1).describe("Size of the breakpoint range in bytes"),
3701
3734
  condition: z3.string().optional(),
3702
3735
  label: z3.string().optional(),
3703
3736
  temporary: z3.boolean().default(false),
3704
3737
  enabled: z3.boolean().default(true)
3738
+ }).and(
3739
+ z3.union([
3740
+ z3.object({
3741
+ address: address16Schema.describe("Start address: decimal (53248) or hex string with prefix ($D000, 0xD000)"),
3742
+ length: z3.number().int().positive().default(1).describe("Size of the breakpoint range in bytes")
3743
+ }),
3744
+ z3.object({
3745
+ start: address16Schema.describe("Start address (inclusive): decimal (53248) or hex string with prefix ($D000, 0xD000)"),
3746
+ end: address16Schema.describe("End address (inclusive): decimal (53248) or hex string with prefix ($D000, 0xD000)")
3747
+ })
3748
+ ])
3749
+ ).transform((input) => {
3750
+ if ("start" in input && "end" in input) {
3751
+ if (input.end < input.start) {
3752
+ throw new Error("End address must be greater than or equal to start address");
3753
+ }
3754
+ return {
3755
+ ...input,
3756
+ address: input.start,
3757
+ length: input.end - input.start + 1
3758
+ };
3759
+ }
3760
+ return input;
3705
3761
  }),
3706
3762
  dataSchema: z3.object({
3707
3763
  breakpoint: breakpointSchema,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "c64-debug-mcp",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "description": "Model Context Protocol server for C64 debugging via VICE emulator",
5
5
  "type": "module",
6
6
  "keywords": [