Skip to main content

co_primitives/
lib.rs

1// SPDX-License-Identifier: AGPL-3.0-only
2// Copyright (C) 2026 1io BRANDGUARDIAN GmbH
3
4mod library;
5mod macros;
6mod types;
7
8#[cfg(any(test, feature = "benchmarking"))]
9pub use library::test::TestStorage;
10pub use library::{
11	block_diff::{block_diff, block_diff_added_with_parent, BlockDiff, BlockDiffFollow},
12	block_links::{BlockLinks, BlockLinksFilter, IgnoreFilter, JoinFilter, WeakCoReferenceFilter},
13	block_serializer::{BlockSerializer, BlockSerializerError},
14	cbor::{from_cbor, to_cbor, CborError},
15	co_try_stream_ext::CoTryStreamExt,
16	is_default::IsDefault,
17	json::{from_json, from_json_string, to_json, to_json_string, JsonError},
18	lsm_tree_map::{LsmTreeMap, LsmTreeMapSettings},
19	node_builder::{DefaultNodeSerializer, Node, NodeBuilder, NodeBuilderError, NodeSerializer},
20	node_reader::{node_reader, NodeReaderError},
21	node_stream::NodeStream,
22	reducer_action_core::{reducer_action_core, reducer_action_core_from_storage},
23	serde_map_as_list,
24	storage::CoreBlockStorage,
25	unixfs::{unixfs_add, unixfs_cat_buffer, unixfs_encode_buffer},
26	unixfs_stream::unixfs_stream,
27};
28pub use types::{
29	action::ReducerAction,
30	any_block_storage::AnyBlockStorage,
31	block::{Block, BlockError},
32	block_storage::{
33		BlockStat, BlockStorage, BlockStorageCloneSettings, BlockStorageStoreParams, CloneWithBlockStorageSettings,
34		StorageError,
35	},
36	block_storage_ext::BlockStorageExt,
37	cid::CoCid,
38	clock::Clock,
39	co::CoId,
40	co_date::{CoDate, CoDateRef, DynamicCoDate, MonotonicCoDate, StaticCoDate},
41	co_list::{CoList, CoListIndex, CoListTransaction},
42	co_map::{CoMap, CoMapTransaction},
43	co_reference::CoReference,
44	co_set::{CoSet, CoSetTransaction},
45	codec::{KnownMultiCodec, MultiCodec, MultiCodecError},
46	core_name::CoreName,
47	date::Date,
48	diagnostic_message::DiagnosticMessage,
49	did::Did,
50	entry::{Entry, SignedEntry},
51	guard::{GuardInput, GuardOutput},
52	invite::{CoConnectivity, CoInviteMetadata},
53	known_tags::{CoInvite, CoJoin, CoNetwork, CoTimeout, KnownTag, KnownTags},
54	lazy_transaction::{LazyTransaction, Transactionable},
55	link::{Link, Linkable, OptionLink},
56	mapped_cid::{MappedCid, OptionMappedCid},
57	metadata::{CoMetadata, Metadata, WithCoMetadata},
58	network::{Network, NetworkCoHeads, NetworkDidDiscovery, NetworkPeer, NetworkRendezvous},
59	path::{
60		AbsolutePath, AbsolutePathOwned, Component, Components, Path, PathError, PathExt, PathOwned, RelativePath,
61		RelativePathOwned,
62	},
63	raw_cid::{cid_to_raw, raw_to_cid, RawCid, CID_MAX_SIZE},
64	reducer::{ReducerInput, ReducerOutput},
65	secret::Secret,
66	storage::Storage,
67	store_params::{DefaultParams, StoreParams},
68	streamable::Streamable,
69	tags::{Tag, TagMatcher, TagPattern, TagValue, Tags, TagsExpr},
70	total_float::TotalFloat64,
71	weak_cid::WeakCid,
72};