bulc_run_aset_analysis
Analyze building egress safety by evaluating temperature, visibility, and gas levels at exit locations to determine Available Safe Egress Time.
Instructions
Run ASET (Available Safe Egress Time) analysis at a specified exit location. Evaluates safety criteria: temperature <60C, visibility >5m, CO <1400ppm, CO2 <5%, O2 >15%.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| exitX | Yes | Exit X coordinate in meters | |
| exitY | Yes | Exit Y coordinate in meters | |
| exitZ | No | Exit Z coordinate in meters. Default: 1.8 (breathing height) | |
| criteria | No | Custom safety criteria (optional) |
Implementation Reference
- src/tools/result.ts:260-267 (handler)Handler logic for the 'bulc_run_aset_analysis' tool: validates input arguments using RunAsetAnalysisSchema and sends the 'run_aset_analysis' command to the BULC client.case "bulc_run_aset_analysis": { const validated = RunAsetAnalysisSchema.parse(args); result = await client.sendCommand({ action: "run_aset_analysis", params: validated, }); break; }
- src/tools/result.ts:90-143 (schema)Tool definition including name, description, input schema, and annotations for 'bulc_run_aset_analysis'.{ name: "bulc_run_aset_analysis", description: "Run ASET (Available Safe Egress Time) analysis at a specified exit location. " + "Evaluates safety criteria: temperature <60C, visibility >5m, CO <1400ppm, CO2 <5%, O2 >15%.", inputSchema: { type: "object" as const, properties: { exitX: { type: "number", description: "Exit X coordinate in meters", }, exitY: { type: "number", description: "Exit Y coordinate in meters", }, exitZ: { type: "number", description: "Exit Z coordinate in meters. Default: 1.8 (breathing height)", }, criteria: { type: "object", description: "Custom safety criteria (optional)", properties: { maxTemperature: { type: "number", description: "Max safe temperature in Celsius. Default: 60", }, minVisibility: { type: "number", description: "Min visibility in meters. Default: 5", }, maxCo: { type: "number", description: "Max CO in ppm. Default: 1400", }, maxCo2: { type: "number", description: "Max CO2 in percent. Default: 5", }, minO2: { type: "number", description: "Min O2 in percent. Default: 15", }, }, }, }, required: ["exitX", "exitY"], }, annotations: { readOnlyHint: true, destructiveHint: false, }, },
- src/tools/result.ts:201-212 (schema)Zod schema for input validation of the 'bulc_run_aset_analysis' tool.const RunAsetAnalysisSchema = z.object({ exitX: z.number(), exitY: z.number(), exitZ: z.number().optional(), criteria: z.object({ maxTemperature: z.number().optional(), minVisibility: z.number().positive().optional(), maxCo: z.number().positive().optional(), maxCo2: z.number().positive().optional(), minO2: z.number().positive().optional(), }).optional(), });
- src/index.ts:124-132 (registration)Routing registration in main server handler: directs 'bulc_run_aset_analysis' calls to handleResultTool.if ( name === "bulc_open_result_viewer" || name === "bulc_list_result_datasets" || name === "bulc_get_point_data" || name === "bulc_run_aset_analysis" || name === "bulc_generate_report" ) { return await handleResultTool(name, safeArgs); }
- src/index.ts:40-51 (registration)Includes resultTools (containing 'bulc_run_aset_analysis') in the full list of available tools served by ListToolsRequest.const allTools = [ ...contextTools, // 8 tools: spatial context, home info, levels, undo/redo, save ...roomTools, // 5 tools: create, create_polygon, list, modify, delete ...wallTools, // 5 tools: create, create_rectangle, list, modify, delete ...furnitureTools, // 5 tools: catalog, place, list, modify, delete ...fdsDataTools, // 7 tools: get, fire_source, detector, sprinkler, hvac, thermocouple, clear ...meshTools, // 5 tools: list, create, auto, modify, delete ...simulationTools, // 4 tools: get_settings, time, output, ambient ...fdsRunTools, // 6 tools: preview, validate, export, run, status, stop ...resultTools, // 5 tools: open_viewer, list_datasets, point_data, aset, report ...evacTools, // 25 tools: setup, stairs, agents, run, results, advanced features ];