Beside every TypeScript entrypoint the builder writes an executable launcher; the runtime is told it (hq ADR 0193)
The runtime knows no language: the build makes each served entrypoint executable. For a TypeScript bundle that is <entry>.serve.mjs, which imports the entrypoint and serves what it registered over MCP on stdio through the bundle's own SDK. The build records its launchers on the bundle, and the composer names the launcher where a build wrote one and the entrypoint where it did not, so bundles built before this keep serving until they are rebuilt.
This commit is contained in:
@@ -604,6 +604,9 @@ type Bundle struct {
|
||||
Loads []string `json:"loads,omitempty"`
|
||||
// Env is what the artifact said it is given (ADR 0192), as written; composed per machine.
|
||||
Env map[string]string `json:"env,omitempty"`
|
||||
// Launchers are the executables the build wrote beside its entrypoints, by entrypoint (novox/hq
|
||||
// ADR 0193). A bundle built before them has none, and is served as it was built.
|
||||
Launchers map[string]string `json:"launchers,omitempty"`
|
||||
}
|
||||
|
||||
// Build says how to produce this module's artifacts from its source.
|
||||
|
||||
Reference in New Issue
Block a user