oscar64-mcp-docs 1.0.8 → 1.0.9

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 (2) hide show
  1. package/dist/stdio.js +59 -1
  2. package/package.json +1 -1
package/dist/stdio.js CHANGED
@@ -543,11 +543,68 @@ var TUTORIAL_BAND_RULES = [
543
543
  { min: 5e3, max: 5099, primaryTrack: "bitmap_graphics", domain: "graphics" }
544
544
  ];
545
545
  var CLASSIFICATION_RULES = [
546
+ {
547
+ id: "video_memory_api",
548
+ appliesTo: ["tutorial", "sample", "manual"],
549
+ tests: [
550
+ {
551
+ pattern: "#include\\s*<(?:c64|c128|vic20|plus4|x16|pet|atari|mega65|nes)/(?:vic|vdc|ted)\\.h>",
552
+ flags: "i",
553
+ reason: "includes display memory/control API header",
554
+ weight: 3,
555
+ direct: true
556
+ },
557
+ {
558
+ pattern: "\\b(vic_setbank|vic_waitframe|vic_waitline|vdc_[a-z0-9_]+|ted_[a-z0-9_]+|screenmem|d018)\\b",
559
+ flags: "i",
560
+ reason: "uses display memory/control API symbols",
561
+ weight: 2.5,
562
+ direct: true
563
+ }
564
+ ],
565
+ emits: [
566
+ { kind: "primary_track", label: "memory_mapping" },
567
+ { kind: "domain", label: "memory" },
568
+ { kind: "hardware", label: "vic_ii" },
569
+ { kind: "technique", label: "bank_switching" }
570
+ ]
571
+ },
572
+ {
573
+ id: "charwin_api",
574
+ appliesTo: ["tutorial", "sample", "manual"],
575
+ tests: [
576
+ {
577
+ pattern: "#include\\s*<(?:c64|c128|vic20|plus4|x16|pet|atari|mega65|nes)/charwin\\.h>",
578
+ flags: "i",
579
+ reason: "includes character window API header",
580
+ weight: 3,
581
+ direct: true
582
+ },
583
+ {
584
+ pattern: "\\bcwin_[a-z0-9_]+\\b",
585
+ flags: "i",
586
+ reason: "uses char window API symbols",
587
+ weight: 2.5,
588
+ direct: true
589
+ }
590
+ ],
591
+ emits: [
592
+ { kind: "primary_track", label: "fundamentals" },
593
+ { kind: "domain", label: "display_textmode" },
594
+ { kind: "artifact", label: "text_ui" }
595
+ ]
596
+ },
546
597
  {
547
598
  id: "rasterirq_api",
548
599
  appliesTo: ["tutorial", "sample", "manual"],
549
600
  tests: [
550
- { pattern: "#include\\s*<c64/rasterirq\\.h>", flags: "i", reason: "includes raster IRQ API", weight: 3, direct: true },
601
+ {
602
+ pattern: "#include\\s*<(?:c64|c128|vic20|plus4|x16|pet|atari|mega65|nes)/rasterirq\\.h>",
603
+ flags: "i",
604
+ reason: "includes raster IRQ API",
605
+ weight: 3,
606
+ direct: true
607
+ },
551
608
  { pattern: "\\brirq_[a-z0-9_]+\\b", flags: "i", reason: "uses rirq_* routines", weight: 2, direct: true },
552
609
  { pattern: "\\braster\\s*irq\\b|\\birq\\b", flags: "i", reason: "mentions IRQ timing", weight: 1 }
553
610
  ],
@@ -1949,6 +2006,7 @@ function hasClearCodingValue(hit) {
1949
2006
  function computeRankingBoost(hit) {
1950
2007
  let boost = 0;
1951
2008
  if (hit.resultType === "headers") boost += 20;
2009
+ if (hit.resultType === "headers" && hit.classificationSummary.track_status === "asserted") boost += 12;
1952
2010
  if (hit.resultType === "tutorials" || hit.resultType === "samples") boost += 6;
1953
2011
  if (hit.preview.signature) boost += 16;
1954
2012
  if ((hit.referencedUris?.length ?? 0) > 0) boost += 8;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oscar64-mcp-docs",
3
- "version": "1.0.8",
3
+ "version": "1.0.9",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "engines": {