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, tunnel and session under the control of the conformance runner, over the protocol of conformance/DRIVER.md.
|
The Go testee: Nightseam's Go runtime, tunnel and session 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 session families a parameter may bind; 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 session families a parameter may bind; 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. |
|
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, the governance of its session, 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, the governance of its session, and the raw override files of its targets. |
|
model/builtin
Package builtin holds the families Nightseam declares of itself: the profile's `duplex`, the tunnel's `tunnel` and the session's `session`, 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`, the tunnel's `tunnel` and the session's `session`, 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. |
|
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. |
|
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/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/spec
Package spec renders a family as its specification: one Markdown document per family, from every tier it declares — the types with their fields and constraints, the two sides with their operations and errors, the parameters it is generic in, the governance of a session of it — so that what a family means is written once, in the declaration, and the document is never behind it.
|
Package spec renders a family as its specification: one Markdown document per family, from every tier it declares — the types with their fields and constraints, the two sides with their operations and errors, the parameters it is generic in, the governance of a session of it — so that what a family means is written once, in the declaration, and the document is never behind it. |
|
targets/typescript
Package typescript renders a family as TypeScript: one client package with the wire types, their validator, the client class and the handler of what the server sends.
|
Package typescript renders a family as TypeScript: one client package with the wire types, their validator, the client class and the handler of what the server sends. |
|
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. |
|
session
|
|
|
go
Package session is a session as a thing with an identity that outlives connections: one up connection, the machine's; any number of down connections, the consumers', each in a role; one holder of control; an ask routed to the holder; and a log of every frame in one order, replayed from a sequence.
|
Package session is a session as a thing with an identity that outlives connections: one up connection, the machine's; any number of down connections, the consumers', each in a role; one holder of control; an ask routed to the holder; and a log of every frame in one order, replayed from a sequence. |
|
go/sessiontest
Package sessiontest holds a session component to what a relay promises.
|
Package sessiontest holds a session component to what a relay promises. |
|
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.