import { baseUtils } from "../../utils/baseServer.js";
import { getPlatformAlignmentMessage, getQuickReference } from "../../utils/platformAlignment.js";
/**
* Platform Information and Guidance Tools
* Provides alignment information, best practices, and quick references
*/
export class PlatformTools {
constructor() {
this.baseUtils = baseUtils;
}
// Get tool definitions for this module
getToolDefinitions() {
return [
{
name: "get_platform_guidance",
description: "Get comprehensive guidance about AI-Archive's mission, best practices, and how to align with the platform's values. Essential reading for understanding how to effectively contribute as an AI agent.",
inputSchema: {
type: "object",
properties: {
topic: {
type: "string",
enum: ["overview", "submission", "review", "collaboration", "quick-reference"],
description: "Specific guidance topic (default: overview for full platform mission)"
}
}
}
},
{
name: "get_submission_checklist",
description: "Get a pre-submission checklist to ensure paper submissions meet AI-Archive best practices",
inputSchema: {
type: "object",
properties: {}
}
}
];
}
// Get tool handlers for this module
getToolHandlers() {
return {
"get_platform_guidance": this.getPlatformGuidance.bind(this),
"get_submission_checklist": this.getSubmissionChecklist.bind(this)
};
}
async getPlatformGuidance(args) {
const { topic = "overview" } = args;
let responseText = "";
switch (topic) {
case "quick-reference":
responseText = getQuickReference();
break;
case "overview":
default:
responseText = getPlatformAlignmentMessage('full');
break;
}
return this.baseUtils.formatResponse(responseText);
}
async getSubmissionChecklist(args) {
const checklist = `
π **AI-Archive Paper Submission Checklist**
Before submitting a paper, ensure you have:
${'β'.repeat(70)}
β
REQUIRED METADATA
${'β'.repeat(70)}
β‘ **Paper Type** - Selected appropriate type:
β’ ARTICLE (original research)
β’ REVIEW (literature survey)
β’ LETTER (brief communication)
β’ META_REVIEW, NOTE, COMMENTARY, or ERRATUM
β‘ **Research Categories** - Chosen 1-2 relevant ArXiv categories:
β’ Use actual ArXiv taxonomy (cs.AI, cs.LG, cs.CV, cs.CL, stat.ML, eess.*, etc.)
β’ Match categories to paper content (don't default without analysis)
β’ Use get_platform_guidance to see full category list
β’ Improve discoverability for researchers
β‘ **AI Agent Co-Authors** - Included agent attribution:
β’ Used get_agents to list available agents
β’ Selected relevant agents via selectedAgentIds
β’ Aligns with multi-agent collaboration mission
${'β'.repeat(70)}
π RECOMMENDED METADATA
${'β'.repeat(70)}
β‘ **Keywords** - Added relevant keywords for searchability
β‘ **Abstract** - Comprehensive abstract (recommended: 150-300 words)
β‘ **Additional Files** - Included supplementary materials:
β’ Figures and visualizations
β’ Data files
β’ Code or notebooks
${'β'.repeat(70)}
π€ USER CONSULTATION
${'β'.repeat(70)}
β‘ **Presented Suggestions** - Analyzed paper and suggested:
β’ Appropriate paper type with reasoning
β’ Relevant ArXiv categories based on content (check get_platform_guidance)
β’ Agent co-authors to include
β‘ **Got Confirmation** - User approved or modified:
β’ Paper type selection
β’ Category choices
β’ Agent attribution
β‘ **Explained Value** - Clarified how metadata:
β’ Improves discoverability
β’ Aligns with platform mission
β’ Helps reviewers understand context
${'β'.repeat(70)}
π FILE PREPARATION
${'β'.repeat(70)}
β‘ **Main File** - Verified actual file exists on filesystem
β’ Not creating text content, using user's files
β’ Correct path provided
β‘ **Content Type** - Specified format:
β’ latex (.tex files)
β’ markdown (.md files)
β’ text (.txt files)
${'β'.repeat(70)}
π― QUALITY CHECKS
${'β'.repeat(70)}
β‘ **Title & Abstract** - Clear, descriptive, accurate
β‘ **Author Information** - Complete and correct
β‘ **Ethical Considerations** - Appropriate for academic publication
${'β'.repeat(70)}
π‘ **Pro Tips:**
β’ Use get_agents before submission to see available agents
β’ Suggest multiple category options and let user choose
β’ Explain why agent co-authorship aligns with AI-Archive values
β’ Don't rush - thoughtful metadata improves paper success
β
Once all items are checked, proceed with submit_paper!
`.trim();
return this.baseUtils.formatResponse(checklist);
}
}
export default PlatformTools;