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.
Files changed (92) hide show
  1. package/.github/prompts/steer.prompt.md +55 -0
  2. package/AGENTS.md +9 -7
  3. package/README.md +192 -154
  4. package/data/embeddings_asm.json +1 -1
  5. package/data/embeddings_basic.json +1 -1
  6. package/data/embeddings_hardware.json +1 -1
  7. package/data/embeddings_mixed.json +1 -1
  8. package/data/embeddings_other.json +1 -1
  9. package/data/graphics/petscii-style-guide.md +4 -4
  10. package/data/graphics/sprite-charset-best-practices.md +9 -9
  11. package/data/vice/vice-binary-monitor-spec.md +938 -0
  12. package/dist/.tsbuildinfo +1 -1
  13. package/dist/c64Client.js +76 -2
  14. package/dist/device.js +129 -13
  15. package/dist/mcp-server.js +1 -1
  16. package/dist/prompts/registry.js +27 -25
  17. package/dist/rag/indexer.js +18 -8
  18. package/dist/rag/knowledgeIndex.js +112 -79
  19. package/dist/rag/resourceUris.js +93 -0
  20. package/dist/sidwaveCompiler.js +1 -1
  21. package/dist/{assemblyConverter.js → tools/assember.js} +10 -1
  22. package/dist/tools/audio.js +11 -11
  23. package/dist/{basicConverter.js → tools/basicTokenizer.js} +1 -1
  24. package/dist/tools/debug.js +159 -6
  25. package/dist/tools/developer.js +13 -13
  26. package/dist/tools/disassembler.js +478 -0
  27. package/dist/tools/graphics.js +10 -10
  28. package/dist/tools/input.js +338 -0
  29. package/dist/tools/machineControl.js +5 -5
  30. package/dist/tools/memory.js +336 -12
  31. package/dist/tools/meta/index.js +1 -1
  32. package/dist/tools/printer.js +11 -12
  33. package/dist/tools/programRunners.js +61 -22
  34. package/dist/tools/rag.js +9 -9
  35. package/dist/tools/registry/batch.js +167 -0
  36. package/dist/tools/registry/config.js +1 -1
  37. package/dist/tools/registry/disk.js +1 -1
  38. package/dist/tools/registry/drive.js +1 -1
  39. package/dist/tools/registry/extract.js +1 -1
  40. package/dist/tools/registry/graphics.js +102 -2
  41. package/dist/tools/registry/index.js +4 -0
  42. package/dist/tools/registry/input.js +2 -0
  43. package/dist/tools/registry/memory.js +62 -2
  44. package/dist/tools/registry/platform.js +1 -1
  45. package/dist/tools/registry/printer.js +1 -1
  46. package/dist/tools/registry/program.js +1 -1
  47. package/dist/tools/registry/rag.js +1 -1
  48. package/dist/tools/registry/sound.js +1 -1
  49. package/dist/tools/registry/stream.js +1 -1
  50. package/dist/tools/registry/system.js +1 -1
  51. package/dist/tools/schema.js +4 -5
  52. package/dist/tools/storage.js +15 -15
  53. package/dist/tools/streaming.js +3 -3
  54. package/dist/tools/symbolRegistry.js +49 -0
  55. package/dist/tools/types.js +56 -4
  56. package/dist/tools/vice.js +2 -5
  57. package/dist/vice/process.js +120 -2
  58. package/dist/vice/readiness.js +35 -0
  59. package/dist/vice/smokeOptions.js +44 -0
  60. package/dist/vice/viceClient.js +5 -1
  61. package/dist/viceRunner.js +2 -0
  62. package/doc/plans/prompts/README.md +7 -7
  63. package/mcp/prompts.json +42 -59
  64. package/mcp/protocol-examples.json +2 -2
  65. package/mcp/resources.json +179 -166
  66. package/mcp/schemas/c64_batch.schema.json +53 -0
  67. package/mcp/schemas/c64_config.schema.json +525 -283
  68. package/mcp/schemas/c64_debug.schema.json +763 -304
  69. package/mcp/schemas/c64_disk.schema.json +499 -243
  70. package/mcp/schemas/c64_drive.schema.json +165 -90
  71. package/mcp/schemas/c64_extract.schema.json +533 -274
  72. package/mcp/schemas/c64_graphics.schema.json +607 -295
  73. package/mcp/schemas/c64_input.schema.json +136 -0
  74. package/mcp/schemas/c64_memory.schema.json +637 -128
  75. package/mcp/schemas/c64_printer.schema.json +393 -196
  76. package/mcp/schemas/c64_program.schema.json +699 -340
  77. package/mcp/schemas/c64_rag.schema.json +100 -54
  78. package/mcp/schemas/c64_select_backend.schema.json +49 -23
  79. package/mcp/schemas/c64_sound.schema.json +1092 -577
  80. package/mcp/schemas/c64_stream.schema.json +89 -47
  81. package/mcp/schemas/c64_system.schema.json +351 -185
  82. package/mcp/schemas/c64_vice.schema.json +85 -47
  83. package/mcp/server.json +1 -1
  84. package/mcp/tools.json +7299 -3346
  85. package/mcp.json +3 -3
  86. package/package.json +17 -14
  87. package/scripts/fetch-external-sources.mjs +1 -2
  88. package/scripts/run-coverage.mjs +33 -1
  89. package/scripts/run-tests.mjs +2 -2
  90. package/scripts/run-tests.ts +275 -52
  91. package/scripts/update-readme.ts +132 -3
  92. package/server.json +2 -2
@@ -1,63 +1,101 @@
1
1
  {
2
2
  "type": "object",
3
- "description": "VICE emulator operations available via the c64_vice tool.",
4
- "oneOf": [
3
+ "properties": {
4
+ "op": {
5
+ "type": "string",
6
+ "enum": [
7
+ "resource_get",
8
+ "resource_set"
9
+ ],
10
+ "description": "Selects the operation."
11
+ },
12
+ "name": {
13
+ "type": "string",
14
+ "description": "VICE resource name (example: SidEngine, C64Model).",
15
+ "minLength": 1,
16
+ "maxLength": 64,
17
+ "pattern": "^[A-Z][A-Za-z0-9_.-]{0,63}$"
18
+ },
19
+ "value": {
20
+ "type": [
21
+ "string",
22
+ "integer"
23
+ ],
24
+ "description": "VICE resource value (string or integer)."
25
+ }
26
+ },
27
+ "required": [
28
+ "op"
29
+ ],
30
+ "description": "VICE emulator operations available via the c64_vice tool.\n\nOperations:\n- resource_get: Read a VICE configuration resource (safe prefixes only). Required inputs: name.\n- resource_set: Write a VICE configuration resource (safe prefixes only). Required inputs: name, value.",
31
+ "additionalProperties": false,
32
+ "x-c64bridge-operations": [
5
33
  {
6
- "type": "object",
34
+ "op": "resource_get",
7
35
  "description": "Read a VICE configuration resource (safe prefixes only).",
8
- "properties": {
9
- "op": {
10
- "const": "resource_get"
11
- },
12
- "name": {
13
- "type": "string",
14
- "description": "VICE resource name (example: SidEngine, C64Model).",
15
- "minLength": 1,
16
- "maxLength": 64,
17
- "pattern": "^[A-Z][A-Za-z0-9_.-]{0,63}$"
18
- }
19
- },
20
36
  "required": [
21
- "op",
22
37
  "name"
23
38
  ],
24
- "additionalProperties": false
39
+ "optional": [],
40
+ "inputSchema": {
41
+ "type": "object",
42
+ "description": "Read a VICE configuration resource (safe prefixes only).",
43
+ "properties": {
44
+ "op": {
45
+ "const": "resource_get"
46
+ },
47
+ "name": {
48
+ "type": "string",
49
+ "description": "VICE resource name (example: SidEngine, C64Model).",
50
+ "minLength": 1,
51
+ "maxLength": 64,
52
+ "pattern": "^[A-Z][A-Za-z0-9_.-]{0,63}$"
53
+ }
54
+ },
55
+ "required": [
56
+ "op",
57
+ "name"
58
+ ],
59
+ "additionalProperties": false
60
+ }
25
61
  },
26
62
  {
27
- "type": "object",
63
+ "op": "resource_set",
28
64
  "description": "Write a VICE configuration resource (safe prefixes only).",
29
- "properties": {
30
- "op": {
31
- "const": "resource_set"
32
- },
33
- "name": {
34
- "type": "string",
35
- "description": "VICE resource name (example: SidEngine, C64Model).",
36
- "minLength": 1,
37
- "maxLength": 64,
38
- "pattern": "^[A-Z][A-Za-z0-9_.-]{0,63}$"
39
- },
40
- "value": {
41
- "description": "VICE resource value (string or integer).",
42
- "oneOf": [
43
- {
44
- "type": "string"
45
- },
46
- {
47
- "type": "integer"
48
- }
49
- ]
50
- }
51
- },
52
65
  "required": [
53
- "op",
54
66
  "name",
55
67
  "value"
56
68
  ],
57
- "additionalProperties": false
69
+ "optional": [],
70
+ "inputSchema": {
71
+ "type": "object",
72
+ "description": "Write a VICE configuration resource (safe prefixes only).",
73
+ "properties": {
74
+ "op": {
75
+ "const": "resource_set"
76
+ },
77
+ "name": {
78
+ "type": "string",
79
+ "description": "VICE resource name (example: SidEngine, C64Model).",
80
+ "minLength": 1,
81
+ "maxLength": 64,
82
+ "pattern": "^[A-Z][A-Za-z0-9_.-]{0,63}$"
83
+ },
84
+ "value": {
85
+ "type": [
86
+ "string",
87
+ "integer"
88
+ ],
89
+ "description": "VICE resource value (string or integer)."
90
+ }
91
+ },
92
+ "required": [
93
+ "op",
94
+ "name",
95
+ "value"
96
+ ],
97
+ "additionalProperties": false
98
+ }
58
99
  }
59
- ],
60
- "discriminator": {
61
- "propertyName": "op"
62
- }
100
+ ]
63
101
  }
package/mcp/server.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "c64bridge",
3
- "version": "0.8.1",
3
+ "version": "0.9.1",
4
4
  "description": "Stdio-based Model Context Protocol (MCP) server that bridges Commodore 64 Ultimate hardware with AI agents.",
5
5
  "transports": [
6
6
  "stdio"