UNPKG

@gsb-core/mcp-docs

Version:

Documentation for GSB MCP implementations

229 lines (218 loc) 9.13 kB
/** * GSB Entity Service Documentation * ============================== * * This file serves as the central hub for all API documentation. * It imports documentation from individual files and provides a unified interface * for accessing documentation for specific methods or the entire API. */ // Import all documentation files import overviewDocs, { overviewSummary } from './docs/overview.js'; import getByIdDocs, { getByIdSummary } from './docs/getById.js'; import getCopyDocs, { getCopySummary } from './docs/getCopy.js'; import queryDocs, { querySummary } from './docs/query.js'; import queryMappedDocs, { queryMappedSummary } from './docs/queryMapped.js'; import saveDocs, { saveSummary } from './docs/save.js'; import saveMultiDocs, { saveMultiSummary } from './docs/saveMulti.js'; import deleteDocs, { deleteSummary } from './docs/delete.js'; import deleteQueryDocs, { deleteQuerySummary } from './docs/deleteQuery.js'; import saveMappedItemsDocs, { saveMappedItemsSummary } from './docs/saveMappedItems.js'; import removeMappedItemsDocs, { removeMappedItemsSummary } from './docs/removeMappedItems.js'; import runWorkflowDocs, { runWorkflowSummary } from './docs/runWorkflow.js'; import startWorkflowDocs, { startWorkflowSummary } from './docs/startWorkflow.js'; import runWfFunctionDocs, { runWfFunctionSummary } from './docs/runWfFunction.js'; import iterateTaskDocs, { iterateTaskSummary } from './docs/iterateTask.js'; import getCommonPropertyDefsDocs, { getCommonPropertyDefsSummary } from './docs/getCommonPropertyDefs.js'; import createEntityDefDocs, { createEntityDefSummary } from './docs/createEntityDef.js'; import updateEntityDefDocs, { updateEntityDefSummary } from './docs/updateEntityDef.js'; import addPropertyDocs, { addPropertySummary } from './docs/addProperty.js'; import removePropertyDocs, { removePropertySummary } from './docs/removeProperty.js'; import updatePropertyDocs, { updatePropertySummary } from './docs/updateProperty.js'; import getEntityDefDocs, { getEntityDefSummary } from './docs/getEntityDef.js'; import queryEntityDefsDocs, { queryEntityDefsSummary } from './docs/queryEntityDefs.js'; import getDocsDocs, { getDocsSummary } from './docs/getDocs.js'; import getApiDocsDocs, { getApiDocsSummary } from './docs/getApiDocs.js'; import createOrUpdateSchemaDocs, { createOrUpdateSchemaSummary } from './docs/createOrUpdateSchema.js'; import queryWorkflowInstancesDocs, { queryWorkflowInstancesSummary } from './docs/queryWorkflowInstances.js'; import getWorkflowInstanceStatusDocs, { getWorkflowInstanceStatusSummary } from './docs/getWorkflowInstanceStatus.js'; import getWorkflowInstanceResultDocs, { getWorkflowInstanceResultSummary } from './docs/getWorkflowInstanceResult.js'; import testWfFunctionDocs, { testWfFunctionSummary } from './docs/testWfFunction.js'; // Import new markdown docs import { gsbFunctionsMarkdown } from './docs/gsb-functions-docs.js'; import { gsbSchemaMarkdown } from './docs/gsb-schema-docs.js'; /** * Returns documentation for the specified operation or general API documentation * @param operation - The operation to get documentation for * @return Documentation in markdown format */ export function getDocs(operation?: string): string { // If no operation is specified, return the overview documentation if (!operation) { return overviewDocs(); } // Return documentation for the specified operation switch (operation.toLowerCase()) { case 'getbyid': return getByIdDocs(); case 'getcopy': return getCopyDocs(); case 'query': return queryDocs(); case 'querymapped': return queryMappedDocs(); case 'save': return saveDocs(); case 'savemulti': return saveMultiDocs(); case 'delete': return deleteDocs(); case 'deletequery': return deleteQueryDocs(); case 'savemappeditems': return saveMappedItemsDocs(); case 'removemappeditems': return removeMappedItemsDocs(); case 'runworkflow': return runWorkflowDocs(); case 'startworkflow': return startWorkflowDocs(); case 'runwffunction': return runWfFunctionDocs(); case 'iteratetask': return iterateTaskDocs(); case 'testwffunction': return testWfFunctionDocs(); case 'getcommonpropertydefs': return getCommonPropertyDefsDocs(); case 'createentitydef': return createEntityDefDocs(); case 'updateentitydef': return updateEntityDefDocs(); case 'addproperty': return addPropertyDocs(); case 'removeproperty': return removePropertyDocs(); case 'updateproperty': return updatePropertyDocs(); case 'getentitydef': return getEntityDefDocs(); case 'queryentitydefs': return queryEntityDefsDocs(); case 'getdocs': return getDocsDocs(); case 'getapidocs': return getApiDocsDocs(); case 'createorupdateschema': return createOrUpdateSchemaDocs(); default: return `Documentation for '${operation}' not found. Available operations: getById, getCopy, query, queryMapped, save, saveMulti, delete, deleteQuery, saveMappedItems, removeMappedItems, getDefinition, runWorkflow, startWorkflow, runWfFunction, iterateTask, getCommonPropertyDefs, createEntityDef, updateEntityDef, addProperty, removeProperty, updateProperty, getEntityDef, queryEntityDefs, getDocs, getApiDocs, createOrUpdateSchema.`; } } /** * Returns a brief summary of the specified operation or general API overview * @param operation - The operation to get summary for * @return Brief summary in markdown format */ export function getSummary(operation?: string): string { // If no operation is specified, return the overview summary if (!operation) { return overviewSummary(); } // Return summary for the specified operation switch (operation.toLowerCase()) { case 'getbyid': return getByIdSummary(); case 'getcopy': return getCopySummary(); case 'query': return querySummary(); case 'querymapped': return queryMappedSummary(); case 'save': return saveSummary(); case 'savemulti': return saveMultiSummary(); case 'delete': return deleteSummary(); case 'deletequery': return deleteQuerySummary(); case 'savemappeditems': return saveMappedItemsSummary(); case 'removemappeditems': return removeMappedItemsSummary(); case 'runworkflow': return runWorkflowSummary(); case 'startworkflow': return startWorkflowSummary(); case 'runwffunction': return runWfFunctionSummary(); case 'iteratetask': return iterateTaskSummary(); case 'getcommonpropertydefs': return getCommonPropertyDefsSummary(); case 'createentitydef': return createEntityDefSummary(); case 'updateentitydef': return updateEntityDefSummary(); case 'addproperty': return addPropertySummary(); case 'removeproperty': return removePropertySummary(); case 'updateproperty': return updatePropertySummary(); case 'getentitydef': return getEntityDefSummary(); case 'queryentitydefs': return queryEntityDefsSummary(); case 'getdocs': return getDocsSummary(); case 'getapidocs': return getApiDocsSummary(); case 'createorupdateschema': return createOrUpdateSchemaSummary(); case 'queryworkflowinstances': return queryWorkflowInstancesSummary(); case 'getworkflowinstancestatus': return getWorkflowInstanceStatusSummary(); case 'getworkflowinstanceresult': return getWorkflowInstanceResultSummary(); case 'testwffunction': return testWfFunctionSummary(); default: return `Summary for '${operation}' not found. Available operations: getById, getCopy, query, queryMapped, save, saveMulti, delete, deleteQuery, saveMappedItems, removeMappedItems, getDefinition, runWorkflow, startWorkflow, runWfFunction, iterateTask, getCommonPropertyDefs, createEntityDef, updateEntityDef, addProperty, removeProperty, updateProperty, getEntityDef, queryEntityDefs, getDocs, getApiDocs, createOrUpdateSchema, queryWorkflowInstances, getWorkflowInstanceStatus, getWorkflowInstanceResult.`; } } /** * Returns general API documentation * @return General API documentation in markdown format */ export function getApiDocs(): string { return ` # GSB Entity Service API - **Name**: GSB Entity Service API - **Version**: 1.0.0 - **Description**: API for managing entity data and definitions For detailed documentation on all available operations, use the \`getDocs\` operation. `; } /** * Returns the GSB Serverless Functions documentation. * @return GSB Serverless Functions documentation in markdown format */ export function getServerlessFunctionDocs(): string { return gsbFunctionsMarkdown; } /** * Returns the GSB Schema Management documentation. * @return GSB Schema Management documentation in markdown format */ export function getSchemaDocs(): string { return gsbSchemaMarkdown; } export default { getDocs, getSummary, getApiDocs, getServerlessFunctionDocs, getSchemaDocs };