1e5f94b06b
feat(call): OperationAdapter trait + AdapterError + from_jsonschema (ADR-017 §5)
...
- client module: defines the async OperationAdapter trait
(import() -> Result<Vec<HandlerRegistration>, AdapterError>) and the
#[non_exhaustive] AdapterError enum (string-message payloads: DiscoveryFailed,
SchemaParse, Transport, Unauthorized, Conflict). The trait lives in alknet-call
where the types live; implementations live with their transport deps.
- from_jsonschema: schema-only registration producing a FromJsonSchema-provenance
HandlerRegistration with no real handler (placeholder errors if invoked),
None authority/scoped_env, empty capabilities, remote_safe false (ADR-028 §4).
Implements OperationAdapter; malformed (non-object) schema returns
AdapterError::SchemaParse. No network I/O.
- Re-exported from lib.rs.
- Tests: trait compiles for Ok and Err adapters; from_jsonschema bundle shape;
placeholder handler errors; OperationAdapter import Ok + SchemaParse paths.
All 178+N tests pass, clippy + fmt clean.
Unblocks alknet-http Phase 1 (from_openapi/from_mcp adapter implementations).
Refs: tasks/call/client/operation-adapter-trait.md, tasks/call/client/from-jsonschema.md
Refs: docs/architecture/decisions/017-call-protocol-client-and-adapter-contract.md §5
Refs: docs/architecture/crates/call/client-and-adapters.md
2026-06-26 12:56:28 +00:00
e13a150d9f
feat(call): initialize alknet-call crate skeleton (task: call/crate-init)
...
Create crates/alknet-call with Cargo.toml, lib.rs, and module skeletons
for the registry (spec, context, registration, env, discovery) and
protocol (wire, pending, connection, adapter, abort) subsystems. Add the
crate to the workspace members list. Depends on alknet-core (workspace
path), irpc (workspace dep), tokio, serde, serde_json, async-trait,
tracing, thiserror, uuid, and futures. Implements ProtocolHandler on
ALPN alknet/call per docs/architecture/crates/call.
2026-06-23 13:45:14 +00:00