@adhd/apigen-base-logical 0.0.1 → 0.0.2
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 +16 -0
- package/README.md +36 -0
- package/package.json +1 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
## 0.0.2 (2026-07-23)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### 🚀 Features
|
|
5
|
+
|
|
6
|
+
- **release:** nx release independent versioning + verify-dist-load publish gate (Agent 2)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### 🩹 Fixes
|
|
10
|
+
|
|
11
|
+
- **apigen:** update remaining stale @adhd/apigen-errors, core, logical refs
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### ❤️ Thank You
|
|
15
|
+
|
|
16
|
+
- pseudosky
|
package/README.md
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# @adhd/apigen-base-logical
|
|
2
|
+
|
|
3
|
+
The **contract spine** for apigen's schema-driven, registry-based logical-type
|
|
4
|
+
transcoding — one mechanism that round-trips every non-JSON-native value
|
|
5
|
+
(well-known scalars like `Date`/`int64`/`decimal`/`bytes`/`UUID`, plus user
|
|
6
|
+
classes and discriminated unions) over the JSON wire, identically across host
|
|
7
|
+
languages.
|
|
8
|
+
|
|
9
|
+
> **Status:** contract spine only. This package currently exports **interfaces**
|
|
10
|
+
> (the codec/registry/transcoder contracts and the descriptor extension
|
|
11
|
+
> vocabulary). Codec bodies, the schema-walking transcoder, and per-host
|
|
12
|
+
> bindings are later plan states — see
|
|
13
|
+
> [`docs/plan/apigen-base-logical-types/DESIGN.md`](../../../docs/plan/apigen-base-logical-types/DESIGN.md)
|
|
14
|
+
> §4/§5/§11–§14.
|
|
15
|
+
|
|
16
|
+
- **Platform:** `shared` (pure TypeScript — safe in a Node CLI and a browser).
|
|
17
|
+
- **Layer:** `logic`.
|
|
18
|
+
|
|
19
|
+
## Surface
|
|
20
|
+
|
|
21
|
+
| Export | What it is |
|
|
22
|
+
| ------------------------------------------------------------------ | --------------------------------------------------------------------------------- |
|
|
23
|
+
| `LogicalTypeId`, `LogicalKind`, `Wire`, `SchemaNode` | Core type aliases (DESIGN §4.2). |
|
|
24
|
+
| `TranscodeCtx`, `LogicalTypeCodec` | The host-agnostic codec contract (DESIGN §4.2). |
|
|
25
|
+
| `LogicalTypeRegistry`, `createRegistry`, `CodecRegistryError` | The registry contract + minimal dup-detecting stub (DESIGN §4.3). |
|
|
26
|
+
| `Transcoder` | The schema-walking transcoder **interface** (impl is a later state, DESIGN §4.4). |
|
|
27
|
+
| `ENVELOPE_KEY`, `ApigenEnvelope` | The self-describing envelope for schema-less positions (DESIGN §4.5). |
|
|
28
|
+
| `TemplateCell` | Per-language codegen cell shape (DESIGN §13.1). |
|
|
29
|
+
| `X_APIGEN_*`, `LOGICAL_TYPE_VERSION`, `logicalKindOf`, `codecIdOf` | Descriptor extension vocabulary + advisory hint readers (DESIGN §4.1). |
|
|
30
|
+
|
|
31
|
+
## Invariant `[inv:hints-advisory]`
|
|
32
|
+
|
|
33
|
+
The `x-apigen-*` descriptor keys are **optional** dispatch accelerators —
|
|
34
|
+
structure (`format`/`$ref`/`oneOf`) is authoritative. `logicalKindOf` and
|
|
35
|
+
`codecIdOf` therefore return `undefined` (never throw) when a key is absent or
|
|
36
|
+
malformed; correctness must never depend on a hint being present.
|