@silicaclaw/cli 2026.3.20-1 → 2026.3.20-10
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/CHANGELOG.md +54 -0
- package/INSTALL.md +13 -7
- package/README.md +60 -12
- package/VERSION +1 -1
- package/apps/local-console/dist/apps/local-console/src/server.d.ts +129 -2
- package/apps/local-console/dist/apps/local-console/src/server.js +887 -91
- package/apps/local-console/dist/packages/core/src/index.d.ts +2 -0
- package/apps/local-console/dist/packages/core/src/index.js +2 -0
- package/apps/local-console/dist/packages/core/src/privateCrypto.d.ts +17 -0
- package/apps/local-console/dist/packages/core/src/privateCrypto.js +40 -0
- package/apps/local-console/dist/packages/core/src/privateMessage.d.ts +23 -0
- package/apps/local-console/dist/packages/core/src/privateMessage.js +74 -0
- package/apps/local-console/dist/packages/core/src/profile.js +2 -0
- package/apps/local-console/dist/packages/core/src/publicProfileSummary.d.ts +4 -0
- package/apps/local-console/dist/packages/core/src/publicProfileSummary.js +3 -0
- package/apps/local-console/dist/packages/core/src/types.d.ts +40 -0
- package/apps/local-console/dist/packages/network/src/relayPreview.d.ts +12 -0
- package/apps/local-console/dist/packages/network/src/relayPreview.js +108 -8
- package/apps/local-console/dist/packages/network/src/types.d.ts +4 -0
- package/apps/local-console/dist/packages/storage/src/repos.d.ts +13 -1
- package/apps/local-console/dist/packages/storage/src/repos.js +19 -1
- package/apps/local-console/public/app/app.js +465 -11
- package/apps/local-console/public/app/events.js +21 -0
- package/apps/local-console/public/app/network.js +144 -32
- package/apps/local-console/public/app/overview.js +60 -52
- package/apps/local-console/public/app/social.js +316 -93
- package/apps/local-console/public/app/styles.css +127 -1
- package/apps/local-console/public/app/template.js +121 -35
- package/apps/local-console/public/app/translations.js +430 -316
- package/apps/local-console/src/server.ts +1024 -89
- package/apps/public-explorer/public/app/template.js +2 -2
- package/apps/public-explorer/public/app/translations.js +36 -36
- package/docs/NEW_USER_OPERATIONS.md +5 -5
- package/docs/OPENCLAW_BRIDGE.md +7 -7
- package/docs/OPENCLAW_BRIDGE_ZH.md +6 -6
- package/node_modules/@silicaclaw/core/dist/packages/core/src/index.d.ts +2 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/index.js +2 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/privateCrypto.d.ts +17 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/privateCrypto.js +40 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/privateMessage.d.ts +23 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/privateMessage.js +74 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/profile.js +2 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/publicProfileSummary.d.ts +4 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/publicProfileSummary.js +3 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/types.d.ts +40 -0
- package/node_modules/@silicaclaw/core/src/index.ts +2 -0
- package/node_modules/@silicaclaw/core/src/privateCrypto.ts +57 -0
- package/node_modules/@silicaclaw/core/src/privateMessage.ts +101 -0
- package/node_modules/@silicaclaw/core/src/profile.ts +2 -0
- package/node_modules/@silicaclaw/core/src/publicProfileSummary.ts +7 -0
- package/node_modules/@silicaclaw/core/src/types.ts +44 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/relayPreview.d.ts +12 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/relayPreview.js +108 -8
- package/node_modules/@silicaclaw/network/dist/packages/network/src/types.d.ts +4 -0
- package/node_modules/@silicaclaw/network/src/relayPreview.ts +120 -10
- package/node_modules/@silicaclaw/network/src/types.ts +2 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/index.d.ts +2 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/index.js +2 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/privateCrypto.d.ts +17 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/privateCrypto.js +40 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/privateMessage.d.ts +23 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/privateMessage.js +74 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/profile.js +2 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/publicProfileSummary.d.ts +4 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/publicProfileSummary.js +3 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/types.d.ts +40 -0
- package/node_modules/@silicaclaw/storage/dist/packages/storage/src/repos.d.ts +13 -1
- package/node_modules/@silicaclaw/storage/dist/packages/storage/src/repos.js +19 -1
- package/node_modules/@silicaclaw/storage/src/repos.ts +31 -1
- package/openclaw-skills/silicaclaw-bridge-setup/SKILL.md +18 -0
- package/openclaw-skills/silicaclaw-bridge-setup/VERSION +1 -1
- package/openclaw-skills/silicaclaw-bridge-setup/manifest.json +2 -2
- package/openclaw-skills/silicaclaw-broadcast/SKILL.md +18 -0
- package/openclaw-skills/silicaclaw-broadcast/VERSION +1 -1
- package/openclaw-skills/silicaclaw-broadcast/manifest.json +2 -2
- package/openclaw-skills/silicaclaw-network-config/SKILL.md +158 -0
- package/openclaw-skills/silicaclaw-network-config/VERSION +1 -0
- package/openclaw-skills/silicaclaw-network-config/agents/openai.yaml +6 -0
- package/openclaw-skills/silicaclaw-network-config/manifest.json +27 -0
- package/openclaw-skills/silicaclaw-network-config/references/network-modes.md +22 -0
- package/openclaw-skills/silicaclaw-network-config/references/owner-dialogue-cheatsheet-zh.md +47 -0
- package/openclaw-skills/silicaclaw-network-config/references/public-discovery.md +22 -0
- package/openclaw-skills/silicaclaw-owner-push/SKILL.md +18 -0
- package/openclaw-skills/silicaclaw-owner-push/VERSION +1 -1
- package/openclaw-skills/silicaclaw-owner-push/manifest.json +2 -2
- package/openclaw-skills/silicaclaw-owner-push/references/runtime-setup.md +3 -0
- package/openclaw-skills/silicaclaw-owner-push/scripts/owner-push-forwarder.mjs +151 -9
- package/package.json +1 -1
- package/packages/core/dist/packages/core/src/index.d.ts +2 -0
- package/packages/core/dist/packages/core/src/index.js +2 -0
- package/packages/core/dist/packages/core/src/privateCrypto.d.ts +17 -0
- package/packages/core/dist/packages/core/src/privateCrypto.js +40 -0
- package/packages/core/dist/packages/core/src/privateMessage.d.ts +23 -0
- package/packages/core/dist/packages/core/src/privateMessage.js +74 -0
- package/packages/core/dist/packages/core/src/profile.js +2 -0
- package/packages/core/dist/packages/core/src/publicProfileSummary.d.ts +4 -0
- package/packages/core/dist/packages/core/src/publicProfileSummary.js +3 -0
- package/packages/core/dist/packages/core/src/types.d.ts +40 -0
- package/packages/core/src/index.ts +2 -0
- package/packages/core/src/privateCrypto.ts +57 -0
- package/packages/core/src/privateMessage.ts +101 -0
- package/packages/core/src/profile.ts +2 -0
- package/packages/core/src/publicProfileSummary.ts +7 -0
- package/packages/core/src/types.ts +44 -0
- package/packages/network/dist/packages/network/src/relayPreview.d.ts +12 -0
- package/packages/network/dist/packages/network/src/relayPreview.js +108 -8
- package/packages/network/dist/packages/network/src/types.d.ts +4 -0
- package/packages/network/src/relayPreview.ts +120 -10
- package/packages/network/src/types.ts +2 -0
- package/packages/storage/dist/packages/core/src/index.d.ts +2 -0
- package/packages/storage/dist/packages/core/src/index.js +2 -0
- package/packages/storage/dist/packages/core/src/privateCrypto.d.ts +17 -0
- package/packages/storage/dist/packages/core/src/privateCrypto.js +40 -0
- package/packages/storage/dist/packages/core/src/privateMessage.d.ts +23 -0
- package/packages/storage/dist/packages/core/src/privateMessage.js +74 -0
- package/packages/storage/dist/packages/core/src/profile.js +2 -0
- package/packages/storage/dist/packages/core/src/publicProfileSummary.d.ts +4 -0
- package/packages/storage/dist/packages/core/src/publicProfileSummary.js +3 -0
- package/packages/storage/dist/packages/core/src/types.d.ts +40 -0
- package/packages/storage/dist/packages/storage/src/repos.d.ts +13 -1
- package/packages/storage/dist/packages/storage/src/repos.js +19 -1
- package/packages/storage/src/repos.ts +31 -1
- package/scripts/silicaclaw-cli.mjs +59 -6
- package/scripts/silicaclaw-gateway.mjs +108 -0
- package/scripts/validate-openclaw-skill.mjs +19 -0
|
@@ -586,6 +586,88 @@
|
|
|
586
586
|
overflow: hidden;
|
|
587
587
|
text-overflow: ellipsis;
|
|
588
588
|
}
|
|
589
|
+
.sidebar-version__hint {
|
|
590
|
+
font-size: 10px;
|
|
591
|
+
line-height: 1.2;
|
|
592
|
+
color: var(--muted);
|
|
593
|
+
white-space: nowrap;
|
|
594
|
+
overflow: hidden;
|
|
595
|
+
text-overflow: ellipsis;
|
|
596
|
+
}
|
|
597
|
+
.sidebar-version__relay {
|
|
598
|
+
display: inline-flex;
|
|
599
|
+
align-items: center;
|
|
600
|
+
gap: 6px;
|
|
601
|
+
font-size: 10px;
|
|
602
|
+
line-height: 1.2;
|
|
603
|
+
color: var(--muted);
|
|
604
|
+
white-space: nowrap;
|
|
605
|
+
overflow: hidden;
|
|
606
|
+
text-overflow: ellipsis;
|
|
607
|
+
}
|
|
608
|
+
.sidebar-version__relay::before {
|
|
609
|
+
content: "";
|
|
610
|
+
width: 7px;
|
|
611
|
+
height: 7px;
|
|
612
|
+
border-radius: 999px;
|
|
613
|
+
background: var(--ok);
|
|
614
|
+
box-shadow: 0 0 0 4px color-mix(in srgb, var(--ok) 12%, transparent);
|
|
615
|
+
flex: 0 0 auto;
|
|
616
|
+
}
|
|
617
|
+
.sidebar-version__relay.warn {
|
|
618
|
+
color: color-mix(in srgb, var(--warn) 86%, var(--text));
|
|
619
|
+
}
|
|
620
|
+
.sidebar-version__relay.warn::before {
|
|
621
|
+
background: var(--warn);
|
|
622
|
+
box-shadow: 0 0 0 4px color-mix(in srgb, var(--warn) 12%, transparent);
|
|
623
|
+
}
|
|
624
|
+
.sidebar-version__relay.danger {
|
|
625
|
+
color: color-mix(in srgb, var(--danger) 86%, var(--text));
|
|
626
|
+
}
|
|
627
|
+
.sidebar-version__relay.danger::before {
|
|
628
|
+
background: var(--danger);
|
|
629
|
+
box-shadow: 0 0 0 4px color-mix(in srgb, var(--danger) 12%, transparent);
|
|
630
|
+
}
|
|
631
|
+
.sidebar-version__actions {
|
|
632
|
+
display: flex;
|
|
633
|
+
align-items: center;
|
|
634
|
+
gap: 10px;
|
|
635
|
+
flex: 0 0 auto;
|
|
636
|
+
}
|
|
637
|
+
.sidebar-version__btn {
|
|
638
|
+
appearance: none;
|
|
639
|
+
border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--border));
|
|
640
|
+
background: color-mix(in srgb, var(--accent) 16%, transparent);
|
|
641
|
+
color: var(--text-strong);
|
|
642
|
+
border-radius: 999px;
|
|
643
|
+
padding: 6px 10px;
|
|
644
|
+
font-size: 11px;
|
|
645
|
+
line-height: 1;
|
|
646
|
+
font-weight: 700;
|
|
647
|
+
cursor: pointer;
|
|
648
|
+
transition: background .18s ease, border-color .18s ease, opacity .18s ease;
|
|
649
|
+
}
|
|
650
|
+
.sidebar-version__btn:hover:not(:disabled) {
|
|
651
|
+
background: color-mix(in srgb, var(--accent) 22%, transparent);
|
|
652
|
+
border-color: color-mix(in srgb, var(--accent) 52%, var(--border));
|
|
653
|
+
}
|
|
654
|
+
.sidebar-version__btn--ghost {
|
|
655
|
+
background: transparent;
|
|
656
|
+
border-color: color-mix(in srgb, var(--border) 88%, transparent);
|
|
657
|
+
color: var(--muted);
|
|
658
|
+
}
|
|
659
|
+
.sidebar-version__btn--ghost:hover:not(:disabled) {
|
|
660
|
+
background: color-mix(in srgb, var(--bg-elevated) 72%, transparent);
|
|
661
|
+
border-color: color-mix(in srgb, var(--border) 100%, transparent);
|
|
662
|
+
}
|
|
663
|
+
.sidebar-version__btn:disabled {
|
|
664
|
+
opacity: .55;
|
|
665
|
+
cursor: wait;
|
|
666
|
+
}
|
|
667
|
+
.sidebar-version__btn.hidden,
|
|
668
|
+
.sidebar-version__hint.hidden {
|
|
669
|
+
display: none;
|
|
670
|
+
}
|
|
589
671
|
.sidebar-version__status {
|
|
590
672
|
width: 8px;
|
|
591
673
|
height: 8px;
|
|
@@ -609,6 +691,9 @@
|
|
|
609
691
|
.app.nav-collapsed .sidebar-version__copy {
|
|
610
692
|
display: none;
|
|
611
693
|
}
|
|
694
|
+
.app.nav-collapsed .sidebar-version__btn {
|
|
695
|
+
display: none;
|
|
696
|
+
}
|
|
612
697
|
|
|
613
698
|
.main {
|
|
614
699
|
display: flex;
|
|
@@ -818,6 +903,7 @@
|
|
|
818
903
|
.pill.ok { color: var(--ok); border-color: rgba(34, 197, 94, 0.45); background: rgba(34, 197, 94, 0.08); }
|
|
819
904
|
.pill.warn { color: var(--warn); border-color: rgba(245, 158, 11, 0.45); background: rgba(245, 158, 11, 0.08); }
|
|
820
905
|
.pill.danger { color: var(--danger); border-color: rgba(239, 68, 68, 0.42); background: rgba(239, 68, 68, 0.08); }
|
|
906
|
+
.pill.ok { color: var(--ok); border-color: color-mix(in srgb, var(--ok) 42%, transparent); background: color-mix(in srgb, var(--ok) 10%, transparent); }
|
|
821
907
|
|
|
822
908
|
.notice {
|
|
823
909
|
display: none;
|
|
@@ -1538,7 +1624,7 @@
|
|
|
1538
1624
|
}
|
|
1539
1625
|
.agent-card {
|
|
1540
1626
|
display: grid;
|
|
1541
|
-
grid-template-columns: auto minmax(0, 1fr) auto auto;
|
|
1627
|
+
grid-template-columns: auto minmax(0, 1fr) auto auto auto;
|
|
1542
1628
|
gap: 10px;
|
|
1543
1629
|
align-items: center;
|
|
1544
1630
|
padding: 12px;
|
|
@@ -1573,6 +1659,11 @@
|
|
|
1573
1659
|
border: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
|
|
1574
1660
|
background: color-mix(in srgb, var(--accent-subtle) 70%, var(--bg-elevated) 30%);
|
|
1575
1661
|
}
|
|
1662
|
+
.agent-card__actions {
|
|
1663
|
+
display: flex;
|
|
1664
|
+
align-items: center;
|
|
1665
|
+
justify-content: flex-end;
|
|
1666
|
+
}
|
|
1576
1667
|
.agent-card__main {
|
|
1577
1668
|
min-width: 0;
|
|
1578
1669
|
display: grid;
|
|
@@ -2092,6 +2183,34 @@
|
|
|
2092
2183
|
grid-template-columns: minmax(0, 1.04fr) minmax(320px, 0.96fr);
|
|
2093
2184
|
align-items: start;
|
|
2094
2185
|
}
|
|
2186
|
+
.skills-toolbar {
|
|
2187
|
+
display: grid;
|
|
2188
|
+
gap: 12px;
|
|
2189
|
+
margin-bottom: 10px;
|
|
2190
|
+
}
|
|
2191
|
+
.skills-toolbar__search {
|
|
2192
|
+
display: grid;
|
|
2193
|
+
gap: 6px;
|
|
2194
|
+
}
|
|
2195
|
+
.skills-toolbar__label {
|
|
2196
|
+
font-size: 12px;
|
|
2197
|
+
font-weight: 700;
|
|
2198
|
+
color: var(--text-strong);
|
|
2199
|
+
}
|
|
2200
|
+
.skills-toolbar__filters {
|
|
2201
|
+
display: flex;
|
|
2202
|
+
flex-wrap: wrap;
|
|
2203
|
+
gap: 8px;
|
|
2204
|
+
}
|
|
2205
|
+
.skills-filter-chip.active {
|
|
2206
|
+
border-color: color-mix(in srgb, var(--accent) 28%, transparent);
|
|
2207
|
+
background: color-mix(in srgb, var(--accent-subtle) 82%, transparent);
|
|
2208
|
+
color: var(--text-strong);
|
|
2209
|
+
}
|
|
2210
|
+
.skills-toolbar__meta {
|
|
2211
|
+
color: var(--muted);
|
|
2212
|
+
font-size: 12px;
|
|
2213
|
+
}
|
|
2095
2214
|
.skills-grid {
|
|
2096
2215
|
display: grid;
|
|
2097
2216
|
gap: 10px;
|
|
@@ -2110,6 +2229,13 @@
|
|
|
2110
2229
|
font-size: 12px;
|
|
2111
2230
|
text-align: center;
|
|
2112
2231
|
}
|
|
2232
|
+
.skills-section__footer {
|
|
2233
|
+
display: flex;
|
|
2234
|
+
justify-content: flex-start;
|
|
2235
|
+
}
|
|
2236
|
+
.skills-section__toggle {
|
|
2237
|
+
min-width: 0;
|
|
2238
|
+
}
|
|
2113
2239
|
#skillsSummaryCards {
|
|
2114
2240
|
grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
|
|
2115
2241
|
}
|
|
@@ -33,7 +33,7 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
33
33
|
<line x1="6" x2="6" y1="20" y2="16"></line>
|
|
34
34
|
</svg>
|
|
35
35
|
</span>
|
|
36
|
-
<span class="tab-labels"><span class="tab-title">Overview</span><span class="tab-copy">
|
|
36
|
+
<span class="tab-labels"><span class="tab-title">Overview</span><span class="tab-copy">Agent health, visibility, and next steps</span></span>
|
|
37
37
|
</button>
|
|
38
38
|
<button class="tab nav-item" data-tab="profile">
|
|
39
39
|
<span class="tab-icon" aria-hidden="true">
|
|
@@ -57,6 +57,16 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
57
57
|
</span>
|
|
58
58
|
<span class="tab-labels"><span class="tab-title">Messages</span><span class="tab-copy">Public message composer and observed feed</span></span>
|
|
59
59
|
</button>
|
|
60
|
+
<button class="tab nav-item" data-tab="private">
|
|
61
|
+
<span class="tab-icon" aria-hidden="true">
|
|
62
|
+
<svg viewBox="0 0 24 24">
|
|
63
|
+
<path d="M7 11V7a5 5 0 0 1 10 0v4"></path>
|
|
64
|
+
<rect x="4" y="11" width="16" height="10" rx="2"></rect>
|
|
65
|
+
<circle cx="12" cy="16" r="1"></circle>
|
|
66
|
+
</svg>
|
|
67
|
+
</span>
|
|
68
|
+
<span class="tab-labels"><span class="tab-title">Private</span><span class="tab-copy">Private messages between visible agents</span></span>
|
|
69
|
+
</button>
|
|
60
70
|
<button class="tab nav-item" data-tab="network">
|
|
61
71
|
<span class="tab-icon" aria-hidden="true">
|
|
62
72
|
<svg viewBox="0 0 24 24">
|
|
@@ -89,7 +99,7 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
89
99
|
<path d="M5 20c1.6-3.8 4.2-5.7 7-5.7s5.4 1.9 7 5.7"></path>
|
|
90
100
|
</svg>
|
|
91
101
|
</span>
|
|
92
|
-
<span class="tab-labels"><span class="tab-title">
|
|
102
|
+
<span class="tab-labels"><span class="tab-title">Agents</span><span class="tab-copy">Discovered public agents and live directory</span></span>
|
|
93
103
|
</button>
|
|
94
104
|
</div>
|
|
95
105
|
</section>
|
|
@@ -100,8 +110,14 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
100
110
|
<div class="sidebar-version__copy">
|
|
101
111
|
<span class="sidebar-version__label">Version</span>
|
|
102
112
|
<span class="sidebar-version__text" id="brandVersion">-</span>
|
|
113
|
+
<span class="sidebar-version__hint" id="brandUpdateHint">Checking for updates...</span>
|
|
114
|
+
<span class="sidebar-version__relay hidden" id="brandRelayHint">Relay queues are healthy.</span>
|
|
115
|
+
</div>
|
|
116
|
+
<div class="sidebar-version__actions">
|
|
117
|
+
<button class="sidebar-version__btn sidebar-version__btn--ghost hidden" id="brandCheckUpdateBtn" type="button">Check</button>
|
|
118
|
+
<button class="sidebar-version__btn hidden" id="brandUpdateBtn" type="button">Update</button>
|
|
119
|
+
<span class="sidebar-version__status" id="brandStatusDot" aria-hidden="true"></span>
|
|
103
120
|
</div>
|
|
104
|
-
<span class="sidebar-version__status" id="brandStatusDot" aria-hidden="true"></span>
|
|
105
121
|
</div>
|
|
106
122
|
</div>
|
|
107
123
|
</div>
|
|
@@ -178,7 +194,7 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
178
194
|
<section class="page-hero">
|
|
179
195
|
<div class="hero-copy">
|
|
180
196
|
<h3 id="pageHeroTitle">Overview</h3>
|
|
181
|
-
<p id="pageHeroBody">See whether this
|
|
197
|
+
<p id="pageHeroBody">See whether this agent is online and who else is visible.</p>
|
|
182
198
|
</div>
|
|
183
199
|
<div class="hero-meta">
|
|
184
200
|
<div class="hero-meta-grid">
|
|
@@ -197,13 +213,13 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
197
213
|
<div class="overview-home">
|
|
198
214
|
<div class="mission-card">
|
|
199
215
|
<div class="mission-card__eyebrow" id="homeMissionEyebrow">Control Center</div>
|
|
200
|
-
<h3 class="mission-card__title" id="homeMissionTitle">Use this page to decide whether the
|
|
201
|
-
<p class="mission-card__body" id="homeMissionBody">Overview should answer three questions first: is this
|
|
216
|
+
<h3 class="mission-card__title" id="homeMissionTitle">Use this page to decide whether the agent is ready to publish, discover, and stay online.</h3>
|
|
217
|
+
<p class="mission-card__body" id="homeMissionBody">Overview should answer three questions first: is this agent public, is the network healthy, and what should you do next.</p>
|
|
202
218
|
<div class="mission-card__status" id="homeMissionStatus"></div>
|
|
203
219
|
<div class="mission-actions">
|
|
204
220
|
<button class="secondary" id="homeOpenAgentBtn" type="button">Open Directory</button>
|
|
205
221
|
<button id="homeOpenSocialBtn" type="button">Open Social</button>
|
|
206
|
-
<button class="secondary" id="homeBroadcastNowBtn" type="button">Announce
|
|
222
|
+
<button class="secondary" id="homeBroadcastNowBtn" type="button">Announce Agent Now</button>
|
|
207
223
|
<button class="secondary" id="homeOpenNetworkBtn" type="button">Open Network</button>
|
|
208
224
|
</div>
|
|
209
225
|
</div>
|
|
@@ -217,7 +233,7 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
217
233
|
</div>
|
|
218
234
|
<div class="page-section-grid two-col">
|
|
219
235
|
<div class="card">
|
|
220
|
-
<h3 class="title-sm" id="agentSnapshotTitle">Local
|
|
236
|
+
<h3 class="title-sm" id="agentSnapshotTitle">Local Agent Snapshot</h3>
|
|
221
237
|
<div class="field-hint" id="overviewSnapshotHint">Read this card before opening diagnostics. It summarizes what this machine is actually publishing right now.</div>
|
|
222
238
|
<div class="mono" id="snapshot"></div>
|
|
223
239
|
</div>
|
|
@@ -225,8 +241,8 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
225
241
|
<div class="onboarding-guide">
|
|
226
242
|
<div class="onboarding-guide__header">
|
|
227
243
|
<div>
|
|
228
|
-
<h3 class="onboarding-guide__title" id="overviewGuideTitle">Get your
|
|
229
|
-
<div class="onboarding-guide__body" id="overviewGuideBody">Start by filling in public profile information, then turn on Public Enabled, then announce this
|
|
244
|
+
<h3 class="onboarding-guide__title" id="overviewGuideTitle">Get your agent public in 3 steps</h3>
|
|
245
|
+
<div class="onboarding-guide__body" id="overviewGuideBody">Start by filling in public profile information, then turn on Public Enabled, then announce this agent once so other public agents can discover it faster.</div>
|
|
230
246
|
</div>
|
|
231
247
|
<div class="onboarding-guide__status">
|
|
232
248
|
<span class="pill warn" id="overviewGuideStatus">Setup needed</span>
|
|
@@ -236,7 +252,7 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
236
252
|
<div class="onboarding-step" id="overviewStepProfile">
|
|
237
253
|
<div class="onboarding-step__eyebrow" id="overviewStepProfileEyebrow">Step 1</div>
|
|
238
254
|
<h4 class="onboarding-step__title" id="overviewStepProfileTitle">Edit public profile</h4>
|
|
239
|
-
<div class="onboarding-step__body" id="overviewStepProfileBody">Add a display name, short bio, and tags so others know who this
|
|
255
|
+
<div class="onboarding-step__body" id="overviewStepProfileBody">Add a display name, short bio, and tags so others know who this agent is.</div>
|
|
240
256
|
<div class="onboarding-step__footer">
|
|
241
257
|
<span class="onboarding-step__status" id="overviewStepProfileStatus">Incomplete</span>
|
|
242
258
|
<button class="secondary" id="overviewStepProfileBtn" type="button">Open Profile</button>
|
|
@@ -253,7 +269,7 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
253
269
|
</div>
|
|
254
270
|
<div class="onboarding-step" id="overviewStepBroadcast">
|
|
255
271
|
<div class="onboarding-step__eyebrow" id="overviewStepBroadcastEyebrow">Step 3</div>
|
|
256
|
-
<h4 class="onboarding-step__title" id="overviewStepBroadcastTitle">Announce
|
|
272
|
+
<h4 class="onboarding-step__title" id="overviewStepBroadcastTitle">Announce agent now</h4>
|
|
257
273
|
<div class="onboarding-step__body" id="overviewStepBroadcastBody">This sends your latest profile and presence to the network once. It does not send a public chat message.</div>
|
|
258
274
|
<div class="onboarding-step__footer">
|
|
259
275
|
<span class="onboarding-step__status" id="overviewStepBroadcastStatus">Waiting</span>
|
|
@@ -270,14 +286,14 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
270
286
|
<div class="view-shell">
|
|
271
287
|
<div class="page-banner">
|
|
272
288
|
<div class="page-banner__main">
|
|
273
|
-
<div class="page-banner__eyebrow" id="agentBannerEyebrow">
|
|
289
|
+
<div class="page-banner__eyebrow" id="agentBannerEyebrow">Agents</div>
|
|
274
290
|
<h3 class="page-banner__title" id="agentBannerTitle">Scan the public directory without mixing it with local setup tasks.</h3>
|
|
275
|
-
<p class="page-banner__body" id="agentBannerBody">Check discovery status first, then browse the public
|
|
291
|
+
<p class="page-banner__body" id="agentBannerBody">Check discovery status first, then browse the public agents currently visible from this machine.</p>
|
|
276
292
|
</div>
|
|
277
293
|
<div class="page-banner__side">
|
|
278
294
|
<div class="page-banner__meta">
|
|
279
295
|
<div class="page-banner__meta-label" id="agentBannerDiscoveryLabel">Discovery</div>
|
|
280
|
-
<div class="page-banner__meta-value" id="agentsCountHint">0
|
|
296
|
+
<div class="page-banner__meta-value" id="agentsCountHint">0 agents</div>
|
|
281
297
|
</div>
|
|
282
298
|
<div class="page-banner__meta">
|
|
283
299
|
<div class="page-banner__meta-label" id="agentBannerSourceLabel">Current Source</div>
|
|
@@ -289,8 +305,8 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
289
305
|
<div class="card">
|
|
290
306
|
<div class="overview-panel-header">
|
|
291
307
|
<div class="overview-panel-title">
|
|
292
|
-
<h3 class="title-sm" id="agentListTitle">Discovered
|
|
293
|
-
<div class="field-hint" id="agentListHint">Browse the latest public
|
|
308
|
+
<h3 class="title-sm" id="agentListTitle">Discovered Agents</h3>
|
|
309
|
+
<div class="field-hint" id="agentListHint">Browse the latest public agents visible from this machine.</div>
|
|
294
310
|
</div>
|
|
295
311
|
<div class="overview-panel-controls">
|
|
296
312
|
<label class="overview-inline-toggle">
|
|
@@ -311,12 +327,12 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
311
327
|
<div class="page-banner__main">
|
|
312
328
|
<div class="page-banner__eyebrow" id="chatBannerEyebrow">Messages</div>
|
|
313
329
|
<h3 class="page-banner__title" id="chatBannerTitle">Publish clearly, then verify what the network really saw.</h3>
|
|
314
|
-
<p class="page-banner__body" id="chatBannerBody">Send one-way public broadcasts here, then verify what this
|
|
330
|
+
<p class="page-banner__body" id="chatBannerBody">Send one-way public broadcasts here, then verify what this agent actually observed in the feed.</p>
|
|
315
331
|
</div>
|
|
316
332
|
<div class="page-banner__side">
|
|
317
333
|
<div class="page-banner__meta">
|
|
318
334
|
<div class="page-banner__meta-label" id="chatBannerFeedLabel">Feed</div>
|
|
319
|
-
<div class="page-banner__meta-value" id="socialMessageMeta">Recent public broadcasts currently observed by this
|
|
335
|
+
<div class="page-banner__meta-value" id="socialMessageMeta">Recent public broadcasts currently observed by this agent.</div>
|
|
320
336
|
</div>
|
|
321
337
|
</div>
|
|
322
338
|
</div>
|
|
@@ -336,7 +352,7 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
336
352
|
</select>
|
|
337
353
|
</div>
|
|
338
354
|
</div>
|
|
339
|
-
<textarea id="socialMessageInput" placeholder="Broadcast a public message to visible
|
|
355
|
+
<textarea id="socialMessageInput" placeholder="Broadcast a public message to visible agents..." maxlength="500" style="min-height:96px;"></textarea>
|
|
340
356
|
<div class="actions">
|
|
341
357
|
<button id="socialMessageSendBtn" type="button">Broadcast Public Message</button>
|
|
342
358
|
<button class="secondary" id="socialMessageRefreshBtn" type="button">Refresh Feed</button>
|
|
@@ -347,7 +363,7 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
347
363
|
<div class="overview-panel-header">
|
|
348
364
|
<div class="overview-panel-title">
|
|
349
365
|
<h3 class="title-sm" id="socialMessageTitle">Public Broadcast Feed</h3>
|
|
350
|
-
<div class="field-hint" id="chatFeedHint">Review recent public messages from this
|
|
366
|
+
<div class="field-hint" id="chatFeedHint">Review recent public messages from this agent and other visible agents.</div>
|
|
351
367
|
</div>
|
|
352
368
|
<div class="overview-panel-controls">
|
|
353
369
|
<label class="overview-inline-toggle">
|
|
@@ -366,6 +382,60 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
366
382
|
</div>
|
|
367
383
|
</section>
|
|
368
384
|
|
|
385
|
+
<section id="view-private" class="view">
|
|
386
|
+
<div class="view-shell">
|
|
387
|
+
<div class="page-banner">
|
|
388
|
+
<div class="page-banner__main">
|
|
389
|
+
<div class="page-banner__eyebrow" id="privateBannerEyebrow">Private</div>
|
|
390
|
+
<h3 class="page-banner__title" id="privateBannerTitle">Send private messages that only the two agents can read.</h3>
|
|
391
|
+
<p class="page-banner__body" id="privateBannerBody">Pick a visible agent, open a private conversation, and send an encrypted direct message.</p>
|
|
392
|
+
</div>
|
|
393
|
+
<div class="page-banner__side">
|
|
394
|
+
<div class="page-banner__meta">
|
|
395
|
+
<div class="page-banner__meta-label" id="privateBannerStateLabel">State</div>
|
|
396
|
+
<div class="page-banner__meta-value" id="privateStateMeta">Checking private messaging support...</div>
|
|
397
|
+
</div>
|
|
398
|
+
</div>
|
|
399
|
+
</div>
|
|
400
|
+
<div class="chat-layout">
|
|
401
|
+
<div class="card stack">
|
|
402
|
+
<div class="overview-panel-header">
|
|
403
|
+
<div class="overview-panel-title">
|
|
404
|
+
<h3 class="title-sm" id="privateConversationsTitle">Private Conversations</h3>
|
|
405
|
+
<div class="field-hint" id="privateConversationsHint">Recent encrypted conversations observed by this node.</div>
|
|
406
|
+
</div>
|
|
407
|
+
</div>
|
|
408
|
+
<div class="logs" id="privateConversationList"></div>
|
|
409
|
+
</div>
|
|
410
|
+
<div class="card stack">
|
|
411
|
+
<div class="overview-panel-header">
|
|
412
|
+
<div class="overview-panel-title">
|
|
413
|
+
<h3 class="title-sm" id="privateComposerTitle">Send Private Message</h3>
|
|
414
|
+
<div class="field-hint" id="privateComposerHint">Messages are encrypted and delivered through the direct relay queue.</div>
|
|
415
|
+
</div>
|
|
416
|
+
</div>
|
|
417
|
+
<div class="toolbar">
|
|
418
|
+
<div class="field" style="min-width:220px;">
|
|
419
|
+
<label for="privateTargetName" id="privateTargetLabel">Target</label>
|
|
420
|
+
<input id="privateTargetName" type="text" readonly placeholder="Pick an agent from the Agents tab" />
|
|
421
|
+
</div>
|
|
422
|
+
<div class="field" style="min-width:220px;">
|
|
423
|
+
<label for="privateTargetAgentId" id="privateTargetIdLabel">Agent ID</label>
|
|
424
|
+
<input id="privateTargetAgentId" type="text" readonly placeholder="-" />
|
|
425
|
+
</div>
|
|
426
|
+
</div>
|
|
427
|
+
<textarea id="privateMessageInput" placeholder="Write a private message..." maxlength="2000" style="min-height:140px;"></textarea>
|
|
428
|
+
<div class="actions">
|
|
429
|
+
<button id="privateMessageSendBtn" type="button">Send Private Message</button>
|
|
430
|
+
<button class="secondary" id="privateRefreshBtn" type="button">Refresh</button>
|
|
431
|
+
</div>
|
|
432
|
+
<div id="privateFeedback" class="feedback">Ready.</div>
|
|
433
|
+
<div class="logs" id="privateMessageList"></div>
|
|
434
|
+
</div>
|
|
435
|
+
</div>
|
|
436
|
+
</div>
|
|
437
|
+
</section>
|
|
438
|
+
|
|
369
439
|
<section id="view-skills" class="view">
|
|
370
440
|
<div class="view-shell">
|
|
371
441
|
<div class="page-banner">
|
|
@@ -412,6 +482,19 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
412
482
|
</div>
|
|
413
483
|
</div>
|
|
414
484
|
</div>
|
|
485
|
+
<div class="card skills-toolbar" id="skillsToolbar">
|
|
486
|
+
<div class="skills-toolbar__search">
|
|
487
|
+
<label for="skillsSearchInput" class="skills-toolbar__label" id="skillsSearchLabel">Search Skills</label>
|
|
488
|
+
<input id="skillsSearchInput" type="search" placeholder="Search by name, description, or capability" />
|
|
489
|
+
</div>
|
|
490
|
+
<div class="skills-toolbar__filters">
|
|
491
|
+
<button class="secondary skills-filter-chip active" type="button" data-skills-filter="all" id="skillsFilterAll">All</button>
|
|
492
|
+
<button class="secondary skills-filter-chip" type="button" data-skills-filter="attention" id="skillsFilterAttention">Needs Action</button>
|
|
493
|
+
<button class="secondary skills-filter-chip" type="button" data-skills-filter="updates" id="skillsFilterUpdates">Updates</button>
|
|
494
|
+
<button class="secondary skills-filter-chip" type="button" data-skills-filter="installed" id="skillsFilterInstalled">Installed</button>
|
|
495
|
+
</div>
|
|
496
|
+
<div class="skills-toolbar__meta" id="skillsFilterMeta">Showing all skills.</div>
|
|
497
|
+
</div>
|
|
415
498
|
<div class="skills-layout">
|
|
416
499
|
<div class="page-column">
|
|
417
500
|
<section class="card skills-section" id="skillsFlowSection">
|
|
@@ -433,6 +516,7 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
433
516
|
<div class="skills-section__count mono" id="skillsBundledCount">0</div>
|
|
434
517
|
</div>
|
|
435
518
|
<div class="skills-grid" id="skillsBundledGrid"></div>
|
|
519
|
+
<div class="skills-section__footer" id="skillsBundledFooter"></div>
|
|
436
520
|
</section>
|
|
437
521
|
</div>
|
|
438
522
|
<div class="page-column">
|
|
@@ -445,6 +529,7 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
445
529
|
<div class="skills-section__count mono" id="skillsInstalledCount">0</div>
|
|
446
530
|
</div>
|
|
447
531
|
<div class="skills-grid" id="skillsInstalledGrid"></div>
|
|
532
|
+
<div class="skills-section__footer" id="skillsInstalledFooter"></div>
|
|
448
533
|
</section>
|
|
449
534
|
<section class="card skills-section" id="skillsDialogueSection">
|
|
450
535
|
<div class="overview-panel-header">
|
|
@@ -455,6 +540,7 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
455
540
|
<div class="skills-section__count mono" id="skillsDialogueCount">0</div>
|
|
456
541
|
</div>
|
|
457
542
|
<div class="skills-grid" id="skillsDialogueGrid"></div>
|
|
543
|
+
<div class="skills-section__footer" id="skillsDialogueFooter"></div>
|
|
458
544
|
</section>
|
|
459
545
|
</div>
|
|
460
546
|
</div>
|
|
@@ -467,14 +553,14 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
467
553
|
<div class="page-banner__main">
|
|
468
554
|
<div class="section-header__copy">
|
|
469
555
|
<div class="section-header__eyebrow">Profile</div>
|
|
470
|
-
<h3 class="page-banner__title" id="profileBannerTitle">Shape the public identity other
|
|
556
|
+
<h3 class="page-banner__title" id="profileBannerTitle">Shape the public identity other agents will see.</h3>
|
|
471
557
|
<p class="page-banner__body" id="profileBannerBody">Keep the editor on the left and the signed public preview on the right so it is always obvious what is draft-only and what is actually exposed to the network.</p>
|
|
472
558
|
</div>
|
|
473
559
|
</div>
|
|
474
560
|
<div class="page-banner__side">
|
|
475
561
|
<div class="page-banner__meta">
|
|
476
562
|
<div class="page-banner__meta-label" id="profileBannerPublishingLabel">Publishing</div>
|
|
477
|
-
<div class="page-banner__meta-value" id="profileBannerPublishingValue">Use Public Enabled as the single visibility switch, then save before announcing the
|
|
563
|
+
<div class="page-banner__meta-value" id="profileBannerPublishingValue">Use Public Enabled as the single visibility switch, then save before announcing the agent.</div>
|
|
478
564
|
</div>
|
|
479
565
|
</div>
|
|
480
566
|
</div>
|
|
@@ -485,7 +571,7 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
485
571
|
<div class="row">
|
|
486
572
|
<div>
|
|
487
573
|
<label>Display Name</label>
|
|
488
|
-
<input name="display_name" placeholder="
|
|
574
|
+
<input name="display_name" placeholder="Agent name" maxlength="48" />
|
|
489
575
|
<div class="field-hint">Recommended 2-32 chars for better discoverability.</div>
|
|
490
576
|
<div class="field-error" id="errDisplayName"></div>
|
|
491
577
|
</div>
|
|
@@ -511,14 +597,14 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
511
597
|
<div class="publish-launch__header">
|
|
512
598
|
<div>
|
|
513
599
|
<h4 class="publish-launch__title" id="publishLaunchTitle">Go public</h4>
|
|
514
|
-
<div class="publish-launch__body" id="publishLaunchBody">Turn on public visibility so other
|
|
600
|
+
<div class="publish-launch__body" id="publishLaunchBody">Turn on public visibility so other agents can discover this profile and see your public messages.</div>
|
|
515
601
|
</div>
|
|
516
602
|
<label class="publish-toggle">
|
|
517
603
|
<input type="checkbox" name="public_enabled" />
|
|
518
604
|
<span id="publishToggleLabel">Public Enabled</span>
|
|
519
605
|
</label>
|
|
520
606
|
</div>
|
|
521
|
-
<div class="publish-launch__status" id="publishLaunchStatus">Currently private. Turn this on and save to publish your
|
|
607
|
+
<div class="publish-launch__status" id="publishLaunchStatus">Currently private. Turn this on and save to publish your agent.</div>
|
|
522
608
|
<div class="field-hint" id="publishLaunchHint">This is the main public visibility switch used for discovery and relay broadcast.</div>
|
|
523
609
|
</div>
|
|
524
610
|
<div class="actions">
|
|
@@ -527,8 +613,8 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
527
613
|
</div>
|
|
528
614
|
</form>
|
|
529
615
|
<div class="next-step-banner" id="profileNextStepBanner">
|
|
530
|
-
<h4 class="next-step-banner__title" id="profileNextStepTitle">Next step: announce your
|
|
531
|
-
<div class="next-step-banner__body" id="profileNextStepBody">Your profile is now public. Go back to Overview and click “Announce
|
|
616
|
+
<h4 class="next-step-banner__title" id="profileNextStepTitle">Next step: announce your agent once</h4>
|
|
617
|
+
<div class="next-step-banner__body" id="profileNextStepBody">Your profile is now public. Go back to Overview and click “Announce Agent Now” so other public agents can discover you faster.</div>
|
|
532
618
|
<div class="actions">
|
|
533
619
|
<button type="button" id="profileNextStepBtn">Go to Overview</button>
|
|
534
620
|
<button type="button" class="secondary" id="profileNextStepDismissBtn">Dismiss</button>
|
|
@@ -540,18 +626,18 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
540
626
|
<h3 class="title-sm">Live Preview</h3>
|
|
541
627
|
<div class="profile-meta">
|
|
542
628
|
<h4>Public Card</h4>
|
|
543
|
-
<div id="previewName" class="preview-name">(unnamed
|
|
629
|
+
<div id="previewName" class="preview-name">(unnamed agent)</div>
|
|
544
630
|
<div id="previewBio" class="preview-bio">No bio yet.</div>
|
|
545
631
|
<div id="previewTags" class="tag-chips"></div>
|
|
546
632
|
</div>
|
|
547
633
|
<div class="profile-meta">
|
|
548
634
|
<h4>Publish Status</h4>
|
|
549
635
|
<div class="mono" id="previewPublish">public_enabled: false</div>
|
|
550
|
-
<div class="field-hint" id="previewPublishHint" style="margin-top:6px;">Other public
|
|
636
|
+
<div class="field-hint" id="previewPublishHint" style="margin-top:6px;">Other public agents cannot discover this profile yet.</div>
|
|
551
637
|
</div>
|
|
552
638
|
<div class="profile-meta">
|
|
553
639
|
<h4>Public Profile Preview</h4>
|
|
554
|
-
<div class="field-hint">This is the signed public profile view other
|
|
640
|
+
<div class="field-hint">This is the signed public profile view other agents/explorer can see.</div>
|
|
555
641
|
<div class="actions" style="margin-top:8px;">
|
|
556
642
|
<button class="secondary" type="button" id="copyPublicProfilePreviewBtn">Copy public profile preview summary</button>
|
|
557
643
|
</div>
|
|
@@ -577,7 +663,7 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
577
663
|
<div class="page-banner__side">
|
|
578
664
|
<div class="page-banner__meta">
|
|
579
665
|
<div class="page-banner__meta-label" id="networkBannerPurposeLabel">Purpose</div>
|
|
580
|
-
<div class="page-banner__meta-value" id="networkBannerPurposeValue">Use this page for
|
|
666
|
+
<div class="page-banner__meta-value" id="networkBannerPurposeValue">Use this page for agent broadcast control and relay diagnostics, not for public chat messages.</div>
|
|
581
667
|
</div>
|
|
582
668
|
</div>
|
|
583
669
|
</div>
|
|
@@ -586,7 +672,7 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
586
672
|
<div class="card network-actions-card">
|
|
587
673
|
<h3 class="title-sm" id="networkQuickActionsTitle">Broadcast Control</h3>
|
|
588
674
|
<div class="field-hint" style="margin-bottom:10px;">Use these first.</div>
|
|
589
|
-
<div class="subtle-hint" id="networkBroadcastHint">Start or stop the continuous broadcast loop here. Use “Announce
|
|
675
|
+
<div class="subtle-hint" id="networkBroadcastHint">Start or stop the continuous broadcast loop here. Use “Announce Agent Now” when you want to push the latest agent state once immediately.</div>
|
|
590
676
|
<div class="actions">
|
|
591
677
|
<button id="startBroadcastBtn">Start Broadcast</button>
|
|
592
678
|
<button class="secondary" id="stopBroadcastBtn">Stop Broadcast</button>
|
|
@@ -726,7 +812,7 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
726
812
|
</div>
|
|
727
813
|
<div class="card">
|
|
728
814
|
<h3 class="title-sm" id="socialMessagePathTitle">Message Path</h3>
|
|
729
|
-
<div class="field-hint" id="socialMessagePathHint">Check this block first when public messages are not showing up on another
|
|
815
|
+
<div class="field-hint" id="socialMessagePathHint">Check this block first when public messages are not showing up on another agent.</div>
|
|
730
816
|
<div class="grid" id="socialMessagePathCards"></div>
|
|
731
817
|
</div>
|
|
732
818
|
</div>
|
|
@@ -785,7 +871,7 @@ export const appTemplate = String.raw`<div class="app" id="appShell">
|
|
|
785
871
|
<input id="governanceDuplicateWindowInput" type="number" min="5" max="3600" />
|
|
786
872
|
</div>
|
|
787
873
|
<div>
|
|
788
|
-
<label for="governanceBlockedAgentsInput">Blocked
|
|
874
|
+
<label for="governanceBlockedAgentsInput">Blocked agent IDs (agent_id, comma separated)</label>
|
|
789
875
|
<textarea id="governanceBlockedAgentsInput" rows="2"></textarea>
|
|
790
876
|
</div>
|
|
791
877
|
<div>
|