mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-26 10:21:52 +00:00
* add documentation for ai agents * docs: consolidate CLAUDE.md and CONTRIBUTING.md, add style guidelines - Refactor CLAUDE.md to reference CONTRIBUTING.md for build/test/format info - Expand CONTRIBUTING.md with comprehensive build targets, env vars, and testing - Add code style guidelines section with conventional commits - Standardize SDK prettier config to use single quotes (matching web) - Add project-level Claude Code settings to disable co-author attribution * style(sdk): apply prettier with single quotes Run prettier across sdk/base and sdk/package to apply the standardized quote style (single quotes matching web). * docs: add USER.md for per-developer TODO filtering - Add agents/USER.md to .gitignore (contains user identifier) - Document session startup flow in CLAUDE.md: - Create USER.md if missing, prompting for identifier - Filter TODOs by @username tags - Offer relevant TODOs on session start * docs: add i18n documentation task to agent TODOs * docs: document i18n ID patterns in core/ Add agents/i18n-patterns.md covering rust-i18n setup, translation file format, t!() macro usage, key naming conventions, and locale selection. Remove completed TODO item and add reference in CLAUDE.md. * chore: clarify that all builds work on any OS with Docker
1.8 KiB
1.8 KiB
Container RPC Server Specification
The container runtime exposes a JSON-RPC server over a Unix socket at /media/startos/rpc/service.sock.
Methods
init
Initialize the runtime and system.
params
{
id: string,
kind: "install" | "update" | "restore" | null,
}
response
null
exit
Shutdown runtime and optionally run exit hooks for a target version.
params
{
id: string,
target: string | null, // ExtendedVersion or VersionRange
}
response
null
start
Run main method if not already running.
params
None
response
null
stop
Stop main method by sending SIGTERM to child processes, and SIGKILL after timeout.
params
None
response
null
execute
Run a specific package procedure.
params
{
id: string, // event ID
procedure: string, // JSON path (e.g., "/backup/create", "/actions/{name}/run")
input: any,
timeout: number | null,
}
response
any
sandbox
Run a specific package procedure in sandbox mode. Same interface as execute.
UNIMPLEMENTED: this feature is planned but does not exist
params
{
id: string,
procedure: string,
input: any,
timeout: number | null,
}
response
any
callback
Handle a callback from an effect.
params
{
id: number,
args: any[],
}
response
null (no response sent)
eval
Evaluate a script in the runtime context. Used for debugging.
params
{
script: string,
}
response
any
Procedures
The execute and sandbox methods route to procedures based on the procedure path:
| Procedure | Description |
|---|---|
/backup/create |
Create a backup |
/actions/{name}/getInput |
Get input spec for an action |
/actions/{name}/run |
Run an action with input |