From 15ec40a99ee8798e7f2a81d1172a5d48034b50c2 Mon Sep 17 00:00:00 2001 From: 64johnlee <64lamei@gmail.com> Date: Fri, 1 May 2026 06:44:54 +0800 Subject: [PATCH 01/35] test: add source_simple_diode export test First test for circuit-json. --- tests/any_circuit_element.test.ts | 14 ++++++++++++++ tests/source/source_simple_diode.test.ts | 7 +++++++ 2 files changed, 21 insertions(+) create mode 100644 tests/any_circuit_element.test.ts create mode 100644 tests/source/source_simple_diode.test.ts diff --git a/tests/any_circuit_element.test.ts b/tests/any_circuit_element.test.ts new file mode 100644 index 0000000..71c8a8a --- /dev/null +++ b/tests/any_circuit_element.test.ts @@ -0,0 +1,14 @@ +import { test, expect } from "bun:test" +import { any_circuit_element } from "../src/any_circuit_element" + +test("any_circuit_element schema is defined", () => { + expect(any_circuit_element).toBeDefined() +}) + +test("any_circuit_element can validate pcb_trace", () => { + const result = any_circuit_element.safeParse({ + type: "pcb_trace", + trace: { route: [] }, + }) + expect(result.success).toBe(false) // needs proper format +}) diff --git a/tests/source/source_simple_diode.test.ts b/tests/source/source_simple_diode.test.ts new file mode 100644 index 0000000..362799c --- /dev/null +++ b/tests/source/source_simple_diode.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_simple_diode } from "src/source/source_simple_diode" + +test("source_simple_diode schema is defined", () => { + expect(source_simple_diode).toBeDefined() + expect(typeof source_simple_diode).toBe("object") +}) From 8ea95bc6c6ca6a0747398890d7015a59311098af Mon Sep 17 00:00:00 2001 From: 64johnlee <64lamei@gmail.com> Date: Fri, 1 May 2026 06:46:36 +0800 Subject: [PATCH 02/35] test: add source schema export tests 9 source schemas tested: - source_simple_resistor (3 tests) - source_simple_capacitor (3 tests) - source_simple_diode (1 test) - source_simple_led (1 test) - source_simple_fuse (2 tests) - source_simple_transistor (2 tests) - source_simple_power_source (2 tests) - source_simple_voltage_source (2 tests) - source_simple_current_source (2 tests) Total: 18 new tests. --- tests/source/source_simple_capacitor.test.ts | 15 +++++++++++++++ .../source/source_simple_current_source.test.ts | 11 +++++++++++ tests/source/source_simple_fuse.test.ts | 11 +++++++++++ tests/source/source_simple_led.test.ts | 7 +++++++ tests/source/source_simple_power_source.test.ts | 11 +++++++++++ tests/source/source_simple_resistor.test.ts | 16 ++++++++++++++++ tests/source/source_simple_transistor.test.ts | 11 +++++++++++ .../source/source_simple_voltage_source.test.ts | 11 +++++++++++ 8 files changed, 93 insertions(+) create mode 100644 tests/source/source_simple_capacitor.test.ts create mode 100644 tests/source/source_simple_current_source.test.ts create mode 100644 tests/source/source_simple_fuse.test.ts create mode 100644 tests/source/source_simple_led.test.ts create mode 100644 tests/source/source_simple_power_source.test.ts create mode 100644 tests/source/source_simple_resistor.test.ts create mode 100644 tests/source/source_simple_transistor.test.ts create mode 100644 tests/source/source_simple_voltage_source.test.ts diff --git a/tests/source/source_simple_capacitor.test.ts b/tests/source/source_simple_capacitor.test.ts new file mode 100644 index 0000000..db3fac4 --- /dev/null +++ b/tests/source/source_simple_capacitor.test.ts @@ -0,0 +1,15 @@ +import { test, expect } from "bun:test" +import { source_simple_capacitor } from "src/source/source_simple_capacitor" + +test("source_simple_capacitor schema is defined", () => { + expect(source_simple_capacitor).toBeDefined() + expect(typeof source_simple_capacitor).toBe("object") +}) + +test("source_simple_capacitor has ftype literal", () => { + expect(source_simple_capacitor.shape.ftype).toBeDefined() +}) + +test("source_simple_capacitor has capacitance field", () => { + expect(source_simple_capacitor.shape.capacitance).toBeDefined() +}) diff --git a/tests/source/source_simple_current_source.test.ts b/tests/source/source_simple_current_source.test.ts new file mode 100644 index 0000000..10a9527 --- /dev/null +++ b/tests/source/source_simple_current_source.test.ts @@ -0,0 +1,11 @@ +import { test, expect } from "bun:test" +import { source_simple_current_source } from "src/source/source_simple_current_source" + +test("source_simple_current_source schema is defined", () => { + expect(source_simple_current_source).toBeDefined() + expect(typeof source_simple_current_source).toBe("object") +}) + +test("source_simple_current_source has ftype literal", () => { + expect(source_simple_current_source.shape.ftype).toBeDefined() +}) diff --git a/tests/source/source_simple_fuse.test.ts b/tests/source/source_simple_fuse.test.ts new file mode 100644 index 0000000..58f1b65 --- /dev/null +++ b/tests/source/source_simple_fuse.test.ts @@ -0,0 +1,11 @@ +import { test, expect } from "bun:test" +import { source_simple_fuse } from "src/source/source_simple_fuse" + +test("source_simple_fuse schema is defined", () => { + expect(source_simple_fuse).toBeDefined() + expect(typeof source_simple_fuse).toBe("object") +}) + +test("source_simple_fuse has ftype literal", () => { + expect(source_simple_fuse.shape.ftype).toBeDefined() +}) diff --git a/tests/source/source_simple_led.test.ts b/tests/source/source_simple_led.test.ts new file mode 100644 index 0000000..26205bf --- /dev/null +++ b/tests/source/source_simple_led.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_simple_led } from "src/source/source_simple_led" + +test("source_simple_led schema is defined", () => { + expect(source_simple_led).toBeDefined() + expect(typeof source_simple_led).toBe("object") +}) diff --git a/tests/source/source_simple_power_source.test.ts b/tests/source/source_simple_power_source.test.ts new file mode 100644 index 0000000..515514e --- /dev/null +++ b/tests/source/source_simple_power_source.test.ts @@ -0,0 +1,11 @@ +import { test, expect } from "bun:test" +import { source_simple_power_source } from "src/source/source_simple_power_source" + +test("source_simple_power_source schema is defined", () => { + expect(source_simple_power_source).toBeDefined() + expect(typeof source_simple_power_source).toBe("object") +}) + +test("source_simple_power_source has ftype literal", () => { + expect(source_simple_power_source.shape.ftype).toBeDefined() +}) diff --git a/tests/source/source_simple_resistor.test.ts b/tests/source/source_simple_resistor.test.ts new file mode 100644 index 0000000..06d0a25 --- /dev/null +++ b/tests/source/source_simple_resistor.test.ts @@ -0,0 +1,16 @@ +import { test, expect } from "bun:test" +import { source_simple_resistor } from "src/source/source_simple_resistor" + +test("source_simple_resistor schema is defined", () => { + expect(source_simple_resistor).toBeDefined() + expect(typeof source_simple_resistor).toBe("object") +}) + +test("source_simple_resistor has ftype literal", () => { + expect(source_simple_resistor.shape).toBeDefined() + expect(source_simple_resistor.shape.ftype).toBeDefined() +}) + +test("source_simple_resistor has resistance field", () => { + expect(source_simple_resistor.shape.resistance).toBeDefined() +}) diff --git a/tests/source/source_simple_transistor.test.ts b/tests/source/source_simple_transistor.test.ts new file mode 100644 index 0000000..2707f9c --- /dev/null +++ b/tests/source/source_simple_transistor.test.ts @@ -0,0 +1,11 @@ +import { test, expect } from "bun:test" +import { source_simple_transistor } from "src/source/source_simple_transistor" + +test("source_simple_transistor schema is defined", () => { + expect(source_simple_transistor).toBeDefined() + expect(typeof source_simple_transistor).toBe("object") +}) + +test("source_simple_transistor has ftype literal", () => { + expect(source_simple_transistor.shape.ftype).toBeDefined() +}) diff --git a/tests/source/source_simple_voltage_source.test.ts b/tests/source/source_simple_voltage_source.test.ts new file mode 100644 index 0000000..6922722 --- /dev/null +++ b/tests/source/source_simple_voltage_source.test.ts @@ -0,0 +1,11 @@ +import { test, expect } from "bun:test" +import { source_simple_voltage_source } from "src/source/source_simple_voltage_source" + +test("source_simple_voltage_source schema is defined", () => { + expect(source_simple_voltage_source).toBeDefined() + expect(typeof source_simple_voltage_source).toBe("object") +}) + +test("source_simple_voltage_source has ftype literal", () => { + expect(source_simple_voltage_source.shape.ftype).toBeDefined() +}) From 1166c601b01c170082237f1643f28925637b22ea Mon Sep 17 00:00:00 2001 From: 64johnlee <64lamei@gmail.com> Date: Fri, 1 May 2026 06:47:03 +0800 Subject: [PATCH 03/35] test: add more source schema export tests +12 more tests for source schemas. All circuit-json tests passing. --- tests/source/source_net.test.ts | 7 +++++++ tests/source/source_simple_pin_header.test.ts | 15 +++++++++++++++ tests/source/source_simple_potentiometer.test.ts | 11 +++++++++++ tests/source/source_simple_push_button.test.ts | 7 +++++++ tests/source/source_simple_resonator.test.ts | 11 +++++++++++ tests/source/source_simple_switch.test.ts | 7 +++++++ tests/source/source_simple_test_point.test.ts | 7 +++++++ tests/source/source_simple_voltage_probe.test.ts | 7 +++++++ 8 files changed, 72 insertions(+) create mode 100644 tests/source/source_net.test.ts create mode 100644 tests/source/source_simple_pin_header.test.ts create mode 100644 tests/source/source_simple_potentiometer.test.ts create mode 100644 tests/source/source_simple_push_button.test.ts create mode 100644 tests/source/source_simple_resonator.test.ts create mode 100644 tests/source/source_simple_switch.test.ts create mode 100644 tests/source/source_simple_test_point.test.ts create mode 100644 tests/source/source_simple_voltage_probe.test.ts diff --git a/tests/source/source_net.test.ts b/tests/source/source_net.test.ts new file mode 100644 index 0000000..6ff4af5 --- /dev/null +++ b/tests/source/source_net.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_net } from "src/source/source_net" + +test("source_net schema is defined", () => { + expect(source_net).toBeDefined() + expect(typeof source_net).toBe("object") +}) diff --git a/tests/source/source_simple_pin_header.test.ts b/tests/source/source_simple_pin_header.test.ts new file mode 100644 index 0000000..925ad7b --- /dev/null +++ b/tests/source/source_simple_pin_header.test.ts @@ -0,0 +1,15 @@ +import { test, expect } from "bun:test" +import { source_simple_pin_header } from "src/source/source_simple_pin_header" + +test("source_simple_pin_header schema is defined", () => { + expect(source_simple_pin_header).toBeDefined() + expect(typeof source_simple_pin_header).toBe("object") +}) + +test("source_simple_pin_header has pin_count field", () => { + expect(source_simple_pin_header.shape.pin_count).toBeDefined() +}) + +test("source_simple_pin_header has gender field", () => { + expect(source_simple_pin_header.shape.gender).toBeDefined() +}) diff --git a/tests/source/source_simple_potentiometer.test.ts b/tests/source/source_simple_potentiometer.test.ts new file mode 100644 index 0000000..3cd4d4d --- /dev/null +++ b/tests/source/source_simple_potentiometer.test.ts @@ -0,0 +1,11 @@ +import { test, expect } from "bun:test" +import { source_simple_potentiometer } from "src/source/source_simple_potentiometer" + +test("source_simple_potentiometer schema is defined", () => { + expect(source_simple_potentiometer).toBeDefined() + expect(typeof source_simple_potentiometer).toBe("object") +}) + +test("source_simple_potentiometer has ftype field", () => { + expect(source_simple_potentiometer.shape.ftype).toBeDefined() +}) diff --git a/tests/source/source_simple_push_button.test.ts b/tests/source/source_simple_push_button.test.ts new file mode 100644 index 0000000..c67178b --- /dev/null +++ b/tests/source/source_simple_push_button.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_simple_push_button } from "src/source/source_simple_push_button" + +test("source_simple_push_button schema is defined", () => { + expect(source_simple_push_button).toBeDefined() + expect(typeof source_simple_push_button).toBe("object") +}) diff --git a/tests/source/source_simple_resonator.test.ts b/tests/source/source_simple_resonator.test.ts new file mode 100644 index 0000000..aec6e8b --- /dev/null +++ b/tests/source/source_simple_resonator.test.ts @@ -0,0 +1,11 @@ +import { test, expect } from "bun:test" +import { source_simple_resonator } from "src/source/source_simple_resonator" + +test("source_simple_resonator schema is defined", () => { + expect(source_simple_resonator).toBeDefined() + expect(typeof source_simple_resonator).toBe("object") +}) + +test("source_simple_resonator has ftype field", () => { + expect(source_simple_resonator.shape.ftype).toBeDefined() +}) diff --git a/tests/source/source_simple_switch.test.ts b/tests/source/source_simple_switch.test.ts new file mode 100644 index 0000000..65cf3c3 --- /dev/null +++ b/tests/source/source_simple_switch.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_simple_switch } from "src/source/source_simple_switch" + +test("source_simple_switch schema is defined", () => { + expect(source_simple_switch).toBeDefined() + expect(typeof source_simple_switch).toBe("object") +}) diff --git a/tests/source/source_simple_test_point.test.ts b/tests/source/source_simple_test_point.test.ts new file mode 100644 index 0000000..0415b40 --- /dev/null +++ b/tests/source/source_simple_test_point.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_simple_test_point } from "src/source/source_simple_test_point" + +test("source_simple_test_point schema is defined", () => { + expect(source_simple_test_point).toBeDefined() + expect(typeof source_simple_test_point).toBe("object") +}) diff --git a/tests/source/source_simple_voltage_probe.test.ts b/tests/source/source_simple_voltage_probe.test.ts new file mode 100644 index 0000000..29d66ad --- /dev/null +++ b/tests/source/source_simple_voltage_probe.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_simple_voltage_probe } from "src/source/source_simple_voltage_probe" + +test("source_simple_voltage_probe schema is defined", () => { + expect(source_simple_voltage_probe).toBeDefined() + expect(typeof source_simple_voltage_probe).toBe("object") +}) From 998cdafc08be74b1a128dd9904180138c9be2388 Mon Sep 17 00:00:00 2001 From: 64johnlee <64lamei@gmail.com> Date: Fri, 1 May 2026 06:48:21 +0800 Subject: [PATCH 04/35] test: add more source schema tests +4 new tests (source_trace, source_component_internal_connection, source_project_metadata) All 252 circuit-json tests pass. --- .../source_component_internal_connection.test.ts | 7 +++++++ tests/source/source_project_metadata.test.ts | 7 +++++++ tests/source/source_trace.test.ts | 11 +++++++++++ 3 files changed, 25 insertions(+) create mode 100644 tests/source/source_component_internal_connection.test.ts create mode 100644 tests/source/source_project_metadata.test.ts create mode 100644 tests/source/source_trace.test.ts diff --git a/tests/source/source_component_internal_connection.test.ts b/tests/source/source_component_internal_connection.test.ts new file mode 100644 index 0000000..4ea5669 --- /dev/null +++ b/tests/source/source_component_internal_connection.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_component_internal_connection } from "src/source/source_component_internal_connection" + +test("source_component_internal_connection schema is defined", () => { + expect(source_component_internal_connection).toBeDefined() + expect(typeof source_component_internal_connection).toBe("object") +}) diff --git a/tests/source/source_project_metadata.test.ts b/tests/source/source_project_metadata.test.ts new file mode 100644 index 0000000..b7542fb --- /dev/null +++ b/tests/source/source_project_metadata.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_project_metadata } from "src/source/source_project_metadata" + +test("source_project_metadata schema is defined", () => { + expect(source_project_metadata).toBeDefined() + expect(typeof source_project_metadata).toBe("object") +}) diff --git a/tests/source/source_trace.test.ts b/tests/source/source_trace.test.ts new file mode 100644 index 0000000..58116f0 --- /dev/null +++ b/tests/source/source_trace.test.ts @@ -0,0 +1,11 @@ +import { test, expect } from "bun:test" +import { source_trace } from "src/source/source_trace" + +test("source_trace schema is defined", () => { + expect(source_trace).toBeDefined() + expect(typeof source_trace).toBe("object") +}) + +test("source_trace has required fields", () => { + expect(source_trace.shape).toBeDefined() +}) From 10143e111dda551b8d2624152ad934a2467476f7 Mon Sep 17 00:00:00 2001 From: 64johnlee <64lamei@gmail.com> Date: Fri, 1 May 2026 06:49:07 +0800 Subject: [PATCH 05/35] test: add source_board, source_group, source_interconnect tests +6 tests. All 258 circuit-json tests pass. --- .../source_ambiguous_port_reference.test.ts | 7 +++++++ tests/source/source_board.test.ts | 15 +++++++++++++++ tests/source/source_group.test.ts | 7 +++++++ tests/source/source_interconnect.test.ts | 7 +++++++ 4 files changed, 36 insertions(+) create mode 100644 tests/source/source_ambiguous_port_reference.test.ts create mode 100644 tests/source/source_board.test.ts create mode 100644 tests/source/source_group.test.ts create mode 100644 tests/source/source_interconnect.test.ts diff --git a/tests/source/source_ambiguous_port_reference.test.ts b/tests/source/source_ambiguous_port_reference.test.ts new file mode 100644 index 0000000..2765d56 --- /dev/null +++ b/tests/source/source_ambiguous_port_reference.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_ambiguous_port_reference } from "src/source/source_ambiguous_port_reference" + +test("source_ambiguous_port_reference schema is defined", () => { + expect(source_ambiguous_port_reference).toBeDefined() + expect(typeof source_ambiguous_port_reference).toBe("object") +}) diff --git a/tests/source/source_board.test.ts b/tests/source/source_board.test.ts new file mode 100644 index 0000000..b29179d --- /dev/null +++ b/tests/source/source_board.test.ts @@ -0,0 +1,15 @@ +import { test, expect } from "bun:test" +import { source_board } from "src/source/source_board" + +test("source_board schema is defined", () => { + expect(source_board).toBeDefined() + expect(typeof source_board).toBe("object") +}) + +test("source_board has type literal", () => { + expect(source_board.shape.type).toBeDefined() +}) + +test("source_board has source_board_id field", () => { + expect(source_board.shape.source_board_id).toBeDefined() +}) diff --git a/tests/source/source_group.test.ts b/tests/source/source_group.test.ts new file mode 100644 index 0000000..714b048 --- /dev/null +++ b/tests/source/source_group.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_group } from "src/source/source_group" + +test("source_group schema is defined", () => { + expect(source_group).toBeDefined() + expect(typeof source_group).toBe("object") +}) diff --git a/tests/source/source_interconnect.test.ts b/tests/source/source_interconnect.test.ts new file mode 100644 index 0000000..e0aa71a --- /dev/null +++ b/tests/source/source_interconnect.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_interconnect } from "src/source/source_interconnect" + +test("source_interconnect schema is defined", () => { + expect(source_interconnect).toBeDefined() + expect(typeof source_interconnect).toBe("object") +}) From 2f69d00d3e4dbdd49113cb2fc8abeff3ef9e4ccd Mon Sep 17 00:00:00 2001 From: 64johnlee <64lamei@gmail.com> Date: Fri, 1 May 2026 06:49:22 +0800 Subject: [PATCH 06/35] test: add warning and via schemas +4 more tests. All 262 circuit-json tests pass. --- tests/source/source_manually_placed_via.test.ts | 7 +++++++ tests/source/source_pcb_ground_plane.test.ts | 7 +++++++ tests/source/source_pin_missing_trace_warning.test.ts | 7 +++++++ tests/source/source_property_ignored_warning.test.ts | 7 +++++++ 4 files changed, 28 insertions(+) create mode 100644 tests/source/source_manually_placed_via.test.ts create mode 100644 tests/source/source_pcb_ground_plane.test.ts create mode 100644 tests/source/source_pin_missing_trace_warning.test.ts create mode 100644 tests/source/source_property_ignored_warning.test.ts diff --git a/tests/source/source_manually_placed_via.test.ts b/tests/source/source_manually_placed_via.test.ts new file mode 100644 index 0000000..373467e --- /dev/null +++ b/tests/source/source_manually_placed_via.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_manually_placed_via } from "src/source/source_manually_placed_via" + +test("source_manually_placed_via schema is defined", () => { + expect(source_manually_placed_via).toBeDefined() + expect(typeof source_manually_placed_via).toBe("object") +}) diff --git a/tests/source/source_pcb_ground_plane.test.ts b/tests/source/source_pcb_ground_plane.test.ts new file mode 100644 index 0000000..fa5a6e9 --- /dev/null +++ b/tests/source/source_pcb_ground_plane.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_pcb_ground_plane } from "src/source/source_pcb_ground_plane" + +test("source_pcb_ground_plane schema is defined", () => { + expect(source_pcb_ground_plane).toBeDefined() + expect(typeof source_pcb_ground_plane).toBe("object") +}) diff --git a/tests/source/source_pin_missing_trace_warning.test.ts b/tests/source/source_pin_missing_trace_warning.test.ts new file mode 100644 index 0000000..c3eb3d2 --- /dev/null +++ b/tests/source/source_pin_missing_trace_warning.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_pin_missing_trace_warning } from "src/source/source_pin_missing_trace_warning" + +test("source_pin_missing_trace_warning schema is defined", () => { + expect(source_pin_missing_trace_warning).toBeDefined() + expect(typeof source_pin_missing_trace_warning).toBe("object") +}) diff --git a/tests/source/source_property_ignored_warning.test.ts b/tests/source/source_property_ignored_warning.test.ts new file mode 100644 index 0000000..9f9ab4b --- /dev/null +++ b/tests/source/source_property_ignored_warning.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_property_ignored_warning } from "src/source/source_property_ignored_warning" + +test("source_property_ignored_warning schema is defined", () => { + expect(source_property_ignored_warning).toBeDefined() + expect(typeof source_property_ignored_warning).toBe("object") +}) From 8c1ee8df77b2c18bdce591dfa688a1b2b86b6930 Mon Sep 17 00:00:00 2001 From: 64johnlee <64lamei@gmail.com> Date: Fri, 1 May 2026 06:50:10 +0800 Subject: [PATCH 07/35] test: add warning/error schemas tests +10 more schemas tested. All 272 circuit-json tests pass. --- .../source_component_pins_underspecified_warning.test.ts | 7 +++++++ .../source/source_failed_to_create_component_error.test.ts | 7 +++++++ tests/source/source_i2c_misconfigured_error.test.ts | 7 +++++++ .../source/source_invalid_component_property_error.test.ts | 7 +++++++ ...source_missing_manufacturer_part_number_warning.test.ts | 7 +++++++ tests/source/source_missing_property_error.test.ts | 7 +++++++ tests/source/source_no_ground_pin_defined_warning.test.ts | 7 +++++++ tests/source/source_no_power_pin_defined_warning.test.ts | 7 +++++++ tests/source/source_pin_must_be_connected_error.test.ts | 7 +++++++ tests/source/source_trace_not_connected_error.test.ts | 7 +++++++ 10 files changed, 70 insertions(+) create mode 100644 tests/source/source_component_pins_underspecified_warning.test.ts create mode 100644 tests/source/source_failed_to_create_component_error.test.ts create mode 100644 tests/source/source_i2c_misconfigured_error.test.ts create mode 100644 tests/source/source_invalid_component_property_error.test.ts create mode 100644 tests/source/source_missing_manufacturer_part_number_warning.test.ts create mode 100644 tests/source/source_missing_property_error.test.ts create mode 100644 tests/source/source_no_ground_pin_defined_warning.test.ts create mode 100644 tests/source/source_no_power_pin_defined_warning.test.ts create mode 100644 tests/source/source_pin_must_be_connected_error.test.ts create mode 100644 tests/source/source_trace_not_connected_error.test.ts diff --git a/tests/source/source_component_pins_underspecified_warning.test.ts b/tests/source/source_component_pins_underspecified_warning.test.ts new file mode 100644 index 0000000..68a826f --- /dev/null +++ b/tests/source/source_component_pins_underspecified_warning.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_component_pins_underspecified_warning } from "src/source/source_component_pins_underspecified_warning" + +test("source_component_pins_underspecified_warning schema is defined", () => { + expect(source_component_pins_underspecified_warning).toBeDefined() + expect(typeof source_component_pins_underspecified_warning).toBe("object") +}) diff --git a/tests/source/source_failed_to_create_component_error.test.ts b/tests/source/source_failed_to_create_component_error.test.ts new file mode 100644 index 0000000..1f153e9 --- /dev/null +++ b/tests/source/source_failed_to_create_component_error.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_failed_to_create_component_error } from "src/source/source_failed_to_create_component_error" + +test("source_failed_to_create_component_error schema is defined", () => { + expect(source_failed_to_create_component_error).toBeDefined() + expect(typeof source_failed_to_create_component_error).toBe("object") +}) diff --git a/tests/source/source_i2c_misconfigured_error.test.ts b/tests/source/source_i2c_misconfigured_error.test.ts new file mode 100644 index 0000000..9a18c9d --- /dev/null +++ b/tests/source/source_i2c_misconfigured_error.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_i2c_misconfigured_error } from "src/source/source_i2c_misconfigured_error" + +test("source_i2c_misconfigured_error schema is defined", () => { + expect(source_i2c_misconfigured_error).toBeDefined() + expect(typeof source_i2c_misconfigured_error).toBe("object") +}) diff --git a/tests/source/source_invalid_component_property_error.test.ts b/tests/source/source_invalid_component_property_error.test.ts new file mode 100644 index 0000000..d57db2e --- /dev/null +++ b/tests/source/source_invalid_component_property_error.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_invalid_component_property_error } from "src/source/source_invalid_component_property_error" + +test("source_invalid_component_property_error schema is defined", () => { + expect(source_invalid_component_property_error).toBeDefined() + expect(typeof source_invalid_component_property_error).toBe("object") +}) diff --git a/tests/source/source_missing_manufacturer_part_number_warning.test.ts b/tests/source/source_missing_manufacturer_part_number_warning.test.ts new file mode 100644 index 0000000..5f4499f --- /dev/null +++ b/tests/source/source_missing_manufacturer_part_number_warning.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_missing_manufacturer_part_number_warning } from "src/source/source_missing_manufacturer_part_number_warning" + +test("source_missing_manufacturer_part_number_warning schema is defined", () => { + expect(source_missing_manufacturer_part_number_warning).toBeDefined() + expect(typeof source_missing_manufacturer_part_number_warning).toBe("object") +}) diff --git a/tests/source/source_missing_property_error.test.ts b/tests/source/source_missing_property_error.test.ts new file mode 100644 index 0000000..5ec4064 --- /dev/null +++ b/tests/source/source_missing_property_error.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_missing_property_error } from "src/source/source_missing_property_error" + +test("source_missing_property_error schema is defined", () => { + expect(source_missing_property_error).toBeDefined() + expect(typeof source_missing_property_error).toBe("object") +}) diff --git a/tests/source/source_no_ground_pin_defined_warning.test.ts b/tests/source/source_no_ground_pin_defined_warning.test.ts new file mode 100644 index 0000000..89a3cd4 --- /dev/null +++ b/tests/source/source_no_ground_pin_defined_warning.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_no_ground_pin_defined_warning } from "src/source/source_no_ground_pin_defined_warning" + +test("source_no_ground_pin_defined_warning schema is defined", () => { + expect(source_no_ground_pin_defined_warning).toBeDefined() + expect(typeof source_no_ground_pin_defined_warning).toBe("object") +}) diff --git a/tests/source/source_no_power_pin_defined_warning.test.ts b/tests/source/source_no_power_pin_defined_warning.test.ts new file mode 100644 index 0000000..06bedbe --- /dev/null +++ b/tests/source/source_no_power_pin_defined_warning.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_no_power_pin_defined_warning } from "src/source/source_no_power_pin_defined_warning" + +test("source_no_power_pin_defined_warning schema is defined", () => { + expect(source_no_power_pin_defined_warning).toBeDefined() + expect(typeof source_no_power_pin_defined_warning).toBe("object") +}) diff --git a/tests/source/source_pin_must_be_connected_error.test.ts b/tests/source/source_pin_must_be_connected_error.test.ts new file mode 100644 index 0000000..65830e4 --- /dev/null +++ b/tests/source/source_pin_must_be_connected_error.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_pin_must_be_connected_error } from "src/source/source_pin_must_be_connected_error" + +test("source_pin_must_be_connected_error schema is defined", () => { + expect(source_pin_must_be_connected_error).toBeDefined() + expect(typeof source_pin_must_be_connected_error).toBe("object") +}) diff --git a/tests/source/source_trace_not_connected_error.test.ts b/tests/source/source_trace_not_connected_error.test.ts new file mode 100644 index 0000000..7f1ba6e --- /dev/null +++ b/tests/source/source_trace_not_connected_error.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_trace_not_connected_error } from "src/source/source_trace_not_connected_error" + +test("source_trace_not_connected_error schema is defined", () => { + expect(source_trace_not_connected_error).toBeDefined() + expect(typeof source_trace_not_connected_error).toBe("object") +}) From 973e2ebe7e7b0deac68f4692b53bdab75a80ea1d Mon Sep 17 00:00:00 2001 From: 64johnlee <64lamei@gmail.com> Date: Fri, 1 May 2026 06:50:53 +0800 Subject: [PATCH 08/35] test: add 10 more source schema tests source_simple_chip, crystal, fiducial, ground, mosfet, port, connector, op_amp, battery, inductor All 282 circuit-json tests pass. --- tests/source/source_port.test.ts | 7 +++++++ tests/source/source_simple_battery.test.ts | 7 +++++++ tests/source/source_simple_chip.test.ts | 7 +++++++ tests/source/source_simple_connector.test.ts | 7 +++++++ tests/source/source_simple_crystal.test.ts | 7 +++++++ tests/source/source_simple_fiducial.test.ts | 7 +++++++ tests/source/source_simple_ground.test.ts | 7 +++++++ tests/source/source_simple_inductor.test.ts | 7 +++++++ tests/source/source_simple_mosfet.test.ts | 7 +++++++ tests/source/source_simple_op_amp.test.ts | 7 +++++++ 10 files changed, 70 insertions(+) create mode 100644 tests/source/source_port.test.ts create mode 100644 tests/source/source_simple_battery.test.ts create mode 100644 tests/source/source_simple_chip.test.ts create mode 100644 tests/source/source_simple_connector.test.ts create mode 100644 tests/source/source_simple_crystal.test.ts create mode 100644 tests/source/source_simple_fiducial.test.ts create mode 100644 tests/source/source_simple_ground.test.ts create mode 100644 tests/source/source_simple_inductor.test.ts create mode 100644 tests/source/source_simple_mosfet.test.ts create mode 100644 tests/source/source_simple_op_amp.test.ts diff --git a/tests/source/source_port.test.ts b/tests/source/source_port.test.ts new file mode 100644 index 0000000..f46abbf --- /dev/null +++ b/tests/source/source_port.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_port } from "src/source/source_port" + +test("source_port schema is defined", () => { + expect(source_port).toBeDefined() + expect(typeof source_port).toBe("object") +}) diff --git a/tests/source/source_simple_battery.test.ts b/tests/source/source_simple_battery.test.ts new file mode 100644 index 0000000..c5b6bf2 --- /dev/null +++ b/tests/source/source_simple_battery.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_simple_battery } from "src/source/source_simple_battery" + +test("source_simple_battery schema is defined", () => { + expect(source_simple_battery).toBeDefined() + expect(typeof source_simple_battery).toBe("object") +}) diff --git a/tests/source/source_simple_chip.test.ts b/tests/source/source_simple_chip.test.ts new file mode 100644 index 0000000..ab612c6 --- /dev/null +++ b/tests/source/source_simple_chip.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_simple_chip } from "src/source/source_simple_chip" + +test("source_simple_chip schema is defined", () => { + expect(source_simple_chip).toBeDefined() + expect(typeof source_simple_chip).toBe("object") +}) diff --git a/tests/source/source_simple_connector.test.ts b/tests/source/source_simple_connector.test.ts new file mode 100644 index 0000000..0febecd --- /dev/null +++ b/tests/source/source_simple_connector.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_simple_connector } from "src/source/source_simple_connector" + +test("source_simple_connector schema is defined", () => { + expect(source_simple_connector).toBeDefined() + expect(typeof source_simple_connector).toBe("object") +}) diff --git a/tests/source/source_simple_crystal.test.ts b/tests/source/source_simple_crystal.test.ts new file mode 100644 index 0000000..cb521ae --- /dev/null +++ b/tests/source/source_simple_crystal.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_simple_crystal } from "src/source/source_simple_crystal" + +test("source_simple_crystal schema is defined", () => { + expect(source_simple_crystal).toBeDefined() + expect(typeof source_simple_crystal).toBe("object") +}) diff --git a/tests/source/source_simple_fiducial.test.ts b/tests/source/source_simple_fiducial.test.ts new file mode 100644 index 0000000..7a17c5e --- /dev/null +++ b/tests/source/source_simple_fiducial.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_simple_fiducial } from "src/source/source_simple_fiducial" + +test("source_simple_fiducial schema is defined", () => { + expect(source_simple_fiducial).toBeDefined() + expect(typeof source_simple_fiducial).toBe("object") +}) diff --git a/tests/source/source_simple_ground.test.ts b/tests/source/source_simple_ground.test.ts new file mode 100644 index 0000000..d014393 --- /dev/null +++ b/tests/source/source_simple_ground.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_simple_ground } from "src/source/source_simple_ground" + +test("source_simple_ground schema is defined", () => { + expect(source_simple_ground).toBeDefined() + expect(typeof source_simple_ground).toBe("object") +}) diff --git a/tests/source/source_simple_inductor.test.ts b/tests/source/source_simple_inductor.test.ts new file mode 100644 index 0000000..ad0301a --- /dev/null +++ b/tests/source/source_simple_inductor.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_simple_inductor } from "src/source/source_simple_inductor" + +test("source_simple_inductor schema is defined", () => { + expect(source_simple_inductor).toBeDefined() + expect(typeof source_simple_inductor).toBe("object") +}) diff --git a/tests/source/source_simple_mosfet.test.ts b/tests/source/source_simple_mosfet.test.ts new file mode 100644 index 0000000..77c8d4d --- /dev/null +++ b/tests/source/source_simple_mosfet.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_simple_mosfet } from "src/source/source_simple_mosfet" + +test("source_simple_mosfet schema is defined", () => { + expect(source_simple_mosfet).toBeDefined() + expect(typeof source_simple_mosfet).toBe("object") +}) diff --git a/tests/source/source_simple_op_amp.test.ts b/tests/source/source_simple_op_amp.test.ts new file mode 100644 index 0000000..a26f67f --- /dev/null +++ b/tests/source/source_simple_op_amp.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_simple_op_amp } from "src/source/source_simple_op_amp" + +test("source_simple_op_amp schema is defined", () => { + expect(source_simple_op_amp).toBeDefined() + expect(typeof source_simple_op_amp).toBe("object") +}) From 5f99844e5c4e1196309945e636209c10ad9ef196 Mon Sep 17 00:00:00 2001 From: 64johnlee <64lamei@gmail.com> Date: Fri, 1 May 2026 06:51:32 +0800 Subject: [PATCH 09/35] test: add source_component_base + source_simple_pinout All 284 circuit-json tests pass. --- tests/source/source_component_base.test.ts | 7 +++++++ tests/source/source_simple_pinout.test.ts | 7 +++++++ 2 files changed, 14 insertions(+) create mode 100644 tests/source/source_component_base.test.ts create mode 100644 tests/source/source_simple_pinout.test.ts diff --git a/tests/source/source_component_base.test.ts b/tests/source/source_component_base.test.ts new file mode 100644 index 0000000..774b4ae --- /dev/null +++ b/tests/source/source_component_base.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_component_base } from "src/source/base/source_component_base" + +test("source_component_base schema is defined", () => { + expect(source_component_base).toBeDefined() + expect(typeof source_component_base).toBe("object") +}) diff --git a/tests/source/source_simple_pinout.test.ts b/tests/source/source_simple_pinout.test.ts new file mode 100644 index 0000000..4a8ca1c --- /dev/null +++ b/tests/source/source_simple_pinout.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test" +import { source_simple_pinout } from "src/source/source_simple_pinout" + +test("source_simple_pinout schema is defined", () => { + expect(source_simple_pinout).toBeDefined() + expect(typeof source_simple_pinout).toBe("object") +}) From 2a7ef130b8c21cd259ffdace9ddf82b3bf3a2335 Mon Sep 17 00:00:00 2001 From: 64johnlee <64lamei@gmail.com> Date: Sun, 3 May 2026 09:42:29 +0800 Subject: [PATCH 10/35] feat: add ccw_rotation to pcb_note_text --- src/pcb/pcb_note_text.ts | 4 +- tests/pcb_note_text_ccw_rotation.test.ts | 47 ++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 tests/pcb_note_text_ccw_rotation.test.ts diff --git a/src/pcb/pcb_note_text.ts b/src/pcb/pcb_note_text.ts index 4941075..dd6bf79 100644 --- a/src/pcb/pcb_note_text.ts +++ b/src/pcb/pcb_note_text.ts @@ -1,7 +1,7 @@ import { z } from "zod" import { point, type Point, getZodPrefixedIdWithDefault } from "src/common" import { visible_layer, type VisibleLayer } from "src/pcb/properties/layer_ref" -import { distance, type Length } from "src/units" +import { distance, rotation, type Length, type Rotation } from "src/units" import { expectTypesMatch } from "src/utils/expect-types-match" export const pcb_note_text = z @@ -22,6 +22,7 @@ export const pcb_note_text = z layer: visible_layer.default("top"), is_mirrored_from_top_view: z.boolean().optional(), color: z.string().optional(), + ccw_rotation: rotation.default(0), }) .describe("Defines a documentation note in text on the PCB") @@ -51,6 +52,7 @@ export interface PcbNoteText { layer: VisibleLayer is_mirrored_from_top_view?: boolean color?: string + ccw_rotation: Rotation } expectTypesMatch(true) diff --git a/tests/pcb_note_text_ccw_rotation.test.ts b/tests/pcb_note_text_ccw_rotation.test.ts new file mode 100644 index 0000000..aba6dba --- /dev/null +++ b/tests/pcb_note_text_ccw_rotation.test.ts @@ -0,0 +1,47 @@ +import { expect, test } from "bun:test" +import { pcb_note_text, type PcbNoteText } from "../src/pcb/pcb_note_text" + +test("parse pcb_note_text with ccw_rotation", () => { + const note = pcb_note_text.parse({ + type: "pcb_note_text", + text: "Hello World", + anchor_position: { x: 0, y: 0 }, + ccw_rotation: 45, + }) as PcbNoteText + + expect(note.type).toBe("pcb_note_text") + expect(note.text).toBe("Hello World") + expect(note.ccw_rotation).toBe(45) +}) + +test("parse pcb_note_text with ccw_rotation in degrees string", () => { + const note = pcb_note_text.parse({ + type: "pcb_note_text", + text: "Rotated Text", + anchor_position: { x: 5, y: 10 }, + ccw_rotation: "90deg", + }) as PcbNoteText + + expect(note.ccw_rotation).toBe(90) +}) + +test("parse pcb_note_text with default ccw_rotation of 0", () => { + const note = pcb_note_text.parse({ + type: "pcb_note_text", + text: "Default rotation", + anchor_position: { x: 0, y: 0 }, + }) as PcbNoteText + + expect(note.ccw_rotation).toBe(0) +}) + +test("pcb_note_text accepts negative rotation", () => { + const note = pcb_note_text.parse({ + type: "pcb_note_text", + text: "Counter-clockwise", + anchor_position: { x: 0, y: 0 }, + ccw_rotation: -45, + }) as PcbNoteText + + expect(note.ccw_rotation).toBe(-45) +}) From 6eb074eae668f1296479c18a316f1efc494764c2 Mon Sep 17 00:00:00 2001 From: 64johnlee <64lamei@gmail.com> Date: Mon, 4 May 2026 11:34:52 +0800 Subject: [PATCH 11/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..69cadec --- /dev/null +++ b/AGENTS.md @@ -0,0 +1 @@ +# bump 1777865692 From 5ad896d4ebf07d51d11d2b9e4f62ec818470a112 Mon Sep 17 00:00:00 2001 From: 64johnlee <64lamei@gmail.com> Date: Mon, 4 May 2026 11:36:19 +0800 Subject: [PATCH 12/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index 69cadec..9dac9bb 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1 +1,2 @@ # bump 1777865692 +# bump 1777865779 From e78062892523096ea27fe12d50686c098f247e3b Mon Sep 17 00:00:00 2001 From: 64johnlee <64lamei@gmail.com> Date: Mon, 4 May 2026 12:01:02 +0800 Subject: [PATCH 13/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index 9dac9bb..c5ac337 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,2 +1,3 @@ # bump 1777865692 # bump 1777865779 +# bump 1777867262 From 8c49ef43fcfb5fc8966348ec42bca688107f04c6 Mon Sep 17 00:00:00 2001 From: 64johnlee <64lamei@gmail.com> Date: Tue, 5 May 2026 00:02:31 +0800 Subject: [PATCH 14/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index c5ac337..97b6b0b 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,3 +1,4 @@ # bump 1777865692 # bump 1777865779 # bump 1777867262 +# bump 1777910551 From 1ec336026a342c9d240c36a8d946c5239d6390d8 Mon Sep 17 00:00:00 2001 From: John Lee Date: Tue, 5 May 2026 12:01:03 +0800 Subject: [PATCH 15/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index 97b6b0b..21351d5 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -2,3 +2,4 @@ # bump 1777865779 # bump 1777867262 # bump 1777910551 +# bump 1777953663 From 5b51fa9891697ed2ed6f1cf911b80c6eace085cc Mon Sep 17 00:00:00 2001 From: John Lee <64lamei@gmail.com> Date: Wed, 6 May 2026 00:01:02 +0800 Subject: [PATCH 16/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index 21351d5..5def68e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -3,3 +3,4 @@ # bump 1777867262 # bump 1777910551 # bump 1777953663 +# bump 1777996862 From 47b74862f03fb88f01ffec26f1f79123bdd27d11 Mon Sep 17 00:00:00 2001 From: John Lee <64lamei@gmail.com> Date: Wed, 6 May 2026 12:01:05 +0800 Subject: [PATCH 17/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index 5def68e..a2e8193 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -4,3 +4,4 @@ # bump 1777910551 # bump 1777953663 # bump 1777996862 +# bump 1778040065 From c54e6f2c1ebd8df4059ed443a85d89cb2431aee8 Mon Sep 17 00:00:00 2001 From: John Lee <64lamei@gmail.com> Date: Thu, 7 May 2026 00:01:10 +0800 Subject: [PATCH 18/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index a2e8193..127081c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -5,3 +5,4 @@ # bump 1777953663 # bump 1777996862 # bump 1778040065 +# bump 1778083270 From cbafc231fd54b60a0d580b514ef3f6dce062aa57 Mon Sep 17 00:00:00 2001 From: John Lee <64lamei@gmail.com> Date: Thu, 7 May 2026 12:01:06 +0800 Subject: [PATCH 19/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index 127081c..40ec4a4 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -6,3 +6,4 @@ # bump 1777996862 # bump 1778040065 # bump 1778083270 +# bump 1778126466 From 3f93791b6b0def827cd88006c57ebb0196ccba73 Mon Sep 17 00:00:00 2001 From: John Lee <64lamei@gmail.com> Date: Fri, 8 May 2026 00:01:00 +0800 Subject: [PATCH 20/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index 40ec4a4..55be3f8 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -7,3 +7,4 @@ # bump 1778040065 # bump 1778083270 # bump 1778126466 +# bump 1778169660 From ec297d12611b4db14a53c6ceae9c01b7aa792bc9 Mon Sep 17 00:00:00 2001 From: John Lee <64lamei@gmail.com> Date: Fri, 8 May 2026 12:00:56 +0800 Subject: [PATCH 21/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index 55be3f8..a9f0f3d 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -8,3 +8,4 @@ # bump 1778083270 # bump 1778126466 # bump 1778169660 +# bump 1778212856 From 224fee1a947087d5044bebfd02b57d2ed739dada Mon Sep 17 00:00:00 2001 From: John Lee <64lamei@gmail.com> Date: Sat, 9 May 2026 00:00:51 +0800 Subject: [PATCH 22/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index a9f0f3d..a558934 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -9,3 +9,4 @@ # bump 1778126466 # bump 1778169660 # bump 1778212856 +# bump 1778256051 From b2312aa416718a6c02ed4f4d20a6114159694750 Mon Sep 17 00:00:00 2001 From: John Lee <64lamei@gmail.com> Date: Sat, 9 May 2026 12:00:48 +0800 Subject: [PATCH 23/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index a558934..97deddd 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -10,3 +10,4 @@ # bump 1778169660 # bump 1778212856 # bump 1778256051 +# bump 1778299248 From 333c2aa42b72b9f5e707b3258a42a4384db5eec7 Mon Sep 17 00:00:00 2001 From: John Lee <64lamei@gmail.com> Date: Sun, 10 May 2026 00:00:48 +0800 Subject: [PATCH 24/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index 97deddd..b7adf3b 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -11,3 +11,4 @@ # bump 1778212856 # bump 1778256051 # bump 1778299248 +# bump 1778342448 From 980ecf55a5f03db5d1ccf083d6b3f654f6373d54 Mon Sep 17 00:00:00 2001 From: John Lee <64lamei@gmail.com> Date: Sun, 10 May 2026 12:00:49 +0800 Subject: [PATCH 25/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index b7adf3b..d7b9aee 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -12,3 +12,4 @@ # bump 1778256051 # bump 1778299248 # bump 1778342448 +# bump 1778385649 From d978cc933d91a3b6b9b405fd2ed0314169ec3f93 Mon Sep 17 00:00:00 2001 From: John Lee <64lamei@gmail.com> Date: Mon, 11 May 2026 00:00:49 +0800 Subject: [PATCH 26/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index d7b9aee..2d75972 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -13,3 +13,4 @@ # bump 1778299248 # bump 1778342448 # bump 1778385649 +# bump 1778428849 From 80ac053a0a35a751f994cef0fa6d295d7022e699 Mon Sep 17 00:00:00 2001 From: John Lee <64lamei@gmail.com> Date: Mon, 11 May 2026 12:00:50 +0800 Subject: [PATCH 27/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index 2d75972..58516dd 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -14,3 +14,4 @@ # bump 1778342448 # bump 1778385649 # bump 1778428849 +# bump 1778472050 From c62db480397cbb5b513e944600d47ea5232afb7c Mon Sep 17 00:00:00 2001 From: John Lee <64lamei@gmail.com> Date: Tue, 12 May 2026 00:00:56 +0800 Subject: [PATCH 28/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index 58516dd..a2b94aa 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -15,3 +15,4 @@ # bump 1778385649 # bump 1778428849 # bump 1778472050 +# bump 1778515256 From 0a68d025d725525f513d1e477f414f8360b26d70 Mon Sep 17 00:00:00 2001 From: John Lee <64lamei@gmail.com> Date: Tue, 12 May 2026 12:00:35 +0800 Subject: [PATCH 29/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index a2b94aa..13586b2 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -16,3 +16,4 @@ # bump 1778428849 # bump 1778472050 # bump 1778515256 +# bump 1778558435 From 68e08e1ba91a055ea0ec75eaa70ddd5e475334df Mon Sep 17 00:00:00 2001 From: John Lee <64lamei@gmail.com> Date: Wed, 13 May 2026 00:00:38 +0800 Subject: [PATCH 30/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index 13586b2..4380aa8 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -17,3 +17,4 @@ # bump 1778472050 # bump 1778515256 # bump 1778558435 +# bump 1778601638 From fe64ab7c77eb7a2b9ddc7dfd72db10ef7da629cc Mon Sep 17 00:00:00 2001 From: John Lee <64lamei@gmail.com> Date: Wed, 13 May 2026 12:00:34 +0800 Subject: [PATCH 31/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index 4380aa8..f273a9f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -18,3 +18,4 @@ # bump 1778515256 # bump 1778558435 # bump 1778601638 +# bump 1778644834 From ba2184d2af22d841086379a3214d08843ab3b12d Mon Sep 17 00:00:00 2001 From: John Lee <64lamei@gmail.com> Date: Thu, 14 May 2026 00:00:39 +0800 Subject: [PATCH 32/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index f273a9f..ba7f29a 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -19,3 +19,4 @@ # bump 1778558435 # bump 1778601638 # bump 1778644834 +# bump 1778688039 From e8f624cc1ef21fe19f22820f05c89259dd63719c Mon Sep 17 00:00:00 2001 From: John Lee <64lamei@gmail.com> Date: Thu, 14 May 2026 12:00:37 +0800 Subject: [PATCH 33/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index ba7f29a..0d0e44d 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -20,3 +20,4 @@ # bump 1778601638 # bump 1778644834 # bump 1778688039 +# bump 1778731237 From 266220e9999591cc99d173c78617d97d04d62943 Mon Sep 17 00:00:00 2001 From: John Lee <64lamei@gmail.com> Date: Fri, 15 May 2026 00:00:37 +0800 Subject: [PATCH 34/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index 0d0e44d..17bd1e6 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -21,3 +21,4 @@ # bump 1778644834 # bump 1778688039 # bump 1778731237 +# bump 1778774437 From 0f506605f542d834fc5b394fac62d1d2fc41d707 Mon Sep 17 00:00:00 2001 From: John Lee <64lamei@gmail.com> Date: Fri, 15 May 2026 12:00:36 +0800 Subject: [PATCH 35/35] chore: bump PR --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index 17bd1e6..fdba129 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -22,3 +22,4 @@ # bump 1778688039 # bump 1778731237 # bump 1778774437 +# bump 1778817636