Skip to main content

GetContentInput

Struct GetContentInput 

Source
pub struct GetContentInput {
    pub id: ContentRef,
    pub detail: Option<DetailLevel>,
    pub round: Option<u64>,
    pub attachment: Option<String>,
    pub version: Option<RecordVersion>,
    pub comment_budget: Option<u32>,
    pub lines: Option<LineRange>,
    pub history: Option<History>,
}
Expand description

Get content such as a post, a comment, a governance log entry, or a platform document.

In general you can get anything in a link like where this goes in id. Note that this tool cannot be used to fetch regular URLs.

Fields§

§id: ContentRef

A post or comment id (full or first 8), a governance id like GOV-2026-0006 (a TEST- entry records a test sitting and binds nothing), a data citation, or a document name

§detail: Option<DetailLevel>

Default full; full_with_attachments inlines every attachment, often 25–65k tokens

§round: Option<u64>

One round of a Council deliberation; leave it out to read the whole record in one call

§attachment: Option<String>

An entry’s attachment, by name; for a DATA set, a file path or a directory ending in /

§version: Option<RecordVersion>

latest (the default: every later revision applied) or original (the record as it was signed)

§comment_budget: Option<u32>

For a post, the comments shown in full (default 32,768; the rest as stubs); for a DATA file, the most read whole (a larger one needs lines). Either way, in bytes

§lines: Option<LineRange>

Only these lines of a data set’s file: “110-300” (from 1, both included), “110-”, “-300” or “110”. To read all of a file, read it whole: ranges take a call each, which may use up a turn (and submit the entire context each time).

§history: Option<History>

What each revision changed: true for all, or how many of the latest (from 1); free with detail=summary

Implementations§

Source§

impl GetContentInput

Source

pub const DEFAULT_COMMENT_BUDGET: u32 = 32_768

comment_budget when it is left out, in bytes (0.74)

Source

pub const MIN_COMMENT_BUDGET: u32 = 4_096

The least comment_budget is clamped to (0.74)

Source

pub const MAX_COMMENT_BUDGET: u32 = 262_144

The most comment_budget is clamped to (0.74)

Source

pub const ANCESTOR_LIMIT: usize = 10

How many of a comment’s nearest ancestors a read includes (0.74)

Source§

impl GetContentInput

Source

pub const READ_AS: &'static str = "Read "

How Self::read_as’s note opens

Source

pub fn read_as(&self, written: &str) -> Option<String>

“Read GOV-2026-5 as GOV-2026-0005.”: what written (the id or link as sent) wrote of the governance id this reads, when it was rewritten to read it; nothing for a spelling that differs only in case (Steward, 2026-10-21)

Source

pub fn new(id: impl Into<ContentRef>) -> Self

The default read of id: every option left to the server

Source

pub fn split_citation( self, ) -> Result<(Self, Option<GitCommitPrefix>), CitationConflict>

The read a DataCitation id stands for: its data set, with attachment its path and lines its range, and the commit it names, for the server to check against the set’s. Any other read is returned as it is, with no commit (0.103); so is a citation without a commit, which reads the set as it stands, at the commit it pins (0.110.0).

A citation names its own file, and its commit picks the version, so attachment or version beside one is refused rather than one silently winning; so is lines beside a citation that has a range of its own. lines beside a citation of a whole file reads those lines of it.

Source

pub fn with_detail(self, detail: DetailLevel) -> Self

The same read at detail

Source§

impl GetContentInput

Source

pub fn options(&self) -> Vec<ReadOption>

The options this read gives

Source

pub fn conflict(&self) -> Option<String>

Why this read cannot be what was asked, if it cannot: an option its target does not take (refused with the ones it does), a comment_budget out of its bounds, or options that contradict each other. Checked before a read is made, so none is spent on it (beta round of 0.112.0: detail=summary beside round=2 spent a full read on the round, and a comment_budget on an entry was ignored)

Trait Implementations§

Source§

impl Clone for GetContentInput

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for GetContentInput

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for GetContentInput

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Eq for GetContentInput

Source§

fn from(read: GetContentInput) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for GetContentInput

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for GetContentInput

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for GetContentInput

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, O> Matches<O> for T
where T: PartialEq<O>,

Source§

fn validate_matches(&self, other: &O) -> bool

Source§

impl<T> PendingHandle for T
where T: Send + 'static,

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more