Feat v0.5.1 chat core (#31)
All checks were successful
CI/CD / detect-changes (push) Successful in 4s
CI/CD / test-frontend (push) Successful in 5s
CI/CD / test-go-pg (push) Successful in 2m35s
CI/CD / test-sqlite (push) Successful in 2m49s
CI/CD / build-and-deploy (push) Successful in 1m21s

Co-authored-by: Jeffrey Smith <jasafpro@gmail.com>
Co-committed-by: Jeffrey Smith <jasafpro@gmail.com>
This commit was merged in pull request #31.
This commit is contained in:
2026-03-30 12:42:54 +00:00
committed by xcaliber
parent 2abf406db8
commit 7155aaf663
14 changed files with 1883 additions and 29 deletions

View File

@@ -167,7 +167,7 @@ export async function boot() {
};
// Marker for idempotency
sw._sdk = '0.5.0';
sw._sdk = '0.5.1';
// 8. Expose globally
window.sw = sw;

View File

@@ -6,8 +6,9 @@
*/
const { html } = window;
const { useState, useEffect, useCallback } = hooks;
import { Dropdown } from '../../primitives/dropdown.js';
const TYPE_OPTIONS = ['all', 'surface', 'extension', 'full', 'workflow'];
const TYPE_OPTIONS = ['all', 'surface', 'extension', 'full', 'workflow', 'library'];
const CORE_IDS = new Set(['admin']);
function typeBadge(type) {
@@ -224,12 +225,11 @@ export default function PackagesSection() {
${/* ── Action bar ─────────────── */``}
<div style="display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:14px;">
${TYPE_OPTIONS.map(t => html`
<button key=${t}
class="btn-small ${typeFilter === t ? 'btn-primary' : ''}"
onClick=${() => setTypeFilter(t)}
style="text-transform:capitalize;">${t}</button>
`)}
<${Dropdown}
value=${typeFilter}
onChange=${setTypeFilter}
options=${TYPE_OPTIONS.map(t => ({ label: t.charAt(0).toUpperCase() + t.slice(1), value: t }))}
/>
<span style="flex:1;" />
<button class="btn-small" onClick=${uploadPackage} disabled=${installing}>
${installing ? 'Installing\u2026' : 'Install Package'}