@gsb-core/mcp-docs
Version:
Documentation for GSB MCP implementations
229 lines (218 loc) • 9.13 kB
text/typescript
/**
* 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
};