You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(cli): host bindings for act:sessions/session-provider
Add host-side support for stateful components via the
\`act:sessions/session-provider@0.1.0\` interface.
Detection
- The host's existing \`act-world\` (tool-provider only) bindings still
work; components that additionally export session-provider are
instantiated through the same world (extra exports are not a mismatch
in wasmtime).
- After instantiation, the host looks up session-provider exports
manually via raw component-model APIs (\`Instance::get_export\` +
\`Func::typed\`). Result is an \`Option<SessionProvider>\` carried
alongside the actor.
Runtime
- \`runtime/sessions.rs\` — \`Session\` record (with ComponentType
derives) and typed-func aliases. \`Error\` and \`LocalizedString\` are
reused from the tool-provider bindings.
- New \`ComponentRequest\` variants: \`GetOpenSessionArgsSchema\`,
\`OpenSession\`, \`CloseSession\`. Each errors gracefully if the
component does not export session-provider.
- Actor tracks open session-ids and closes any still-open ones on
channel-shutdown (ACT-SESSIONS §2.5).
CLI
- \`act session open-args-schema <component>\`
- \`act session open <component> --args '{...}'\` — prints the session
record (id + metadata) as JSON.
- \`act session close <component> <session-id>\`
Verified end-to-end against \`tests/fixtures/sessions-canary.wasm\`.
ACT-HTTP \`/sessions\` endpoints and MCP virtual session tools land in
follow-ups.
0 commit comments