Directories
¶
| Path | Synopsis |
|---|---|
|
auth
|
|
|
go
module
|
|
|
cmd
|
|
|
nightseam
command
nightseam renders a checkout's families into generated packages.
|
nightseam renders a checkout's families into generated packages. |
|
nightseam-surface
command
nightseam-surface compares the generated Go API shared by two checkouts.
|
nightseam-surface compares the generated Go API shared by two checkouts. |
|
conformance
|
|
|
go
Package conformance is the runner of Nightseam's conformance suite — the repository's own, importable because a Go module has no private path, and no API a consumer is meant to build on: nothing in it is held stable.
|
Package conformance is the runner of Nightseam's conformance suite — the repository's own, importable because a Go module has no private path, and no API a consumer is meant to build on: nothing in it is held stable. |
|
go/testee
command
The Go testee: Nightseam's Go runtime and tunnel under the control of the conformance runner, over the protocol of conformance/DRIVER.md.
|
The Go testee: Nightseam's Go runtime and tunnel under the control of the conformance runner, over the protocol of conformance/DRIVER.md. |
|
duplex
|
|
|
go
Package duplex is the seam beneath every protocol: a frames duplex connection.
|
Package duplex is the seam beneath every protocol: a frames duplex connection. |
|
go/duplextest
Package duplextest holds every transport to what a frames duplex connection promises.
|
Package duplextest holds every transport to what a frames duplex connection promises. |
|
go/ws
Package ws carries a frames duplex connection over a WebSocket.
|
Package ws carries a frames duplex connection over a WebSocket. |
|
internal
|
|
|
analysis
Package analysis derives the facts about a family that checks and renderings read, within the world it is rendered in: the families it imports, resolved; the two types every family with a protocol carries; each declaration's tier; the fields a record carries through inheritance; and what is generic in the family — which parameter each type draws on, at which of the bound family's types.
|
Package analysis derives the facts about a family that checks and renderings read, within the world it is rendered in: the families it imports, resolved; the two types every family with a protocol carries; each declaration's tier; the fields a record carries through inheritance; and what is generic in the family — which parameter each type draws on, at which of the bound family's types. |
|
check
Package check holds the rules a family is held to before any target sees it: one function per tier over the facts analysis derived, and one over the override files.
|
Package check holds the rules a family is held to before any target sees it: one function per tier over the facts analysis derived, and one over the override files. |
|
compose
Package compose is the composition root: the only place a target is named.
|
Package compose is the composition root: the only place a target is named. |
|
diag
Package diag is the vocabulary every other package reports problems in: a diagnostic locates one problem in a family by the tier file and the JSON pointer of what is wrong, names it by a code, and says what to write instead.
|
Package diag is the vocabulary every other package reports problems in: a diagnostic locates one problem in a family by the tier file and the JSON pointer of what is wrong, names it by a code, and says what to write instead. |
|
doc
Package doc is the specification as a document: every fact of a family a reader wants, computed once from render and held in one structure that writers render and never derive again — the types with their fields and what inherits them, the two sides with their operations and errors, the parameters a family is generic in, and the families and built-ins it draws on.
|
Package doc is the specification as a document: every fact of a family a reader wants, computed once from render and held in one structure that writers render and never derive again — the types with their fields and what inherits them, the two sides with their operations and errors, the parameters a family is generic in, and the families and built-ins it draws on. |
|
emit
Package emit is what every target writes source with: a writer that keeps the indentation, an import set an emitter declares at the site that needs it, and a namespace that holds the identifiers a rendering declares so that a collision is found before a line is written.
|
Package emit is what every target writes source with: a writer that keeps the indentation, an import set an emitter declares at the site that needs it, and a namespace that holds the identifiers a rendering declares so that a collision is found before a line is written. |
|
kernel
Package kernel drives generation: it reads a checkout's families, gives each its world, holds it to the model's and every concern's rules, and — once every target is composed with it — asks each target to check and render what it consumes.
|
Package kernel drives generation: it reads a checkout's families, gives each its world, holds it to the model's and every concern's rules, and — once every target is composed with it — asks each target to check and render what it consumes. |
|
load
Package load reads a checkout's families from their tier files into the typed model.
|
Package load reads a checkout's families from their tier files into the typed model. |
|
model
Package model is the typed declaration of one family across its tiers: the types of its model, the sides, operations and errors of its protocol, and the raw override files of its targets.
|
Package model is the typed declaration of one family across its tiers: the types of its model, the sides, operations and errors of its protocol, and the raw override files of its targets. |
|
model/builtin
Package builtin holds the families Nightseam declares of itself: the profile's `duplex` and the tunnel's `tunnel`, written as ordinary tier files in the declaration language and carried in the binary.
|
Package builtin holds the families Nightseam declares of itself: the profile's `duplex` and the tunnel's `tunnel`, written as ordinary tier files in the declaration language and carried in the binary. |
|
model/modeltest
Package modeltest builds families from tier files written inline, for the tests of the packages above model that may not read a checkout: the loader's work without its schemas.
|
Package modeltest builds families from tier files written inline, for the tests of the packages above model that may not read a checkout: the loader's work without its schemas. |
|
naming
Package naming derives identifiers from the names a contract declares, by one convention every target shares: a name's alphanumeric words, spelled in upper or lower camel case, with the initialisms a language keeps in capitals.
|
Package naming derives identifiers from the names a contract declares, by one convention every target shares: a name's alphanumeric words, spelled in upper or lower camel case, with the initialisms a language keeps in capitals. |
|
oracle
Package oracle is test support: the left path of the diagram a generic rendering must commute with.
|
Package oracle is test support: the left path of the diagram a generic rendering must commute with. |
|
pattern
Package pattern shares declaration syntax checks with runtime descriptors.
|
Package pattern shares declaration syntax checks with runtime descriptors. |
|
render
Package render is the family as a target sees it: every fact a rendering needs, computed once from analysis after the neutral checks passed, and nothing target-specific.
|
Package render is the family as a target sees it: every fact a rendering needs, computed once from analysis after the neutral checks passed, and nothing target-specific. |
|
scalarjson
Package scalarjson guards Unicode before encoding/json can replace it.
|
Package scalarjson guards Unicode before encoding/json can replace it. |
|
spi
Package spi is the seam between the kernel and the targets it renders with.
|
Package spi is the seam between the kernel and the targets it renders with. |
|
surface
Package surface describes the exported declarations of generated Go files.
|
Package surface describes the exported declarations of generated Go files. |
|
targets/atlas
Package atlas writes a checkout's document as one self-contained, interactive HTML page.
|
Package atlas writes a checkout's document as one self-contained, interactive HTML page. |
|
targets/golang
Package golang renders a family as Go: a protocol package of wire types with their validator, a binding package for a server, a client package for a caller.
|
Package golang renders a family as Go: a protocol package of wire types with their validator, a binding package for a server, a client package for a caller. |
|
targets/markdown
Package markdown writes the document as Markdown: one page per family, README.md under api/spec/<family>, which renders where the tree is read — the types with their fields and constraints, an example of each and where it is used, the two sides with their operations and errors and each operation as the frames of the profile carry it, and the parameters a family is generic in — so that what a family means is written once, in the declaration, and the page is never behind it.
|
Package markdown writes the document as Markdown: one page per family, README.md under api/spec/<family>, which renders where the tree is read — the types with their fields and constraints, an example of each and where it is used, the two sides with their operations and errors and each operation as the frames of the profile carry it, and the parameters a family is generic in — so that what a family means is written once, in the declaration, and the page is never behind it. |
|
targets/typescript
Package typescript renders a family as TypeScript: a client package with shared types and validators, and a binding package for the server.
|
Package typescript renders a family as TypeScript: a client package with shared types and validators, and a binding package for the server. |
|
live
|
|
|
go
Package live carries callable values across one connection: a scope over a peer, bindings exported from it, and references that name them inside an ordinary payload.
|
Package live carries callable values across one connection: a scope over a peer, bindings exported from it, and references that name them inside an ordinary payload. |
|
go/livetest
Package livetest is the live layer's shared suite: the behavior a scope promises, written once and run by both languages against their own runtime.
|
Package livetest is the live layer's shared suite: the behavior a scope promises, written once and run by both languages against their own runtime. |
|
otel
|
|
|
go
module
|
|
|
runtime
|
|
|
go
Package runtime implements the nightseam.duplex/1 profile over a frames duplex connection (duplex): JSON text frames carrying requests, responses, events and cancellations.
|
Package runtime implements the nightseam.duplex/1 profile over a frames duplex connection (duplex): JSON text frames carrying requests, responses, events and cancellations. |
|
go/slogobserver
Package slogobserver writes what a peer tells an observer to a slog.Logger: one record per event, at a level per kind, with the event's fields as attributes.
|
Package slogobserver writes what a peer tells an observer to a slog.Logger: one record per event, at a level per kind, with the event's fields as attributes. |
|
tunnel
|
|
|
go
Package tunnel multiplexes channels over one peer of the nightseam.duplex/1 profile: a third transport beneath the seam, after the WebSocket and the pipe.
|
Package tunnel multiplexes channels over one peer of the nightseam.duplex/1 profile: a third transport beneath the seam, after the WebSocket and the pipe. |
Click to show internal directories.
Click to hide internal directories.