c64bridge 1.0.6 → 1.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.
- package/.github/skills/assembly-program/SKILL.md +37 -0
- package/.github/skills/basic-program/SKILL.md +40 -0
- package/.github/skills/cross-platform-demo/SKILL.md +32 -0
- package/.github/skills/drive-manager/SKILL.md +33 -0
- package/.github/skills/graphics-demo/SKILL.md +30 -0
- package/.github/skills/hello-world/SKILL.md +36 -0
- package/.github/skills/memory-debug/SKILL.md +32 -0
- package/.github/skills/pr-converge/SKILL.md +33 -0
- package/.github/skills/printer-job/SKILL.md +30 -0
- package/.github/skills/sid-music/SKILL.md +35 -0
- package/.github/skills/software-launch/SKILL.md +31 -0
- package/.github/skills/stream-control/SKILL.md +29 -0
- package/.github/skills/system-control/SKILL.md +32 -0
- package/AGENTS.md +28 -7
- package/README.md +70 -15
- package/data/assembly/assembly-spec.md +2 -0
- package/dist/c64Client.js +238 -60
- package/dist/chargen.js +0 -4
- package/dist/config.js +53 -28
- package/dist/device.js +92 -37
- package/dist/diagnostics.js +66 -5
- package/dist/hostPaths.js +128 -0
- package/dist/logger.js +3 -2
- package/dist/loggingHttpClient.js +71 -2
- package/dist/mcp-server.js +416 -291
- package/dist/numericArg.js +55 -0
- package/dist/petscii.js +13 -6
- package/dist/platform.js +12 -3
- package/dist/prompts/registry.js +6 -1
- package/dist/redact.js +166 -0
- package/dist/tools/access.js +66 -0
- package/dist/tools/debug.js +6 -0
- package/dist/tools/developer.js +77 -36
- package/dist/tools/errors.js +54 -3
- package/dist/tools/input.js +25 -8
- package/dist/tools/machineControl.js +113 -21
- package/dist/tools/memory.js +135 -30
- package/dist/tools/meta/artifacts.js +5 -5
- package/dist/tools/meta/background.js +216 -54
- package/dist/tools/meta/compilation.js +6 -5
- package/dist/tools/meta/config.js +20 -10
- package/dist/tools/meta/configInventory.js +25 -2
- package/dist/tools/meta/diagnostics.js +2 -1
- package/dist/tools/meta/filesystem.js +16 -14
- package/dist/tools/meta/graphics.js +48 -20
- package/dist/tools/meta/memory.js +45 -19
- package/dist/tools/meta/program.js +10 -7
- package/dist/tools/meta/screen.js +116 -25
- package/dist/tools/pauseGuard.js +23 -0
- package/dist/tools/pollValidator.js +53 -8
- package/dist/tools/programRunners.js +62 -18
- package/dist/tools/registry/batch.js +17 -11
- package/dist/tools/registry/config.js +9 -2
- package/dist/tools/registry/disk.js +12 -2
- package/dist/tools/registry/drive.js +3 -0
- package/dist/tools/registry/extract.js +3 -0
- package/dist/tools/registry/graphics.js +59 -6
- package/dist/tools/registry/index.js +17 -1
- package/dist/tools/registry/memory.js +11 -1
- package/dist/tools/registry/platform.js +4 -1
- package/dist/tools/registry/printer.js +2 -1
- package/dist/tools/registry/program.js +5 -1
- package/dist/tools/registry/rag.js +1 -0
- package/dist/tools/registry/sound.js +12 -1
- package/dist/tools/registry/stream.js +2 -1
- package/dist/tools/registry/system.js +8 -1
- package/dist/tools/schema.js +7 -7
- package/dist/tools/streaming.js +34 -4
- package/dist/tools/translation/assembler.js +247 -24
- package/dist/tools/translation/basicDetokenizer.js +80 -0
- package/dist/tools/translation/basicTokenizer.js +8 -3
- package/dist/tools/translation/disassembler.js +14 -0
- package/dist/tools/types.js +258 -7
- package/dist/tools/vice.js +5 -16
- package/dist/vicBitmap.js +1 -1
- package/dist/vice/mockServer.js +3 -0
- package/dist/vice/process.js +19 -0
- package/dist/vice/resourcePolicy.js +36 -0
- package/dist/vice/viceClient.js +22 -5
- package/doc/vice/support-matrix.md +17 -11
- package/mcp/schemas/c64_batch.schema.json +2 -1
- package/mcp/schemas/c64_config.schema.json +33 -466
- package/mcp/schemas/c64_debug.schema.json +3 -602
- package/mcp/schemas/c64_disk.schema.json +17 -344
- package/mcp/schemas/c64_drive.schema.json +2 -157
- package/mcp/schemas/c64_extract.schema.json +10 -364
- package/mcp/schemas/c64_graphics.schema.json +19 -426
- package/mcp/schemas/c64_input.schema.json +5 -318
- package/mcp/schemas/c64_memory.schema.json +23 -491
- package/mcp/schemas/c64_printer.schema.json +3 -258
- package/mcp/schemas/c64_program.schema.json +16 -491
- package/mcp/schemas/c64_rag.schema.json +1 -81
- package/mcp/schemas/c64_select_backend.schema.json +2 -36
- package/mcp/schemas/c64_sound.schema.json +20 -822
- package/mcp/schemas/c64_stream.schema.json +4 -75
- package/mcp/schemas/c64_system.schema.json +28 -348
- package/mcp/schemas/c64_vice.schema.json +2 -71
- package/mcp/server.json +1 -1
- package/mcp/tools.json +1990 -6900
- package/mcp.json +21 -1
- package/package.json +19 -8
- package/scripts/mockC64Server.mjs +44 -0
- package/scripts/run-coverage.mjs +27 -1
- package/scripts/smoke-run.sh +3 -2
- package/scripts/start.mjs +23 -1
- package/server.json +53 -3
- package/dist/.tsbuildinfo +0 -1
- package/doc/agent-state-spec.md +0 -243
- package/doc/plans/bun/baseline-metrics.md +0 -16
- package/doc/plans/bun/migration-checklist.md +0 -55
- package/doc/plans/bun/migration.md +0 -83
- package/doc/plans/improve-knowledge/notes.md +0 -43
- package/doc/plans/improve-knowledge/plan.md +0 -121
- package/doc/plans/improve-knowledge/rollout.md +0 -110
- package/doc/plans/meta-tools/README.md +0 -110
- package/doc/plans/meta-tools/analysis.md +0 -272
- package/doc/plans/meta-tools/catalog.md +0 -435
- package/doc/plans/meta-tools/notes.md +0 -192
- package/doc/plans/meta-tools/rollout.md +0 -368
- package/doc/plans/prompts/README.md +0 -96
- package/doc/plans/prompts/user-prompt-ideas.md +0 -147
- package/doc/plans/tool-consolidation/notes.md +0 -28
- package/doc/plans/tool-consolidation/plan.md +0 -169
- package/doc/plans/tool-consolidation/rollout.md +0 -104
- package/doc/plans/vice-backend-switch/plan.md +0 -486
- package/doc/plans/vice-backend-switch-2/plan.md +0 -48
- package/doc/plans/vice-support/notes.md +0 -63
- package/doc/plans/vice-support/plan.md +0 -88
- package/doc/plans/vice-support/rollout.md +0 -99
- package/doc/reviews/audit.md +0 -143
- package/doc/reviews/hardening/01-fable/prompt-handover.md +0 -125
- package/doc/reviews/hardening/01-fable/prompt.md +0 -98
- package/doc/reviews/hardening/01-fable/review-prompt.md +0 -468
- package/doc/reviews/hardening/01-fable/review.md +0 -1234
- package/doc/reviews/vice-support-review.md +0 -185
- package/scripts/compare-rest/rest-compare-2025-11-01T00-25-21-830Z.json +0 -2513
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
"unmount",
|
|
10
10
|
"file_info",
|
|
11
11
|
"create_image",
|
|
12
|
-
"find_and_run"
|
|
12
|
+
"find_and_run",
|
|
13
|
+
"find_paths"
|
|
13
14
|
],
|
|
14
15
|
"description": "Selects the operation."
|
|
15
16
|
},
|
|
@@ -128,8 +129,7 @@
|
|
|
128
129
|
"string",
|
|
129
130
|
"null"
|
|
130
131
|
],
|
|
131
|
-
"description": "Root path to search",
|
|
132
|
-
"minLength": 1,
|
|
132
|
+
"description": "Root path to search Limits depend on op.",
|
|
133
133
|
"default": "/"
|
|
134
134
|
},
|
|
135
135
|
"nameContains": {
|
|
@@ -146,7 +146,8 @@
|
|
|
146
146
|
"type": "string",
|
|
147
147
|
"description": "File extensions to include (without dot)",
|
|
148
148
|
"minLength": 1
|
|
149
|
-
}
|
|
149
|
+
},
|
|
150
|
+
"description": "Limits depend on op."
|
|
150
151
|
},
|
|
151
152
|
"caseInsensitive": {
|
|
152
153
|
"type": [
|
|
@@ -186,349 +187,21 @@
|
|
|
186
187
|
"minimum": 1,
|
|
187
188
|
"maximum": 100,
|
|
188
189
|
"default": 10
|
|
190
|
+
},
|
|
191
|
+
"maxResults": {
|
|
192
|
+
"type": [
|
|
193
|
+
"integer",
|
|
194
|
+
"null"
|
|
195
|
+
],
|
|
196
|
+
"description": "Maximum results",
|
|
197
|
+
"minimum": 1,
|
|
198
|
+
"maximum": 1000,
|
|
199
|
+
"default": 100
|
|
189
200
|
}
|
|
190
201
|
},
|
|
191
202
|
"required": [
|
|
192
203
|
"op"
|
|
193
204
|
],
|
|
194
|
-
"description": "Disk operations available via the c64_disk tool.\n\nOperations:\n- list_drives: List Ultimate drive slots and their mounted images. Required inputs: none.\n- mount: Mount a disk image with optional verification and retries. Required inputs: drive, image. Optional inputs: type, attachmentMode, driveMode, verify, powerOnIfNeeded, resetAfterMount, maxRetries, retryDelayMs.\n- unmount: Remove the mounted image from an Ultimate drive slot. Required inputs: drive.\n- file_info: Inspect metadata for a file on the Ultimate filesystem. Required inputs: path.\n- create_image: Create a blank disk image of the specified format. Required inputs: format, path. Optional inputs: diskname, tracks.\n- find_and_run: Search for a PRG/CRT by name substring and run the first match. Required inputs: nameContains. Optional inputs: root, extensions, caseInsensitive, sort, waitMs, captureCandidates.",
|
|
195
|
-
"additionalProperties": false
|
|
196
|
-
"x-c64bridge-operations": [
|
|
197
|
-
{
|
|
198
|
-
"op": "list_drives",
|
|
199
|
-
"description": "List Ultimate drive slots and their mounted images.",
|
|
200
|
-
"required": [],
|
|
201
|
-
"optional": [],
|
|
202
|
-
"inputSchema": {
|
|
203
|
-
"type": "object",
|
|
204
|
-
"description": "List Ultimate drive slots and their mounted images.",
|
|
205
|
-
"properties": {
|
|
206
|
-
"op": {
|
|
207
|
-
"const": "list_drives"
|
|
208
|
-
}
|
|
209
|
-
},
|
|
210
|
-
"additionalProperties": false,
|
|
211
|
-
"required": [
|
|
212
|
-
"op"
|
|
213
|
-
]
|
|
214
|
-
}
|
|
215
|
-
},
|
|
216
|
-
{
|
|
217
|
-
"op": "mount",
|
|
218
|
-
"description": "Mount a disk image with optional verification and retries.",
|
|
219
|
-
"required": [
|
|
220
|
-
"drive",
|
|
221
|
-
"image"
|
|
222
|
-
],
|
|
223
|
-
"optional": [
|
|
224
|
-
"type",
|
|
225
|
-
"attachmentMode",
|
|
226
|
-
"driveMode",
|
|
227
|
-
"verify",
|
|
228
|
-
"powerOnIfNeeded",
|
|
229
|
-
"resetAfterMount",
|
|
230
|
-
"maxRetries",
|
|
231
|
-
"retryDelayMs"
|
|
232
|
-
],
|
|
233
|
-
"inputSchema": {
|
|
234
|
-
"type": "object",
|
|
235
|
-
"description": "Mount a disk image with optional verification and retries.",
|
|
236
|
-
"properties": {
|
|
237
|
-
"drive": {
|
|
238
|
-
"type": "string",
|
|
239
|
-
"description": "Drive identifier (for example drive8).",
|
|
240
|
-
"minLength": 1
|
|
241
|
-
},
|
|
242
|
-
"image": {
|
|
243
|
-
"type": "string",
|
|
244
|
-
"description": "Absolute or Ultimate filesystem path to the disk image.",
|
|
245
|
-
"minLength": 1
|
|
246
|
-
},
|
|
247
|
-
"type": {
|
|
248
|
-
"type": [
|
|
249
|
-
"string",
|
|
250
|
-
"null"
|
|
251
|
-
],
|
|
252
|
-
"description": "Override detected image type when firmware guesses incorrectly.",
|
|
253
|
-
"enum": [
|
|
254
|
-
"d64",
|
|
255
|
-
"g64",
|
|
256
|
-
"d71",
|
|
257
|
-
"g71",
|
|
258
|
-
"d81"
|
|
259
|
-
]
|
|
260
|
-
},
|
|
261
|
-
"attachmentMode": {
|
|
262
|
-
"type": [
|
|
263
|
-
"string",
|
|
264
|
-
"null"
|
|
265
|
-
],
|
|
266
|
-
"description": "Attachment mode controlling how the firmware treats the mounted image.",
|
|
267
|
-
"enum": [
|
|
268
|
-
"readwrite",
|
|
269
|
-
"readonly",
|
|
270
|
-
"unlinked"
|
|
271
|
-
]
|
|
272
|
-
},
|
|
273
|
-
"driveMode": {
|
|
274
|
-
"type": [
|
|
275
|
-
"string",
|
|
276
|
-
"null"
|
|
277
|
-
],
|
|
278
|
-
"description": "Drive emulation mode to switch to during verification.",
|
|
279
|
-
"enum": [
|
|
280
|
-
"1541",
|
|
281
|
-
"1571",
|
|
282
|
-
"1581"
|
|
283
|
-
]
|
|
284
|
-
},
|
|
285
|
-
"verify": {
|
|
286
|
-
"type": "boolean",
|
|
287
|
-
"description": "When true, power on/reset/verify using the reliability workflow.",
|
|
288
|
-
"default": false
|
|
289
|
-
},
|
|
290
|
-
"powerOnIfNeeded": {
|
|
291
|
-
"type": "boolean",
|
|
292
|
-
"description": "Power on the drive automatically before mounting when verify=true.",
|
|
293
|
-
"default": true
|
|
294
|
-
},
|
|
295
|
-
"resetAfterMount": {
|
|
296
|
-
"type": "boolean",
|
|
297
|
-
"description": "Issue a drive reset after mounting when verify=true.",
|
|
298
|
-
"default": true
|
|
299
|
-
},
|
|
300
|
-
"maxRetries": {
|
|
301
|
-
"type": "integer",
|
|
302
|
-
"description": "Maximum number of mount retries when verify=true.",
|
|
303
|
-
"minimum": 0,
|
|
304
|
-
"maximum": 5,
|
|
305
|
-
"default": 2
|
|
306
|
-
},
|
|
307
|
-
"retryDelayMs": {
|
|
308
|
-
"type": "integer",
|
|
309
|
-
"description": "Delay between mount retry attempts when verify=true.",
|
|
310
|
-
"minimum": 0,
|
|
311
|
-
"maximum": 5000,
|
|
312
|
-
"default": 500
|
|
313
|
-
},
|
|
314
|
-
"op": {
|
|
315
|
-
"const": "mount"
|
|
316
|
-
}
|
|
317
|
-
},
|
|
318
|
-
"required": [
|
|
319
|
-
"drive",
|
|
320
|
-
"image",
|
|
321
|
-
"op"
|
|
322
|
-
],
|
|
323
|
-
"additionalProperties": false
|
|
324
|
-
}
|
|
325
|
-
},
|
|
326
|
-
{
|
|
327
|
-
"op": "unmount",
|
|
328
|
-
"description": "Remove the mounted image from an Ultimate drive slot.",
|
|
329
|
-
"required": [
|
|
330
|
-
"drive"
|
|
331
|
-
],
|
|
332
|
-
"optional": [],
|
|
333
|
-
"inputSchema": {
|
|
334
|
-
"type": "object",
|
|
335
|
-
"description": "Remove the mounted image from an Ultimate drive slot.",
|
|
336
|
-
"properties": {
|
|
337
|
-
"drive": {
|
|
338
|
-
"type": "string",
|
|
339
|
-
"description": "Drive identifier such as drive8, drive9, or unit name defined in the Ultimate UI.",
|
|
340
|
-
"minLength": 1
|
|
341
|
-
},
|
|
342
|
-
"op": {
|
|
343
|
-
"const": "unmount"
|
|
344
|
-
}
|
|
345
|
-
},
|
|
346
|
-
"required": [
|
|
347
|
-
"drive",
|
|
348
|
-
"op"
|
|
349
|
-
],
|
|
350
|
-
"additionalProperties": false
|
|
351
|
-
}
|
|
352
|
-
},
|
|
353
|
-
{
|
|
354
|
-
"op": "file_info",
|
|
355
|
-
"description": "Inspect metadata for a file on the Ultimate filesystem.",
|
|
356
|
-
"required": [
|
|
357
|
-
"path"
|
|
358
|
-
],
|
|
359
|
-
"optional": [],
|
|
360
|
-
"inputSchema": {
|
|
361
|
-
"type": "object",
|
|
362
|
-
"description": "Inspect metadata for a file on the Ultimate filesystem.",
|
|
363
|
-
"properties": {
|
|
364
|
-
"path": {
|
|
365
|
-
"type": "string",
|
|
366
|
-
"description": "Absolute or Ultimate filesystem path to the disk image to mount or manage.",
|
|
367
|
-
"minLength": 1
|
|
368
|
-
},
|
|
369
|
-
"op": {
|
|
370
|
-
"const": "file_info"
|
|
371
|
-
}
|
|
372
|
-
},
|
|
373
|
-
"required": [
|
|
374
|
-
"path",
|
|
375
|
-
"op"
|
|
376
|
-
],
|
|
377
|
-
"additionalProperties": false
|
|
378
|
-
}
|
|
379
|
-
},
|
|
380
|
-
{
|
|
381
|
-
"op": "create_image",
|
|
382
|
-
"description": "Create a blank disk image of the specified format.",
|
|
383
|
-
"required": [
|
|
384
|
-
"format",
|
|
385
|
-
"path"
|
|
386
|
-
],
|
|
387
|
-
"optional": [
|
|
388
|
-
"diskname",
|
|
389
|
-
"tracks"
|
|
390
|
-
],
|
|
391
|
-
"inputSchema": {
|
|
392
|
-
"type": "object",
|
|
393
|
-
"description": "Create a blank disk image of the specified format.",
|
|
394
|
-
"properties": {
|
|
395
|
-
"format": {
|
|
396
|
-
"type": "string",
|
|
397
|
-
"description": "Disk image format to create.",
|
|
398
|
-
"enum": [
|
|
399
|
-
"d64",
|
|
400
|
-
"d71",
|
|
401
|
-
"d81",
|
|
402
|
-
"dnp"
|
|
403
|
-
]
|
|
404
|
-
},
|
|
405
|
-
"path": {
|
|
406
|
-
"type": "string",
|
|
407
|
-
"description": "Destination path on the Ultimate filesystem.",
|
|
408
|
-
"minLength": 1
|
|
409
|
-
},
|
|
410
|
-
"diskname": {
|
|
411
|
-
"type": [
|
|
412
|
-
"string",
|
|
413
|
-
"null"
|
|
414
|
-
],
|
|
415
|
-
"description": "Optional disk label (1-16 characters, converted to PETSCII).",
|
|
416
|
-
"minLength": 1,
|
|
417
|
-
"maxLength": 16
|
|
418
|
-
},
|
|
419
|
-
"tracks": {
|
|
420
|
-
"type": [
|
|
421
|
-
"integer",
|
|
422
|
-
"null"
|
|
423
|
-
],
|
|
424
|
-
"description": "Track count (D64 supports 35 to 41; DNP requires explicit tracks).",
|
|
425
|
-
"minimum": 1,
|
|
426
|
-
"maximum": 255
|
|
427
|
-
},
|
|
428
|
-
"op": {
|
|
429
|
-
"const": "create_image"
|
|
430
|
-
}
|
|
431
|
-
},
|
|
432
|
-
"required": [
|
|
433
|
-
"format",
|
|
434
|
-
"path",
|
|
435
|
-
"op"
|
|
436
|
-
],
|
|
437
|
-
"additionalProperties": false
|
|
438
|
-
}
|
|
439
|
-
},
|
|
440
|
-
{
|
|
441
|
-
"op": "find_and_run",
|
|
442
|
-
"description": "Search for a PRG/CRT by name substring and run the first match.",
|
|
443
|
-
"required": [
|
|
444
|
-
"nameContains"
|
|
445
|
-
],
|
|
446
|
-
"optional": [
|
|
447
|
-
"root",
|
|
448
|
-
"extensions",
|
|
449
|
-
"caseInsensitive",
|
|
450
|
-
"sort",
|
|
451
|
-
"waitMs",
|
|
452
|
-
"captureCandidates"
|
|
453
|
-
],
|
|
454
|
-
"inputSchema": {
|
|
455
|
-
"type": "object",
|
|
456
|
-
"description": "Search for a PRG/CRT by name substring and run the first match.",
|
|
457
|
-
"properties": {
|
|
458
|
-
"root": {
|
|
459
|
-
"type": [
|
|
460
|
-
"string",
|
|
461
|
-
"null"
|
|
462
|
-
],
|
|
463
|
-
"description": "Root path to search",
|
|
464
|
-
"minLength": 1,
|
|
465
|
-
"default": "/"
|
|
466
|
-
},
|
|
467
|
-
"nameContains": {
|
|
468
|
-
"type": "string",
|
|
469
|
-
"description": "Substring to match",
|
|
470
|
-
"minLength": 1
|
|
471
|
-
},
|
|
472
|
-
"extensions": {
|
|
473
|
-
"type": [
|
|
474
|
-
"array",
|
|
475
|
-
"null"
|
|
476
|
-
],
|
|
477
|
-
"items": {
|
|
478
|
-
"type": "string",
|
|
479
|
-
"description": "File extensions to include (without dot)",
|
|
480
|
-
"minLength": 1
|
|
481
|
-
}
|
|
482
|
-
},
|
|
483
|
-
"caseInsensitive": {
|
|
484
|
-
"type": [
|
|
485
|
-
"boolean",
|
|
486
|
-
"null"
|
|
487
|
-
],
|
|
488
|
-
"description": "Case-insensitive name match",
|
|
489
|
-
"default": true
|
|
490
|
-
},
|
|
491
|
-
"sort": {
|
|
492
|
-
"type": [
|
|
493
|
-
"string",
|
|
494
|
-
"null"
|
|
495
|
-
],
|
|
496
|
-
"description": "Sort order for matches",
|
|
497
|
-
"enum": [
|
|
498
|
-
"discovered",
|
|
499
|
-
"alphabetical"
|
|
500
|
-
],
|
|
501
|
-
"default": "discovered"
|
|
502
|
-
},
|
|
503
|
-
"waitMs": {
|
|
504
|
-
"type": [
|
|
505
|
-
"integer",
|
|
506
|
-
"null"
|
|
507
|
-
],
|
|
508
|
-
"description": "Delay after firmware run before returning",
|
|
509
|
-
"minimum": 0,
|
|
510
|
-
"default": 0
|
|
511
|
-
},
|
|
512
|
-
"captureCandidates": {
|
|
513
|
-
"type": [
|
|
514
|
-
"integer",
|
|
515
|
-
"null"
|
|
516
|
-
],
|
|
517
|
-
"description": "Include up to this many candidates in result",
|
|
518
|
-
"minimum": 1,
|
|
519
|
-
"maximum": 100,
|
|
520
|
-
"default": 10
|
|
521
|
-
},
|
|
522
|
-
"op": {
|
|
523
|
-
"const": "find_and_run"
|
|
524
|
-
}
|
|
525
|
-
},
|
|
526
|
-
"required": [
|
|
527
|
-
"nameContains",
|
|
528
|
-
"op"
|
|
529
|
-
],
|
|
530
|
-
"additionalProperties": false
|
|
531
|
-
}
|
|
532
|
-
}
|
|
533
|
-
]
|
|
205
|
+
"description": "Disk operations available via the c64_disk tool.\n\nOperations:\n- list_drives: List Ultimate drive slots and their mounted images. Required inputs: none.\n- mount [write]: Mount a disk image with optional verification and retries. Required inputs: drive, image. Optional inputs: type, attachmentMode, driveMode, verify, powerOnIfNeeded, resetAfterMount, maxRetries, retryDelayMs.\n- unmount [c64u, u2] [write]: Remove the mounted image from an Ultimate drive slot. Required inputs: drive.\n- file_info [c64u, u2]: Inspect metadata for a file on the Ultimate filesystem. Required inputs: path.\n- create_image [c64u, u2] [destructive]: Create a blank disk image of the specified format. Required inputs: format, path. Optional inputs: diskname, tracks.\n- find_and_run [c64u, u2] [write]: Search for a PRG/CRT by name substring and run the first match. Required inputs: nameContains. Optional inputs: root, extensions, caseInsensitive, sort, waitMs, captureCandidates.\n- find_paths [c64u, u2]: Search Ultimate storage for paths whose names contain a substring, without running anything. Required inputs: nameContains. Optional inputs: root, extensions, maxResults, caseInsensitive.",
|
|
206
|
+
"additionalProperties": false
|
|
534
207
|
}
|
|
@@ -35,161 +35,6 @@
|
|
|
35
35
|
"required": [
|
|
36
36
|
"op"
|
|
37
37
|
],
|
|
38
|
-
"description": "Drive operations available via the c64_drive tool.\n\nOperations:\n- reset: Issue an IEC reset for the selected drive slot. Required inputs: drive.\n- power_on: Power on a specific Ultimate drive slot. Required inputs: drive.\n- power_off: Power off a specific Ultimate drive slot. Required inputs: drive.\n- load_rom: Temporarily load a custom ROM into an Ultimate drive slot. Required inputs: drive, path.\n- set_mode: Set the emulation mode for a drive slot (1541/1571/1581). Required inputs: drive, mode.",
|
|
39
|
-
"additionalProperties": false
|
|
40
|
-
"x-c64bridge-operations": [
|
|
41
|
-
{
|
|
42
|
-
"op": "reset",
|
|
43
|
-
"description": "Issue an IEC reset for the selected drive slot.",
|
|
44
|
-
"required": [
|
|
45
|
-
"drive"
|
|
46
|
-
],
|
|
47
|
-
"optional": [],
|
|
48
|
-
"inputSchema": {
|
|
49
|
-
"type": "object",
|
|
50
|
-
"description": "Issue an IEC reset for the selected drive slot.",
|
|
51
|
-
"properties": {
|
|
52
|
-
"drive": {
|
|
53
|
-
"type": "string",
|
|
54
|
-
"description": "Drive identifier such as drive8, drive9, or unit name defined in the Ultimate UI.",
|
|
55
|
-
"minLength": 1
|
|
56
|
-
},
|
|
57
|
-
"op": {
|
|
58
|
-
"const": "reset"
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
"required": [
|
|
62
|
-
"drive",
|
|
63
|
-
"op"
|
|
64
|
-
],
|
|
65
|
-
"additionalProperties": false
|
|
66
|
-
}
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
"op": "power_on",
|
|
70
|
-
"description": "Power on a specific Ultimate drive slot.",
|
|
71
|
-
"required": [
|
|
72
|
-
"drive"
|
|
73
|
-
],
|
|
74
|
-
"optional": [],
|
|
75
|
-
"inputSchema": {
|
|
76
|
-
"type": "object",
|
|
77
|
-
"description": "Power on a specific Ultimate drive slot.",
|
|
78
|
-
"properties": {
|
|
79
|
-
"drive": {
|
|
80
|
-
"type": "string",
|
|
81
|
-
"description": "Drive identifier such as drive8, drive9, or unit name defined in the Ultimate UI.",
|
|
82
|
-
"minLength": 1
|
|
83
|
-
},
|
|
84
|
-
"op": {
|
|
85
|
-
"const": "power_on"
|
|
86
|
-
}
|
|
87
|
-
},
|
|
88
|
-
"required": [
|
|
89
|
-
"drive",
|
|
90
|
-
"op"
|
|
91
|
-
],
|
|
92
|
-
"additionalProperties": false
|
|
93
|
-
}
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
"op": "power_off",
|
|
97
|
-
"description": "Power off a specific Ultimate drive slot.",
|
|
98
|
-
"required": [
|
|
99
|
-
"drive"
|
|
100
|
-
],
|
|
101
|
-
"optional": [],
|
|
102
|
-
"inputSchema": {
|
|
103
|
-
"type": "object",
|
|
104
|
-
"description": "Power off a specific Ultimate drive slot.",
|
|
105
|
-
"properties": {
|
|
106
|
-
"drive": {
|
|
107
|
-
"type": "string",
|
|
108
|
-
"description": "Drive identifier such as drive8, drive9, or unit name defined in the Ultimate UI.",
|
|
109
|
-
"minLength": 1
|
|
110
|
-
},
|
|
111
|
-
"op": {
|
|
112
|
-
"const": "power_off"
|
|
113
|
-
}
|
|
114
|
-
},
|
|
115
|
-
"required": [
|
|
116
|
-
"drive",
|
|
117
|
-
"op"
|
|
118
|
-
],
|
|
119
|
-
"additionalProperties": false
|
|
120
|
-
}
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
"op": "load_rom",
|
|
124
|
-
"description": "Temporarily load a custom ROM into an Ultimate drive slot.",
|
|
125
|
-
"required": [
|
|
126
|
-
"drive",
|
|
127
|
-
"path"
|
|
128
|
-
],
|
|
129
|
-
"optional": [],
|
|
130
|
-
"inputSchema": {
|
|
131
|
-
"type": "object",
|
|
132
|
-
"description": "Temporarily load a custom ROM into an Ultimate drive slot.",
|
|
133
|
-
"properties": {
|
|
134
|
-
"drive": {
|
|
135
|
-
"type": "string",
|
|
136
|
-
"description": "Drive identifier such as drive8, drive9, or unit name defined in the Ultimate UI.",
|
|
137
|
-
"minLength": 1
|
|
138
|
-
},
|
|
139
|
-
"path": {
|
|
140
|
-
"type": "string",
|
|
141
|
-
"description": "Absolute or Ultimate filesystem path to the disk image to mount or manage.",
|
|
142
|
-
"minLength": 1
|
|
143
|
-
},
|
|
144
|
-
"op": {
|
|
145
|
-
"const": "load_rom"
|
|
146
|
-
}
|
|
147
|
-
},
|
|
148
|
-
"required": [
|
|
149
|
-
"drive",
|
|
150
|
-
"path",
|
|
151
|
-
"op"
|
|
152
|
-
],
|
|
153
|
-
"additionalProperties": false
|
|
154
|
-
}
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
"op": "set_mode",
|
|
158
|
-
"description": "Set the emulation mode for a drive slot (1541/1571/1581).",
|
|
159
|
-
"required": [
|
|
160
|
-
"drive",
|
|
161
|
-
"mode"
|
|
162
|
-
],
|
|
163
|
-
"optional": [],
|
|
164
|
-
"inputSchema": {
|
|
165
|
-
"type": "object",
|
|
166
|
-
"description": "Set the emulation mode for a drive slot (1541/1571/1581).",
|
|
167
|
-
"properties": {
|
|
168
|
-
"drive": {
|
|
169
|
-
"type": "string",
|
|
170
|
-
"description": "Drive identifier such as drive8, drive9, or unit name defined in the Ultimate UI.",
|
|
171
|
-
"minLength": 1
|
|
172
|
-
},
|
|
173
|
-
"mode": {
|
|
174
|
-
"type": "string",
|
|
175
|
-
"description": "Drive hardware profile to emulate.",
|
|
176
|
-
"enum": [
|
|
177
|
-
"1541",
|
|
178
|
-
"1571",
|
|
179
|
-
"1581"
|
|
180
|
-
]
|
|
181
|
-
},
|
|
182
|
-
"op": {
|
|
183
|
-
"const": "set_mode"
|
|
184
|
-
}
|
|
185
|
-
},
|
|
186
|
-
"required": [
|
|
187
|
-
"drive",
|
|
188
|
-
"mode",
|
|
189
|
-
"op"
|
|
190
|
-
],
|
|
191
|
-
"additionalProperties": false
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
]
|
|
38
|
+
"description": "Drive operations available via the c64_drive tool.\n\nOperations:\n- reset [write]: Issue an IEC reset for the selected drive slot. Required inputs: drive.\n- power_on [write]: Power on a specific Ultimate drive slot. Required inputs: drive.\n- power_off [write]: Power off a specific Ultimate drive slot. Required inputs: drive.\n- load_rom [c64u, u2] [destructive]: Temporarily load a custom ROM into an Ultimate drive slot. Required inputs: drive, path.\n- set_mode [write]: Set the emulation mode for a drive slot (1541/1571/1581). Required inputs: drive, mode.",
|
|
39
|
+
"additionalProperties": false
|
|
195
40
|
}
|