aidevops 3.28.0 → 3.29.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 +1 -1
- package/VERSION +1 -1
- package/aidevops.sh +1 -1
- package/package.json +1 -1
- package/packages/gui-api/src/app.ts +125 -1
- package/packages/gui-api/src/status-adapter-utils.ts +35 -0
- package/packages/gui-api/src/status-adapter.ts +12 -39
- package/packages/gui-api/src/status-managed-apps.ts +228 -0
- package/packages/gui-shared/src/contracts.ts +63 -2
- package/packages/gui-shared/src/fixtures.ts +1 -0
- package/packages/gui-web/src/App.tsx +61 -1
- package/packages/gui-web/src/AppNavigation.tsx +13 -9
- package/packages/gui-web/src/AppWorkspace.tsx +20 -9
- package/packages/gui-web/src/CommandPalette.tsx +9 -2
- package/packages/gui-web/src/InventorySurfaces.tsx +107 -7
- package/packages/gui-web/src/app-model.ts +2 -11
- package/packages/gui-web/src/status-client.ts +1 -0
- package/packages/gui-web/src/styles.css +236 -5
- package/setup.sh +1 -1
|
@@ -86,6 +86,7 @@ function normalizeStatusEnvelope(envelope: GuiResponseEnvelope<Partial<GuiStatus
|
|
|
86
86
|
oauth_pool: { ...statusFixture.oauth_pool, ...data.oauth_pool, providers: data.oauth_pool?.providers ?? statusFixture.oauth_pool.providers },
|
|
87
87
|
setup_targets: data.setup_targets ?? statusFixture.setup_targets,
|
|
88
88
|
ai_apps: data.ai_apps ?? statusFixture.ai_apps,
|
|
89
|
+
managed_apps: data.managed_apps ?? statusFixture.managed_apps,
|
|
89
90
|
vault: {
|
|
90
91
|
...statusFixture.vault,
|
|
91
92
|
...data.vault,
|
|
@@ -99,15 +99,16 @@ code {
|
|
|
99
99
|
|
|
100
100
|
.app-shell {
|
|
101
101
|
display: grid;
|
|
102
|
-
gap: 8px;
|
|
103
|
-
grid-template-columns: 72px 302px minmax(0, 1fr);
|
|
102
|
+
column-gap: 8px;
|
|
103
|
+
grid-template-columns: 72px var(--sidebar-width, 302px) 8px minmax(0, 1fr);
|
|
104
104
|
grid-template-rows: minmax(0, 1fr) auto;
|
|
105
105
|
height: 100vh;
|
|
106
106
|
padding: calc(var(--shell-gutter) + var(--desktop-titlebar-height)) var(--shell-gutter) var(--shell-gutter);
|
|
107
|
+
row-gap: 8px;
|
|
107
108
|
}
|
|
108
109
|
|
|
109
110
|
.app-shell.machine-rail-collapsed {
|
|
110
|
-
grid-template-columns: 302px minmax(0, 1fr);
|
|
111
|
+
grid-template-columns: var(--sidebar-width, 302px) 8px minmax(0, 1fr);
|
|
111
112
|
}
|
|
112
113
|
|
|
113
114
|
.desktop-titlebar-tagline {
|
|
@@ -160,6 +161,54 @@ code {
|
|
|
160
161
|
padding: 12px 8px;
|
|
161
162
|
}
|
|
162
163
|
|
|
164
|
+
.app-shell > .app-sidebar {
|
|
165
|
+
grid-column: 2;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.app-shell > .sidebar-resize-handle {
|
|
169
|
+
grid-column: 3;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
.app-shell > .app-inset {
|
|
173
|
+
grid-column: 4;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
.app-shell.machine-rail-collapsed > .app-sidebar {
|
|
177
|
+
grid-column: 1;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
.app-shell.machine-rail-collapsed > .sidebar-resize-handle {
|
|
181
|
+
grid-column: 2;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.app-shell.machine-rail-collapsed > .app-inset {
|
|
185
|
+
grid-column: 3;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.sidebar-resize-handle {
|
|
189
|
+
align-self: stretch;
|
|
190
|
+
background: transparent;
|
|
191
|
+
border: 0;
|
|
192
|
+
border-radius: 999px;
|
|
193
|
+
cursor: col-resize;
|
|
194
|
+
grid-row: 1;
|
|
195
|
+
margin: 0;
|
|
196
|
+
min-height: 0;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
.sidebar-resize-handle:hover,
|
|
200
|
+
.sidebar-resize-handle:focus-visible,
|
|
201
|
+
.resizing-sidebar .sidebar-resize-handle {
|
|
202
|
+
background: color-mix(in srgb, var(--accent) 24%, transparent);
|
|
203
|
+
outline: none;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
.resizing-sidebar,
|
|
207
|
+
.resizing-sidebar * {
|
|
208
|
+
cursor: col-resize;
|
|
209
|
+
user-select: none;
|
|
210
|
+
}
|
|
211
|
+
|
|
163
212
|
.machine-orb,
|
|
164
213
|
.client-folder-orb {
|
|
165
214
|
align-items: center;
|
|
@@ -329,7 +378,8 @@ code {
|
|
|
329
378
|
}
|
|
330
379
|
|
|
331
380
|
.sidebar-content {
|
|
332
|
-
overflow:
|
|
381
|
+
overflow-x: hidden;
|
|
382
|
+
overflow-y: auto;
|
|
333
383
|
padding: 0 10px 12px;
|
|
334
384
|
}
|
|
335
385
|
|
|
@@ -365,6 +415,7 @@ code {
|
|
|
365
415
|
.conversation-panel {
|
|
366
416
|
display: grid;
|
|
367
417
|
gap: 12px;
|
|
418
|
+
min-width: 0;
|
|
368
419
|
padding: 0 6px;
|
|
369
420
|
}
|
|
370
421
|
|
|
@@ -439,6 +490,7 @@ code {
|
|
|
439
490
|
min-height: 40px;
|
|
440
491
|
min-width: 0;
|
|
441
492
|
padding: 8px;
|
|
493
|
+
width: 100%;
|
|
442
494
|
}
|
|
443
495
|
|
|
444
496
|
.session-history-list .surface-link {
|
|
@@ -1632,11 +1684,174 @@ code {
|
|
|
1632
1684
|
|
|
1633
1685
|
.data-table,
|
|
1634
1686
|
.editable-table,
|
|
1635
|
-
.installation-list
|
|
1687
|
+
.installation-list,
|
|
1688
|
+
.managed-app-list {
|
|
1636
1689
|
display: grid;
|
|
1637
1690
|
overflow: hidden;
|
|
1638
1691
|
}
|
|
1639
1692
|
|
|
1693
|
+
.managed-app-list {
|
|
1694
|
+
background: var(--surface-muted);
|
|
1695
|
+
border: 1px solid var(--border);
|
|
1696
|
+
border-radius: 16px;
|
|
1697
|
+
margin-bottom: 12px;
|
|
1698
|
+
}
|
|
1699
|
+
|
|
1700
|
+
.managed-app-row {
|
|
1701
|
+
display: grid;
|
|
1702
|
+
gap: 14px;
|
|
1703
|
+
grid-template-columns: minmax(220px, 1.3fr) minmax(260px, 1.7fr) auto;
|
|
1704
|
+
padding: 14px;
|
|
1705
|
+
}
|
|
1706
|
+
|
|
1707
|
+
.managed-app-row + .managed-app-row {
|
|
1708
|
+
border-top: 1px solid var(--border);
|
|
1709
|
+
}
|
|
1710
|
+
|
|
1711
|
+
.managed-app-main,
|
|
1712
|
+
.managed-app-main > div,
|
|
1713
|
+
.app-meta {
|
|
1714
|
+
display: grid;
|
|
1715
|
+
gap: 6px;
|
|
1716
|
+
min-width: 0;
|
|
1717
|
+
}
|
|
1718
|
+
|
|
1719
|
+
.managed-app-main h3,
|
|
1720
|
+
.managed-app-main p {
|
|
1721
|
+
margin: 0;
|
|
1722
|
+
}
|
|
1723
|
+
|
|
1724
|
+
.managed-app-main p:not(.eyebrow) {
|
|
1725
|
+
color: var(--text-secondary);
|
|
1726
|
+
}
|
|
1727
|
+
|
|
1728
|
+
.managed-app-links,
|
|
1729
|
+
.managed-app-actions {
|
|
1730
|
+
align-items: center;
|
|
1731
|
+
display: flex;
|
|
1732
|
+
flex-wrap: wrap;
|
|
1733
|
+
gap: 8px;
|
|
1734
|
+
}
|
|
1735
|
+
|
|
1736
|
+
.managed-app-links a,
|
|
1737
|
+
.origin-missing {
|
|
1738
|
+
align-items: center;
|
|
1739
|
+
border: 1px solid var(--border);
|
|
1740
|
+
border-radius: 999px;
|
|
1741
|
+
color: var(--text-secondary);
|
|
1742
|
+
display: inline-flex;
|
|
1743
|
+
font-size: 0.78rem;
|
|
1744
|
+
font-weight: 800;
|
|
1745
|
+
gap: 4px;
|
|
1746
|
+
padding: 6px 9px;
|
|
1747
|
+
text-decoration: none;
|
|
1748
|
+
}
|
|
1749
|
+
|
|
1750
|
+
.origin-missing {
|
|
1751
|
+
color: var(--text-muted);
|
|
1752
|
+
}
|
|
1753
|
+
|
|
1754
|
+
.managed-app-details {
|
|
1755
|
+
display: grid;
|
|
1756
|
+
gap: 8px;
|
|
1757
|
+
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
1758
|
+
}
|
|
1759
|
+
|
|
1760
|
+
.managed-toggle,
|
|
1761
|
+
.app-meta {
|
|
1762
|
+
background: var(--surface-elevated);
|
|
1763
|
+
border: 1px solid var(--border);
|
|
1764
|
+
border-radius: 12px;
|
|
1765
|
+
min-width: 0;
|
|
1766
|
+
padding: 8px 10px;
|
|
1767
|
+
}
|
|
1768
|
+
|
|
1769
|
+
.managed-toggle {
|
|
1770
|
+
align-items: center;
|
|
1771
|
+
color: var(--text-secondary);
|
|
1772
|
+
display: flex;
|
|
1773
|
+
font-size: 0.78rem;
|
|
1774
|
+
font-weight: 800;
|
|
1775
|
+
gap: 8px;
|
|
1776
|
+
text-transform: uppercase;
|
|
1777
|
+
}
|
|
1778
|
+
|
|
1779
|
+
.switch-track {
|
|
1780
|
+
background: var(--surface-muted);
|
|
1781
|
+
border: 1px solid var(--border);
|
|
1782
|
+
border-radius: 999px;
|
|
1783
|
+
display: inline-flex;
|
|
1784
|
+
padding: 2px;
|
|
1785
|
+
width: 34px;
|
|
1786
|
+
}
|
|
1787
|
+
|
|
1788
|
+
.switch-track span {
|
|
1789
|
+
background: var(--text-muted);
|
|
1790
|
+
border-radius: 50%;
|
|
1791
|
+
height: 14px;
|
|
1792
|
+
transform: translateX(0);
|
|
1793
|
+
transition: transform 140ms ease, background 140ms ease;
|
|
1794
|
+
width: 14px;
|
|
1795
|
+
}
|
|
1796
|
+
|
|
1797
|
+
.switch-track.checked span {
|
|
1798
|
+
background: var(--accent);
|
|
1799
|
+
transform: translateX(14px);
|
|
1800
|
+
}
|
|
1801
|
+
|
|
1802
|
+
.app-meta small {
|
|
1803
|
+
color: var(--text-muted);
|
|
1804
|
+
font-size: 0.72rem;
|
|
1805
|
+
font-weight: 800;
|
|
1806
|
+
text-transform: uppercase;
|
|
1807
|
+
}
|
|
1808
|
+
|
|
1809
|
+
.app-meta strong {
|
|
1810
|
+
color: var(--text-primary);
|
|
1811
|
+
font-size: 0.84rem;
|
|
1812
|
+
overflow-wrap: anywhere;
|
|
1813
|
+
}
|
|
1814
|
+
|
|
1815
|
+
.app-action-button {
|
|
1816
|
+
align-items: center;
|
|
1817
|
+
border-radius: 12px;
|
|
1818
|
+
display: inline-flex;
|
|
1819
|
+
height: 38px;
|
|
1820
|
+
justify-content: center;
|
|
1821
|
+
padding: 0;
|
|
1822
|
+
width: 38px;
|
|
1823
|
+
}
|
|
1824
|
+
|
|
1825
|
+
.app-action-button:disabled {
|
|
1826
|
+
color: var(--text-muted);
|
|
1827
|
+
cursor: not-allowed;
|
|
1828
|
+
opacity: 0.45;
|
|
1829
|
+
}
|
|
1830
|
+
|
|
1831
|
+
.app-terminal {
|
|
1832
|
+
background: var(--code-bg);
|
|
1833
|
+
border: 1px solid var(--border);
|
|
1834
|
+
border-radius: 16px;
|
|
1835
|
+
color: var(--text-secondary);
|
|
1836
|
+
overflow: hidden;
|
|
1837
|
+
}
|
|
1838
|
+
|
|
1839
|
+
.app-terminal header {
|
|
1840
|
+
align-items: center;
|
|
1841
|
+
border-bottom: 1px solid var(--border);
|
|
1842
|
+
display: flex;
|
|
1843
|
+
justify-content: space-between;
|
|
1844
|
+
padding: 10px 12px;
|
|
1845
|
+
}
|
|
1846
|
+
|
|
1847
|
+
.app-terminal pre {
|
|
1848
|
+
margin: 0;
|
|
1849
|
+
max-height: 360px;
|
|
1850
|
+
overflow: auto;
|
|
1851
|
+
padding: 12px;
|
|
1852
|
+
white-space: pre-wrap;
|
|
1853
|
+
}
|
|
1854
|
+
|
|
1640
1855
|
.data-row,
|
|
1641
1856
|
.editable-row {
|
|
1642
1857
|
display: grid;
|
|
@@ -2114,6 +2329,10 @@ code {
|
|
|
2114
2329
|
.file-workspace {
|
|
2115
2330
|
grid-template-columns: 1fr;
|
|
2116
2331
|
}
|
|
2332
|
+
|
|
2333
|
+
.managed-app-row {
|
|
2334
|
+
grid-template-columns: 1fr;
|
|
2335
|
+
}
|
|
2117
2336
|
}
|
|
2118
2337
|
|
|
2119
2338
|
@media (max-width: 980px) {
|
|
@@ -2135,6 +2354,17 @@ code {
|
|
|
2135
2354
|
grid-row: auto;
|
|
2136
2355
|
}
|
|
2137
2356
|
|
|
2357
|
+
.app-shell > .app-sidebar,
|
|
2358
|
+
.app-shell > .app-inset,
|
|
2359
|
+
.app-shell.machine-rail-collapsed > .app-sidebar,
|
|
2360
|
+
.app-shell.machine-rail-collapsed > .app-inset {
|
|
2361
|
+
grid-column: 1;
|
|
2362
|
+
}
|
|
2363
|
+
|
|
2364
|
+
.sidebar-resize-handle {
|
|
2365
|
+
display: none;
|
|
2366
|
+
}
|
|
2367
|
+
|
|
2138
2368
|
.desktop-status-bar {
|
|
2139
2369
|
flex-wrap: wrap;
|
|
2140
2370
|
white-space: normal;
|
|
@@ -2178,6 +2408,7 @@ code {
|
|
|
2178
2408
|
|
|
2179
2409
|
.data-row,
|
|
2180
2410
|
.editable-row,
|
|
2411
|
+
.managed-app-details,
|
|
2181
2412
|
.provider-account-list li {
|
|
2182
2413
|
grid-template-columns: 1fr;
|
|
2183
2414
|
}
|
package/setup.sh
CHANGED
|
@@ -12,7 +12,7 @@ shopt -s inherit_errexit 2>/dev/null || true
|
|
|
12
12
|
# AI Assistant Server Access Framework Setup Script
|
|
13
13
|
# Helps developers set up the framework for their infrastructure
|
|
14
14
|
#
|
|
15
|
-
# Version: 3.
|
|
15
|
+
# Version: 3.29.0
|
|
16
16
|
#
|
|
17
17
|
# Quick Install:
|
|
18
18
|
# npm install -g aidevops && aidevops update (recommended)
|