ltcai 2.2.0 → 2.2.2
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 +172 -143
- package/docs/CHANGELOG.md +66 -23
- package/docs/EDITION_STRATEGY.md +8 -8
- package/docs/ENTERPRISE.md +5 -5
- package/docs/PLUGIN_SDK.md +4 -4
- package/docs/V2_ARCHITECTURE.md +9 -9
- package/docs/architecture.md +16 -15
- package/docs/images/admin-dashboard.png +0 -0
- package/docs/images/knowledge-graph.png +0 -0
- package/docs/images/lattice-ai-demo.gif +0 -0
- package/docs/images/lattice-ai-hero.png +0 -0
- package/docs/images/mobile-responsive.png +0 -0
- package/docs/images/pipeline.png +0 -0
- package/docs/images/workspace-dark.png +0 -0
- package/docs/images/workspace-light.png +0 -0
- package/docs/spec-vs-impl.md +13 -10
- package/latticeai/__init__.py +1 -1
- package/latticeai/core/workspace_os.py +1 -1
- package/package.json +14 -6
- package/static/account.html +3 -1
- package/static/activity.html +5 -2
- package/static/admin.html +5 -1
- package/static/agents.html +5 -2
- package/static/chat.html +7 -4
- package/static/css/responsive.css +614 -0
- package/static/css/tokens.css +224 -165
- package/static/graph.html +12 -2
- package/static/lattice-reference.css +366 -739
- package/static/platform.css +45 -16
- package/static/plugins.html +5 -2
- package/static/scripts/admin.js +33 -33
- package/static/scripts/chat.js +84 -15
- package/static/scripts/graph.js +169 -11
- package/static/scripts/ux.js +167 -0
- package/static/workflows.html +5 -2
- package/static/workspace.css +60 -19
- package/static/workspace.html +5 -2
package/docs/ENTERPRISE.md
CHANGED
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
Lattice AI follows an **open-core** model:
|
|
9
9
|
|
|
10
10
|
- **Community** (this repository, MIT) is fully functional on its own: local
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
models, knowledge graph, Personal and Organization workspaces, roles,
|
|
12
|
+
snapshots, durable context, AI pipelines, multi-agent workflows, skills, the
|
|
13
|
+
auditable timeline, and the full v2 workspace platform (Plugin SDK, Workflow
|
|
14
|
+
Designer, Multi-Agent Runtime, Realtime Collaboration).
|
|
15
15
|
- **Enterprise** is a separately-distributed plugin that attaches advanced,
|
|
16
16
|
organization-scale governance and deployment capabilities through a stable
|
|
17
17
|
runtime seam. It is never bundled into the Community build.
|
|
@@ -36,7 +36,7 @@ Community code consults the seam at extension points via
|
|
|
36
36
|
always `False`, so the Community code path is taken and nothing is gated off.
|
|
37
37
|
|
|
38
38
|
The live edition + capability matrix is exposed at `GET /workspace/editions`,
|
|
39
|
-
surfaced in the
|
|
39
|
+
surfaced in the workspace summary (`GET /workspace/os` → `edition`), and
|
|
40
40
|
shown in the Enterprise Admin UI at `/admin#enterprise`.
|
|
41
41
|
|
|
42
42
|
Community also exposes descriptive admin surfaces at `GET /admin/enterprise`
|
package/docs/PLUGIN_SDK.md
CHANGED
|
@@ -14,7 +14,7 @@ through the existing skill registry rather than owning a parallel one.
|
|
|
14
14
|
|
|
15
15
|
> **Compatibility.** v1.x data and APIs are preserved. The Plugin SDK adds new
|
|
16
16
|
> code (`latticeai/core/plugins.py`, `latticeai/api/plugins.py`) and new
|
|
17
|
-
> persisted state (`plugin_registry` inside the
|
|
17
|
+
> persisted state (`plugin_registry` inside the workspace store). Nothing in
|
|
18
18
|
> the v1.x contract changes. The new HTTP routes live under `/plugins/registry`
|
|
19
19
|
> and friends, which do **not** collide with the pre-existing
|
|
20
20
|
> `/plugins/directory` marketplace routes.
|
|
@@ -28,7 +28,7 @@ PLUGIN_SDK_VERSION = "2.2.0"
|
|
|
28
28
|
## v2.2 additions
|
|
29
29
|
|
|
30
30
|
- `execute_action(...)` emits `plugin_started`, `plugin_completed`, and
|
|
31
|
-
`execution_failed` through the existing
|
|
31
|
+
`execution_failed` through the existing workspace timeline/realtime feed.
|
|
32
32
|
- Plugin outputs can be carried inside agent context packets and replayed from
|
|
33
33
|
agent/workflow run history.
|
|
34
34
|
- The local template catalog (`latticeai.core.marketplace`) adds Plugin,
|
|
@@ -228,7 +228,7 @@ discover -> validate -> install -> enable / disable -> uninstall
|
|
|
228
228
|
```
|
|
229
229
|
|
|
230
230
|
Lifecycle *state* (installed / enabled / version / status) is delegated to the
|
|
231
|
-
|
|
231
|
+
workspace store via a small `store` port, so plugins reuse the same
|
|
232
232
|
local-first JSON persistence, workspace scoping, and timeline events as skills.
|
|
233
233
|
The registry itself owns only manifest parsing and the execution boundary.
|
|
234
234
|
|
|
@@ -355,7 +355,7 @@ A persisted entry looks like:
|
|
|
355
355
|
}
|
|
356
356
|
```
|
|
357
357
|
|
|
358
|
-
Each lifecycle mutation also records a
|
|
358
|
+
Each lifecycle mutation also records a workspace timeline event
|
|
359
359
|
(`plugin_installed`, `plugin_uninstalled`, `plugin_enabled`, `plugin_disabled`)
|
|
360
360
|
under the `plugins` channel.
|
|
361
361
|
|
package/docs/V2_ARCHITECTURE.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
# Lattice AI v2 Architecture —
|
|
1
|
+
# Lattice AI v2 Architecture — AI Workspace, Pipeline, and Workflow Platform
|
|
2
2
|
|
|
3
|
-
Lattice AI v2.0.0
|
|
4
|
-
|
|
5
|
-
layer: explicit handoffs, context
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Graph.
|
|
3
|
+
Lattice AI v2.0.0 introduced the local-first AI workspace, AI pipeline,
|
|
4
|
+
Knowledge Graph, and multi-agent workflow foundation. v2.2.1 keeps that
|
|
5
|
+
architecture and matures the operational layer: explicit handoffs, context
|
|
6
|
+
packets, review/retry loops, durable context snapshots, planning records,
|
|
7
|
+
replay, marketplace templates, and realtime workflow observability all compose
|
|
8
|
+
over the same local-first JSON store and Knowledge Graph.
|
|
9
9
|
|
|
10
10
|
This document describes how the v2 platform pillars fit together, the small set of
|
|
11
11
|
**additive integration seams** that wire them, the cross-integration matrix that
|
|
@@ -47,7 +47,7 @@ templates / actions under one versioned, permissioned unit.
|
|
|
47
47
|
|
|
48
48
|
Design rules enforced by the module: no import-time I/O (the filesystem is only
|
|
49
49
|
touched on `discover()`), no FastAPI and no globals (lifecycle state lives in the
|
|
50
|
-
|
|
50
|
+
workspace store), and permissions are an allow-list — the execution boundary
|
|
51
51
|
refuses any capability a plugin did not declare *and* was not granted.
|
|
52
52
|
|
|
53
53
|
A validated `plugin.json` manifest:
|
|
@@ -213,7 +213,7 @@ class RealtimeBus:
|
|
|
213
213
|
v2.2.0 adds a local marketplace foundation rather than a cloud marketplace
|
|
214
214
|
service. `TemplateCatalog` manages Plugin, Workflow, and Agent templates with
|
|
215
215
|
metadata, export/import, install hooks, and a template registry stored through
|
|
216
|
-
|
|
216
|
+
workspace. Marketplace templates are local extension points for the existing
|
|
217
217
|
Plugin SDK, Workflow Engine, and Multi-Agent Runtime; they do not bypass plugin
|
|
218
218
|
permissions, workflow execution guards, or workspace scoping.
|
|
219
219
|
|
package/docs/architecture.md
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
# Lattice AI Architecture
|
|
2
2
|
|
|
3
|
-
Lattice AI
|
|
3
|
+
Lattice AI is a local-first **AI workspace, AI pipeline platform, Knowledge
|
|
4
|
+
Graph platform, and multi-agent workflow platform**. The architecture is
|
|
4
5
|
organized around one durable center: the Knowledge Graph. Models, tools,
|
|
5
6
|
agents, workflows, and UI modes are replaceable layers that operate on top of
|
|
6
|
-
|
|
7
|
+
workspace and graph context.
|
|
7
8
|
|
|
8
9
|
## Architecture Goals
|
|
9
10
|
|
|
@@ -15,7 +16,7 @@ the graph.
|
|
|
15
16
|
- Keep basic and advanced modes feature-equivalent.
|
|
16
17
|
- Keep admin-only capabilities explicit and auditable.
|
|
17
18
|
|
|
18
|
-
##
|
|
19
|
+
## Workspace View
|
|
19
20
|
|
|
20
21
|
```mermaid
|
|
21
22
|
flowchart TD
|
|
@@ -24,9 +25,9 @@ flowchart TD
|
|
|
24
25
|
Extract["Entity, relation, evidence extraction"]
|
|
25
26
|
Graph["Knowledge Graph"]
|
|
26
27
|
Context["Graph context builder"]
|
|
27
|
-
Models["
|
|
28
|
-
Agents["
|
|
29
|
-
Outputs["
|
|
28
|
+
Models["Local or cloud model workflow"]
|
|
29
|
+
Agents["Multi-agent workflow"]
|
|
30
|
+
Outputs["Coding actions, analysis, documents, team workflows"]
|
|
30
31
|
Admin["Admin policy and audit"]
|
|
31
32
|
|
|
32
33
|
User --> Ingestion
|
|
@@ -42,7 +43,7 @@ flowchart TD
|
|
|
42
43
|
|
|
43
44
|
## Durable Core
|
|
44
45
|
|
|
45
|
-
The Knowledge Graph stores
|
|
46
|
+
The Knowledge Graph stores durable personal and organization workspace context:
|
|
46
47
|
|
|
47
48
|
- files and document evidence
|
|
48
49
|
- images and screenshots
|
|
@@ -52,8 +53,8 @@ The Knowledge Graph stores the durable user and organization memory:
|
|
|
52
53
|
- generated artifacts
|
|
53
54
|
- agent and workflow events
|
|
54
55
|
|
|
55
|
-
The
|
|
56
|
-
|
|
56
|
+
The model is not the product core. It is a replaceable participant in the
|
|
57
|
+
workspace pipeline.
|
|
57
58
|
|
|
58
59
|
## Multimodal Ingestion
|
|
59
60
|
|
|
@@ -75,9 +76,9 @@ input set includes:
|
|
|
75
76
|
The architecture must not ask users to convert these to plain text before AI can
|
|
76
77
|
work on them.
|
|
77
78
|
|
|
78
|
-
## Model
|
|
79
|
+
## Local Model Management Policy
|
|
79
80
|
|
|
80
|
-
Local recommended models must be multimodal. The v2.2 local
|
|
81
|
+
Local recommended models must be multimodal. The v2.2 local model workflow policy is:
|
|
81
82
|
|
|
82
83
|
- macOS Apple Silicon: MLX-VLM first
|
|
83
84
|
- Windows: llama.cpp multimodal path, with LM Studio as a user-friendly option
|
|
@@ -130,11 +131,11 @@ Basic mode and advanced mode have the same feature access.
|
|
|
130
131
|
| --- | --- |
|
|
131
132
|
| `latticeai/services/model_catalog.py` | Multimodal model catalog, source metadata, aliases |
|
|
132
133
|
| `latticeai/services/model_recommendation.py` | Hardware-aware multimodal recommendation |
|
|
133
|
-
| `latticeai/services/model_runtime.py` | Download, load, server, and
|
|
134
|
+
| `latticeai/services/model_runtime.py` | Download, load, server, and model workflow orchestration |
|
|
134
135
|
| `llm_router.py` | MLX-VLM and OpenAI-compatible model routing |
|
|
135
|
-
| `knowledge_graph.py` | Graph storage, extraction, local folder graph
|
|
136
|
+
| `knowledge_graph.py` | Graph storage, extraction, local folder knowledge graph context |
|
|
136
137
|
| `latticeai/core/context_builder.py` | Graph context for generation |
|
|
137
|
-
| `latticeai/core/workspace_os.py` | Workspace state, timeline, snapshots,
|
|
138
|
+
| `latticeai/core/workspace_os.py` | Workspace state, timeline, snapshots, durable context |
|
|
138
139
|
| `latticeai/core/multi_agent.py` | Planner/executor/reviewer/researcher orchestration |
|
|
139
140
|
| `latticeai/core/workflow_engine.py` | Workflow definitions and run history |
|
|
140
141
|
| `latticeai/core/plugins.py` | Plugin manifest, registry, permission boundary |
|
|
@@ -142,7 +143,7 @@ Basic mode and advanced mode have the same feature access.
|
|
|
142
143
|
|
|
143
144
|
## Compatibility
|
|
144
145
|
|
|
145
|
-
v2.2.
|
|
146
|
+
v2.2.1 preserves the additive workspace and API compatibility posture from
|
|
146
147
|
v2.x. Existing graph/workspace data is migrated non-destructively. The release
|
|
147
148
|
does remove current recommendation entries for old or text-only model paths, but
|
|
148
149
|
it does not destructively mutate existing user graph data.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/docs/spec-vs-impl.md
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
PPT 명세는 "한 코드·다섯 화면" — Shared Core(Design Tokens, UI Components, Business Logic, AI/Graph Core) 위에서 Tauri(데스크탑) / Capacitor·RN(모바일) 렌더러가 같은 결과를 낸다.
|
|
21
21
|
|
|
22
22
|
**현재 구현**
|
|
23
|
-
- `static/chat.html`, `static/graph.html`, `static/admin.html`, `static/account.html` 4개 HTML —
|
|
23
|
+
- `static/chat.html`, `static/graph.html`, `static/admin.html`, `static/account.html` 4개 HTML — `static/css/tokens.css` 단일 토큰을 공유 (v2.2.1)
|
|
24
24
|
- `vscode-extension/` — TypeScript VSCode 통합
|
|
25
25
|
- `static/manifest.json` + `static/sw.js` — PWA 부분 지원 (iOS/Android 홈 화면 추가는 됨)
|
|
26
26
|
- `telegram_bot.py` — Telegram 미러
|
|
@@ -28,11 +28,11 @@ PPT 명세는 "한 코드·다섯 화면" — Shared Core(Design Tokens, UI Comp
|
|
|
28
28
|
**갭**
|
|
29
29
|
- 데스크탑 네이티브 셸 (Tauri) 미구현
|
|
30
30
|
- 모바일 네이티브 (Capacitor / RN) 미구현
|
|
31
|
-
- 4개 HTML이 각자 다른 색 토큰 사용 → 같은 화면이 같게 안 보임
|
|
32
31
|
- 다국어(i18n) 시스템화 안 됨 (HTML에 한글 하드코딩)
|
|
33
32
|
|
|
34
|
-
**보강
|
|
35
|
-
- `static/css/tokens.css`
|
|
33
|
+
**보강 결과물 (완료, v2.2.1)**
|
|
34
|
+
- `static/css/tokens.css` — 4개 HTML이 공유하는 단일 진실 토큰 (`:root` = 라이트, `[data-lt-theme="dark"]` = 다크)
|
|
35
|
+
- `static/css/responsive.css` + `static/scripts/ux.js` — 반응형 레이아웃 / 라이트·다크 토글 + OS 감지 + 지속화
|
|
36
36
|
- 로드맵: `apps/desktop/` (Tauri 셸) · `apps/mobile/` (Capacitor 셸) 차후 단계
|
|
37
37
|
|
|
38
38
|
---
|
|
@@ -91,7 +91,9 @@ chunks ( id, source_node, text, metadata_json, created_at )
|
|
|
91
91
|
|
|
92
92
|
## 4. 디자인 일관성
|
|
93
93
|
|
|
94
|
-
|
|
94
|
+
기존(v2.2.1 이전)에는 4개 HTML 이 각자 다른 색 토큰을 갖고 있었다:
|
|
95
|
+
|
|
96
|
+
| 파일 | 이전 --bg | 이전 --accent |
|
|
95
97
|
|------|-----------|---------------|
|
|
96
98
|
| `chat.html` | `#182332` 다크 블루그린 | `#22d3a0` 민트 |
|
|
97
99
|
| `graph.html` | `#282a36` 다크 그레이 | `#a77cff` 라일락 |
|
|
@@ -100,9 +102,10 @@ chunks ( id, source_node, text, metadata_json, created_at )
|
|
|
100
102
|
| `lattice-reference.css` | (라이트, PPT) | `#6f42e8` Lattice 보라 |
|
|
101
103
|
| **PPT 명세** | `#FFFFFF` 또는 `#0B0B16` | `#6E4AE6` Lattice 보라 |
|
|
102
104
|
|
|
103
|
-
**보강
|
|
104
|
-
- `static/css/tokens.css` — 단일
|
|
105
|
-
-
|
|
105
|
+
**보강 결과물 (완료, v2.2.1)**
|
|
106
|
+
- `static/css/tokens.css` — 단일 토큰을 모든 화면이 공유. `:root` 가 라이트 값,
|
|
107
|
+
`[data-lt-theme="dark"]` 가 다크 값을 정의하는 단일 진실 소스
|
|
108
|
+
- 라이트/다크 토글 + OS 다크모드 감지 + 지속화는 `static/scripts/ux.js` 가 담당
|
|
106
109
|
|
|
107
110
|
---
|
|
108
111
|
|
|
@@ -124,9 +127,9 @@ PPT 화면 1, 13 (login, security) 에 한국어 / Microsoft Entra ID / Okta SSO
|
|
|
124
127
|
| 순위 | 파일 | 무엇 |
|
|
125
128
|
|------|------|------|
|
|
126
129
|
| 1 | `docs/kg-schema.md`, `kg_schema.py` | KG 스키마 정식화 (10 노드 · 12 엣지 · embedding · confidence) |
|
|
127
|
-
| 2 | `static/css/tokens.css` | 디자인 토큰 통합
|
|
130
|
+
| 2 | `static/css/tokens.css` (+ `responsive.css`, `ux.js`) | 디자인 토큰 통합 + 라이트/다크 — v2.2.1 완료 |
|
|
128
131
|
| 3 | `auto_setup.py` | OS 프로빙 + 모델 추천 + 설치 어댑터 |
|
|
129
132
|
| 4 | `docs/architecture.md` 보강 | 위 변경 반영 |
|
|
130
133
|
| 5 | (차후) `apps/desktop`, `apps/mobile` 스캐폴딩 | Tauri/Capacitor |
|
|
131
134
|
|
|
132
|
-
|
|
135
|
+
1~4 는 구현/문서로 반영되었고 (디자인 토큰·라이트/다크는 v2.2.1 에서 완료), 5 는 청사진만 유지한다.
|
package/latticeai/__init__.py
CHANGED
|
@@ -18,7 +18,7 @@ from pathlib import Path
|
|
|
18
18
|
from typing import Any, Callable, Dict, Iterable, List, Optional
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
WORKSPACE_OS_VERSION = "2.2.
|
|
21
|
+
WORKSPACE_OS_VERSION = "2.2.2"
|
|
22
22
|
|
|
23
23
|
# Workspace types separate single-user Personal workspaces from shared
|
|
24
24
|
# Organization workspaces. Both keep the same local-first JSON store; the type
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ltcai",
|
|
3
|
-
"version": "2.2.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "2.2.2",
|
|
4
|
+
"description": "Local-first AI workspace for knowledge graphs, AI pipelines, and multi-agent coding workflows.",
|
|
5
5
|
"homepage": "https://github.com/TaeSooPark-PTS/LatticeAI#readme",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -29,16 +29,24 @@
|
|
|
29
29
|
"capture:skills": "node scripts/capture/capture_skills.js",
|
|
30
30
|
"capture:enterprise": "node scripts/capture/capture_enterprise.js",
|
|
31
31
|
"capture:onboarding": "node scripts/capture/capture_onboarding.js",
|
|
32
|
-
"
|
|
33
|
-
"
|
|
32
|
+
"release:artifacts": "npm run build:python && npm pack && cd vscode-extension && npm run package:vsix",
|
|
33
|
+
"release:validate": "python3 scripts/validate_release_artifacts.py $npm_package_version --require-vsix --require-tgz",
|
|
34
|
+
"publish:npm": "npm pack && npm publish ltcai-$npm_package_version.tgz --access public",
|
|
35
|
+
"publish:pypi": "npm run build:python && python3 -m twine upload --skip-existing dist/ltcai-$npm_package_version.tar.gz dist/ltcai-$npm_package_version-py3-none-any.whl",
|
|
36
|
+
"publish:vscode": "cd vscode-extension && npm run package:vsix && npm run publish:vscode",
|
|
37
|
+
"publish:openvsx": "cd vscode-extension && npm run package:vsix && npm run publish:openvsx",
|
|
38
|
+
"publish:all": "npm run release:artifacts && npm run release:validate && npm publish ltcai-$npm_package_version.tgz --access public && python3 -m twine upload --skip-existing dist/ltcai-$npm_package_version.tar.gz dist/ltcai-$npm_package_version-py3-none-any.whl && cd vscode-extension && npm run publish:vscode && npm run publish:openvsx"
|
|
34
39
|
},
|
|
35
40
|
"keywords": [
|
|
36
41
|
"ltcai",
|
|
37
|
-
"ai-
|
|
42
|
+
"ai-workspace",
|
|
43
|
+
"ai-pipeline",
|
|
44
|
+
"knowledge-graph",
|
|
38
45
|
"llm",
|
|
39
46
|
"mlx",
|
|
40
47
|
"local-ai",
|
|
41
|
-
"agent",
|
|
48
|
+
"multi-agent",
|
|
49
|
+
"workflow",
|
|
42
50
|
"mcp",
|
|
43
51
|
"rag",
|
|
44
52
|
"vscode"
|
package/static/account.html
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
<html lang="ko">
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover, interactive-widget=resizes-content">
|
|
6
6
|
<title>Lattice AI</title>
|
|
7
|
+
<script src="/static/scripts/ux.js?v=2.2.2"></script>
|
|
7
8
|
<link rel="manifest" href="/manifest.json">
|
|
8
9
|
<meta name="theme-color" content="#f3ecff">
|
|
9
10
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
@@ -14,6 +15,7 @@
|
|
|
14
15
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap">
|
|
15
16
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@latest/tabler-icons.min.css">
|
|
16
17
|
<link rel="stylesheet" href="/static/lattice-reference.css?v=0.3.3">
|
|
18
|
+
<link rel="stylesheet" href="/static/css/responsive.css?v=2.2.2">
|
|
17
19
|
</head>
|
|
18
20
|
<body class="lattice-ref-auth">
|
|
19
21
|
<div class="orb orb-1"></div>
|
package/static/activity.html
CHANGED
|
@@ -2,9 +2,12 @@
|
|
|
2
2
|
<html lang="en">
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover, interactive-widget=resizes-content" />
|
|
6
6
|
<title>Realtime Activity — Lattice AI</title>
|
|
7
|
-
<
|
|
7
|
+
<script src="/static/scripts/ux.js?v=2.2.2"></script>
|
|
8
|
+
<link rel="stylesheet" href="/static/css/tokens.css?v=2.2.2" />
|
|
9
|
+
<link rel="stylesheet" href="/static/platform.css?v=2.2.2" />
|
|
10
|
+
<link rel="stylesheet" href="/static/css/responsive.css?v=2.2.2" />
|
|
8
11
|
</head>
|
|
9
12
|
<body>
|
|
10
13
|
<main>
|
package/static/admin.html
CHANGED
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
|
|
4
4
|
<head>
|
|
5
5
|
<meta charset="UTF-8">
|
|
6
|
-
<meta name="viewport" content="width=device-width, initial-scale=1
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover, interactive-widget=resizes-content">
|
|
7
7
|
<title>Lattice AI Admin</title>
|
|
8
|
+
<script src="/static/scripts/ux.js?v=2.2.2"></script>
|
|
8
9
|
<link rel="manifest" href="/manifest.json">
|
|
9
10
|
<meta name="theme-color" content="#f3ecff">
|
|
10
11
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
@@ -15,10 +16,13 @@
|
|
|
15
16
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap">
|
|
16
17
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@latest/tabler-icons.min.css">
|
|
17
18
|
<link rel="stylesheet" href="/static/lattice-reference.css?v=0.3.3">
|
|
19
|
+
<link rel="stylesheet" href="/static/css/responsive.css?v=2.2.2">
|
|
18
20
|
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js"></script>
|
|
19
21
|
</head>
|
|
20
22
|
|
|
21
23
|
<body class="lattice-ref-admin">
|
|
24
|
+
<div class="sidebar-overlay" onclick="closeAdminRail&&closeAdminRail()"></div>
|
|
25
|
+
<button class="admin-rail-toggle graph-nav-toggle" onclick="toggleAdminRail&&toggleAdminRail()" title="메뉴" aria-label="관리자 메뉴 열기"><i class="ti ti-menu-2"></i></button>
|
|
22
26
|
<aside class="reference-rail admin-rail">
|
|
23
27
|
<div class="rail-brand"><i class="ti ti-shield-lock"></i><strong>LATTICE AI</strong><span>Administrator</span></div>
|
|
24
28
|
<nav>
|
package/static/agents.html
CHANGED
|
@@ -2,9 +2,12 @@
|
|
|
2
2
|
<html lang="en">
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover, interactive-widget=resizes-content" />
|
|
6
6
|
<title>Multi-Agent Runtime — Lattice AI</title>
|
|
7
|
-
<
|
|
7
|
+
<script src="/static/scripts/ux.js?v=2.2.2"></script>
|
|
8
|
+
<link rel="stylesheet" href="/static/css/tokens.css?v=2.2.2" />
|
|
9
|
+
<link rel="stylesheet" href="/static/platform.css?v=2.2.2" />
|
|
10
|
+
<link rel="stylesheet" href="/static/css/responsive.css?v=2.2.2" />
|
|
8
11
|
</head>
|
|
9
12
|
<body>
|
|
10
13
|
<main>
|
package/static/chat.html
CHANGED
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
|
|
4
4
|
<head>
|
|
5
5
|
<meta charset="UTF-8">
|
|
6
|
-
<meta name="viewport" content="width=device-width, initial-scale=1
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover, interactive-widget=resizes-content">
|
|
7
7
|
<title>Lattice AI — All-in-One Multimodal Workspace</title>
|
|
8
|
+
<script src="/static/scripts/ux.js?v=2.2.2"></script>
|
|
8
9
|
|
|
9
10
|
<!-- PWA -->
|
|
10
11
|
<link rel="manifest" href="/manifest.json">
|
|
@@ -24,6 +25,7 @@
|
|
|
24
25
|
|
|
25
26
|
<!-- ── Setup Wizard Styles ──────────────────────────────────────────── -->
|
|
26
27
|
<link rel="stylesheet" href="/static/lattice-reference.css?v=0.3.3">
|
|
28
|
+
<link rel="stylesheet" href="/static/css/responsive.css?v=2.2.2">
|
|
27
29
|
</head>
|
|
28
30
|
|
|
29
31
|
<body class="lattice-ref-chat">
|
|
@@ -37,7 +39,7 @@
|
|
|
37
39
|
|
|
38
40
|
|
|
39
41
|
<div class="app-layout">
|
|
40
|
-
<div class="sidebar-overlay" onclick="closeSidebar()"></div>
|
|
42
|
+
<div class="sidebar-overlay" onclick="closeSidebar();closeGraphNav&&closeGraphNav();closeAdminRail&&closeAdminRail()"></div>
|
|
41
43
|
<!-- Sidebar -->
|
|
42
44
|
<aside class="sidebar">
|
|
43
45
|
<div class="sidebar-header">
|
|
@@ -81,6 +83,7 @@
|
|
|
81
83
|
<div class="mode-segmented" id="mode-segmented" role="tablist" aria-label="작업 모드"></div>
|
|
82
84
|
</div>
|
|
83
85
|
<div class="header-pills">
|
|
86
|
+
<button class="theme-toggle" onclick="toggleTheme()" title="테마 전환" aria-label="라이트/다크 테마 전환"><i class="ti ti-moon"></i><i class="ti ti-sun"></i></button>
|
|
84
87
|
<div class="lang-picker" id="header-lang-picker">
|
|
85
88
|
<button class="logout-btn" id="lang-btn" onclick="toggleLangMenu('header-lang-picker')" title="Language"><i class="ti ti-language"></i> Language</button>
|
|
86
89
|
<div class="lang-picker-menu" id="header-lang-picker-menu">
|
|
@@ -93,7 +96,7 @@
|
|
|
93
96
|
</div>
|
|
94
97
|
</header>
|
|
95
98
|
|
|
96
|
-
<div class="acct-modal-overlay" id="acct-modal-overlay">
|
|
99
|
+
<div class="acct-modal-overlay" id="acct-modal-overlay" onclick="if(event.target===this)closeAcctModal()">
|
|
97
100
|
<div class="acct-modal">
|
|
98
101
|
<div class="acct-tabs">
|
|
99
102
|
<button class="acct-tab active" id="tab-profile" onclick="switchAcctTab('profile')" data-i18n="tab_profile">프로필</button>
|
|
@@ -477,7 +480,7 @@
|
|
|
477
480
|
|
|
478
481
|
<!-- ── 파일 에디터 ── -->
|
|
479
482
|
<div id="file-editor-overlay" class="admin-overlay" style="display:none">
|
|
480
|
-
<section class="admin-panel" style="max-width:720px;height:
|
|
483
|
+
<section class="admin-panel" style="max-width:720px;height:min(85dvh, calc(100dvh - 24px));display:flex;flex-direction:column">
|
|
481
484
|
<div class="admin-header" style="flex-shrink:0">
|
|
482
485
|
<div style="min-width:0;flex:1">
|
|
483
486
|
<h2><i class="ti ti-file-pencil" style="color:var(--accent)"></i> 파일 편집</h2>
|