Skip to repository content68 lines · 1.4 KB · rust
tenant.openagents/omega
No repository description is available.
OpenAgents Git authority 2026-07-28T02:18:09.352Z Public web read
NIP-34 coordinate
30617:7649603503856e5148d571eac2766b288a8ff1e9e35d380337a1d2b0015b4f92:omegaMaintainersHidden in public view
References2 branches · 1 tag
Read-only clone
git clone https://openagents.com/git/tenant.openagents/omega.gitBrowse files
extension.rs
1use std::collections::BTreeSet;
2use std::sync::Arc;
3
4use chrono::{DateTime, Utc};
5use serde::{Deserialize, Serialize};
6use strum::EnumString;
7
8#[derive(Clone, Serialize, Deserialize, Debug, PartialEq)]
9pub struct ExtensionApiManifest {
10 pub name: String,
11 pub version: Arc<str>,
12 pub description: Option<String>,
13 pub authors: Vec<String>,
14 pub repository: String,
15 pub schema_version: Option<i32>,
16 pub wasm_api_version: Option<String>,
17 #[serde(default)]
18 pub provides: BTreeSet<ExtensionProvides>,
19}
20
21#[derive(
22 Debug,
23 PartialEq,
24 Eq,
25 PartialOrd,
26 Ord,
27 Hash,
28 Clone,
29 Copy,
30 Serialize,
31 Deserialize,
32 EnumString,
33 strum::Display,
34 strum::EnumIter,
35)]
36#[serde(rename_all = "kebab-case")]
37#[strum(serialize_all = "kebab-case")]
38pub enum ExtensionProvides {
39 Languages,
40 Themes,
41 IconThemes,
42 Grammars,
43 LanguageServers,
44 DebugAdapters,
45 ContextServers,
46 /// Deprecated
47 AgentServers,
48 /// Deprecated
49 SlashCommands,
50 /// Deprecated
51 IndexedDocsProviders,
52 Snippets,
53}
54
55#[derive(Clone, Serialize, Deserialize, Debug, PartialEq)]
56pub struct ExtensionMetadata {
57 pub id: Arc<str>,
58 #[serde(flatten)]
59 pub manifest: ExtensionApiManifest,
60 pub published_at: DateTime<Utc>,
61 pub download_count: u64,
62}
63
64#[derive(Serialize, Deserialize)]
65pub struct GetExtensionsResponse {
66 pub data: Vec<ExtensionMetadata>,
67}
68