1.9 KiB
sando runtime
gamertan.com/sandwich-hime/sando is the independent Apache-2.0 runtime ABI for Go generated by Sandwich Hime. It contains no compiler, router, HTTP server, middleware, reflection registry, project discovery, or development supervisor.
Install
This is the source and documentation for runtime sando/v1.0.0, paired with
compiler v1.0.0 without changing runtime ABI sando.v1. Canonical Gitea tags
and release announcements establish availability. In an application module,
add the runtime first, then install the compiler:
go get gamertan.com/sandwich-hime/sando@v1.0.0
go install gamertan.com/sandwich-hime/cmd/himesan@v1.0.0
The runtime-first order avoids parent/nested-module path-selection ambiguity. The compiler is a development tool and is not a runtime dependency of the generated application. Compiler and runtime remain independently versioned.
API and licensing
The stable surface is:
type Component interface {
Render(context.Context, io.Writer) error
}
type ComponentFunc func(context.Context, io.Writer) error
Render invokes components; generated code uses the context-specific writer helpers and checks ABI. Opaque TrustedHTML, TrustedURL, TrustedJS, and TrustedCSS values can be constructed only by conspicuous Trust* calls in trusted application code.
The exact exported v1 symbol, value, method, field, and signature inventory is
machine-checked in testdata/public-api-v1.txt.
The runtime has its own go.mod, Apache-2.0 license, COPYRIGHT record, semantic version, and sando/vX.Y.Z tags. It never imports the AGPL compiler. Importing the runtime does not make an application AGPL under the project's terms. Applications may license their own code and generated files under terms they choose to the extent they hold the necessary rights, while redistribution of the runtime remains subject to Apache-2.0.