Public
Full-moon temporal source; no per-device settings
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.

Moon source

Two local runtime modules: rpc.ts and moonSource.ts. Both import the shared SDK through https://esm.town/v/plusjade/source-sdk@12-main/mod.ts. Keep both imports on the same immutable snapshot; update them on a branch and run check.ts to adopt an SDK change. check.ts is a manual Val Town verification script; it removes its disposable write in finally.

The only table is full_moons(date_key TEXT PRIMARY KEY, payload TEXT NOT NULL CHECK(json_valid(payload)), fetched_at TEXT NOT NULL). It is provisioned at deployment, not during reads. Thirteen 2026 events were copied from the retired sibling. Coverage ends December 24, 2026; seed the next year through authenticated cache.put.

Settings are exactly {}. Reads return one next event or an empty list. Selection deliberately preserves the former UTC date-key comparison against the client's calendar date, including the America/Los_Angeles fallback for null/out-of-range offsets; it does not change lunar day-boundary policy.

The parent owns source instance 3, assignments, composition, and presentation. HTTP auth uses SOURCE_MOON_V1_TOKEN. No legacy routes, schedulers or upstream fetches. The SDK executes locally; SQLite and authentication remain owned by this val.