Skip to main content
Glama
queryTask.ts2.02 kB
/** * queryTask prompt 生成器 * queryTask prompt generator * 負責將模板和參數組合成最終的 prompt * Responsible for combining templates and parameters into the final prompt */ import { loadPrompt, generatePrompt, loadPromptFromTemplate, } from "../loader.js"; import { Task } from "../../types/index.js"; /** * queryTask prompt 參數介面 * queryTask prompt parameters interface */ export interface QueryTaskPromptParams { query: string; isId: boolean; tasks: Task[]; totalTasks: number; page: number; pageSize: number; totalPages: number; } /** * 獲取 queryTask 的完整 prompt * Get the complete prompt for queryTask * @param params prompt 參數 * @param params prompt parameters * @returns 生成的 prompt * @returns generated prompt */ export async function getQueryTaskPrompt( params: QueryTaskPromptParams ): Promise<string> { const { query, isId, tasks, totalTasks, page, pageSize, totalPages } = params; if (tasks.length === 0) { const notFoundTemplate = await loadPromptFromTemplate( "queryTask/notFound.md" ); return generatePrompt(notFoundTemplate, { query, }); } const taskDetailsTemplate = await loadPromptFromTemplate( "queryTask/taskDetails.md" ); let tasksContent = ""; for (const task of tasks) { tasksContent += generatePrompt(taskDetailsTemplate, { taskId: task.id, taskName: task.name, taskStatus: task.status, taskDescription: task.description.length > 100 ? `${task.description.substring(0, 100)}...` : task.description, createdAt: new Date(task.createdAt).toLocaleString(), }); } const indexTemplate = await loadPromptFromTemplate("queryTask/index.md"); const prompt = generatePrompt(indexTemplate, { tasksContent, page, totalPages, pageSize, totalTasks, query, }); // 載入可能的自定義 prompt // Load possible custom prompt return loadPrompt(prompt, "QUERY_TASK"); }

Latest Blog Posts

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/cjo4m06/mcp-shrimp-task-manager'

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