[general]
name=02Agent OSM Downloader
qgisMinimumVersion=3.28
qgisMaximumVersion=4.99
description=QGIS 3.28+ and QGIS 4 OpenStreetMap acquisition studio with 30 curated presets, Nominatim place search, exact administrative-boundary downloads, tiled wide extents, structured multi-tag queries with exclusion and regex matching, a typo-tolerant offline command router, and safe Processing endpoints.
version=1.2.1
author=Yusuf Eminoglu
email=yusuf.eminoglu@deu.edu.tr

about=
    02Agent OSM Downloader is a stable QGIS 3.28+ and QGIS 4 acquisition studio for OpenStreetMap. Its 15 thematic groups and 30 curated presets cover urban context, street and rail networks, morphology, buildings, land use, green-blue systems, public transport, religion, tourism, heritage, sport, cycling, cars, traffic, healthcare, education, emergency services and administrative places. Urban Context connects street network, built form, trees, public transport and public-realm datasets, and datasets within a theme can be combined in one bounded request.
    The four-tab dock provides Presets, Query, Command and Agent workflows. Place names are resolved by the OpenStreetMap Nominatim geocoder, which lists every match with its address context and administrative level; when the chosen place has a mapped boundary the download follows that boundary instead of a rectangle, so a district stops at the district edge. An extent wider than one bounded request is split into a grid of tiled requests, downloaded in sequence and merged so an object crossing a tile seam stays one feature, letting a single job cover up to 2,500 square kilometres. A live estimate above the Download button reports the request area and how many requests it needs. A standard OpenStreetMap XYZ basemap can be added from the dock, while downloaded line layers can use OSM highway categories for distinct widths or one uniform width. The structured advanced-query panel combines up to six validated OSM tags with ANY or ALL matching, an optional regex (~) value mode, an optional exclude tag applied after the response arrives, selectable geometry scope, examples, key/value suggestions and a read-only Overpass preview. Every Processing endpoint accepts that same optional exclude tag. Overpass responses persist in an on-disk cache so a repeated download can be instant even after restarting QGIS, and a transient mirror error gets one retry before moving to the next pinned mirror.
    The offline Command tab tolerates small misspellings, recognises "without X" to exclude a tag, and can check a second dataset from the same theme when a command names more than one (for example "parks and water"). Commands are interpreted entirely on this computer; only a resolved place name is ever sent out.
    Sixteen persistent map styles provide live palette previews and native categorized QGIS renderers for buildings, roads, rail, transit, water, green space, trees and common points of interest. Agent Protocol v1 exposes four stable QGIS Processing endpoints that 02Agent Smart Modeler can discover, inspect and run only after a validated proposal and explicit user approval. API keys remain in 02Agent Smart Modeler's process memory or encrypted QGIS vault and are never copied into this plugin.
    Downloads use the current map extent, the active-layer extent or a geocoded place, three pinned Overpass mirrors with diagnostic failover, strict area, request, response and feature limits, cancellation, a persistent cache and temporary point, line and polygon outputs. Only four fixed hosts are ever contacted: the three Overpass mirrors and the Nominatim geocoder. The plugin accepts no editable raw Overpass query, arbitrary URL, user path, API key or pip dependency. Illustrated task guides and the full manual: https://yusufeminoglu.github.io/02Agent-OSM-Downloader/

tracker=https://github.com/YusufEminoglu/02Agent-OSM-Downloader/issues
repository=https://github.com/YusufEminoglu/02Agent-OSM-Downloader
homepage=https://yusufeminoglu.github.io/02Agent-OSM-Downloader/

category=Vector
tags=qgis,osm,openstreetmap,overpass,query-builder,advanced-query,ai,agent,smartmodeler,urban-analysis,urban-planning,network,morphology,buildings,land-use,green-blue,public-transport,cycling,traffic,tourism,processing,data-downloader
icon=icons/icon.png

experimental=False
deprecated=False
hasProcessingProvider=yes
license=GPL-3

changelog=
    1.2.1 - Fix a crash on every download after the first one (the 1.2.0 persistent cache reused a SQLite connection across QGIS worker threads). A tiled download that loses one tile to a mirror timeout now keeps the tiles that succeeded instead of discarding the whole job. The docked panel now sizes to its real content and scrolls instead of clipping the Download button on a short docked panel. The dock opens tabbed with the Browser panel, a downloaded layer group is inserted at the top of the layer tree, and a small basemap-add button sits in the tab bar.
    1.2.0 - Query and Command overhaul. Advanced Query: raise the tag filter cap from four to six, add an optional exclude key/value applied to every download endpoint after the response arrives, add an optional regex (~) value-matching mode, retry a transient mirror error once before failing over, and persist the Overpass response cache to disk so a repeated request can be instant even after restarting QGIS. Command: tolerate small misspellings via a bounded offline fuzzy match, recognise "without X" to exclude a tag and route the match to the Query tab, check a second same-theme dataset when a command names more than one, and keep a clickable recent-commands list.
    1.1.1 - Follow the companion plugin's rename: SmartModeler GIS is now 02Agent Smart Modeler (package planx_smartmodeler -> zero2smartmodeler). Update the AI Connections bridge lookup and user-facing text; no functional change for users who update both plugins together.
    1.1.0 - Add Nominatim place search with ranked matches, exact administrative-boundary downloads, tiled wide extents up to 2,500 km2 with automatic merging, a live request-size estimate and five illustrated task guides. Fix the route and tourism attribute columns holding each other's values, and preserve multi-part route relations.
    1.0.0 - Stable public release: remove the experimental flag, align Hub metadata, publish the complete user and technical documentation, and verify both QGIS runtime smoke suites.
    0.5.5 - Add OpenStreetMap, tile-service and Overpass API notices and preserve attribution metadata on the optional basemap.
    0.5.4 - Support natural-language place commands using the of connector.
    0.5.3 - Resolve named places in the background and zoom to the matched administrative extent.
    0.5.2 - Refresh the reference manual with Getting Started, multi-dataset and reliability guidance.
    0.5.1 - Refine dock hierarchy, dataset selection actions, global examples and About copy.
    0.5.0 - Add the OSM basemap action, expanded Urban Context, highway-aware road widths, global place examples and route relations.
    0.4.4 - Declare QGIS 3.28+ and QGIS 4 compatibility in plugin metadata and documentation.
    0.4.0 - Add semantic map themes, structured advanced queries, Agent Protocol v1 and dual-runtime regression coverage.
    0.3.0 - Add the Urban Context compound preset for roads, buildings and trees.
    0.2.0 - Rebuild the dock, assemble multipolygon relations and harden command and task workflows.
    0.1.0 - Initial release with curated presets, custom tags, bounded Overpass fallback and SmartModeler-ready Processing algorithms.
