@anmol-srv/sigil 0.12.0 → 0.12.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/package.json +1 -1
- package/src/gui/web/app.js +41 -1
- package/src/gui/web/index.html +10 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anmol-srv/sigil",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Local-first memory infrastructure for AI coding agents. One brain shared across Claude Code, Codex CLI, Cursor, Kiro, Continue, Cline, Windsurf, or any MCP client. Organized in pluggable pods, stored in your own Postgres. No cloud, no telemetry. Auto-captured from Claude Code via hooks; surfaced everywhere else as a 9-tool MCP server.",
|
|
6
6
|
"bin": {
|
package/src/gui/web/app.js
CHANGED
|
@@ -562,7 +562,7 @@ function setRoute(name) {
|
|
|
562
562
|
if (name === 'health') refreshHealth();
|
|
563
563
|
if (name === 'kb') refreshKb();
|
|
564
564
|
if (name === 'methods') refreshMethods();
|
|
565
|
-
if (name === 'settings') refreshEnv();
|
|
565
|
+
if (name === 'settings') { refreshEnv(); refreshSettingsClients(); }
|
|
566
566
|
if (name === 'devices') refreshDevices();
|
|
567
567
|
if (name === 'activity') { ensureActivityWs(); loadTraces(); }
|
|
568
568
|
}
|
|
@@ -676,6 +676,46 @@ async function refreshEnv() {
|
|
|
676
676
|
}
|
|
677
677
|
}
|
|
678
678
|
|
|
679
|
+
// ── Settings: coding agents ──────────────────────────────────────────
|
|
680
|
+
// Same flow as the onboarding CONNECTORS step, surfaced post-onboarding so
|
|
681
|
+
// users who skipped the step (or completed setup before this card existed)
|
|
682
|
+
// can still wire up Claude Code / Cursor / Codex / Kiro / Hermes.
|
|
683
|
+
async function refreshSettingsClients() {
|
|
684
|
+
const host = $('#settings-connectors');
|
|
685
|
+
if (!host) return;
|
|
686
|
+
try {
|
|
687
|
+
const { connectors } = await rpc('listConnectors');
|
|
688
|
+
host.innerHTML = '';
|
|
689
|
+
if (!connectors.length) {
|
|
690
|
+
host.innerHTML = '<div class="muted">no agents registered</div>';
|
|
691
|
+
return;
|
|
692
|
+
}
|
|
693
|
+
connectors.forEach((c) => host.appendChild(connectorCard(c, onSettingsClientAction)));
|
|
694
|
+
} catch (err) {
|
|
695
|
+
host.innerHTML = `<div class="muted">could not load agents: ${escape(err.message)}</div>`;
|
|
696
|
+
}
|
|
697
|
+
}
|
|
698
|
+
|
|
699
|
+
async function onSettingsClientAction(id, action) {
|
|
700
|
+
const host = $('#settings-connectors');
|
|
701
|
+
const card = host?.querySelector(`[data-id="${id}"]`);
|
|
702
|
+
if (action === 'disconnect') {
|
|
703
|
+
try {
|
|
704
|
+
await rpc('disconnectConnector', { id });
|
|
705
|
+
toast({ variant: 'success', message: `${id} disconnected` });
|
|
706
|
+
} catch (err) { toast({ variant: 'error', message: err.message, hint: err.hint, code: err.code }); }
|
|
707
|
+
return refreshSettingsClients();
|
|
708
|
+
}
|
|
709
|
+
if (card) card.replaceWith(connectorCard({ id, label: id, hint: '', uiState: 'connecting' }, onSettingsClientAction));
|
|
710
|
+
try {
|
|
711
|
+
await rpc('connectConnector', { id });
|
|
712
|
+
toast({ variant: 'success', message: `${id} connected` });
|
|
713
|
+
} catch (err) {
|
|
714
|
+
toast({ variant: 'error', message: err.message || `could not connect ${id}`, hint: err.hint, code: err.code });
|
|
715
|
+
}
|
|
716
|
+
return refreshSettingsClients();
|
|
717
|
+
}
|
|
718
|
+
|
|
679
719
|
// ── Settings: live provider switcher (LLM + embedding) ───────────────
|
|
680
720
|
// Reuses the wizard's provider catalogs + the shared applyEmbeddingProvider
|
|
681
721
|
// gate. "Apply" persists config and restarts the daemon so the new pool /
|
package/src/gui/web/index.html
CHANGED
|
@@ -395,6 +395,16 @@
|
|
|
395
395
|
</div>
|
|
396
396
|
</div>
|
|
397
397
|
|
|
398
|
+
<!-- Coding agents — single-click install of Sigil hooks into Claude Code,
|
|
399
|
+
Cursor, Codex, Kiro, Hermes. Cards reuse the wizard's connectorCard. -->
|
|
400
|
+
<div class="panel" style="padding: var(--s-5); margin-bottom: var(--s-4);">
|
|
401
|
+
<div class="title-block" style="margin-bottom: var(--s-4);">
|
|
402
|
+
<h3 style="margin: 0;">Coding agents</h3>
|
|
403
|
+
<p class="muted text-sm" style="margin: 4px 0 0;">One shared memory across every AI coding tool you use. Sigil writes a small CLAUDE.md/AGENTS.md import + hook config — fully reversible.</p>
|
|
404
|
+
</div>
|
|
405
|
+
<div class="connector-grid" id="settings-connectors"><div class="muted">detecting installed tools…</div></div>
|
|
406
|
+
</div>
|
|
407
|
+
|
|
398
408
|
<!-- Current config + switch controls -->
|
|
399
409
|
<div class="panel" style="padding: var(--s-5); margin-bottom: var(--s-4);">
|
|
400
410
|
<div class="row"><div class="k">Database</div><div class="v" id="cfg-db">…</div></div>
|