Commit Graph
7 Commits
Author SHA1 Message Date
pnoker 66aab58f20 build: standardize repository tooling and quality gates 2026-09-02 20:51:10 +08:00
pnoker eae86b58fc refactor(storage)!: unify platform persistence on reactive postgresql
- migrate auth, manager, data, and agentic persistence to R2DBC
- hard cut pagination, facade, gateway, web, and CLI contracts
- remove legacy database and TSDB adapters and document validation gates

BREAKING CHANGE: platform persistence now requires PostgreSQL 18 with TimescaleDB and the new reactive API contracts.
2026-09-01 22:03:16 +08:00
pnoker 436c979fe9 feat(cli): agentic session lifecycle and action approval commands
dc3 session (list/get/messages/rename/delete) over the conversation
routes and dc3 action (pending/confirm/reject) for the high-risk
tool-call approval loop, closing the last P0 coverage gap from the
2026-08-27 audit. Six suites assert path shaping, query encoding and
method selection.
2026-09-01 22:03:15 +08:00
pnoker 1b6903cdfb feat(cli): analytics group and alert deep-analysis surface
- dc3 analytics run <op> --args posts to the nine /api/v3/data/analytics
  operations (S19 agent face); analytics list prints the catalog
- dc3 alert gains activity/storm-sources/flapping/correlation/
  peer-deviation/aging/mtta/change-impact (GET), latency, silent-sources,
  coverage-gap and bulk-confirm, with snake_case param mapping and
  generic k=v passthrough
- seven new suites cover path shaping, param mapping, passthrough,
  bulk body verbatim and op validation
2026-09-01 22:03:15 +08:00
pnoker 31e278c005 fix(cli): restore login against cookie-based token contract
- generate responses now acknowledge with data:"ok" and deliver the
  ticket via the dc3-token cookie; extractTicket prefers a JWT-shaped
  body (June-era builds) and falls back to the cookie
- setProfile validated an empty template instead of the merged value,
  crashing every config write on profiles lacking username; validate
  the merge instead. Live-verified end to end against auth+gateway
2026-09-01 22:03:15 +08:00
pnoker cff9af8764 feat(cli): dual-transport tools command group over /mcp
First Phase-3 slice: dc3 tools list/call speak JSON-RPC to POST /mcp
with the same Bearer ticket as REST, reading the live tool catalog
instead of hard-coded paths. Requires an oauth-type login; classic
tickets get a clean exit-code-3 auth error. Five unit suites cover
request shaping, scope rejection, rpc errors and the 401 challenge.
2026-09-01 22:03:14 +08:00
pnoker b828719d38 feat(cli): adopt dc3-cli into the repository as a standalone module
Move the previously untracked TypeScript CLI into iot-dc3 as an
independently managed module next to dc3-web:

- pnpm workspace (pnpm@11.24.0) with esbuild build approval,
  package renamed to iot-dc3-cli, npm lockfile dropped
- add eslint flat config; lint now runs green after removing
  unused imports/vars and adding switch-case breaks in config.ts
- document CLI conventions and commands in AGENTS.md
2026-09-01 22:03:13 +08:00