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,67 +1,113 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "object",
|
|
3
|
-
"
|
|
4
|
-
|
|
3
|
+
"properties": {
|
|
4
|
+
"op": {
|
|
5
|
+
"type": "string",
|
|
6
|
+
"enum": [
|
|
7
|
+
"basic",
|
|
8
|
+
"asm"
|
|
9
|
+
],
|
|
10
|
+
"description": "Selects the operation."
|
|
11
|
+
},
|
|
12
|
+
"q": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"description": "Natural-language query describing the desired BASIC or assembly guidance.",
|
|
15
|
+
"minLength": 3
|
|
16
|
+
},
|
|
17
|
+
"k": {
|
|
18
|
+
"type": [
|
|
19
|
+
"integer",
|
|
20
|
+
"null"
|
|
21
|
+
],
|
|
22
|
+
"description": "Maximum number of references to return (1-12).",
|
|
23
|
+
"minimum": 1,
|
|
24
|
+
"maximum": 12,
|
|
25
|
+
"default": 3
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"required": [
|
|
29
|
+
"op"
|
|
30
|
+
],
|
|
31
|
+
"description": "RAG operations available via the c64_rag tool.\n\nOperations:\n- basic: Retrieve BASIC references and snippets from the local knowledge base. Required inputs: q. Optional inputs: k.\n- asm: Retrieve 6502/6510 assembly references from the local knowledge base. Required inputs: q. Optional inputs: k.",
|
|
32
|
+
"additionalProperties": false,
|
|
33
|
+
"x-c64bridge-operations": [
|
|
5
34
|
{
|
|
6
|
-
"
|
|
35
|
+
"op": "basic",
|
|
7
36
|
"description": "Retrieve BASIC references and snippets from the local knowledge base.",
|
|
8
|
-
"properties": {
|
|
9
|
-
"q": {
|
|
10
|
-
"type": "string",
|
|
11
|
-
"description": "Natural-language query describing the desired BASIC or assembly guidance.",
|
|
12
|
-
"minLength": 3
|
|
13
|
-
},
|
|
14
|
-
"k": {
|
|
15
|
-
"type": [
|
|
16
|
-
"integer",
|
|
17
|
-
"null"
|
|
18
|
-
],
|
|
19
|
-
"description": "Maximum number of references to return (1-12).",
|
|
20
|
-
"minimum": 1,
|
|
21
|
-
"maximum": 12,
|
|
22
|
-
"default": 3
|
|
23
|
-
},
|
|
24
|
-
"op": {
|
|
25
|
-
"const": "basic"
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
37
|
"required": [
|
|
29
|
-
"q"
|
|
30
|
-
"op"
|
|
38
|
+
"q"
|
|
31
39
|
],
|
|
32
|
-
"
|
|
40
|
+
"optional": [
|
|
41
|
+
"k"
|
|
42
|
+
],
|
|
43
|
+
"inputSchema": {
|
|
44
|
+
"type": "object",
|
|
45
|
+
"description": "Retrieve BASIC references and snippets from the local knowledge base.",
|
|
46
|
+
"properties": {
|
|
47
|
+
"q": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"description": "Natural-language query describing the desired BASIC or assembly guidance.",
|
|
50
|
+
"minLength": 3
|
|
51
|
+
},
|
|
52
|
+
"k": {
|
|
53
|
+
"type": [
|
|
54
|
+
"integer",
|
|
55
|
+
"null"
|
|
56
|
+
],
|
|
57
|
+
"description": "Maximum number of references to return (1-12).",
|
|
58
|
+
"minimum": 1,
|
|
59
|
+
"maximum": 12,
|
|
60
|
+
"default": 3
|
|
61
|
+
},
|
|
62
|
+
"op": {
|
|
63
|
+
"const": "basic"
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
"required": [
|
|
67
|
+
"q",
|
|
68
|
+
"op"
|
|
69
|
+
],
|
|
70
|
+
"additionalProperties": false
|
|
71
|
+
}
|
|
33
72
|
},
|
|
34
73
|
{
|
|
35
|
-
"
|
|
74
|
+
"op": "asm",
|
|
36
75
|
"description": "Retrieve 6502/6510 assembly references from the local knowledge base.",
|
|
37
|
-
"properties": {
|
|
38
|
-
"q": {
|
|
39
|
-
"type": "string",
|
|
40
|
-
"description": "Natural-language query describing the desired BASIC or assembly guidance.",
|
|
41
|
-
"minLength": 3
|
|
42
|
-
},
|
|
43
|
-
"k": {
|
|
44
|
-
"type": [
|
|
45
|
-
"integer",
|
|
46
|
-
"null"
|
|
47
|
-
],
|
|
48
|
-
"description": "Maximum number of references to return (1-12).",
|
|
49
|
-
"minimum": 1,
|
|
50
|
-
"maximum": 12,
|
|
51
|
-
"default": 3
|
|
52
|
-
},
|
|
53
|
-
"op": {
|
|
54
|
-
"const": "asm"
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
76
|
"required": [
|
|
58
|
-
"q"
|
|
59
|
-
"op"
|
|
77
|
+
"q"
|
|
60
78
|
],
|
|
61
|
-
"
|
|
79
|
+
"optional": [
|
|
80
|
+
"k"
|
|
81
|
+
],
|
|
82
|
+
"inputSchema": {
|
|
83
|
+
"type": "object",
|
|
84
|
+
"description": "Retrieve 6502/6510 assembly references from the local knowledge base.",
|
|
85
|
+
"properties": {
|
|
86
|
+
"q": {
|
|
87
|
+
"type": "string",
|
|
88
|
+
"description": "Natural-language query describing the desired BASIC or assembly guidance.",
|
|
89
|
+
"minLength": 3
|
|
90
|
+
},
|
|
91
|
+
"k": {
|
|
92
|
+
"type": [
|
|
93
|
+
"integer",
|
|
94
|
+
"null"
|
|
95
|
+
],
|
|
96
|
+
"description": "Maximum number of references to return (1-12).",
|
|
97
|
+
"minimum": 1,
|
|
98
|
+
"maximum": 12,
|
|
99
|
+
"default": 3
|
|
100
|
+
},
|
|
101
|
+
"op": {
|
|
102
|
+
"const": "asm"
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"required": [
|
|
106
|
+
"q",
|
|
107
|
+
"op"
|
|
108
|
+
],
|
|
109
|
+
"additionalProperties": false
|
|
110
|
+
}
|
|
62
111
|
}
|
|
63
|
-
]
|
|
64
|
-
"discriminator": {
|
|
65
|
-
"propertyName": "op"
|
|
66
|
-
}
|
|
112
|
+
]
|
|
67
113
|
}
|
|
@@ -1,32 +1,58 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "object",
|
|
3
|
-
"
|
|
4
|
-
|
|
3
|
+
"properties": {
|
|
4
|
+
"op": {
|
|
5
|
+
"type": "string",
|
|
6
|
+
"enum": [
|
|
7
|
+
"select"
|
|
8
|
+
],
|
|
9
|
+
"description": "Selects the operation."
|
|
10
|
+
},
|
|
11
|
+
"backend": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"enum": [
|
|
14
|
+
"c64u",
|
|
15
|
+
"vice"
|
|
16
|
+
],
|
|
17
|
+
"description": "Backend to activate for subsequent tool calls."
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"required": [
|
|
21
|
+
"op"
|
|
22
|
+
],
|
|
23
|
+
"description": "Runtime backend selection operations.\n\nOperations:\n- select: Switch the active runtime backend without restarting the MCP server. Required inputs: backend.",
|
|
24
|
+
"additionalProperties": false,
|
|
25
|
+
"x-c64bridge-operations": [
|
|
5
26
|
{
|
|
6
|
-
"
|
|
27
|
+
"op": "select",
|
|
7
28
|
"description": "Switch the active runtime backend without restarting the MCP server.",
|
|
8
|
-
"properties": {
|
|
9
|
-
"op": {
|
|
10
|
-
"const": "select",
|
|
11
|
-
"description": "Selects the select operation."
|
|
12
|
-
},
|
|
13
|
-
"backend": {
|
|
14
|
-
"type": "string",
|
|
15
|
-
"enum": [
|
|
16
|
-
"c64u",
|
|
17
|
-
"vice"
|
|
18
|
-
],
|
|
19
|
-
"description": "Backend to activate for subsequent tool calls."
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
29
|
"required": [
|
|
23
|
-
"op",
|
|
24
30
|
"backend"
|
|
25
31
|
],
|
|
26
|
-
"
|
|
32
|
+
"optional": [],
|
|
33
|
+
"inputSchema": {
|
|
34
|
+
"type": "object",
|
|
35
|
+
"description": "Switch the active runtime backend without restarting the MCP server.",
|
|
36
|
+
"properties": {
|
|
37
|
+
"op": {
|
|
38
|
+
"const": "select",
|
|
39
|
+
"description": "Selects the select operation."
|
|
40
|
+
},
|
|
41
|
+
"backend": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"enum": [
|
|
44
|
+
"c64u",
|
|
45
|
+
"vice"
|
|
46
|
+
],
|
|
47
|
+
"description": "Backend to activate for subsequent tool calls."
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"required": [
|
|
51
|
+
"op",
|
|
52
|
+
"backend"
|
|
53
|
+
],
|
|
54
|
+
"additionalProperties": false
|
|
55
|
+
}
|
|
27
56
|
}
|
|
28
|
-
]
|
|
29
|
-
"discriminator": {
|
|
30
|
-
"propertyName": "op"
|
|
31
|
-
}
|
|
57
|
+
]
|
|
32
58
|
}
|