3#include <neograph/context_store.h>
4#include <neograph/controlled_provider.h>
18 std::shared_ptr<sp::NativeArchive> archive = {});
32 ContextArtifactPutResult put_artifact(std::string_view,
const ContextArtifact&)
override;
33 std::optional<ContextArtifact> get_artifact(std::string_view, std::string_view)
const override;
34private:
struct Impl; std::unique_ptr<Impl> impl_;
37class NEOGRAPH_API SQLiteHookJournal final :
public HookJournal {
39 explicit SQLiteHookJournal(std::string database_path);
40 ~SQLiteHookJournal()
override;
41 SQLiteHookJournal(SQLiteHookJournal&&) noexcept;
42 SQLiteHookJournal& operator=(SQLiteHookJournal&&) noexcept;
43 SQLiteHookJournal(const SQLiteHookJournal&) = delete;
44 SQLiteHookJournal& operator=(const SQLiteHookJournal&) = delete;
45 HookOutboxEntry enqueue(HookInvocation, RuntimeEvent, std::uint32_t, std::chrono::system_clock::time_point) override;
47 std::optional<HookLease> claim(std::string_view, std::string_view, std::chrono::system_clock::time_point, std::chrono::milliseconds) override;
53private: struct Impl; std::unique_ptr<Impl> impl_;
58 explicit SQLiteProviderDispatchReceiptStore(std::string database_path);
59 ~SQLiteProviderDispatchReceiptStore()
override;
60 SQLiteProviderDispatchReceiptStore(SQLiteProviderDispatchReceiptStore&&) noexcept;
61 SQLiteProviderDispatchReceiptStore& operator=(SQLiteProviderDispatchReceiptStore&&) noexcept;
62 SQLiteProviderDispatchReceiptStore(const SQLiteProviderDispatchReceiptStore&) = delete;
63 SQLiteProviderDispatchReceiptStore& operator=(const SQLiteProviderDispatchReceiptStore&) = delete;
65 ProviderDispatchReceiptPutResult persist(std::string_view owner_scope,
67 ProviderDispatchState state(std::string_view) const override;
68 ProviderDispatchState state(std::string_view owner_scope,
69 std::string_view) const override;
70 ProviderDispatchOutcomePutResult settle(
71 std::string_view owner_scope,
74 std::string_view owner_scope,
75 std::string_view dispatch_id) const override;
76private: struct Impl; std::unique_ptr<Impl> impl_;
89 std::string executable_id;
94 SQLiteToolEffectBroker(std::string database_path,
95 std::vector<SQLiteToolExecutableBinding> bindings);
96 ~SQLiteToolEffectBroker()
override;
97 SQLiteToolEffectBroker(
const SQLiteToolEffectBroker&) =
delete;
98 SQLiteToolEffectBroker& operator=(
const SQLiteToolEffectBroker&) =
delete;
99 asio::awaitable<ToolExecutionResult> execute(
104 std::unique_ptr<Impl> impl_;
Immutable context material.
Opt-in marker for ContextStore implementations that survive process restart.
Opt-in marker for receipt stores backed by durable storage.
Immutable durable terminal-attempt record.
Atomic durable-outbox abstraction.
Immutable snapshot of one logical invocation's durable outbox state.
Immutable terminal or reconciliation evidence for one admitted dispatch.
Immutable proof that an assembled request was admitted to provider dispatch.
One immutable, content-addressed line in the authoritative RAW history feed.
Optional SQLite implementations of the runtime durability contracts.
std::optional< RuntimeHistoryRecord > history_record_by_message_id(const ContextStoreFeed &, std::string_view) const override
Exact host message identity lookup; default is a bounded reverse scan.
std::vector< RuntimeHistoryRecord > hydrate_records(const ContextHistoryRange &) const override
Hydrate full typed records; native seals require trusted storage custody.
Durable hook dispatch contracts and in-memory journal.
Immutable reference to an exact contiguous history range, not a feed copy.
Owner-scoped identity of one append-only runtime-history feed.
The current durable head of a feed.
Per-invocation context for a cooperative asynchronous tool.