@nezam.ai/runtime-core-js
v0.1.5
Published
Language-neutral Node.js runtime capability registry.
Maintainers
Readme
runtime/js
runtime/js is the language-neutral Node.js dispatcher boundary for generated
packages. It registers capability providers and runtime resources; it does not
parse source files, interpret language syntax, or choose provider policy.
capability-registry.json maps canonical capability identities to the runtime
packages that implement them. Generated LIR metadata selects the capabilities;
package manifests do not select runtime packages. Hosts call
installCapabilities(runtime, generated.metadata, options) to resolve and
register the required providers through this registry.
Database, reflection metadata, and HTTP transport capabilities are separate
packages under runtime/js/database, runtime/js/reflection, and
runtime/js/http. Parser AST data is compiler/debug tooling and is not a
production runtime capability.
The HTTP package also owns the http_route.list and http_route.program_routes capability operations for
source-level route introspection; it returns descriptors without executable
handlers.
Program and UI handler capabilities are provided by runtime/js/program and
runtime/js/ui-handler. Record locking is provided by
runtime/js/record-lock.
Generated code supplies the canonical external-operation descriptor and the
host supplies an adapter with one generic execute(request) method.
The adapter is deliberately explicit and fail-closed: no driver, connection,
resource, or fallback in-memory database is selected implicitly.
Program startup is also explicit. If generated program metadata contains an
entryName, runtime.startProgram(metadata, moduleExports) requires the
matching exported function and invokes it with a generic startup context before
executing host startup operations. The runtime does not invent a symbol such as
main and does not interpret source-language entry syntax.
Generated JavaScript packages use createGeneratedModule(moduleDescriptor,
moduleExports). This adapter creates the Node.js runtime and program from the
generic descriptor and exposes start() and close() lifecycle functions. The
generated backend emits the descriptor only; it does not construct or start a
program itself.
The JavaScript database runtime owns schema semantics through
schemaArtifact, diffDatabaseSchema, syncDatabaseSchema,
generateDatabaseMigration, and applyDatabaseMigration. Adapters expose
introspectSchema and applySchemaChanges; callers provide generated table
metadata and resources, not handwritten .bl sync code. Plan mode never applies
DDL, and adapters reject unsupported destructive operations instead of silently
dropping data.
Run the package tests with:
npm test
cd database && npm test