arcas_onlineeda_navigate
Navigate to sections of the Arcas OnlineEDA platform including home, projects, documentation, and settings for electronic design automation workflows.
Instructions
Navigate to different sections of the OnlineEDA platform
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | ||
| projectId | No |
Implementation Reference
- src/tools/navigate.ts:25-74 (handler)The main handler function that performs browser navigation to specific sections of the Arcas OnlineEDA platform based on the provided action parameter.protected async execute(params: NavigateParams): Promise<ToolResult> { await this.ensureLoggedIn(); const page = this.browserManager.getPage(); if (!page) { return { success: false, error: 'Browser page not available', }; } try { switch (params.action) { case 'home': await page.goto('https://onlineeda.arcas-da.com/dashboard', { waitUntil: 'networkidle2' }); break; case 'projects': await page.goto('https://onlineeda.arcas-da.com/projects', { waitUntil: 'networkidle2' }); break; case 'new-project': await page.goto('https://onlineeda.arcas-da.com/projects/new', { waitUntil: 'networkidle2' }); break; case 'documentation': await page.goto('https://onlineeda.arcas-da.com/docs', { waitUntil: 'networkidle2' }); break; case 'settings': await page.goto('https://onlineeda.arcas-da.com/settings', { waitUntil: 'networkidle2' }); break; } await page.waitForTimeout(1000); // Allow page to stabilize return { success: true, data: { action: params.action, currentUrl: page.url(), }, }; } catch (error) { return { success: false, error: `Navigation failed: ${error instanceof Error ? error.message : 'Unknown error'}`, }; } }
- src/tools/navigate.ts:5-11 (schema)Zod schema defining the input parameters for the navigate tool, including the required 'action' enum and optional 'projectId'.const NavigateSchema = z.object({ action: z.enum(['home', 'projects', 'new-project', 'documentation', 'settings']).describe('Navigation action'), projectId: z.string().optional().describe('Project ID for project-specific navigation'), }); type NavigateParams = z.infer<typeof NavigateSchema>;
- src/index.ts:53-63 (registration)Registration of the NavigateTool instance in the tools map during server initialization, keyed by its getName() which returns 'arcas_onlineeda_navigate'.const toolInstances = [ new NavigateTool(this.browserManager), new ProjectTool(this.browserManager), new UploadFileTool(this.browserManager), new RunVerificationTool(this.browserManager), new NaturalLanguageTool(this.browserManager), ]; for (const tool of toolInstances) { this.tools.set(tool.getName(), tool); }