c64bridge 0.8.1 → 0.9.1
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/prompts/steer.prompt.md +55 -0
- package/AGENTS.md +9 -7
- package/README.md +192 -154
- package/data/embeddings_asm.json +1 -1
- package/data/embeddings_basic.json +1 -1
- package/data/embeddings_hardware.json +1 -1
- package/data/embeddings_mixed.json +1 -1
- package/data/embeddings_other.json +1 -1
- package/data/graphics/petscii-style-guide.md +4 -4
- package/data/graphics/sprite-charset-best-practices.md +9 -9
- package/data/vice/vice-binary-monitor-spec.md +938 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/c64Client.js +76 -2
- package/dist/device.js +129 -13
- package/dist/mcp-server.js +1 -1
- package/dist/prompts/registry.js +27 -25
- package/dist/rag/indexer.js +18 -8
- package/dist/rag/knowledgeIndex.js +112 -79
- package/dist/rag/resourceUris.js +93 -0
- package/dist/sidwaveCompiler.js +1 -1
- package/dist/{assemblyConverter.js → tools/assember.js} +10 -1
- package/dist/tools/audio.js +11 -11
- package/dist/{basicConverter.js → tools/basicTokenizer.js} +1 -1
- package/dist/tools/debug.js +159 -6
- package/dist/tools/developer.js +13 -13
- package/dist/tools/disassembler.js +478 -0
- package/dist/tools/graphics.js +10 -10
- package/dist/tools/input.js +338 -0
- package/dist/tools/machineControl.js +5 -5
- package/dist/tools/memory.js +336 -12
- package/dist/tools/meta/index.js +1 -1
- package/dist/tools/printer.js +11 -12
- package/dist/tools/programRunners.js +61 -22
- package/dist/tools/rag.js +9 -9
- package/dist/tools/registry/batch.js +167 -0
- package/dist/tools/registry/config.js +1 -1
- package/dist/tools/registry/disk.js +1 -1
- package/dist/tools/registry/drive.js +1 -1
- package/dist/tools/registry/extract.js +1 -1
- package/dist/tools/registry/graphics.js +102 -2
- package/dist/tools/registry/index.js +4 -0
- package/dist/tools/registry/input.js +2 -0
- package/dist/tools/registry/memory.js +62 -2
- package/dist/tools/registry/platform.js +1 -1
- package/dist/tools/registry/printer.js +1 -1
- package/dist/tools/registry/program.js +1 -1
- package/dist/tools/registry/rag.js +1 -1
- package/dist/tools/registry/sound.js +1 -1
- package/dist/tools/registry/stream.js +1 -1
- package/dist/tools/registry/system.js +1 -1
- package/dist/tools/schema.js +4 -5
- package/dist/tools/storage.js +15 -15
- package/dist/tools/streaming.js +3 -3
- package/dist/tools/symbolRegistry.js +49 -0
- package/dist/tools/types.js +56 -4
- package/dist/tools/vice.js +2 -5
- package/dist/vice/process.js +120 -2
- package/dist/vice/readiness.js +35 -0
- package/dist/vice/smokeOptions.js +44 -0
- package/dist/vice/viceClient.js +5 -1
- package/dist/viceRunner.js +2 -0
- package/doc/plans/prompts/README.md +7 -7
- package/mcp/prompts.json +42 -59
- package/mcp/protocol-examples.json +2 -2
- package/mcp/resources.json +179 -166
- package/mcp/schemas/c64_batch.schema.json +53 -0
- package/mcp/schemas/c64_config.schema.json +525 -283
- package/mcp/schemas/c64_debug.schema.json +763 -304
- package/mcp/schemas/c64_disk.schema.json +499 -243
- package/mcp/schemas/c64_drive.schema.json +165 -90
- package/mcp/schemas/c64_extract.schema.json +533 -274
- package/mcp/schemas/c64_graphics.schema.json +607 -295
- package/mcp/schemas/c64_input.schema.json +136 -0
- package/mcp/schemas/c64_memory.schema.json +637 -128
- package/mcp/schemas/c64_printer.schema.json +393 -196
- package/mcp/schemas/c64_program.schema.json +699 -340
- package/mcp/schemas/c64_rag.schema.json +100 -54
- package/mcp/schemas/c64_select_backend.schema.json +49 -23
- package/mcp/schemas/c64_sound.schema.json +1092 -577
- package/mcp/schemas/c64_stream.schema.json +89 -47
- package/mcp/schemas/c64_system.schema.json +351 -185
- package/mcp/schemas/c64_vice.schema.json +85 -47
- package/mcp/server.json +1 -1
- package/mcp/tools.json +7299 -3346
- package/mcp.json +3 -3
- package/package.json +17 -14
- package/scripts/fetch-external-sources.mjs +1 -2
- package/scripts/run-coverage.mjs +33 -1
- package/scripts/run-tests.mjs +2 -2
- package/scripts/run-tests.ts +275 -52
- package/scripts/update-readme.ts +132 -3
- package/server.json +2 -2
|
@@ -1,120 +1,195 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "object",
|
|
3
|
-
"
|
|
4
|
-
|
|
3
|
+
"properties": {
|
|
4
|
+
"op": {
|
|
5
|
+
"type": "string",
|
|
6
|
+
"enum": [
|
|
7
|
+
"reset",
|
|
8
|
+
"power_on",
|
|
9
|
+
"power_off",
|
|
10
|
+
"load_rom",
|
|
11
|
+
"set_mode"
|
|
12
|
+
],
|
|
13
|
+
"description": "Selects the operation."
|
|
14
|
+
},
|
|
15
|
+
"drive": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "Drive identifier such as drive8, drive9, or unit name defined in the Ultimate UI.",
|
|
18
|
+
"minLength": 1
|
|
19
|
+
},
|
|
20
|
+
"path": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"description": "Absolute or Ultimate filesystem path to the disk image to mount or manage.",
|
|
23
|
+
"minLength": 1
|
|
24
|
+
},
|
|
25
|
+
"mode": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"description": "Drive hardware profile to emulate.",
|
|
28
|
+
"enum": [
|
|
29
|
+
"1541",
|
|
30
|
+
"1571",
|
|
31
|
+
"1581"
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"required": [
|
|
36
|
+
"op"
|
|
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": [
|
|
5
41
|
{
|
|
6
|
-
"
|
|
42
|
+
"op": "reset",
|
|
7
43
|
"description": "Issue an IEC reset for the selected drive slot.",
|
|
8
|
-
"properties": {
|
|
9
|
-
"drive": {
|
|
10
|
-
"type": "string",
|
|
11
|
-
"description": "Drive identifier such as drive8, drive9, or unit name defined in the Ultimate UI.",
|
|
12
|
-
"minLength": 1
|
|
13
|
-
},
|
|
14
|
-
"op": {
|
|
15
|
-
"const": "reset"
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
44
|
"required": [
|
|
19
|
-
"drive"
|
|
20
|
-
"op"
|
|
45
|
+
"drive"
|
|
21
46
|
],
|
|
22
|
-
"
|
|
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
|
+
}
|
|
23
67
|
},
|
|
24
68
|
{
|
|
25
|
-
"
|
|
69
|
+
"op": "power_on",
|
|
26
70
|
"description": "Power on a specific Ultimate drive slot.",
|
|
27
|
-
"properties": {
|
|
28
|
-
"drive": {
|
|
29
|
-
"type": "string",
|
|
30
|
-
"description": "Drive identifier such as drive8, drive9, or unit name defined in the Ultimate UI.",
|
|
31
|
-
"minLength": 1
|
|
32
|
-
},
|
|
33
|
-
"op": {
|
|
34
|
-
"const": "power_on"
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
71
|
"required": [
|
|
38
|
-
"drive"
|
|
39
|
-
"op"
|
|
72
|
+
"drive"
|
|
40
73
|
],
|
|
41
|
-
"
|
|
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
|
+
}
|
|
42
94
|
},
|
|
43
95
|
{
|
|
44
|
-
"
|
|
96
|
+
"op": "power_off",
|
|
45
97
|
"description": "Power off a specific Ultimate drive slot.",
|
|
46
|
-
"properties": {
|
|
47
|
-
"drive": {
|
|
48
|
-
"type": "string",
|
|
49
|
-
"description": "Drive identifier such as drive8, drive9, or unit name defined in the Ultimate UI.",
|
|
50
|
-
"minLength": 1
|
|
51
|
-
},
|
|
52
|
-
"op": {
|
|
53
|
-
"const": "power_off"
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
98
|
"required": [
|
|
57
|
-
"drive"
|
|
58
|
-
"op"
|
|
99
|
+
"drive"
|
|
59
100
|
],
|
|
60
|
-
"
|
|
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
|
+
}
|
|
61
121
|
},
|
|
62
122
|
{
|
|
63
|
-
"
|
|
123
|
+
"op": "load_rom",
|
|
64
124
|
"description": "Temporarily load a custom ROM into an Ultimate drive slot.",
|
|
65
|
-
"properties": {
|
|
66
|
-
"drive": {
|
|
67
|
-
"type": "string",
|
|
68
|
-
"description": "Drive identifier such as drive8, drive9, or unit name defined in the Ultimate UI.",
|
|
69
|
-
"minLength": 1
|
|
70
|
-
},
|
|
71
|
-
"path": {
|
|
72
|
-
"type": "string",
|
|
73
|
-
"description": "Absolute or Ultimate filesystem path to the disk image to mount or manage.",
|
|
74
|
-
"minLength": 1
|
|
75
|
-
},
|
|
76
|
-
"op": {
|
|
77
|
-
"const": "load_rom"
|
|
78
|
-
}
|
|
79
|
-
},
|
|
80
125
|
"required": [
|
|
81
126
|
"drive",
|
|
82
|
-
"path"
|
|
83
|
-
"op"
|
|
127
|
+
"path"
|
|
84
128
|
],
|
|
85
|
-
"
|
|
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
|
+
}
|
|
86
155
|
},
|
|
87
156
|
{
|
|
88
|
-
"
|
|
157
|
+
"op": "set_mode",
|
|
89
158
|
"description": "Set the emulation mode for a drive slot (1541/1571/1581).",
|
|
90
|
-
"properties": {
|
|
91
|
-
"drive": {
|
|
92
|
-
"type": "string",
|
|
93
|
-
"description": "Drive identifier such as drive8, drive9, or unit name defined in the Ultimate UI.",
|
|
94
|
-
"minLength": 1
|
|
95
|
-
},
|
|
96
|
-
"mode": {
|
|
97
|
-
"type": "string",
|
|
98
|
-
"description": "Drive hardware profile to emulate.",
|
|
99
|
-
"enum": [
|
|
100
|
-
"1541",
|
|
101
|
-
"1571",
|
|
102
|
-
"1581"
|
|
103
|
-
]
|
|
104
|
-
},
|
|
105
|
-
"op": {
|
|
106
|
-
"const": "set_mode"
|
|
107
|
-
}
|
|
108
|
-
},
|
|
109
159
|
"required": [
|
|
110
160
|
"drive",
|
|
111
|
-
"mode"
|
|
112
|
-
"op"
|
|
161
|
+
"mode"
|
|
113
162
|
],
|
|
114
|
-
"
|
|
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
|
+
}
|
|
115
193
|
}
|
|
116
|
-
]
|
|
117
|
-
"discriminator": {
|
|
118
|
-
"propertyName": "op"
|
|
119
|
-
}
|
|
194
|
+
]
|
|
120
195
|
}
|