UNPKG

permamind

Version:

An MCP server that provides an immortal memory layer for AI agents and clients

208 lines (207 loc) 3.96 kB
// Type definitions for Arweave GraphQL queries and responses export var SortOrder; (function (SortOrder) { SortOrder["HEIGHT_ASC"] = "HEIGHT_ASC"; SortOrder["HEIGHT_DESC"] = "HEIGHT_DESC"; SortOrder["INGESTED_AT_ASC"] = "INGESTED_AT_ASC"; SortOrder["INGESTED_AT_DESC"] = "INGESTED_AT_DESC"; })(SortOrder || (SortOrder = {})); export var TagOperator; (function (TagOperator) { TagOperator["EQ"] = "EQ"; TagOperator["NEQ"] = "NEQ"; })(TagOperator || (TagOperator = {})); // Common GraphQL query fragments export const TRANSACTION_FIELDS_FRAGMENT = ` fragment TransactionFields on Transaction { id anchor signature recipient owner { address key } fee { winston ar } quantity { winston ar } data { size type } tags { name value } block { id timestamp height previous } bundledIn { id } ingested_at } `; export const BLOCK_FIELDS_FRAGMENT = ` fragment BlockFields on Block { id timestamp height previous } `; // Pre-built GraphQL queries export const TRANSACTION_QUERY = ` query GetTransactions( $ids: [ID!] $owners: [String!] $recipients: [String!] $tags: [TagFilter!] $bundledIn: [ID!] $block: BlockFilter $ingested_at: IngestedAtFilter $first: Int $after: String $sort: SortOrder ) { transactions( ids: $ids owners: $owners recipients: $recipients tags: $tags bundledIn: $bundledIn block: $block ingested_at: $ingested_at first: $first after: $after sort: $sort ) { pageInfo { hasNextPage } edges { cursor node { ...TransactionFields } } } } ${TRANSACTION_FIELDS_FRAGMENT} `; export const SINGLE_TRANSACTION_QUERY = ` query GetTransaction($id: ID!) { transaction(id: $id) { ...TransactionFields } } ${TRANSACTION_FIELDS_FRAGMENT} `; export const BLOCK_QUERY = ` query GetBlocks( $ids: [ID!] $height: BlockFilter $first: Int $after: String $sort: SortOrder ) { blocks( ids: $ids height: $height first: $first after: $after sort: $sort ) { pageInfo { hasNextPage } edges { cursor node { ...BlockFields } } } } ${BLOCK_FIELDS_FRAGMENT} `; export const SINGLE_BLOCK_QUERY = ` query GetBlock($id: String!) { block(id: $id) { ...BlockFields } } ${BLOCK_FIELDS_FRAGMENT} `; // AO-specific queries export const AO_PROCESS_MESSAGES_QUERY = ` query GetAOProcessMessages( $fromProcessId: String! $msgRefs: [String!]! $limit: Int! $sortOrder: SortOrder! $cursor: String $ingestedAtMin: Int ) { transactions( sort: $sortOrder first: $limit after: $cursor tags: [ { name: "Reference", values: $msgRefs } { name: "From-Process", values: [$fromProcessId] } { name: "Data-Protocol", values: ["ao"] } ] ingested_at: { min: $ingestedAtMin } ) { pageInfo { hasNextPage } edges { cursor node { ...TransactionFields } } } } ${TRANSACTION_FIELDS_FRAGMENT} `; export const AO_PROCESS_QUERY = ` query GetAOProcess( $processId: String! $first: Int $after: String $sort: SortOrder ) { transactions( tags: [ { name: "Data-Protocol", values: ["ao"] } { name: "Type", values: ["Process"] } { name: "Process", values: [$processId] } ] first: $first after: $after sort: $sort ) { pageInfo { hasNextPage } edges { cursor node { ...TransactionFields } } } } ${TRANSACTION_FIELDS_FRAGMENT} `;