privateboard 0.1.0 → 0.1.2
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/cli.js +2060 -183
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
- package/public/agent-overlay.js +3 -3
- package/public/agent-profile.css +5 -4
- package/public/agent-profile.js +18 -2
- package/public/app.js +513 -26
- package/public/avatar-skill.js +6 -9
- package/public/home.html +1750 -0
- package/public/{prototype-dashboard.html → index.html} +129 -116
- package/public/onboarding.js +4 -4
- package/public/quote-cta.css +225 -0
- package/public/quote-cta.js +355 -0
- package/public/report/spines/a16z-thesis.css +33 -1
- package/public/report/spines/anthropic-essay.css +54 -1
- package/public/report/spines/boardroom-dark.css +18 -2
- package/public/report/spines/gartner-note.css +47 -0
- package/public/report/spines/mckinsey-deck.css +38 -1
- package/public/report/spines/openai-paper.css +37 -1
- package/public/report.html +361 -6
- package/public/room-settings.css +6 -4
- package/public/room-settings.js +8 -5
- package/public/user-settings.css +18 -0
- package/public/user-settings.js +31 -2
package/package.json
CHANGED
package/public/agent-overlay.js
CHANGED
|
@@ -238,7 +238,7 @@
|
|
|
238
238
|
<div class="lock-icon">▰</div>
|
|
239
239
|
<div class="lock-text">
|
|
240
240
|
in-room notes are private to each thinker.
|
|
241
|
-
<a href="
|
|
241
|
+
<a href="/" class="lock-link">sign in →</a>
|
|
242
242
|
to see what they have said and where their stance shifted.
|
|
243
243
|
</div>
|
|
244
244
|
</div>
|
|
@@ -248,8 +248,8 @@
|
|
|
248
248
|
<footer class="agent-card-foot">
|
|
249
249
|
<div class="meta private-only">tenure · <span class="lime agent-tenure"></span></div>
|
|
250
250
|
<div class="meta public-only">first room · <span class="lime">free</span></div>
|
|
251
|
-
<a href="
|
|
252
|
-
<a href="
|
|
251
|
+
<a href="/#convene" class="agent-card-cta private-only">[ ◆ Convene with them ]</a>
|
|
252
|
+
<a href="/#convene" class="agent-card-cta public-only">[ → Sign in to convene ]</a>
|
|
253
253
|
</footer>
|
|
254
254
|
</div>
|
|
255
255
|
</div>
|
package/public/agent-profile.css
CHANGED
|
@@ -1063,7 +1063,8 @@
|
|
|
1063
1063
|
cursor: pointer;
|
|
1064
1064
|
transition: background 0.1s;
|
|
1065
1065
|
}
|
|
1066
|
-
.ap-id-menu-item:last-child
|
|
1066
|
+
.ap-id-menu-item:last-child,
|
|
1067
|
+
.ap-id-menu-item:has(+ .ap-id-menu-divider) { border-bottom: none; }
|
|
1067
1068
|
.ap-id-menu-item:hover { background: var(--panel-2); }
|
|
1068
1069
|
.ap-id-menu-mark { font-family: var(--mono); font-size: 11px; color: var(--lime); }
|
|
1069
1070
|
/* Disabled state · used for the chair's locked-avatar row. Looks like
|
|
@@ -1315,7 +1316,7 @@
|
|
|
1315
1316
|
}
|
|
1316
1317
|
|
|
1317
1318
|
/* ─── Skills v2 · uploaded Skill.md files ────────────────────────────
|
|
1318
|
-
Replaces the
|
|
1319
|
+
Replaces the legacy inventory grid. Pattern · radar at top,
|
|
1319
1320
|
per-skill rows below, drop-zone at the foot. PRD: docs/PRD-skills.md. */
|
|
1320
1321
|
.ap-skills-v2 {
|
|
1321
1322
|
display: flex;
|
|
@@ -1977,7 +1978,7 @@
|
|
|
1977
1978
|
/* Popover — anchored under the trigger. Mirrors the room composer's
|
|
1978
1979
|
.cmp-dd-pop dropdown: tight rows, mono micro-type hint inline with
|
|
1979
1980
|
the label, provider section headers, hairline scrollbar. One
|
|
1980
|
-
coherent dropdown vocabulary across the
|
|
1981
|
+
coherent dropdown vocabulary across the app. */
|
|
1981
1982
|
.ap-model-picker {
|
|
1982
1983
|
position: fixed;
|
|
1983
1984
|
z-index: 9100;
|
|
@@ -2813,7 +2814,7 @@
|
|
|
2813
2814
|
|
|
2814
2815
|
.ap-memory-row.editing .ap-memory-actions { visibility: hidden; }
|
|
2815
2816
|
|
|
2816
|
-
/* ─── Memory · legacy
|
|
2817
|
+
/* ─── Memory · legacy tile gallery (kept for callers
|
|
2817
2818
|
that still pass `p.memory` shape). v1 profiles render the
|
|
2818
2819
|
.ap-memory list above and never enter this block. */
|
|
2819
2820
|
.ap-memory-gallery {
|
package/public/agent-profile.js
CHANGED
|
@@ -605,7 +605,7 @@
|
|
|
605
605
|
|
|
606
606
|
function renderMetrics(p, slug) {
|
|
607
607
|
const m = p.metrics || {};
|
|
608
|
-
// Real model takes precedence over
|
|
608
|
+
// Real (live) model takes precedence over any hardcoded fallback.
|
|
609
609
|
const model = liveModelFor(slug) || m.model || { name: "—", deck: "" };
|
|
610
610
|
const cell = (lbl, vHTML, opts) => `
|
|
611
611
|
<div class="cell">
|
|
@@ -1209,7 +1209,7 @@
|
|
|
1209
1209
|
}
|
|
1210
1210
|
|
|
1211
1211
|
/* ─── Skills v2 · uploaded Skill.md files ────────────────────────────
|
|
1212
|
-
Replaces the
|
|
1212
|
+
Replaces the legacy localStorage skill grid. Skills are real,
|
|
1213
1213
|
server-persisted, and feed both the ability radar and the Pass-1
|
|
1214
1214
|
orchestrator router. PRD: docs/PRD-skills.md. */
|
|
1215
1215
|
|
|
@@ -2378,6 +2378,7 @@
|
|
|
2378
2378
|
// through under the room view.
|
|
2379
2379
|
if (v.reports) v.reports.setAttribute("hidden", "");
|
|
2380
2380
|
document.querySelectorAll(".agent-row.active").forEach((r) => r.classList.remove("active"));
|
|
2381
|
+
currentlyOpenSlug = null;
|
|
2381
2382
|
}
|
|
2382
2383
|
|
|
2383
2384
|
/** Build a minimal profile object from a live /api/agents record so
|
|
@@ -2423,7 +2424,15 @@
|
|
|
2423
2424
|
};
|
|
2424
2425
|
}
|
|
2425
2426
|
|
|
2427
|
+
// Track the currently-open profile so other modules (user-settings)
|
|
2428
|
+
// can ask us to re-fetch skill state after they mutate keys. Without
|
|
2429
|
+
// this, the web-search toggle row keeps its `data-key-configured="0"`
|
|
2430
|
+
// attribute baked from the first render and the user gets the
|
|
2431
|
+
// "configure key" prompt forever after they actually configured it.
|
|
2432
|
+
let currentlyOpenSlug = null;
|
|
2433
|
+
|
|
2426
2434
|
function open(slug) {
|
|
2435
|
+
currentlyOpenSlug = slug;
|
|
2427
2436
|
let p = PROFILES[slug];
|
|
2428
2437
|
// Live agent record (DB row · includes seeded directors too,
|
|
2429
2438
|
// since they live in the agents table). Custom directors created
|
|
@@ -3320,6 +3329,13 @@
|
|
|
3320
3329
|
|
|
3321
3330
|
window.openAgentProfile = open;
|
|
3322
3331
|
window.closeAgentProfile = showRoom;
|
|
3332
|
+
// Re-fetch the open profile's skills (incl. per-skill keyConfigured
|
|
3333
|
+
// flags) so the web-search toggle row's cached `data-key-configured`
|
|
3334
|
+
// refreshes after the user adds a key in Preferences. No-op when no
|
|
3335
|
+
// profile is currently open.
|
|
3336
|
+
window.refreshAgentProfileSkills = function () {
|
|
3337
|
+
if (currentlyOpenSlug) loadSkillsForV2(currentlyOpenSlug);
|
|
3338
|
+
};
|
|
3323
3339
|
|
|
3324
3340
|
if (document.readyState === "loading") {
|
|
3325
3341
|
document.addEventListener("DOMContentLoaded", init);
|