@floless/app 0.22.0 → 0.22.1
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/dist/floless-server.cjs +2 -2
- package/dist/web/app.css +9 -0
- package/dist/web/aware.js +14 -7
- package/package.json +1 -1
package/dist/floless-server.cjs
CHANGED
|
@@ -52729,7 +52729,7 @@ function appVersion() {
|
|
|
52729
52729
|
return resolveVersion({
|
|
52730
52730
|
isSea: isSea2(),
|
|
52731
52731
|
sqVersionXml: readSqVersionXml(),
|
|
52732
|
-
define: true ? "0.22.
|
|
52732
|
+
define: true ? "0.22.1" : void 0,
|
|
52733
52733
|
pkgVersion: readPkgVersion()
|
|
52734
52734
|
});
|
|
52735
52735
|
}
|
|
@@ -52739,7 +52739,7 @@ function resolveChannel(s) {
|
|
|
52739
52739
|
return "dev";
|
|
52740
52740
|
}
|
|
52741
52741
|
function appChannel() {
|
|
52742
|
-
return resolveChannel({ isSea: isSea2(), define: true ? "0.22.
|
|
52742
|
+
return resolveChannel({ isSea: isSea2(), define: true ? "0.22.1" : void 0 });
|
|
52743
52743
|
}
|
|
52744
52744
|
|
|
52745
52745
|
// oauth-presets.ts
|
package/dist/web/app.css
CHANGED
|
@@ -1125,9 +1125,17 @@
|
|
|
1125
1125
|
overflow-y: auto;
|
|
1126
1126
|
display: grid;
|
|
1127
1127
|
grid-template-columns: 1fr 1fr;
|
|
1128
|
+
/* align-items:start so a collapsed card isn't stretched to match an
|
|
1129
|
+
expanded sibling in the same row (the accordion-in-grid pattern). */
|
|
1130
|
+
align-items: start;
|
|
1128
1131
|
gap: 6px;
|
|
1129
1132
|
padding-right: 4px;
|
|
1130
1133
|
}
|
|
1134
|
+
/* One grid cell per agent: holds the card header + its command list, so the
|
|
1135
|
+
commands nest directly under the picked card (see renderLibrary). */
|
|
1136
|
+
.lib-card { min-width: 0; }
|
|
1137
|
+
.lib-card.expanded .lib-item { border-color: var(--accent-dim); }
|
|
1138
|
+
.lib-card.expanded .lib-fav { transform: rotate(180deg); }
|
|
1131
1139
|
.lib-item {
|
|
1132
1140
|
background: var(--surface-2);
|
|
1133
1141
|
border: 1px solid var(--border-strong);
|
|
@@ -1162,6 +1170,7 @@
|
|
|
1162
1170
|
border-radius: 3px;
|
|
1163
1171
|
flex-shrink: 0;
|
|
1164
1172
|
line-height: 1;
|
|
1173
|
+
transition: transform 0.15s ease, color 0.15s, border-color 0.15s;
|
|
1165
1174
|
}
|
|
1166
1175
|
.lib-item .lib-fav.faved { color: var(--star); border-color: var(--star); }
|
|
1167
1176
|
|
package/dist/web/aware.js
CHANGED
|
@@ -3681,15 +3681,20 @@
|
|
|
3681
3681
|
renderLibrary = function renderLibraryReal() {
|
|
3682
3682
|
const q = ($libSearch.value || '').toLowerCase().trim();
|
|
3683
3683
|
const items = agentCatalog.filter((a) => !q || a.id.toLowerCase().includes(q) || (a.kind || '').toLowerCase().includes(q));
|
|
3684
|
+
// Each agent is ONE grid cell: the card header + its (lazy) command list live
|
|
3685
|
+
// in the same `.lib-card`, so expanding nests the commands directly under the
|
|
3686
|
+
// picked card instead of scattering them into a neighbouring grid slot.
|
|
3684
3687
|
$libList.innerHTML = items.map((a) => `
|
|
3685
|
-
<div class="lib-
|
|
3686
|
-
<div class="
|
|
3687
|
-
<div class="
|
|
3688
|
-
|
|
3688
|
+
<div class="lib-card" data-agent="${escapeAttr(a.id)}">
|
|
3689
|
+
<div class="lib-item">
|
|
3690
|
+
<div class="info">
|
|
3691
|
+
<div class="name">${escapeHtml(a.id)} <span style="color:var(--text-dim);font-weight:400">v${escapeHtml(String(a.version))}</span></div>
|
|
3692
|
+
<div class="meta">${escapeHtml(a.kind || 'agent')} · ${a.commands} command${a.commands === 1 ? '' : 's'} · ${a.skills} skill${a.skills === 1 ? '' : 's'}</div>
|
|
3693
|
+
</div>
|
|
3694
|
+
<button class="lib-fav" data-expand="${escapeAttr(a.id)}" data-tip="Show commands">⌄</button>
|
|
3689
3695
|
</div>
|
|
3690
|
-
<
|
|
3696
|
+
<div class="lib-commands" id="cmds-${escapeAttr(a.id)}" hidden></div>
|
|
3691
3697
|
</div>
|
|
3692
|
-
<div class="lib-commands" id="cmds-${escapeAttr(a.id)}" hidden></div>
|
|
3693
3698
|
`).join('') || '<div class="empty-state">No agents match.</div>';
|
|
3694
3699
|
$libList.querySelectorAll('[data-expand]').forEach((btn) => {
|
|
3695
3700
|
btn.onclick = () => expandAgent(btn.dataset.expand);
|
|
@@ -3699,8 +3704,10 @@
|
|
|
3699
3704
|
async function expandAgent(id) {
|
|
3700
3705
|
const box = document.getElementById(`cmds-${id}`);
|
|
3701
3706
|
if (!box) return;
|
|
3702
|
-
|
|
3707
|
+
const card = box.closest('.lib-card');
|
|
3708
|
+
if (!box.hidden) { box.hidden = true; if (card) card.classList.remove('expanded'); return; }
|
|
3703
3709
|
box.hidden = false;
|
|
3710
|
+
if (card) card.classList.add('expanded');
|
|
3704
3711
|
box.innerHTML = '<div class="cmd-desc">loading…</div>';
|
|
3705
3712
|
try {
|
|
3706
3713
|
const { agent } = await api(`/api/agent/${encodeURIComponent(id)}`);
|