Public C API inventory
jsc-public-api-macos-27.0.json pins the core C surface from the macOS 27.0
Command Line Tools SDK (build 26A5368f). It inventories all 117 functions,
opaque and concrete types, callbacks, enums, and the exported class-definition
constant from the six headers included by the public C umbrella.
The matrix deliberately separates declarations from completion:
implementedmeans zig-js exports the symbol with the pinned public ABI and the behavior is covered by the relevant implementation tests.pendingmeans the declaration is available for source compatibility, but the linked GitHub issue still owns missing behavior, a missing symbol, or an ABI mismatch. Pending calls must not be used by hosts yet.
Current result: all 117 functions are implemented, none remain pending, and the library exports 117 public functions plus 26 zig-js extensions.
Run zig build c-api-audit after changing src/c_api.zig, the headers, or the
inventory. On a machine with the pinned SDK, pass its root to
home-tool run tools/verify-c-api.ts --sdk-root <path> to detect upstream header drift.
zig build test-c-api additionally compiles, links, and runs C and C++ hosts.
On macOS, zig build c-api-jsc-diff verifies those hashes, compiles
the value/class and context-group fixtures against both zig-js and the system
JavaScriptCore framework, and compares their output byte-for-byte.
The current 34-row fixture digest is a8ecd5e83f9f35ca.