src/tappify.d.ts is generated from your manifest and the JSON Schemas it points at. It is
what makes tap.storage.preferences, tap.server.getSummary and TapSettingsProps know
their own shapes. Commit it.
add, remove and dev run it for you, and dev rewrites it every time the manifest
changes.
What it declares
The file declares one named type per schema, then augments the SDK’s module with maps that point at them:
The event names themselves come with the SDK, so
tap.data.subscribe rejects a name that
does not exist whether or not you have generated. What generating adds is the payload.
Query results are not generated: the seven query kinds are fixed, so useTapQuery already
knows what each returns.
When it goes stale
tappify extension doctor compares the file with what the
generator would write now and fails the types.stale check when they differ.
tappify extension doctor --fix rewrites it.
Names fall back to string while a map is empty, so useTapStorage("preferences") and
useTapServer("getSummary", input) compile before you have generated anything. A document
and a procedure output fall back to unknown, so reading a field off one is a compile error
until the file exists. Generate once the manifest declares the contribution, and write the
component against real fields.