Declare your data. It’s agent-ready.
InGraph is a schema-driven data framework for AI applications. Define your schema and write your handlers. Its compiler generates Rust code that wires up storage, indexing, and GraphQL/MCP access.
Build faster · Change freely · Stay private
Schema
Define the schema. Compile to Rust.
schema @graph(version: 1, generations: db, agent: { version: "0.1", recipes: [Ask] }) { query: Query} extend schema @resource(name: db, sqlite: {}) @resource(name: ft, fts5: {}) @resource(name: vectors, lance: {}) @resource(name: objects, fs: {}) @source(name: folder, type: Folder) @operator(name: demux, type: Demux, subscribe: { node: folder }, emits: [Video, Frames, Audio]) @operator(name: pickKeyframes, type: Keyframes, subscribe: { node: demux, out: Frames }, emits: [Keyframe]) @service(name: imageEncoder, type: ImageEncoder) @operator(name: embedFrames, type: EmbedFrames, subscribe: { node: Keyframe }, emits: [FramePoint], service: imageEncoder) @tower(name: textTower, type: TextTower) @service(name: speechToText, type: SpeechToText) @operator(name: transcribe, type: Transcribe, subscribe: { node: demux, out: Audio }, emits: [Segment], service: speechToText) type Ask @search(question: String, root: Video, dedup: HASH, limit: 20) { pictures: KeyframeVectors @tower(question: textTower) speech: SegmentText}
Engine
Connect any source. Serve every agent.
The inputs are Video, Audio, Live, Images, Documents, Streams, Agent memory and APIs. The first six enter Sources, and Agent memory and APIs write through Mutations.
In Your InGraph app, Sources feed the first Handlers, which call Models and write Records and Blobs. The Records feed Aggregates and a second layer of Handlers, which call Models and write Vectors, Records and Full-text. Search reads the three and answers. The app is checked before it runs.
The outputs are Apps (GraphQL), Agents (MCP) and Replicas (Followers).
The data backend is built in. Its eight capabilities are Sources, Operators, Compute, Storage, Retrieval, Pipelines, Versions and Replication.