Skip to main content
Glama

Squad AI

InsightWithRelationships.ts8.55 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 { Feedback } from './Feedback.js'; import { FeedbackFromJSON, FeedbackFromJSONTyped, FeedbackToJSON, FeedbackToJSONTyped, } from './Feedback.js'; import type { Outcome } from './Outcome.js'; import { OutcomeFromJSON, OutcomeFromJSONTyped, OutcomeToJSON, OutcomeToJSONTyped, } from './Outcome.js'; import type { Opportunity } from './Opportunity.js'; import { OpportunityFromJSON, OpportunityFromJSONTyped, OpportunityToJSON, OpportunityToJSONTyped, } from './Opportunity.js'; import type { Solution } from './Solution.js'; import { SolutionFromJSON, SolutionFromJSONTyped, SolutionToJSON, SolutionToJSONTyped, } from './Solution.js'; /** * Insight with relationships (legacy - use InsightWithRelationships) * @export * @interface InsightWithRelationships */ export interface InsightWithRelationships { /** * Unique identifier for the insight * @type {string} * @memberof InsightWithRelationships */ id: string; /** * Type of insight * @type {string} * @memberof InsightWithRelationships */ type: InsightWithRelationshipsTypeEnum; /** * Title of the insight * @type {string} * @memberof InsightWithRelationships */ title: string; /** * Description of the insight * @type {string} * @memberof InsightWithRelationships */ description: string; /** * Whether the insight has been seen * @type {boolean} * @memberof InsightWithRelationships */ seen: boolean; /** * Whether the insight content should be hidden * @type {boolean} * @memberof InsightWithRelationships */ hideContent: boolean; /** * ID of the insight owner * @type {string} * @memberof InsightWithRelationships */ ownerId?: string; /** * Wilson score + corroboration score (0-1) * @type {number} * @memberof InsightWithRelationships */ strengthScore?: number; /** * Recency and burst detection score * @type {number} * @memberof InsightWithRelationships */ momentumScore?: number; /** * Weighted composite of strength and momentum scores * @type {number} * @memberof InsightWithRelationships */ combinedScore?: number; /** * ISO timestamp of last score calculation * @type {Date} * @memberof InsightWithRelationships */ lastScoreCalculatedAt?: Date; /** * BERT embeddings for topic modeling * @type {Array<number>} * @memberof InsightWithRelationships */ topicEmbeddings?: Array<number>; /** * Creation timestamp * @type {string} * @memberof InsightWithRelationships */ createdAt: string; /** * Last update timestamp * @type {string} * @memberof InsightWithRelationships */ updatedAt: string; /** * * @type {Array<Opportunity>} * @memberof InsightWithRelationships */ opportunities: Array<Opportunity>; /** * * @type {Array<Solution>} * @memberof InsightWithRelationships */ solutions: Array<Solution>; /** * * @type {Array<Outcome>} * @memberof InsightWithRelationships */ outcomes: Array<Outcome>; /** * * @type {Array<Feedback>} * @memberof InsightWithRelationships */ feedback: Array<Feedback>; /** * The number of connections this insight has to other entities * @type {number} * @memberof InsightWithRelationships */ strength: number; } /** * @export */ export const InsightWithRelationshipsTypeEnum = { Feedback: 'Feedback', Bug: 'Bug', FeatureRequest: 'FeatureRequest' } as const; export type InsightWithRelationshipsTypeEnum = typeof InsightWithRelationshipsTypeEnum[keyof typeof InsightWithRelationshipsTypeEnum]; /** * Check if a given object implements the InsightWithRelationships interface. */ export function instanceOfInsightWithRelationships(value: object): value is InsightWithRelationships { if (!('id' in value) || value['id'] === undefined) return false; if (!('type' in value) || value['type'] === undefined) return false; if (!('title' in value) || value['title'] === undefined) return false; if (!('description' in value) || value['description'] === undefined) return false; if (!('seen' in value) || value['seen'] === undefined) return false; if (!('hideContent' in value) || value['hideContent'] === undefined) return false; if (!('createdAt' in value) || value['createdAt'] === undefined) return false; if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false; if (!('opportunities' in value) || value['opportunities'] === undefined) return false; if (!('solutions' in value) || value['solutions'] === undefined) return false; if (!('outcomes' in value) || value['outcomes'] === undefined) return false; if (!('feedback' in value) || value['feedback'] === undefined) return false; if (!('strength' in value) || value['strength'] === undefined) return false; return true; } export function InsightWithRelationshipsFromJSON(json: any): InsightWithRelationships { return InsightWithRelationshipsFromJSONTyped(json, false); } export function InsightWithRelationshipsFromJSONTyped(json: any, ignoreDiscriminator: boolean): InsightWithRelationships { if (json == null) { return json; } return { 'id': json['id'], 'type': json['type'], 'title': json['title'], 'description': json['description'], 'seen': json['seen'], 'hideContent': json['hideContent'], 'ownerId': json['ownerId'] == null ? undefined : json['ownerId'], 'strengthScore': json['strengthScore'] == null ? undefined : json['strengthScore'], 'momentumScore': json['momentumScore'] == null ? undefined : json['momentumScore'], 'combinedScore': json['combinedScore'] == null ? undefined : json['combinedScore'], 'lastScoreCalculatedAt': json['lastScoreCalculatedAt'] == null ? undefined : (new Date(json['lastScoreCalculatedAt'])), 'topicEmbeddings': json['topicEmbeddings'] == null ? undefined : json['topicEmbeddings'], 'createdAt': json['createdAt'], 'updatedAt': json['updatedAt'], 'opportunities': ((json['opportunities'] as Array<any>).map(OpportunityFromJSON)), 'solutions': ((json['solutions'] as Array<any>).map(SolutionFromJSON)), 'outcomes': ((json['outcomes'] as Array<any>).map(OutcomeFromJSON)), 'feedback': ((json['feedback'] as Array<any>).map(FeedbackFromJSON)), 'strength': json['strength'], }; } export function InsightWithRelationshipsToJSON(json: any): InsightWithRelationships { return InsightWithRelationshipsToJSONTyped(json, false); } export function InsightWithRelationshipsToJSONTyped(value?: InsightWithRelationships | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'id': value['id'], 'type': value['type'], 'title': value['title'], 'description': value['description'], 'seen': value['seen'], 'hideContent': value['hideContent'], 'ownerId': value['ownerId'], 'strengthScore': value['strengthScore'], 'momentumScore': value['momentumScore'], 'combinedScore': value['combinedScore'], 'lastScoreCalculatedAt': value['lastScoreCalculatedAt'] == null ? undefined : ((value['lastScoreCalculatedAt']).toISOString()), 'topicEmbeddings': value['topicEmbeddings'], 'createdAt': value['createdAt'], 'updatedAt': value['updatedAt'], 'opportunities': ((value['opportunities'] as Array<any>).map(OpportunityToJSON)), 'solutions': ((value['solutions'] as Array<any>).map(SolutionToJSON)), 'outcomes': ((value['outcomes'] as Array<any>).map(OutcomeToJSON)), 'feedback': ((value['feedback'] as Array<any>).map(FeedbackToJSON)), 'strength': value['strength'], }; }

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