Commit Graph
100 Commits
Author SHA1 Message Date
jiang be6317eb48 feat(server): integrate MCP queries and investigation messaging
Add project-bound OAuth MCP queries and controlled analysis with scoped evidence,
limits, timeouts and a nearby-model spatial query using EPSG:4326 inputs.
Default nearby searches to 200 meters and five results.

Integrate investigation messaging/presentation, health/readiness and typed history;
remove duplicate web search and fix online simulation and compressed baseline writes.
Include project migrations 023-025; keep local credentials and demo seeding excluded.

Validation: 319 focused pytest checks; real PostGIS temporary-table regression;
read-only Jinqian bridge radius comparison; cross-language MCP discovery/calls.
2026-10-19 18:46:58 +08:00
jiang 2b6fc5aa52 feat(tasks): define investigation report contract and history 2026-10-10 16:02:46 +08:00
jiang 4a63fcd7ff fix(workbench): serialize events and target work order sync 2026-10-08 15:41:49 +08:00
jiang ad813a7c16 feat(workbench): add dynamic task approval lifecycle 2026-09-24 16:36:12 +08:00
jiang ed06bc2bfc fix(workbench): configure psycopg snapshot transaction
Open the psycopg transaction without unsupported SQLAlchemy-style options, then set the PostgreSQL isolation and read-only characteristics before the first query. Cover the exact snapshot endpoint path with a regression test.
2026-09-24 09:49:01 +08:00
jiang 9335bdc1ea feat(workbench): persist operational workflows and events 2026-09-24 04:19:02 +08:00
jiang 7ab9b36a5e feat(workbench): add runtime GIS and sample integrations 2026-09-22 10:44:31 +08:00
jiang a3b4e75317 fix(api): return real total for user pagination 2026-09-15 10:55:29 +08:00
jiang 682c26fddd feat(timeseries): unify element history queries 2026-09-14 12:30:41 +08:00
jiang 90b02057bc feat(projects): automate project infrastructure provisioning 2026-09-11 10:57:51 +08:00
jiang 8942541759 feat(scada): serve project devices through pooled API 2026-09-08 18:18:30 +08:00
jiang 5966d039de refactor(backend)!: separate algorithm and data layers
Reorganize algorithm packages by business responsibility, move orchestration into services, and keep database access behind pooled repositories.

Harden analysis API validation, remove unsafe legacy simulation endpoints, and add regression and architecture boundary coverage.

BREAKING CHANGE: legacy algorithm module paths and obsolete simulation endpoints are removed.
2026-09-04 17:30:55 +08:00
jiang 9b095c7439 refactor(db)!: clean up business SQL access
- make realtime replacement and analysis result writes transactional\n- consolidate SCADA repositories and remove process-global project state\n- validate SCADA batches and use indexed GIS-backed business queries\n\nBREAKING CHANGE: remove the public analysis result writer and the pipeline-health network_name query parameter.
2026-08-28 11:37:36 +08:00
jiang b74799a39d refactor(db)!: finalize pooled WNDB v2 migration 2026-08-27 17:26:22 +08:00
jiang fa188af0b1 refactor(db)!: adopt project-routed pooled databases
Reorganize WNDB by responsibility and remove legacy scheme endpoints.\n\nRoute analysis and time-series access through project pools, preserve transactional realtime replacement, and refresh GIS materialized views after writes.\n\nAdd database architecture documentation, live pooling coverage, API contract updates, and executable container verification.\n\nBREAKING CHANGE: legacy scheme APIs and flat app.native.wndb module imports are removed.
2026-08-25 18:35:05 +08:00
jiang 6b09662de6 refactor(storage): route project DSNs and remove legacy backends 2026-08-18 18:29:09 +08:00
jiang 8853877fcd fix(security): close backend merge blockers 2026-08-18 17:51:29 +08:00
jiang 2581631b51 feat(simulation): 支持冲洗阀门状态与设置值 2026-08-17 18:28:57 +08:00
jiang 1432934f12 feat(sensor): 返回候选节点最大管径 2026-08-03 19:00:00 +08:00
jiang c126e99b60 docs(api): align project lock contract 2026-08-03 11:12:31 +08:00
jiang b6a6527bab refactor(auth): remove project-local user API 2026-08-03 10:39:41 +08:00
jiang ba947b616b feat(api): standardize REST contracts and auth 2026-07-30 20:38:51 +08:00
jiang ae1a657554 feat(server): add project RBAC and guarded workflows 2026-07-30 16:45:09 +08:00
jiang 3fbb17bb30 fix(sensor-placement): enforce project write boundaries
Bind every scheme request to ProjectContext, keep viewer access read-only, reject concurrent optimization jobs without blocking worker threads, and cap export/update payload sizes. Run optimization and workbook work off the event loop.
2026-07-30 16:21:38 +08:00
jiang ddbb50173c feat(sensor-placement): add editable scheme APIs 2026-07-30 16:16:51 +08:00
jiang 31e2728db1 refactor(api): unify scheme query endpoints 2026-07-30 11:01:45 +08:00
jiang 045d6c5b49 fix(simulation): use current user for stored schemes 2026-07-17 16:49:20 +08:00
jiang db6032bd84 feat(burst-detection): update scada analysis flow 2026-07-17 16:31:46 +08:00
jiang b4ecfbb87a fix(scada): use project-scoped metadata 2026-07-17 16:28:40 +08:00
jiang 775ecb8a58 fix(simulation): use hydraulic timestep 2026-07-16 14:16:06 +08:00
jiang 76cf6c32bc fix(agent): expose network context 2026-07-08 18:41:56 +08:00
jiang 5a91da0904 fix(burst-location): use correct data sources
Simulation mode reads scheme data for both burst and normal observations. Monitoring mode reuses the burst window when no normal window is provided.
2026-07-08 17:51:08 +08:00
jiang 4c0a4b29e9 refactor(metadata): drop geoserver config refs 2026-06-13 14:57:33 +08:00
jiang 5a55d65002 refactor(api): add kebab-case legacy aliases 2026-06-13 13:07:16 +08:00
jiang d99f4cec6a refactor(admin): remove geoserver config 2026-06-12 15:28:14 +08:00
jiang a6e7a2e75c feat(admin): add project metadata config 2026-06-12 15:08:37 +08:00
jiang 23c008f602 feat(auth): migrate to Keycloak metadata auth 2026-06-12 10:18:41 +08:00
jiang e588d1cf33 feat(api): add Tianditu geocoding 2026-06-09 17:09:42 +08:00
jiang 1712ecd4c7 feat(api): add web search endpoint 2026-06-09 16:13:24 +08:00
jiang 233960d8db 明确时间模拟需要 scheme_name 参数 2026-06-03 17:31:44 +08:00
jiang b9410b0ff3 统一前后端时间时区请求 2026-06-03 11:17:37 +08:00
jiang 4982efba5e 更新tjwater-cli network参数;更新metadb health方法 2026-06-03 10:48:01 +08:00
jiang b72e42521c 优化时间范围查询,添加 UTC 时间标准化处理 2026-06-01 16:46:51 +08:00
jiang c2ccb7bc4e 移除实时数据和仿真结果接口,优化代码结构 2026-05-26 18:49:25 +08:00
jiang 2317f4d527 新增 API 测试用例,修复失效接口问题 2026-05-21 15:32:12 +08:00
jiang 751950e5b5 调整函数说明 2026-05-20 11:45:01 +08:00
jiang 3b712ea467 优化传感器布置算法,修复数据库更新逻辑 2026-04-17 17:21:50 +08:00
jiang 93cbd7e7b3 独立 copilot 服务 2026-03-27 13:52:12 +08:00
jiang 0196206ed3 创建层级化目录的 skills 2026-03-27 13:05:22 +08:00
jiang 88eec2787b 整理 api tags 2026-03-27 12:31:52 +08:00