ltcai 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -36,6 +36,24 @@ Automatic knowledge graph
36
36
  Graph-aware chat, snapshots, memory, agents, workflows, skills, and timeline
37
37
  ```
38
38
 
39
+ ### New in 1.4.0: Server App Final Decomposition
40
+
41
+ - **server_app.py final decomposition** — the app shell is now FastAPI assembly,
42
+ lifespan, middleware, static mounting, and router wiring only
43
+ (~5,381 → 1,303 lines)
44
+ - **Chat / model / tools extraction** — chat/history/agent, model runtime and
45
+ provider helpers, tools, local files, computer-use, permissions, upload,
46
+ garden/setup/static UI, MCP, and KG glue now live in API routers and services
47
+ - **AppContext and dependency cleanup** — routers receive explicit dependencies
48
+ and do not import the FastAPI app; service modules own runtime and dispatch
49
+ business logic
50
+ - **Safety validation suite** — route compatibility, import/startup, streaming,
51
+ model endpoint, tools/local/CU, release-artifact, and documentation stale
52
+ checks guard the split
53
+ - **Compatibility preserved** — all public API paths, request/response schemas,
54
+ `server:app`, CLI, UI, Knowledge Graph, Admin/Security, Workspace OS, and
55
+ VS Code expectations remain unchanged
56
+
39
57
  ### New in 1.2.0: Server App Modularization
40
58
 
41
59
  - **server_app.py modularized** — Workspace/Organization and health/engine
@@ -315,16 +333,18 @@ Supported routes include OpenAI-compatible APIs, OpenRouter, Groq, Together, xAI
315
333
 
316
334
  ## Current release
317
335
 
318
- **0.6.0** completes the runtime / registry / config extraction sprint:
336
+ **1.4.0** completes the Server App Final Decomposition release:
319
337
 
320
- - `server.py` is now a thin compatibility entrypoint; FastAPI app assembly lives
321
- in `latticeai.server_app`
322
- - tool dispatch, governance, permission views, MCP descriptions, and prompt
323
- catalog metadata are centralized in `ToolRegistry`
324
- - agent role prompts are split into `latticeai.core.agent_prompts`, while
325
- `AgentRuntime` remains the injected state-machine core
338
+ - `server.py` remains the thin compatibility entrypoint and
339
+ `latticeai/server_app.py` is now a compact app assembly shell
340
+ - chat/history/agent, model runtime/provider helpers, tools/local/CU/
341
+ permissions/upload, garden/setup/static pages, MCP, and KG router wiring are
342
+ extracted into `latticeai/api/*` and `latticeai/services/*`
343
+ - route compatibility, streaming, model endpoint, tools/local/CU,
344
+ import/startup, build, packaging, and documentation stale-reference checks
345
+ are part of the release validation
326
346
  - Python package, npm package, VS Code extension, FastAPI app, and `/health`
327
- version metadata are aligned at `0.6.0`
347
+ version metadata are aligned at `1.4.0`
328
348
 
329
349
  See the full [changelog](docs/CHANGELOG.md).
330
350
 
package/docs/CHANGELOG.md CHANGED
@@ -1,5 +1,101 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.4.0] - 2026-05-31
4
+
5
+ > Server App Final Decomposition — chat, model runtime, tools/local/CU,
6
+ > permissions/upload, garden/setup/static, MCP, and KG glue extracted while
7
+ > preserving the public route contract.
8
+
9
+ ### Added
10
+
11
+ - **Final decomposition guard** —
12
+ `tests/unit/test_server_app_v14_decomposition.py` asserts
13
+ `latticeai/server_app.py` stays under the 1,500-line target, new routers and
14
+ services import independently, and version metadata is aligned.
15
+ - **New routers** — `latticeai/api/chat.py`, `latticeai/api/tools.py`,
16
+ `latticeai/api/computer_use.py`, `latticeai/api/local_files.py`,
17
+ `latticeai/api/permissions.py`, `latticeai/api/garden.py`,
18
+ `latticeai/api/setup.py`, `latticeai/api/static_routes.py`, plus
19
+ `latticeai/api/deps.py`.
20
+ - **New service seams** — `latticeai/services/model_runtime.py`,
21
+ `latticeai/services/tool_dispatch.py`, `latticeai/services/upload_service.py`,
22
+ and
23
+ `latticeai/services/app_context.py`.
24
+
25
+ ### Changed
26
+
27
+ - **server_app.py final decomposition** — reduced from 5,381 lines to 1,303
28
+ lines. The file now owns FastAPI construction, lifespan, middleware, static
29
+ mount, router wiring, and compatibility globals only.
30
+ - **Chat/history/agent extracted** — `/chat`, `/history*`, `/agent*`, streaming
31
+ generator, document-generation session handling, Graph RAG trace recording,
32
+ and AgentRuntime wiring moved to `latticeai/api/chat.py` with behavior and
33
+ SSE chunk format preserved.
34
+ - **Model runtime/provider extracted** — provider catalogs, engine aliases,
35
+ install/download/pull/load/unload helpers, prepare-model streaming,
36
+ compatibility smoke tests, runtime feature payloads, and cloud verification
37
+ moved to `latticeai/services/model_runtime.py`.
38
+ - **Tools/local/CU/permissions/upload extracted** — `/tools/*` moved to
39
+ `latticeai/api/tools.py`, `/local/*` and KG/local-knowledge router glue moved
40
+ to `latticeai/api/local_files.py`, `/cu/*` moved to
41
+ `latticeai/api/computer_use.py`, `/permissions/*` moved to
42
+ `latticeai/api/permissions.py`, and `/upload/document` now delegates to
43
+ `latticeai/services/upload_service.py`.
44
+ - **Garden/setup/static routes extracted** — `/garden*`, `/setup*`,
45
+ `/permissions/open/*`, `/`, `/account`, `/chat`, `/admin`, `/status`,
46
+ `/manifest.json`, `/sw.js`, and `/local/sysinfo` moved to dedicated routers.
47
+ - **Docs and release metadata aligned** — README current release conflict fixed,
48
+ SECURITY supported versions updated, package metadata bumped to `1.4.0`, and
49
+ publish docs avoid unsafe `dist/*` upload commands.
50
+
51
+ ### Validation
52
+
53
+ - Route compatibility snapshot, import/startup checks, chat streaming contract,
54
+ model endpoint presence, MCP/KG presence, v1.4 line-count/import/version
55
+ guard, unit/integration suites, Python build, VSIX package, npm pack, twine
56
+ check, and release artifact validation all pass for `1.4.0`.
57
+
58
+ ## [1.3.0] - 2026-05-31
59
+
60
+ > Server app decomposition (phase 3) — safety-net suite first, then model & MCP router extraction.
61
+
62
+ ### Added
63
+
64
+ - **Route-compatibility safety net** — `tests/unit/test_route_compatibility.py`
65
+ freezes the full public route surface (209 paths) plus import/startup,
66
+ streaming-contract, model/engine, and MCP/KG presence checks. Any dropped or
67
+ renamed endpoint, broken import, or removed `StreamingResponse` now fails the
68
+ suite immediately. This was built **before** moving code, per the decomposition
69
+ plan.
70
+ - **Model / engine router** — `latticeai/api/models.py` (`create_models_router`)
71
+ now owns `/models*`, `/engines*` (install / verify-cloud / pull-model /
72
+ prepare-model[/stream]) and `/setup/set-api-key`. Heavy provider/runtime
73
+ helpers remain injected from server_app (no import cycle, no new import-time
74
+ side effects).
75
+ - **MCP / skills / plugins router** — `latticeai/api/mcp.py` (`create_mcp_router`)
76
+ now owns `/mcp/*`, `/skills/*`, `/plugins/directory*`, and `/mcp/call`.
77
+ Registry/tool symbols are imported directly from `mcp_registry` / `tools` /
78
+ `tool_registry`; server_app-defined helpers are injected.
79
+
80
+ ### Changed
81
+
82
+ - **server_app.py decomposition** — reduced from ~5,948 to ~5,382 lines by
83
+ extracting the model/engine and MCP/skills/plugins clusters (and their
84
+ request models) into the routers above. All API paths, request/response
85
+ schemas, the `server:app` import path, CLI, UI, KG/Admin/Security routers, and
86
+ VS Code integration are unchanged (asserted by the route snapshot test).
87
+ - Release metadata aligned to `1.3.0`; `/health` reports `1.3.0`.
88
+
89
+ ### Notes
90
+
91
+ - The chat/streaming cluster, the `/tools/*` · `/cu/*` · `/local/*` ·
92
+ `/upload` · `/permissions` clusters, and the ~1,700-line model/engine
93
+ *provider helper* block remain in server_app and are scheduled for the next
94
+ decomposition pass (the safety net now de-risks those moves). server_app.py is
95
+ not yet under the 2,000-line target.
96
+ - CI hardening from 1.0.1/1.1.0 retained (VSIX compile guard, Node.js 24,
97
+ version-scoped artifact validation — no `dist/*` glob).
98
+
3
99
  ## [1.2.0] - 2026-05-31
4
100
 
5
101
  > Server app modularization (routers + service layer) and workspace/org guardrail hardening.
@@ -1,3 +1,3 @@
1
1
  """Lattice AI - modular server package."""
2
2
 
3
- __version__ = "1.2.0"
3
+ __version__ = "1.4.0"