ltcai 3.0.1 → 3.1.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.
Files changed (96) hide show
  1. package/README.md +27 -20
  2. package/docs/CHANGELOG.md +37 -0
  3. package/docs/V3_FRONTEND.md +20 -17
  4. package/latticeai/__init__.py +1 -1
  5. package/latticeai/api/auth.py +4 -1
  6. package/latticeai/api/search.py +4 -0
  7. package/latticeai/core/config.py +2 -0
  8. package/latticeai/core/embedding_providers.py +123 -0
  9. package/latticeai/core/workspace_os.py +1 -1
  10. package/latticeai/server_app.py +22 -6
  11. package/package.json +9 -4
  12. package/scripts/build_v3_assets.mjs +164 -0
  13. package/scripts/capture/README.md +28 -0
  14. package/scripts/capture/capture_enterprise.js +8 -0
  15. package/scripts/capture/capture_graph.js +8 -0
  16. package/scripts/capture/capture_onboarding.js +8 -0
  17. package/scripts/capture/capture_page.js +43 -0
  18. package/scripts/capture/capture_release_media.js +125 -0
  19. package/scripts/capture/capture_skills.js +8 -0
  20. package/scripts/capture/capture_workspace.js +8 -0
  21. package/scripts/generate_diagrams.py +513 -0
  22. package/scripts/lint_v3.mjs +33 -0
  23. package/scripts/release-0.3.1.sh +105 -0
  24. package/scripts/take_screenshots.js +69 -0
  25. package/scripts/validate_release_artifacts.py +167 -0
  26. package/static/account.html +9 -9
  27. package/static/activity.html +4 -4
  28. package/static/admin.html +8 -8
  29. package/static/agents.html +4 -4
  30. package/static/chat.html +9 -9
  31. package/static/css/tokens.5a595671.css +260 -0
  32. package/static/css/tokens.css +1 -1
  33. package/static/graph.html +9 -9
  34. package/static/plugins.html +4 -4
  35. package/static/sw.js +3 -1
  36. package/static/v3/asset-manifest.json +47 -0
  37. package/static/v3/css/lattice.base.e4cdd05d.css +128 -0
  38. package/static/v3/css/lattice.components.011e988b.css +447 -0
  39. package/static/v3/css/lattice.components.css +2 -2
  40. package/static/v3/css/lattice.shell.4920f42d.css +407 -0
  41. package/static/v3/css/lattice.tokens.c597ff81.css +132 -0
  42. package/static/v3/css/lattice.views.3ee19d4e.css +277 -0
  43. package/static/v3/index.html +38 -9
  44. package/static/v3/js/app.46fb61d9.js +26 -0
  45. package/static/v3/js/core/api.22a41d42.js +344 -0
  46. package/static/v3/js/core/api.js +68 -51
  47. package/static/v3/js/core/components.4c83e0a9.js +222 -0
  48. package/static/v3/js/core/components.js +9 -2
  49. package/static/v3/js/core/dom.a2773eb0.js +148 -0
  50. package/static/v3/js/core/router.584570f2.js +37 -0
  51. package/static/v3/js/core/routes.f935dd50.js +78 -0
  52. package/static/v3/js/core/routes.js +6 -1
  53. package/static/v3/js/core/shell.1b6199d6.js +363 -0
  54. package/static/v3/js/core/store.34ebd5e6.js +113 -0
  55. package/static/v3/js/views/admin-audit.660a1fb1.js +185 -0
  56. package/static/v3/js/views/admin-audit.js +1 -1
  57. package/static/v3/js/views/admin-permissions.a7ae5f09.js +177 -0
  58. package/static/v3/js/views/admin-permissions.js +4 -5
  59. package/static/v3/js/views/admin-policies.3658fd86.js +102 -0
  60. package/static/v3/js/views/admin-policies.js +4 -5
  61. package/static/v3/js/views/admin-private-vpc.7d342d36.js +135 -0
  62. package/static/v3/js/views/admin-private-vpc.js +2 -5
  63. package/static/v3/js/views/admin-security.07c66b72.js +180 -0
  64. package/static/v3/js/views/admin-security.js +4 -5
  65. package/static/v3/js/views/admin-users.03bac88c.js +168 -0
  66. package/static/v3/js/views/admin-users.js +6 -6
  67. package/static/v3/js/views/agents.14e48bdd.js +193 -0
  68. package/static/v3/js/views/agents.js +1 -2
  69. package/static/v3/js/views/chat.718144ce.js +449 -0
  70. package/static/v3/js/views/chat.js +2 -3
  71. package/static/v3/js/views/files.4935197e.js +186 -0
  72. package/static/v3/js/views/files.js +27 -21
  73. package/static/v3/js/views/home.cdde3b32.js +119 -0
  74. package/static/v3/js/views/hybrid-search.b22b97e0.js +195 -0
  75. package/static/v3/js/views/hybrid-search.js +1 -1
  76. package/static/v3/js/views/knowledge-graph.a14ea7e7.js +237 -0
  77. package/static/v3/js/views/knowledge-graph.js +2 -3
  78. package/static/v3/js/views/models.a1ffa147.js +256 -0
  79. package/static/v3/js/views/models.js +17 -8
  80. package/static/v3/js/views/my-computer.1b2ff621.js +237 -0
  81. package/static/v3/js/views/my-computer.js +5 -5
  82. package/static/v3/js/views/pipeline.c522f1ce.js +157 -0
  83. package/static/v3/js/views/pipeline.js +3 -7
  84. package/static/v3/js/views/settings.4f777210.js +250 -0
  85. package/static/v3/js/views/settings.js +6 -14
  86. package/static/workflows.html +4 -4
  87. package/static/workspace.html +5 -5
  88. package/docs/images/tmp_frames/frame_00.png +0 -0
  89. package/docs/images/tmp_frames/frame_01.png +0 -0
  90. package/docs/images/tmp_frames/frame_02.png +0 -0
  91. package/docs/images/tmp_frames/frame_03.png +0 -0
  92. package/docs/images/tmp_frames/hero_00.png +0 -0
  93. package/docs/images/tmp_frames/hero_01.png +0 -0
  94. package/docs/images/tmp_frames/hero_02.png +0 -0
  95. package/docs/images/tmp_frames/hero_03.png +0 -0
  96. package/static/v3/js/core/fixtures.js +0 -171
package/static/graph.html CHANGED
@@ -4,18 +4,18 @@
4
4
  <meta charset="utf-8">
5
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=3.0.0"></script>
7
+ <script src="/static/scripts/ux.js"></script>
8
8
  <link rel="preconnect" href="https://fonts.googleapis.com">
9
9
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
10
10
  <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap">
11
11
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@latest/tabler-icons.min.css">
12
- <link rel="stylesheet" href="/static/css/tokens.css?v=3.0.0">
13
- <link rel="stylesheet" href="/static/css/reference/base.css?v=3.0.0">
14
- <link rel="stylesheet" href="/static/css/reference/account.css?v=3.0.0">
15
- <link rel="stylesheet" href="/static/css/reference/admin.css?v=3.0.0">
16
- <link rel="stylesheet" href="/static/css/reference/graph.css?v=3.0.0">
17
- <link rel="stylesheet" href="/static/css/reference/chat.css?v=3.0.0">
18
- <link rel="stylesheet" href="/static/css/responsive.css?v=3.0.0">
12
+ <link rel="stylesheet" href="/static/css/tokens.css">
13
+ <link rel="stylesheet" href="/static/css/reference/base.css">
14
+ <link rel="stylesheet" href="/static/css/reference/account.css">
15
+ <link rel="stylesheet" href="/static/css/reference/admin.css">
16
+ <link rel="stylesheet" href="/static/css/reference/graph.css">
17
+ <link rel="stylesheet" href="/static/css/reference/chat.css">
18
+ <link rel="stylesheet" href="/static/css/responsive.css">
19
19
  </head>
20
20
  <body class="lattice-ref-graph">
21
21
  <div class="sidebar-overlay" onclick="closeGraphNav&&closeGraphNav()"></div>
@@ -119,6 +119,6 @@
119
119
 
120
120
  <div id="tooltip"></div>
121
121
 
122
- <script src="/static/scripts/graph.js?v=3.0.0"></script>
122
+ <script src="/static/scripts/graph.js"></script>
123
123
  </body>
124
124
  </html>
@@ -4,10 +4,10 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover, interactive-widget=resizes-content" />
6
6
  <title>Plugin SDK — Lattice AI</title>
7
- <script src="/static/scripts/ux.js?v=3.0.0"></script>
8
- <link rel="stylesheet" href="/static/css/tokens.css?v=3.0.0" />
9
- <link rel="stylesheet" href="/static/platform.css?v=3.0.0" />
10
- <link rel="stylesheet" href="/static/css/responsive.css?v=3.0.0" />
7
+ <script src="/static/scripts/ux.js"></script>
8
+ <link rel="stylesheet" href="/static/css/tokens.css" />
9
+ <link rel="stylesheet" href="/static/platform.css" />
10
+ <link rel="stylesheet" href="/static/css/responsive.css" />
11
11
  </head>
12
12
  <body>
13
13
  <main>
package/static/sw.js CHANGED
@@ -1,9 +1,11 @@
1
1
  // Lattice AI Service Worker — enables PWA install on Android/iOS
2
2
  // Strategy: network-first for API, cache-first for static assets.
3
- const CACHE = "ltcai-v226";
3
+ const CACHE = "ltcai-v310";
4
4
  const STATIC = [
5
5
  "/",
6
+ "/app",
6
7
  "/workspace",
8
+ "/static/v3/asset-manifest.json",
7
9
  "/static/css/tokens.css",
8
10
  "/static/css/reference/base.css",
9
11
  "/static/css/reference/chat.css",
@@ -0,0 +1,47 @@
1
+ {
2
+ "version": "3.1.0",
3
+ "generated_at": "deterministic",
4
+ "entrypoints": {
5
+ "app": "/static/v3/js/app.46fb61d9.js",
6
+ "styles": [
7
+ "/static/css/tokens.5a595671.css",
8
+ "/static/v3/css/lattice.tokens.c597ff81.css",
9
+ "/static/v3/css/lattice.base.e4cdd05d.css",
10
+ "/static/v3/css/lattice.components.011e988b.css",
11
+ "/static/v3/css/lattice.shell.4920f42d.css",
12
+ "/static/v3/css/lattice.views.3ee19d4e.css"
13
+ ]
14
+ },
15
+ "assets": {
16
+ "static/css/tokens.css": "/static/css/tokens.5a595671.css",
17
+ "static/v3/css/lattice.tokens.css": "/static/v3/css/lattice.tokens.c597ff81.css",
18
+ "static/v3/css/lattice.base.css": "/static/v3/css/lattice.base.e4cdd05d.css",
19
+ "static/v3/css/lattice.components.css": "/static/v3/css/lattice.components.011e988b.css",
20
+ "static/v3/css/lattice.shell.css": "/static/v3/css/lattice.shell.4920f42d.css",
21
+ "static/v3/css/lattice.views.css": "/static/v3/css/lattice.views.3ee19d4e.css",
22
+ "static/v3/js/app.js": "/static/v3/js/app.46fb61d9.js",
23
+ "static/v3/js/core/api.js": "/static/v3/js/core/api.22a41d42.js",
24
+ "static/v3/js/core/components.js": "/static/v3/js/core/components.4c83e0a9.js",
25
+ "static/v3/js/core/dom.js": "/static/v3/js/core/dom.a2773eb0.js",
26
+ "static/v3/js/core/router.js": "/static/v3/js/core/router.584570f2.js",
27
+ "static/v3/js/core/routes.js": "/static/v3/js/core/routes.f935dd50.js",
28
+ "static/v3/js/core/shell.js": "/static/v3/js/core/shell.1b6199d6.js",
29
+ "static/v3/js/core/store.js": "/static/v3/js/core/store.34ebd5e6.js",
30
+ "static/v3/js/views/admin-audit.js": "/static/v3/js/views/admin-audit.660a1fb1.js",
31
+ "static/v3/js/views/admin-permissions.js": "/static/v3/js/views/admin-permissions.a7ae5f09.js",
32
+ "static/v3/js/views/admin-policies.js": "/static/v3/js/views/admin-policies.3658fd86.js",
33
+ "static/v3/js/views/admin-private-vpc.js": "/static/v3/js/views/admin-private-vpc.7d342d36.js",
34
+ "static/v3/js/views/admin-security.js": "/static/v3/js/views/admin-security.07c66b72.js",
35
+ "static/v3/js/views/admin-users.js": "/static/v3/js/views/admin-users.03bac88c.js",
36
+ "static/v3/js/views/agents.js": "/static/v3/js/views/agents.14e48bdd.js",
37
+ "static/v3/js/views/chat.js": "/static/v3/js/views/chat.718144ce.js",
38
+ "static/v3/js/views/files.js": "/static/v3/js/views/files.4935197e.js",
39
+ "static/v3/js/views/home.js": "/static/v3/js/views/home.cdde3b32.js",
40
+ "static/v3/js/views/hybrid-search.js": "/static/v3/js/views/hybrid-search.b22b97e0.js",
41
+ "static/v3/js/views/knowledge-graph.js": "/static/v3/js/views/knowledge-graph.a14ea7e7.js",
42
+ "static/v3/js/views/models.js": "/static/v3/js/views/models.a1ffa147.js",
43
+ "static/v3/js/views/my-computer.js": "/static/v3/js/views/my-computer.1b2ff621.js",
44
+ "static/v3/js/views/pipeline.js": "/static/v3/js/views/pipeline.c522f1ce.js",
45
+ "static/v3/js/views/settings.js": "/static/v3/js/views/settings.4f777210.js"
46
+ }
47
+ }
@@ -0,0 +1,128 @@
1
+ /* ============================================================================
2
+ * Lattice AI v3 — Base layer (reset + element defaults + lattice backdrop)
3
+ * Token-native: no themed hex values, everything via var(--*).
4
+ * ========================================================================== */
5
+
6
+ *, *::before, *::after { box-sizing: border-box; }
7
+
8
+ html, body { height: 100%; }
9
+
10
+ body {
11
+ margin: 0;
12
+ font-family: var(--lt3-font-sans);
13
+ font-size: var(--lt3-text-md);
14
+ line-height: var(--lt3-leading-normal);
15
+ color: var(--text);
16
+ background: var(--bg);
17
+ -webkit-font-smoothing: antialiased;
18
+ text-rendering: optimizeLegibility;
19
+ overflow: hidden; /* shell owns scroll regions */
20
+ }
21
+
22
+ /* The signature lattice backdrop — a faint structural mesh of nodes+edges.
23
+ Sits behind the whole app; reinforces the "lattice" identity without noise. */
24
+ .lt3-app::before {
25
+ content: "";
26
+ position: fixed;
27
+ inset: 0;
28
+ z-index: 0;
29
+ pointer-events: none;
30
+ background:
31
+ radial-gradient(circle at center, var(--lt3-mesh-node) 0.9px, transparent 1.1px),
32
+ linear-gradient(var(--lt3-mesh-line) 1px, transparent 1px),
33
+ linear-gradient(90deg, var(--lt3-mesh-line) 1px, transparent 1px),
34
+ var(--app-bg);
35
+ background-size:
36
+ var(--lt3-mesh-size) var(--lt3-mesh-size),
37
+ var(--lt3-mesh-size) var(--lt3-mesh-size),
38
+ var(--lt3-mesh-size) var(--lt3-mesh-size),
39
+ cover;
40
+ background-position: center;
41
+ mask-image: radial-gradient(ellipse 120% 90% at 50% -10%, #000 55%, transparent 100%);
42
+ opacity: 0.9;
43
+ }
44
+
45
+ h1, h2, h3, h4, p, figure { margin: 0; }
46
+
47
+ a { color: inherit; text-decoration: none; }
48
+
49
+ button {
50
+ font: inherit;
51
+ color: inherit;
52
+ cursor: pointer;
53
+ border: none;
54
+ background: none;
55
+ }
56
+
57
+ input, select, textarea { font: inherit; color: inherit; }
58
+
59
+ textarea { resize: vertical; }
60
+
61
+ img, svg { display: block; max-width: 100%; }
62
+
63
+ code, pre, kbd, samp { font-family: var(--lt3-font-mono); }
64
+
65
+ :root[data-lt-icons="fallback"] .ti {
66
+ display: inline-grid;
67
+ place-items: center;
68
+ min-width: 1em;
69
+ min-height: 1em;
70
+ font-family: var(--lt3-font-mono);
71
+ font-size: 0.72em;
72
+ font-style: normal;
73
+ font-weight: 800;
74
+ line-height: 1;
75
+ text-transform: uppercase;
76
+ }
77
+
78
+ :root[data-lt-icons="fallback"] .ti::before {
79
+ content: attr(data-fallback);
80
+ }
81
+
82
+ :focus-visible {
83
+ outline: 2px solid var(--focus-ring);
84
+ outline-offset: 2px;
85
+ border-radius: var(--lt3-radius-xs);
86
+ }
87
+
88
+ ::-webkit-scrollbar { width: 8px; height: 8px; }
89
+ ::-webkit-scrollbar-track { background: transparent; }
90
+ ::-webkit-scrollbar-thumb {
91
+ background: color-mix(in srgb, var(--border-strong) 60%, transparent);
92
+ border-radius: 99px;
93
+ border: 2px solid transparent;
94
+ background-clip: padding-box;
95
+ }
96
+ ::-webkit-scrollbar-thumb:hover { background: var(--border-strong); background-clip: padding-box; }
97
+
98
+ /* Accessible visually-hidden utility */
99
+ .lt3-sr {
100
+ position: absolute !important;
101
+ width: 1px; height: 1px;
102
+ padding: 0; margin: -1px;
103
+ overflow: hidden; clip: rect(0,0,0,0);
104
+ white-space: nowrap; border: 0;
105
+ }
106
+
107
+ .lt3-skip {
108
+ position: fixed;
109
+ top: var(--lt3-space-3);
110
+ left: var(--lt3-space-3);
111
+ z-index: var(--lt3-z-toast);
112
+ padding: var(--lt3-space-2) var(--lt3-space-4);
113
+ background: var(--accent);
114
+ color: #fff;
115
+ border-radius: var(--lt3-radius-sm);
116
+ transform: translateY(-200%);
117
+ transition: transform var(--lt3-dur-2) var(--lt3-ease);
118
+ }
119
+ .lt3-skip:focus { transform: translateY(0); }
120
+
121
+ @media (prefers-reduced-motion: reduce) {
122
+ *, *::before, *::after {
123
+ animation-duration: 0.001ms !important;
124
+ animation-iteration-count: 1 !important;
125
+ transition-duration: 0.001ms !important;
126
+ scroll-behavior: auto !important;
127
+ }
128
+ }