Skip to main content

lsp_max_protocol/
lib.rs

1//! Protocol vocabulary and conformance types for lsp-max.
2//!
3//! Re-exports the generated LSP 3.18 meta-model (`lsp_3_18`), defines `LawAxis`
4//! for typed law identifiers, and houses `ConformanceVector` and capability
5//! negotiation helpers consumed by the runtime and CLI crates.
6
7pub mod lsp_3_18;
8pub use lsp_3_18 as generated_3_18;
9
10pub mod conformance;
11pub mod core;
12pub mod custom_methods;
13pub mod diagnostics;
14pub mod explain;
15pub mod hooks;
16pub mod intent;
17pub mod phase;
18pub mod pipeline;
19pub mod policy;
20pub mod repair;
21pub mod stream;
22
23// Re-export all types so they are visible at the crate root level exactly as before.
24
25pub use conformance::{ConformanceGrade, ConformanceVector, LawAxis};
26
27pub use diagnostics::{
28    DocRoute, MaxCodeAction, MaxDiagnostic, Precondition, ReceiptPlan, RepairAction, Repairability,
29    RollbackPlan, SnapshotId, Terminality, TransitionAttempt, ValidationPlan,
30};
31
32pub use explain::{
33    explain_code, explain_method_status, ExplainDiagnosticParams, ExplainDiagnosticResult,
34    ExplainPosition, ExplainReceiptParams, ExplainReceiptResult, ExplainStatusParams,
35    ExplainStatusResult, LawAxisTrace, EXPLAIN_DIAGNOSTIC, EXPLAIN_RECEIPT, EXPLAIN_STATUS,
36};
37
38pub use hooks::{
39    AdmissionDecision, AdmissionResult, AutonomicLoopStatus, ChainDescriptor, HookDescriptor,
40    HookEvent, HookGraphNode, LawfulTransitionResult, ManifoldSnapshot, PropagationResult,
41    RefusalResult, ReleaseActuationResult, ReplayResult,
42};
43
44pub use custom_methods::{
45    MaxRulePackDiff,
46    MaxRulePackStatus,
47    MaxRulePacks,
48    MaxWorkspaceConformance,
49    RulePackDescriptor,
50    RulePackDiffEntry,
51    RulePackStatusResult,
52    METHOD_ADMISSION,
53    METHOD_AUTONOMIC_LOOP,
54    METHOD_CHAIN,
55    METHOD_HOOK,
56    METHOD_HOOK_GRAPH,
57    METHOD_LAWFUL_TRANSITION,
58    METHOD_LSIF_EXPORT,
59    METHOD_MANIFOLD_SNAPSHOT,
60    METHOD_PROPAGATE,
61    METHOD_REFUSAL,
62    METHOD_RELEASE_ACTUATION,
63    METHOD_REPLAY,
64    // Rule-pack protocol methods
65    METHOD_RULE_PACKS,
66    METHOD_RULE_PACK_DIFF,
67    METHOD_RULE_PACK_STATUS,
68    METHOD_WORKSPACE_CONFORMANCE,
69};
70
71pub use policy::PolicyState;
72
73pub use intent::{
74    IntentDeclareParams, IntentDeclareResult, IntentKind, IntentListParams, IntentListResult,
75    IntentOutcome, IntentRegistry, IntentRevokeParams, IntentRevokeResult, IntentSummary,
76    IntentValidateParams, IntentValidateResult, INTENT_DECLARE, INTENT_LIST, INTENT_REVOKE,
77    INTENT_VALIDATE,
78};
79
80pub use core::{
81    AnalysisBundle, CapabilityGap, GateId, InstanceId, LspStateModel, MaxCapabilityVector, Receipt,
82    ReceiptObligation,
83};
84
85pub use stream::{
86    StreamBus, StreamEvent, StreamEventKind, StreamSubscribeParams, StreamSubscribeResult,
87    StreamUnsubscribeParams, StreamUnsubscribeResult, STREAM_EVENT, STREAM_SUBSCRIBE,
88    STREAM_UNSUBSCRIBE,
89};
90
91// LspRequest is implemented for FoldingRangeRefreshRequest and
92// TextDocumentContentRefreshRequest directly in lsp_3_18.rs.
93// The impls are available via `lsp_3_18::LspRequest`.
94