UNPKG

@struktoai/mirage-core

Version:

A Unified Virtual Filesystem For AI Agents

134 lines • 5.14 kB
// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= export const TEAM_LIST_QUERY = `query Teams($first: Int!, $after: String) { teams(first: $first, after: $after) { nodes { id key name description timezone updatedAt states { nodes { id name type } } } pageInfo { hasNextPage endCursor } } }`; export const TEAM_MEMBERS_QUERY = `query TeamMembers($teamId: String!, $first: Int!, $after: String) { team(id: $teamId) { members(first: $first, after: $after) { nodes { id name displayName email active admin url updatedAt } pageInfo { hasNextPage endCursor } } } }`; // The one selection an issue renders from. issue.json's size rides the team // listing (sizesAlwaysKnown) while a read fetches the issue alone, so the two // queries must select the same fields or the listed size disagrees with the // bytes a read delivers; both are built from this. Mirrors python's // ISSUE_FIELDS. const ISSUE_FIELDS = ` id identifier title description priority url createdAt updatedAt team { id key name } state { id name } project { id name } cycle { id name number } assignee { id name email } creator { id name email } labels { nodes { id name } } `; export const TEAM_ISSUES_QUERY = `query TeamIssues( $teamId: String!, $first: Int!, $after: String, $filter: IssueFilter ) { team(id: $teamId) { issues(first: $first, after: $after, filter: $filter) { nodes {${ISSUE_FIELDS}} pageInfo { hasNextPage endCursor } } } }`; export const TEAM_PROJECTS_QUERY = `query TeamProjects($teamId: String!, $first: Int!, $after: String) { team(id: $teamId) { projects(first: $first, after: $after) { nodes { id name description status { type } url updatedAt lead { id } } pageInfo { hasNextPage endCursor } } } }`; export const TEAM_CYCLES_QUERY = `query TeamCycles($teamId: String!, $first: Int!, $after: String) { team(id: $teamId) { cycles(first: $first, after: $after) { nodes { id name number startsAt endsAt updatedAt } pageInfo { hasNextPage endCursor } } } }`; export const TEAM_LABELS_QUERY = `query TeamLabels($teamId: String!, $first: Int!, $after: String) { team(id: $teamId) { labels(first: $first, after: $after) { nodes { id name color } pageInfo { hasNextPage endCursor } } } }`; export const TEAM_DOCUMENTS_QUERY = `query TeamDocuments($teamId: ID!, $first: Int!, $after: String) { documents(filter: { team: { id: { eq: $teamId } } }, first: $first, after: $after) { nodes { id title content url createdAt updatedAt project { id name } creator { id name email } } pageInfo { hasNextPage endCursor } } }`; export const ISSUE_QUERY = `query Issue($issueId: String!) { issue(id: $issueId) {${ISSUE_FIELDS}} }`; export const ISSUE_COMMENTS_QUERY = `query IssueComments($issueId: String!, $first: Int!, $after: String) { issue(id: $issueId) { comments(first: $first, after: $after) { nodes { id body url createdAt updatedAt user { id name displayName email } } pageInfo { hasNextPage endCursor } } } }`; export const ISSUE_LOOKUP_QUERY = `query IssueLookup($teamKey: String!, $number: Float!) { issues(filter: { team: { key: { eq: $teamKey } } number: { eq: $number } }, first: 1) { nodes { id identifier } } }`; export const USER_LOOKUP_QUERY = `query UserLookup($email: String!) { users(filter: { email: { eq: $email } }, first: 1) { nodes { id email name } } }`; export const ISSUE_CREATE_MUTATION = `mutation IssueCreate($input: IssueCreateInput!) { issueCreate(input: $input) { success issue { id identifier } } }`; export const ISSUE_UPDATE_MUTATION = `mutation IssueUpdate($id: String!, $input: IssueUpdateInput!) { issueUpdate(id: $id, input: $input) { success issue { id identifier } } }`; export const COMMENT_CREATE_MUTATION = `mutation CommentCreate($input: CommentCreateInput!) { commentCreate(input: $input) { success comment { id issue { id identifier } } } }`; export const COMMENT_UPDATE_MUTATION = `mutation CommentUpdate($id: String!, $input: CommentUpdateInput!) { commentUpdate(id: $id, input: $input) { success comment { id issue { id identifier } } } }`; export const ISSUE_SEARCH_QUERY = `query IssueSearch($term: String!, $first: Int) { searchIssues(term: $term, first: $first) { nodes { id identifier title url state { id name } assignee { id displayName email } } } }`; //# sourceMappingURL=queries.js.map