Skip to main content

act_types/
constants.rs

1//! Well-known constants used across the ACT protocol.
2//!
3//! Authoritative list: `ACT-CONSTANTS.md` in the spec repo.
4
5// ── Error kinds ──
6
7pub const ERR_NOT_FOUND: &str = "std:not-found";
8pub const ERR_INVALID_ARGS: &str = "std:invalid-args";
9pub const ERR_TIMEOUT: &str = "std:timeout";
10pub const ERR_CAPABILITY_DENIED: &str = "std:capability-denied";
11pub const ERR_INTERNAL: &str = "std:internal";
12
13// ── Component info keys ──
14
15pub const COMPONENT_NAME: &str = "std:name";
16pub const COMPONENT_VERSION: &str = "std:version";
17pub const COMPONENT_DESCRIPTION: &str = "std:description";
18pub const COMPONENT_DEFAULT_LANGUAGE: &str = "std:default-language";
19pub const COMPONENT_CAPABILITIES: &str = "std:capabilities";
20pub const COMPONENT_SKILL: &str = "std:skill";
21pub const COMPONENT_FS_MOUNT_ROOT: &str = "std:fs:mount-root";
22
23// ── Capability identifiers ──
24
25pub const CAP_FILESYSTEM: &str = "wasi:filesystem";
26pub const CAP_SOCKETS: &str = "wasi:sockets";
27pub const CAP_HTTP: &str = "wasi:http";
28
29// ── Tool definition metadata keys ──
30
31pub const META_READ_ONLY: &str = "std:read-only";
32pub const META_IDEMPOTENT: &str = "std:idempotent";
33pub const META_DESTRUCTIVE: &str = "std:destructive";
34pub const META_STREAMING: &str = "std:streaming";
35pub const META_TIMEOUT_MS: &str = "std:timeout-ms";
36pub const META_USAGE_HINTS: &str = "std:usage-hints";
37pub const META_ANTI_USAGE_HINTS: &str = "std:anti-usage-hints";
38pub const META_EXAMPLES: &str = "std:examples";
39pub const META_TAGS: &str = "std:tags";
40
41// ── Content part metadata keys ──
42
43pub const META_PROGRESS: &str = "std:progress";
44pub const META_PROGRESS_TOTAL: &str = "std:progress-total";
45
46// ── Cross-cutting metadata keys ──
47
48pub const META_TRACEPARENT: &str = "std:traceparent";
49pub const META_TRACESTATE: &str = "std:tracestate";
50pub const META_REQUEST_ID: &str = "std:request-id";
51pub const META_PROGRESS_TOKEN: &str = "std:progress-token";
52
53// ── Bridge metadata keys ──
54
55pub const META_FORWARD: &str = "std:forward";
56
57// ── Authentication metadata keys ──
58
59pub const AUTH_API_KEY: &str = "std:api-key";
60pub const AUTH_BEARER_TOKEN: &str = "std:bearer-token";
61pub const AUTH_USERNAME: &str = "std:username";
62pub const AUTH_PASSWORD: &str = "std:password";
63
64// ── Event kinds ──
65
66pub const EVENT_TOOLS_CHANGED: &str = "std:tools:changed";
67pub const EVENT_RESOURCES_CHANGED: &str = "std:resources:changed";
68pub const EVENT_EVENTS_CHANGED: &str = "std:events:changed";
69
70// ── Resource URIs ──
71
72pub const RESOURCE_ICON: &str = "std:icon";
73
74// ── WASM custom sections ──
75
76pub const SECTION_ACT_COMPONENT: &str = "act:component";
77
78// ── MIME types ──
79
80pub const MIME_JSON: &str = "application/json";
81pub const MIME_CBOR: &str = "application/cbor";
82pub const MIME_TEXT: &str = "text/plain";
83pub const MIME_SSE: &str = "text/event-stream";