tigertag 1.0.0

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.
package/CHANGELOG.md ADDED
@@ -0,0 +1,35 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
5
+
6
+ ## [1.0.0] — 2026-05-20
7
+
8
+ ### Added
9
+ - `TigerTag.fromPages(payload, uid)` — primary constructor for NFC SDK integration
10
+ - `TigerTag.fromDump(data)` — constructor for binary dumps (180B auto-extracts UID)
11
+ - `TigerTag.fromFile(path)` — convenience constructor from .bin file
12
+ - `TigerTag.create({ ...fields })` — build a new tag from scratch with all fields
13
+ - `TigerTag.asInit(uid)` — create a blank TigerTag Init chip ready for programming
14
+ - `TigerTag.erase()` — return 80 zero bytes to wipe a chip back to blank NDEF
15
+ - `tag.patch({ ...fields })` — immutable surgical field update, signature-safe (protected: idTigertag, idProduct, uid, signatureR/S)
16
+ - `tag.patchFromApi()` — auto-apply cloud API values to chip fields; returns patched tag + applied diffs
17
+ - `tag.diffApi()` — compare all chip fields vs TigerTag+ cloud API; covers nozzle, bed, drying, type, material, brand, diameter, aspects, colors, quantity, unit
18
+ - `tag.rawApi()` — fetch live TigerTag+ cloud product data (uses built-in fetch, Node 18+)
19
+ - `tag.verify()` — autonomous ECDSA-P256 signature verification using Node.js built-in `crypto`
20
+ - `tag.toDict()` — fully resolved object (all IDs replaced by labels + metadata)
21
+ - `tag.toRawDict()` — raw protocol fields, no resolution
22
+ - `tag.pretty()` — human-readable summary
23
+ - `tag.describe()` — natural-language paragraph for LLM prompt injection
24
+ - `tag.validate()` — field-level sanity checks
25
+ - `tag.syncDb()` — download or update reference databases
26
+ - `TigerTagDB` — loads bundled reference JSONs, auto-updates from API or GitHub
27
+ - `syncDatabases()` — standalone database sync with API + GitHub fallback
28
+ - `SignatureResult` — result of ECDSA verification with status constants
29
+ - `ApiDiff` — (field, chipValue, apiValue) — exported from main package
30
+ - `ID_TIGERTAG`, `ID_TIGERTAG_PLUS`, `ID_TIGERTAG_INIT`, `MAKER_PRODUCT_ID`, `INIT_PRODUCT_ID` — exported constants
31
+ - CLI: `tigertag dump.bin` and `node -e "require('tigertag')"`
32
+ - Bundled reference databases (offline use, no network required on first run)
33
+ - Compatible with NTAG213, NTAG215, NTAG216 and ISO 14443 compatible chips
34
+ - No external runtime dependencies — Node.js built-in `crypto` and `fetch` only
35
+ - Material identification support: filament, resin (extensible to any material type)
package/LICENSE.md ADDED
@@ -0,0 +1,21 @@
1
+ # GNU General Public License v3.0
2
+
3
+ TigerTag JavaScript SDK
4
+ Copyright (C) 2025 TigerTag
5
+
6
+ This program is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU General Public License as published by
8
+ the Free Software Foundation, either version 3 of the License, or
9
+ (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU General Public License for more details.
15
+
16
+ You should have received a copy of the GNU General Public License
17
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
18
+
19
+ ---
20
+
21
+ For commercial OEM licensing inquiries, contact: licensing@tigertag.io