const { resolveAddressIntent } = require('../dist/services/addressIntentResolver.js'); const { extractAddressFilters } = require('../dist/services/addressFilterExtractor.js'); const { selectAddressRecipe, buildAddressRecipePlan } = require('../dist/services/addressRecipeCatalog.js'); const { executeAddressMcpQuery } = require('../dist/services/addressMcpClient.js'); (async () => { const q = 'Покажи документы по договору 15/24'; const intentObj = resolveAddressIntent(q); const filtersObj = extractAddressFilters(q, intentObj.intent); const sel = selectAddressRecipe(intentObj.intent, filtersObj.extracted_filters); console.log('intent_obj=', intentObj); console.log('filters_obj=', filtersObj); console.log('selection=', sel); if (!sel.selected_recipe) return; const plan = buildAddressRecipePlan(sel.selected_recipe, filtersObj.extracted_filters); const mcp = await executeAddressMcpQuery({ query: plan.query, limit: plan.limit }); const rows = Array.isArray(mcp.raw_rows) ? mcp.raw_rows : []; const contractNeedle = String(filtersObj.extracted_filters.contract || '').toLowerCase(); const byAnchor = rows.filter((r) => JSON.stringify(r).toLowerCase().includes(contractNeedle)); console.log('query_limit=', plan.limit); console.log('raw_rows=', rows.length); console.log('by_anchor=', byAnchor.length); console.log('sample_registrators=', byAnchor.slice(0,10).map((r)=>String(r['Регистратор'] ?? r['Registrator'] ?? ''))); console.log('sample_rows=', byAnchor.slice(0,5)); })();