Shared runtime package for AppPack protocol execution.
Used by:
protocol-ui(browser app repo)protocol-indexing(node read/index service repo)
schemas/ is the source of truth for shared AppPack schema files:
declarative_decoder_runtime.schema.v1.jsonsolana_agent_runtime.schema.v1.jsonsolana_action_runner.schema.v1.json
Downstream repos should sync these files from runtime and treat local copies as generated artifacts. Because these files are JSON, downstream copies cannot carry inline comment headers. The ownership marker is instead:
- this README
- the downstream directory README
- the sync/check scripts
- CI drift checks
If you need to change a shared schema:
- edit only
schemas/ - run
npm run schemas:check - then sync downstream repos instead of editing their copies
These are the three main AppPack repositories:
protocol-runtime: shared runtime package repo published via GitHub Packagesprotocol-ui: browser app repo consuming the published runtime packageprotocol-indexing: node API/worker repo consuming the published runtime package
Downstream apps should install the runtime from GitHub Packages under the @brij-digital scope.
Use @brij-digital/apppack-runtime directly in manifests and imports.
Do not reintroduce the legacy @agentform/apppack-runtime alias.
This package provides generic, protocol-agnostic runtime logic for:
- Codama-backed instruction preparation
- runtime compute execution
- runtime write preparation
- runtime action-runner execution
- shared loading/validation of protocol packs
Protocol-specific behavior belongs in pack data, not in runtime code.
The current pack split is:
Codama IDL: instruction-level protocol source of truthindexing specs: ingest sources plus materialized entity definitionsruntime spec: deterministic compute and write preparation
The runtime package owns only the third layer plus the shared loading logic around all three.
For a concrete description of the runtime layer, see:
@brij-digital/apppack-runtimeRoot export is intentionally small and limited to:previewIdlInstruction,explainRuntimeOperation,prepareRuntimeInstruction,prepareRuntimeOperation,runRuntimeView@brij-digital/apppack-runtime/codamaFacadeCodama-facing convenience APIs:listIdlProtocols,getInstructionTemplate,previewIdlInstruction@brij-digital/apppack-runtime/runtimeOperationRuntime@brij-digital/apppack-runtime/actionRunner@brij-digital/apppack-runtime/directAccountsCoder@brij-digital/apppack-runtime/metaComputeRegistry
npm run build
npm run check
npm run schemas:check
npm run testbuild: TypeScript build todist/check: type-check onlyschemas:check: validate the runtime-owned schema set and required top-level fieldstest: build + node test suite
src/runtimeOperationRuntime.tssrc/codamaFacade.tssrc/protocolLoader.tssrc/actionRunner.tssrc/directAccountsCoder.tssrc/metaComputeRegistry.ts
This package is published to GitHub Packages. When changing runtime behavior, release a new semver version, update downstream consumers, and run their CI.
See RELEASING.md for the exact release flow.
AppPack should be treated primarily as an agent-native execution platform with:
protocol-runtimeas the shared protocol execution repoprotocol-indexingas the indexed read/search repoprotocol-uias the reference client and pack-authoring repo