Skip to main content
Glama

Squad AI

Solution.ts7.66 kB
/* tslint:disable */ /* eslint-disable */ /** * Squad API * API for managing Squad resources * * The version of the OpenAPI document: 4.0.0 * Contact: help@meetsquad.ai * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { mapValues } from '../runtime.js'; import type { SolutionRefinementLogInner } from './SolutionRefinementLogInner.js'; import { SolutionRefinementLogInnerFromJSON, SolutionRefinementLogInnerFromJSONTyped, SolutionRefinementLogInnerToJSON, SolutionRefinementLogInnerToJSONTyped, } from './SolutionRefinementLogInner.js'; /** * Solution data for an opportunity * @export * @interface Solution */ export interface Solution { [key: string]: any | any; /** * * @type {string} * @memberof Solution */ id: string; /** * System prompt used to generate the requirement * @type {string} * @memberof Solution */ systemPrompt?: string; /** * Current state of AI processing * @type {string} * @memberof Solution */ aiProcessingState: SolutionAiProcessingStateEnum; /** * Log of refinements made to the requirement * @type {Array<SolutionRefinementLogInner>} * @memberof Solution */ refinementLog: Array<SolutionRefinementLogInner>; /** * Title of the solution * @type {string} * @memberof Solution */ title: string; /** * Description of the solution * @type {string} * @memberof Solution */ description: string; /** * Solution status * @type {string} * @memberof Solution */ status: SolutionStatusEnum; /** * List of pros/advantages for this solution * @type {Array<string>} * @memberof Solution */ pros: Array<string>; /** * List of cons/disadvantages for this solution * @type {Array<string>} * @memberof Solution */ cons: Array<string>; /** * Whether the solution content should be hidden * @type {boolean} * @memberof Solution */ hideContent: boolean; /** * How the solution was created * @type {string} * @memberof Solution */ createdBy: SolutionCreatedByEnum; /** * ID of the solution owner * @type {string} * @memberof Solution */ ownerId?: string; /** * Creation timestamp * @type {string} * @memberof Solution */ createdAt: string; /** * Last update timestamp * @type {string} * @memberof Solution */ updatedAt: string; /** * User indicated priority for the solution (fractional-indexing string) * @type {string} * @memberof Solution */ priority: string; /** * Product Requirements Document content for the solution * @type {string} * @memberof Solution */ prd: string; /** * Time horizon for the solution * @type {string} * @memberof Solution */ horizon?: SolutionHorizonEnum; } /** * @export */ export const SolutionAiProcessingStateEnum = { Initial: 'INITIAL', Processing: 'PROCESSING', Finished: 'FINISHED', Error: 'ERROR' } as const; export type SolutionAiProcessingStateEnum = typeof SolutionAiProcessingStateEnum[keyof typeof SolutionAiProcessingStateEnum]; /** * @export */ export const SolutionStatusEnum = { Backlog: 'Backlog', New: 'New', Planned: 'Planned', InDevelopment: 'InDevelopment', Complete: 'Complete', Cancelled: 'Cancelled', Live: 'Live' } as const; export type SolutionStatusEnum = typeof SolutionStatusEnum[keyof typeof SolutionStatusEnum]; /** * @export */ export const SolutionCreatedByEnum = { User: 'user', Generated: 'generated' } as const; export type SolutionCreatedByEnum = typeof SolutionCreatedByEnum[keyof typeof SolutionCreatedByEnum]; /** * @export */ export const SolutionHorizonEnum = { Now: 'now', Next: 'next', Later: 'later' } as const; export type SolutionHorizonEnum = typeof SolutionHorizonEnum[keyof typeof SolutionHorizonEnum]; /** * Check if a given object implements the Solution interface. */ export function instanceOfSolution(value: object): value is Solution { if (!('id' in value) || value['id'] === undefined) return false; if (!('aiProcessingState' in value) || value['aiProcessingState'] === undefined) return false; if (!('refinementLog' in value) || value['refinementLog'] === undefined) return false; if (!('title' in value) || value['title'] === undefined) return false; if (!('description' in value) || value['description'] === undefined) return false; if (!('status' in value) || value['status'] === undefined) return false; if (!('pros' in value) || value['pros'] === undefined) return false; if (!('cons' in value) || value['cons'] === undefined) return false; if (!('hideContent' in value) || value['hideContent'] === undefined) return false; if (!('createdBy' in value) || value['createdBy'] === undefined) return false; if (!('createdAt' in value) || value['createdAt'] === undefined) return false; if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false; if (!('priority' in value) || value['priority'] === undefined) return false; if (!('prd' in value) || value['prd'] === undefined) return false; return true; } export function SolutionFromJSON(json: any): Solution { return SolutionFromJSONTyped(json, false); } export function SolutionFromJSONTyped(json: any, ignoreDiscriminator: boolean): Solution { if (json == null) { return json; } return { ...json, 'id': json['id'], 'systemPrompt': json['systemPrompt'] == null ? undefined : json['systemPrompt'], 'aiProcessingState': json['aiProcessingState'], 'refinementLog': ((json['refinementLog'] as Array<any>).map(SolutionRefinementLogInnerFromJSON)), 'title': json['title'], 'description': json['description'], 'status': json['status'], 'pros': json['pros'], 'cons': json['cons'], 'hideContent': json['hideContent'], 'createdBy': json['createdBy'], 'ownerId': json['ownerId'] == null ? undefined : json['ownerId'], 'createdAt': json['createdAt'], 'updatedAt': json['updatedAt'], 'priority': json['priority'], 'prd': json['prd'], 'horizon': json['horizon'] == null ? undefined : json['horizon'], }; } export function SolutionToJSON(json: any): Solution { return SolutionToJSONTyped(json, false); } export function SolutionToJSONTyped(value?: Solution | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { ...value, 'id': value['id'], 'systemPrompt': value['systemPrompt'], 'aiProcessingState': value['aiProcessingState'], 'refinementLog': ((value['refinementLog'] as Array<any>).map(SolutionRefinementLogInnerToJSON)), 'title': value['title'], 'description': value['description'], 'status': value['status'], 'pros': value['pros'], 'cons': value['cons'], 'hideContent': value['hideContent'], 'createdBy': value['createdBy'], 'ownerId': value['ownerId'], 'createdAt': value['createdAt'], 'updatedAt': value['updatedAt'], 'priority': value['priority'], 'prd': value['prd'], 'horizon': value['horizon'], }; }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/the-basilisk-ai/squad-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server