38std::optional<ControlTimelineDocumentSessionAction>
78 std::optional<pulp::timeline::ConflictCode>
conflict;
103 std::function<std::optional<ControlTimelineDocumentSessionSource>(
const ControlAdmissionPlan&)>;
124std::optional<std::string>
ConflictCode
Stable reason a transaction cannot be reduced or committed.
Definition transaction.hpp:103
Definition agent_context.hpp:7
std::function< std::optional< ControlTimelineDocumentSessionSource >(const ControlAdmissionPlan &)> ControlTimelineDocumentSessionSourceResolver
Definition control_timeline_document_session_executor.hpp:102
ControlResultCode
Definition control_protocol.hpp:375
std::optional< ControlTimelineDocumentSessionAction > control_timeline_document_session_action_by_name(std::string_view name) noexcept
Resolves an action from its public name, or nullopt for an unknown name.
ControlTimelineDocumentSessionAction
The action one dev.pulp.timeline/document-session@1 request selects.
Definition control_timeline_document_session_executor.hpp:20
@ Undo
Reverts the newest closed undo group.
Definition control_timeline_document_session_executor.hpp:28
@ Diff
Reads the accumulated change set of an open session.
Definition control_timeline_document_session_executor.hpp:26
@ Redo
Reapplies the newest redo group.
Definition control_timeline_document_session_executor.hpp:30
@ Apply
Submits one transaction of commands against an open session.
Definition control_timeline_document_session_executor.hpp:24
@ Open
Opens a mutable session over a canonical project and registers a writer.
Definition control_timeline_document_session_executor.hpp:22
ControlRetryClassification
Definition control_protocol.hpp:396
std::string_view control_timeline_document_session_action_name(ControlTimelineDocumentSessionAction action) noexcept
Returns the stable public name of action, as the JSON schema spells it.
ControlResultCode control_timeline_conflict_result_code(pulp::timeline::ConflictCode conflict) noexcept
Projects a session-side conflict onto the broker result code.
ControlRetryClassification control_timeline_conflict_retry(pulp::timeline::ConflictCode conflict) noexcept
Returns how a caller may retry a request refused with conflict.
std::optional< std::string > control_timeline_admissible_writer_profile(std::string_view requested) noexcept
Returns the writer-profile name the broker admits for requested.
std::function< ControlExecutionOutcome( const ControlAdmissionPlan &, const ControlRequestEnvelope &, const ControlExecutionContext &)> ControlOperationExecutor
Trusted in-process adapter contract.
Definition control_execution.hpp:56
ControlOperationExecutor make_control_timeline_document_session_executor(ControlTimelineDocumentSessionSourceResolver resolve_source)
Creates the canonical dev.pulp.timeline/document-session@1 executor.
@ action
Definition design_ir.hpp:490
Immutable authority snapshot minted by ControlBroker after all seven permission terms pass.
Definition control_admission.hpp:58
Definition control_identity.hpp:36
One typed outcome from the bound timeline::DocumentSession.
Definition control_timeline_document_session_executor.hpp:64
bool accepted
True when the session accepted the request.
Definition control_timeline_document_session_executor.hpp:66
std::optional< pulp::timeline::ConflictCode > conflict
The session's refusal cause. Required on every refused outcome.
Definition control_timeline_document_session_executor.hpp:78
std::string explanation
Human-readable account of the refusal.
Definition control_timeline_document_session_executor.hpp:82
bool applied
True when the session committed a new revision.
Definition control_timeline_document_session_executor.hpp:72
std::uint64_t revision
Published document revision after the request.
Definition control_timeline_document_session_executor.hpp:70
std::string session_id
Session identity. Required on every accepted outcome.
Definition control_timeline_document_session_executor.hpp:68
bool replayed
True when an identical idempotency_key replayed a cached result.
Definition control_timeline_document_session_executor.hpp:74
std::string refusal_json
The offline surface's typed refusal envelope, verbatim.
Definition control_timeline_document_session_executor.hpp:80
std::string diff_json
Change-set payload for Diff, empty otherwise.
Definition control_timeline_document_session_executor.hpp:76
One decoded document-session request, already validated against the operation's input schema and the ...
Definition control_timeline_document_session_executor.hpp:43
std::string project
Canonical project path or identifier. Present only for Open.
Definition control_timeline_document_session_executor.hpp:46
std::string commands_json
Command payload in the offline surface's own command JSON. Apply only.
Definition control_timeline_document_session_executor.hpp:50
std::string writer_profile
Admitted writer-profile name. Never trusted when the caller chose it.
Definition control_timeline_document_session_executor.hpp:52
ControlTimelineDocumentSessionAction action
Definition control_timeline_document_session_executor.hpp:44
std::optional< std::uint64_t > expected_revision
Optimistic-concurrency precondition. Apply only.
Definition control_timeline_document_session_executor.hpp:56
std::string idempotency_key
Caller-supplied replay key. Apply only; empty when not supplied.
Definition control_timeline_document_session_executor.hpp:54
std::string session_id
Session identity returned by a prior Open. Absent for Open.
Definition control_timeline_document_session_executor.hpp:48
Exact-instance source for one live mutable Timeline document session.
Definition control_timeline_document_session_executor.hpp:93
ControlRegistrationId registration_id
Definition control_timeline_document_session_executor.hpp:94
std::string instance_id
Definition control_timeline_document_session_executor.hpp:95
std::string publication_id
Definition control_timeline_document_session_executor.hpp:96
std::function< ControlTimelineDocumentSessionOutcome(const ControlTimelineDocumentSessionRequest &)> invoke
Definition control_timeline_document_session_executor.hpp:99