import { validateStateList, handleToolError, logger } from '../utils/errorHandler.js';
export const getRegulatoryUpdatesTool = {
name: "get_regulatory_updates",
description: "Get recent regulatory changes and updates for specific states",
inputSchema: {
type: "object",
properties: {
states: {
type: "array",
items: { type: "string" },
description: "States to get updates for"
}
},
required: ["states"]
}
};
export async function handleGetRegulatoryUpdates(args, dataLoader) {
try {
logger.info('get_regulatory_updates called', { states: args.states });
validateStateList(args.states);
const statesData = await dataLoader.loadMultipleStates(args.states);
const response = {
query_date: new Date().toISOString().split('T')[0],
states: statesData.map(state => {
const legalFramework = state.legal_framework;
return {
state: state.state_name,
recent_updates: legalFramework?.recent_updates || legalFramework?.recent_major_changes || [],
data_extraction_date: state.data_extraction_date,
effective_date: state.effective_date,
has_update_info: !!(legalFramework?.recent_updates || legalFramework?.recent_major_changes),
note: !(legalFramework?.recent_updates || legalFramework?.recent_major_changes) ?
"No recent updates recorded in database" : undefined
};
})
};
return {
content: [{
type: "text",
text: JSON.stringify(response, null, 2)
}]
};
}
catch (error) {
return handleToolError(error);
}
}
//# sourceMappingURL=getRegulatoryUpdates.js.map