1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
//! `oino-extension-api`: the contract between `oino-core` and any extension runtime
//! (extension-api.md ยง6). It knows nothing about wasmtime.
//!
//! # Boundary
//!
//! Core implements [`HostServices`] (what extensions may do to sessions, UI, models, agents);
//! a runtime (the WASM host) implements [`ExtensionRuntime`] / [`ExtensionInstance`] (what core
//! may ask an extension). Data-model values cross as [`RawJson`] with exact shapes (D5);
//! capability calls use the typed records of the WIT package `oino:extension@2.0.0`.
//!
//! # API map
//!
//! | Module | WIT | Contents |
//! |---|---|---|
//! | [`json`] | `types.json` | [`RawJson`] |
//! | [`types`] | `types` | [`ExtensionId`], [`CallContext`], [`Mode`], [`CallKind`], [`HostError`], [`ExtensionError`] |
//! | [`registry`] | `registry` | [`EventKind`] (wire names), tool/command/shortcut/flag/renderer specs, [`Registration`] |
//! | [`guest`] | `guest` | [`InitInput`], [`ToolInvocation`], [`CompletionItem`] |
//! | [`ops`] | `session`, `control`, `models`, `ui`, `tasks`, `secrets`, `provider-host` | one enum variant per WIT function |
//! | [`runtime`] | โ | [`ExtensionRuntime`], [`ExtensionInstance`], [`ProviderInstance`], [`HostServices`], [`AgentHandle`] |
//! | [`manifest`] | โ | `extension.json`, [`manifest::Permissions`], package validation |
//! | [`host_service`] | `host-service` | [`host_service::HostService`] (capabilities an embedding host registers) |
//! | `testing` (feature) | โ | `RecordingHostServices`, `FakeExtensionRuntime` |
pub use ;
pub use HostService;
pub use RawJson;
pub use ;
pub use ;
pub use ;
pub use CancellationToken;
pub use ;