mover-os 4.7.7 → 4.7.9
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/README.md +34 -24
- package/install.js +2868 -251
- package/package.json +15 -3
- package/src/dashboard/build.js +1541 -0
- package/src/dashboard/dashboard.js +276 -0
- package/src/dashboard/index.js +319 -0
- package/src/dashboard/lib/activation-log.js +297 -0
- package/src/dashboard/lib/active-context-parser.js +189 -0
- package/src/dashboard/lib/agent-command.js +93 -0
- package/src/dashboard/lib/agent-detect.js +255 -0
- package/src/dashboard/lib/agent-detector.js +92 -0
- package/src/dashboard/lib/agent-session.js +483 -0
- package/src/dashboard/lib/anti-identity-detector.js +116 -0
- package/src/dashboard/lib/approval-registry.js +170 -0
- package/src/dashboard/lib/auto-learnings-parser.js +183 -0
- package/src/dashboard/lib/cli-usage-parser.js +92 -0
- package/src/dashboard/lib/config-parser.js +109 -0
- package/src/dashboard/lib/connect-recommender.js +131 -0
- package/src/dashboard/lib/correlations-parser.js +231 -0
- package/src/dashboard/lib/daily-note-resolver.js +228 -0
- package/src/dashboard/lib/date-utils.js +43 -0
- package/src/dashboard/lib/distribution-parser.js +137 -0
- package/src/dashboard/lib/dossier-parser.js +64 -0
- package/src/dashboard/lib/drift-history.js +88 -0
- package/src/dashboard/lib/drift-score.js +119 -0
- package/src/dashboard/lib/engine-default-fingerprints.json +53 -0
- package/src/dashboard/lib/engine-health.js +173 -0
- package/src/dashboard/lib/engine-writer.js +1831 -0
- package/src/dashboard/lib/execution-plan.js +125 -0
- package/src/dashboard/lib/experiments-parser.js +429 -0
- package/src/dashboard/lib/feed-parser.js +294 -0
- package/src/dashboard/lib/forked-future.js +60 -0
- package/src/dashboard/lib/goal-forecast.js +427 -0
- package/src/dashboard/lib/goals-parser.js +67 -0
- package/src/dashboard/lib/health-protocols-parser.js +133 -0
- package/src/dashboard/lib/hook-activity.js +48 -0
- package/src/dashboard/lib/hook-indexer.js +169 -0
- package/src/dashboard/lib/hourly-activity-parser.js +143 -0
- package/src/dashboard/lib/identity-parser.js +85 -0
- package/src/dashboard/lib/ingestion.js +418 -0
- package/src/dashboard/lib/library-indexer-v2.js +226 -0
- package/src/dashboard/lib/library-indexer.js +105 -0
- package/src/dashboard/lib/library-search.js +290 -0
- package/src/dashboard/lib/log-activation.sh +61 -0
- package/src/dashboard/lib/memory-curator.js +97 -0
- package/src/dashboard/lib/memory-gardener.js +177 -0
- package/src/dashboard/lib/memory-gepa.js +102 -0
- package/src/dashboard/lib/memory-index.js +519 -0
- package/src/dashboard/lib/memory-rerank.js +72 -0
- package/src/dashboard/lib/memory-text.js +136 -0
- package/src/dashboard/lib/metrics-log-parser.js +76 -0
- package/src/dashboard/lib/moves-usage-parser.js +184 -0
- package/src/dashboard/lib/onboarding-forge.js +70 -0
- package/src/dashboard/lib/override-outcome-parser.js +68 -0
- package/src/dashboard/lib/override-summary.js +73 -0
- package/src/dashboard/lib/paths.js +192 -0
- package/src/dashboard/lib/pattern-manifest-loader.js +29 -0
- package/src/dashboard/lib/phantom-strategy.js +129 -0
- package/src/dashboard/lib/pid-markers.js +80 -0
- package/src/dashboard/lib/project-scanner.js +121 -0
- package/src/dashboard/lib/promise-wall.js +88 -0
- package/src/dashboard/lib/record-score.js +173 -0
- package/src/dashboard/lib/redaction.js +140 -0
- package/src/dashboard/lib/refusal-parser.js +44 -0
- package/src/dashboard/lib/regenerate-manifest.js +206 -0
- package/src/dashboard/lib/rewind-snapshots.js +689 -0
- package/src/dashboard/lib/roast-wall-parser.js +200 -0
- package/src/dashboard/lib/run-registry.js +286 -0
- package/src/dashboard/lib/safe-write.js +63 -0
- package/src/dashboard/lib/session-log-parser.js +145 -0
- package/src/dashboard/lib/session-time-parser.js +158 -0
- package/src/dashboard/lib/skill-index.js +171 -0
- package/src/dashboard/lib/skill-indexer.js +118 -0
- package/src/dashboard/lib/skill-recommender.js +689 -0
- package/src/dashboard/lib/state-core/backfill.js +298 -0
- package/src/dashboard/lib/state-core/dryrun.js +188 -0
- package/src/dashboard/lib/state-core/event-log.js +615 -0
- package/src/dashboard/lib/state-core/events.js +265 -0
- package/src/dashboard/lib/state-core/projections.js +376 -0
- package/src/dashboard/lib/state-core/start-close.js +162 -0
- package/src/dashboard/lib/state-core/trial.js +96 -0
- package/src/dashboard/lib/strategy-parser.js +248 -0
- package/src/dashboard/lib/strategy-protocol-parser.js +135 -0
- package/src/dashboard/lib/streak-parser.js +95 -0
- package/src/dashboard/lib/suggested-now.js +254 -0
- package/src/dashboard/lib/tool-awareness.js +125 -0
- package/src/dashboard/lib/transcript-parser.js +371 -0
- package/src/dashboard/lib/vault-graph-parser.js +205 -0
- package/src/dashboard/lib/view-generator.js +163 -0
- package/src/dashboard/lib/voice-dna-parser.js +57 -0
- package/src/dashboard/lib/walkthrough-script.js +140 -0
- package/src/dashboard/lib/workflow-graph-parser.js +170 -0
- package/src/dashboard/lib/workflow-library-parser.js +146 -0
- package/src/dashboard/server.js +2402 -0
- package/src/dashboard/shortcut.js +284 -0
- package/src/dashboard/static/setup-poc.html +306 -0
- package/src/dashboard/static/walkthrough-poc.html +580 -0
- package/src/dashboard/styles.css +1201 -0
- package/src/dashboard/templates/index.html +278 -0
- package/src/dashboard/ui/dist/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2 +0 -0
- package/src/dashboard/ui/dist/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2 +0 -0
- package/src/dashboard/ui/dist/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2 +0 -0
- package/src/dashboard/ui/dist/assets/hero.png +0 -0
- package/src/dashboard/ui/dist/assets/index-ByVKPvLf.js +34 -0
- package/src/dashboard/ui/dist/assets/index-CCoKjUcC.js +161 -0
- package/src/dashboard/ui/dist/assets/index-CZWNQDt5.css +1 -0
- package/src/dashboard/ui/dist/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2 +0 -0
- package/src/dashboard/ui/dist/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2 +0 -0
- package/src/dashboard/ui/dist/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
- package/src/dashboard/ui/dist/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
- package/src/dashboard/ui/dist/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2 +0 -0
- package/src/dashboard/ui/dist/assets/mover-system.css +62 -0
- package/src/dashboard/ui/dist/assets/xterm-CqkleIqs.js +1 -0
- package/src/dashboard/ui/dist/icon.svg +4 -0
- package/src/dashboard/ui/dist/index.html +18 -0
- package/src/dashboard/ui/dist/manifest.webmanifest +1 -0
- package/src/dashboard/ui/dist/registerSW.js +1 -0
- package/src/dashboard/ui/dist/sw.js +1 -0
- package/src/dashboard/ui/dist/workbox-39fa566e.js +1 -0
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
6
|
+
<meta name="robots" content="noindex,nofollow">
|
|
7
|
+
<title>Mover Studio</title>
|
|
8
|
+
<link rel="stylesheet" href="/styles.css">
|
|
9
|
+
</head>
|
|
10
|
+
<body>
|
|
11
|
+
<div class="studio-frame">
|
|
12
|
+
<header class="studio-topbar" aria-label="Mover Studio status">
|
|
13
|
+
<div class="brand-lockup">
|
|
14
|
+
<span class="brand-mark" aria-hidden="true">M</span>
|
|
15
|
+
<span class="brand-name mono">mover<span>/</span>studio</span>
|
|
16
|
+
<span class="brand-version mono">v{{version}}</span>
|
|
17
|
+
</div>
|
|
18
|
+
|
|
19
|
+
<div class="top-status mono">
|
|
20
|
+
<span class="status-cluster"><span class="dot dot-live"></span><span class="muted">VAULT</span><strong>{{vault_short}}</strong></span>
|
|
21
|
+
<span class="status-sep">·</span>
|
|
22
|
+
<span class="status-cluster"><span class="muted">FRICTION</span><strong>{{header_friction}}</strong></span>
|
|
23
|
+
<span class="status-sep">·</span>
|
|
24
|
+
<span class="status-cluster"><span class="muted">ENGINE</span><strong>{{header_engine_health}}</strong></span>
|
|
25
|
+
<span class="test-pill"><span>TEST</span> · T-{{header_days_to_test}}D</span>
|
|
26
|
+
<button class="icon-button" id="refresh-btn" title="Refresh dashboard" aria-label="Refresh dashboard">↻</button>
|
|
27
|
+
</div>
|
|
28
|
+
</header>
|
|
29
|
+
|
|
30
|
+
<div class="studio-shell">
|
|
31
|
+
<aside class="studio-sidebar" aria-label="Studio modes">
|
|
32
|
+
<nav class="nav-group" aria-label="Studio">
|
|
33
|
+
<div class="nav-label mono">Studio</div>
|
|
34
|
+
<button class="nav-item active" data-mode-target="briefing"><span>◐</span><strong>Briefing</strong><em>1</em></button>
|
|
35
|
+
<button class="nav-item" data-mode-target="learned"><span>◇</span><strong>Learned</strong><em>{{patterns_stat_count}}</em></button>
|
|
36
|
+
<button class="nav-item" data-mode-target="workflows"><span>◫</span><strong>Workflows</strong><em>3</em></button>
|
|
37
|
+
<button class="nav-item" data-mode-target="agents"><span>▣</span><strong>Agents</strong><em>4</em></button>
|
|
38
|
+
</nav>
|
|
39
|
+
|
|
40
|
+
<nav class="nav-group nav-vault" aria-label="Vault files">
|
|
41
|
+
<div class="nav-label mono">Vault · {{vault_short}}</div>
|
|
42
|
+
<a class="file-link mono" href="#receipt-1">Strategy.md</a>
|
|
43
|
+
<a class="file-link mono" href="#receipt-2">Active_Context.md</a>
|
|
44
|
+
<a class="file-link mono" href="#receipt-3">Auto_Learnings.md</a>
|
|
45
|
+
<a class="file-link mono" href="#learned">Sessions</a>
|
|
46
|
+
</nav>
|
|
47
|
+
|
|
48
|
+
<nav class="nav-group" aria-label="System">
|
|
49
|
+
<div class="nav-label mono">System</div>
|
|
50
|
+
<button class="nav-item" data-mode-target="connections"><span>○</span><strong>Connections</strong></button>
|
|
51
|
+
<button class="nav-item" data-mode-target="settings"><span>○</span><strong>Settings</strong></button>
|
|
52
|
+
</nav>
|
|
53
|
+
</aside>
|
|
54
|
+
|
|
55
|
+
<main class="studio-main" id="studio-main">
|
|
56
|
+
<section class="mode-panel active" data-mode-panel="briefing" aria-labelledby="briefing-title">
|
|
57
|
+
<div class="briefing-wrap">
|
|
58
|
+
<div class="briefing-hero">
|
|
59
|
+
<div class="verdict-block">
|
|
60
|
+
<div class="dateline mono" id="topbar-date">
|
|
61
|
+
<span class="data-box"><span class="dot dot-live"></span> Drift detected</span>
|
|
62
|
+
<span>{{header_date}} · {{header_time}}</span>
|
|
63
|
+
<span>·</span>
|
|
64
|
+
<span>14 signals</span>
|
|
65
|
+
</div>
|
|
66
|
+
|
|
67
|
+
<h1 id="briefing-title">{{studio_verdict_title}}</h1>
|
|
68
|
+
<p class="verdict-subline">{{studio_verdict_subline}}</p>
|
|
69
|
+
|
|
70
|
+
<div class="action-row">
|
|
71
|
+
<button class="btn btn-primary" data-open-workflow="/plan-distribution-day">▶ Plan Distribution Day <span class="shortcut">⌘↵</span></button>
|
|
72
|
+
<button class="btn btn-secondary">Snooze 24h</button>
|
|
73
|
+
<button class="btn btn-secondary">Override <span class="muted">reason required</span></button>
|
|
74
|
+
</div>
|
|
75
|
+
</div>
|
|
76
|
+
|
|
77
|
+
<section class="proof-card" aria-label="Behavior proof graph">
|
|
78
|
+
<div class="proof-head mono">
|
|
79
|
+
<span>Proof graph</span>
|
|
80
|
+
<span>live from vault</span>
|
|
81
|
+
</div>
|
|
82
|
+
<div class="proof-chain">
|
|
83
|
+
<div class="proof-node hot"><strong>6</strong><span>off-plan sessions</span></div>
|
|
84
|
+
<div class="proof-edge"></div>
|
|
85
|
+
<div class="proof-node"><strong>2</strong><span>zombie tasks</span></div>
|
|
86
|
+
<div class="proof-edge"></div>
|
|
87
|
+
<div class="proof-node warn"><strong>T-{{header_days_to_test}}</strong><span>days to test</span></div>
|
|
88
|
+
</div>
|
|
89
|
+
<div class="proof-chart">
|
|
90
|
+
<div class="chart-row"><span>ship</span><i style="--w:22%"></i><em>0.22</em></div>
|
|
91
|
+
<div class="chart-row"><span>polish</span><i style="--w:88%"></i><em>4.0x</em></div>
|
|
92
|
+
<div class="chart-row"><span>receipts</span><i style="--w:68%"></i><em>14</em></div>
|
|
93
|
+
</div>
|
|
94
|
+
<svg class="proof-spark" viewBox="0 0 260 72" aria-hidden="true">
|
|
95
|
+
<path class="spark-grid" d="M0 18H260M0 36H260M0 54H260"></path>
|
|
96
|
+
<path class="spark-ship" d="M4 18L42 22L80 35L118 40L156 45L194 49L236 52"></path>
|
|
97
|
+
<path class="spark-polish" d="M4 57L42 48L80 31L118 24L156 20L194 18L236 14"></path>
|
|
98
|
+
</svg>
|
|
99
|
+
<div class="proof-caption mono">Your AI compares what you said to what you did.</div>
|
|
100
|
+
</section>
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
103
|
+
|
|
104
|
+
<section class="evidence-section" aria-labelledby="evidence-title">
|
|
105
|
+
<div class="section-head">
|
|
106
|
+
<h2 id="evidence-title" class="mono">Evidence</h2>
|
|
107
|
+
<span class="mono">3 receipts · click to source</span>
|
|
108
|
+
</div>
|
|
109
|
+
|
|
110
|
+
<ol class="receipt-list">
|
|
111
|
+
<li class="receipt-row" id="receipt-1">
|
|
112
|
+
<span class="receipt-num mono">[1]</span>
|
|
113
|
+
<div>
|
|
114
|
+
<blockquote>“Ship one distribution artifact before more polish.”</blockquote>
|
|
115
|
+
<p class="mono">Strategy.md <span>::</span> strategy you wrote</p>
|
|
116
|
+
</div>
|
|
117
|
+
<button class="receipt-open mono">Open ↗</button>
|
|
118
|
+
</li>
|
|
119
|
+
<li class="receipt-row" id="receipt-2">
|
|
120
|
+
<span class="receipt-num mono">[2]</span>
|
|
121
|
+
<div>
|
|
122
|
+
<blockquote>“One blocker is gating four downstream features.”</blockquote>
|
|
123
|
+
<p class="mono">Active_Context.md <span>::</span> current blockers</p>
|
|
124
|
+
</div>
|
|
125
|
+
<button class="receipt-open mono">Open ↗</button>
|
|
126
|
+
</li>
|
|
127
|
+
<li class="receipt-row" id="receipt-3">
|
|
128
|
+
<span class="receipt-num mono">[3]</span>
|
|
129
|
+
<div>
|
|
130
|
+
<blockquote>“You reorganize files when avoiding the hard task.”</blockquote>
|
|
131
|
+
<p class="mono">Auto_Learnings.md <span>::</span> behavioural pattern</p>
|
|
132
|
+
</div>
|
|
133
|
+
<button class="receipt-open mono">Open ↗</button>
|
|
134
|
+
</li>
|
|
135
|
+
</ol>
|
|
136
|
+
</section>
|
|
137
|
+
|
|
138
|
+
<section class="workflow-section" aria-labelledby="workflow-title">
|
|
139
|
+
<div class="section-head">
|
|
140
|
+
<h2 id="workflow-title" class="mono">Workflows · pinned for today</h2>
|
|
141
|
+
<span class="mono">3 of 41</span>
|
|
142
|
+
</div>
|
|
143
|
+
<div class="workflow-teaser">
|
|
144
|
+
{{suggested_now_cards}}
|
|
145
|
+
</div>
|
|
146
|
+
</section>
|
|
147
|
+
</div>
|
|
148
|
+
</section>
|
|
149
|
+
|
|
150
|
+
<section class="mode-panel" data-mode-panel="learned" id="learned" aria-labelledby="learned-title">
|
|
151
|
+
<div class="learned-wrap">
|
|
152
|
+
<div class="masthead mono">
|
|
153
|
+
<span>VOL. 1 · ISSUE 1</span>
|
|
154
|
+
<span>{{header_date}}</span>
|
|
155
|
+
<span>private · operator only</span>
|
|
156
|
+
</div>
|
|
157
|
+
<h1 id="learned-title">The pattern your week kept repeating.</h1>
|
|
158
|
+
<p class="editorial-copy">Across the past seven days, the system surfaces the recurring shape in how you worked — where the time went, and where it didn't. The work is real; the sequence is what to watch.</p>
|
|
159
|
+
<div class="pullquote">“The work isn't the problem. The sequence is.”</div>
|
|
160
|
+
<div class="patterns-list editorial-patterns">
|
|
161
|
+
{{patterns_list}}
|
|
162
|
+
</div>
|
|
163
|
+
</div>
|
|
164
|
+
</section>
|
|
165
|
+
|
|
166
|
+
<section class="mode-panel" data-mode-panel="workflows" aria-labelledby="workflows-title">
|
|
167
|
+
<div class="placeholder-mode">
|
|
168
|
+
<p class="mode-kicker mono">Workflows</p>
|
|
169
|
+
<h1 id="workflows-title">Run the operating system from the browser.</h1>
|
|
170
|
+
<p>Every slash command becomes a visible workflow with why it exists, what it reads, what it writes, and a run button. The CLI remains a bootstrap, not the daily interface.</p>
|
|
171
|
+
<div class="workflow-teaser workflow-full">{{suggested_now_cards}}</div>
|
|
172
|
+
</div>
|
|
173
|
+
</section>
|
|
174
|
+
|
|
175
|
+
<section class="mode-panel" data-mode-panel="agents" aria-labelledby="agents-title">
|
|
176
|
+
<div class="placeholder-mode">
|
|
177
|
+
<p class="mode-kicker mono">Agents</p>
|
|
178
|
+
<h1 id="agents-title">Claude Code, Codex, Cursor, Gemini. One behavioral layer.</h1>
|
|
179
|
+
<p>{{agents_summary}}</p>
|
|
180
|
+
<div class="agents-grid">{{agents_grid}}</div>
|
|
181
|
+
<div class="hook-stats">{{hook_stats}}</div>
|
|
182
|
+
</div>
|
|
183
|
+
</section>
|
|
184
|
+
|
|
185
|
+
<section class="mode-panel" data-mode-panel="connections" aria-labelledby="connections-title">
|
|
186
|
+
<div class="placeholder-mode">
|
|
187
|
+
<p class="mode-kicker mono">Connections</p>
|
|
188
|
+
<h1 id="connections-title">Local first. Add integrations only when they earn the surface.</h1>
|
|
189
|
+
<div class="privacy-stack large">
|
|
190
|
+
<div><span class="dot dot-live"></span><strong>Vault</strong><em>{{vault_short}} · local</em></div>
|
|
191
|
+
<div><span></span><strong>Screen capture</strong><em>off</em></div>
|
|
192
|
+
<div><span></span><strong>Audio capture</strong><em>off</em></div>
|
|
193
|
+
<div><span></span><strong>Telemetry</strong><em>never</em></div>
|
|
194
|
+
</div>
|
|
195
|
+
</div>
|
|
196
|
+
</section>
|
|
197
|
+
|
|
198
|
+
<section class="mode-panel" data-mode-panel="settings" aria-labelledby="settings-title">
|
|
199
|
+
<div class="placeholder-mode">
|
|
200
|
+
<p class="mode-kicker mono">Settings</p>
|
|
201
|
+
<h1 id="settings-title">Configuration belongs here, not in a terminal wall.</h1>
|
|
202
|
+
<div class="settings-grid">
|
|
203
|
+
<label>Friction level <input type="range" min="0" max="3" value="3"></label>
|
|
204
|
+
<label>Review day <select><option>Sunday</option><option>Friday</option></select></label>
|
|
205
|
+
<label>Sleep target <input type="number" value="7" min="4" max="10"> hours</label>
|
|
206
|
+
<label>Backup retention <input type="number" value="30" min="7" max="365"> days</label>
|
|
207
|
+
</div>
|
|
208
|
+
</div>
|
|
209
|
+
</section>
|
|
210
|
+
</main>
|
|
211
|
+
|
|
212
|
+
<aside class="studio-rail" aria-label="Briefing context">
|
|
213
|
+
<section class="rail-module command-module">
|
|
214
|
+
<div class="rail-head mono"><span>Ask Mover</span><span>⌘K</span></div>
|
|
215
|
+
<button class="command-box mono" data-command-trigger><span>›</span> Ask Mover...</button>
|
|
216
|
+
</section>
|
|
217
|
+
|
|
218
|
+
<section class="rail-module protocol-module">
|
|
219
|
+
<div class="rail-head mono"><span>Protocol · execution capacity</span><span>local</span></div>
|
|
220
|
+
{{health_protocols_block}}
|
|
221
|
+
</section>
|
|
222
|
+
|
|
223
|
+
<section class="rail-module">
|
|
224
|
+
<div class="rail-head mono"><span>This week</span><span>in 7d</span></div>
|
|
225
|
+
<div class="metric-stack">
|
|
226
|
+
<div class="metric-row"><strong>4 <span>/ 10</span></strong><em>toward your weekly target</em></div>
|
|
227
|
+
<div class="bar-10" aria-label="4 of 10"><span style="width:40%"></span></div>
|
|
228
|
+
<div class="metric-row"><strong>6</strong><em>off-plan sessions</em></div>
|
|
229
|
+
<svg class="sparkline" viewBox="0 0 160 36" aria-hidden="true"><path d="M2 7 L24 12 L46 8 L68 16 L90 20 L112 24 L136 26 L158 27"/></svg>
|
|
230
|
+
<div class="metric-row"><strong>0.22</strong><em>ship/polish ratio · target ≥ 1.0</em></div>
|
|
231
|
+
</div>
|
|
232
|
+
</section>
|
|
233
|
+
|
|
234
|
+
<section class="rail-module">
|
|
235
|
+
<div class="rail-head mono"><span>Agents</span><span>live</span></div>
|
|
236
|
+
<div class="agents-grid rail-agents">{{agents_grid}}</div>
|
|
237
|
+
</section>
|
|
238
|
+
|
|
239
|
+
<section class="rail-module privacy-module">
|
|
240
|
+
<div class="rail-head mono accent"><span>Local data</span><span>privacy</span></div>
|
|
241
|
+
<div class="privacy-stack">
|
|
242
|
+
<div><span class="dot dot-live"></span><strong>Vault</strong><em>{{vault_short}}</em></div>
|
|
243
|
+
<div><span></span><strong>Screen capture</strong><em>off</em></div>
|
|
244
|
+
<div><span></span><strong>Audio capture</strong><em>off</em></div>
|
|
245
|
+
<div><span></span><strong>Telemetry</strong><em>never</em></div>
|
|
246
|
+
</div>
|
|
247
|
+
</section>
|
|
248
|
+
</aside>
|
|
249
|
+
</div>
|
|
250
|
+
|
|
251
|
+
<nav class="mobile-tabs" aria-label="Studio mobile modes">
|
|
252
|
+
<button class="active" data-mode-target="briefing">Briefing</button>
|
|
253
|
+
<button data-mode-target="learned">Learned</button>
|
|
254
|
+
<button data-mode-target="workflows">Flows</button>
|
|
255
|
+
<button data-mode-target="agents">Agents</button>
|
|
256
|
+
</nav>
|
|
257
|
+
|
|
258
|
+
<footer class="studio-bottombar mono">
|
|
259
|
+
<span><span class="dot dot-live"></span> {{vault_short}} · local</span>
|
|
260
|
+
<span>4 agents · 0 errors</span>
|
|
261
|
+
<span>build {{build_time}}</span>
|
|
262
|
+
<span class="bottom-right">⌘K to query · ⌘↵ to run</span>
|
|
263
|
+
</footer>
|
|
264
|
+
</div>
|
|
265
|
+
|
|
266
|
+
<div id="modal" class="modal-backdrop hidden">
|
|
267
|
+
<div class="modal">
|
|
268
|
+
<div class="modal-header">
|
|
269
|
+
<span id="modal-title">Run workflow</span>
|
|
270
|
+
<button class="modal-close" id="modal-close" aria-label="Close">×</button>
|
|
271
|
+
</div>
|
|
272
|
+
<div class="modal-body" id="modal-body"></div>
|
|
273
|
+
</div>
|
|
274
|
+
</div>
|
|
275
|
+
|
|
276
|
+
<script src="/dashboard.js"></script>
|
|
277
|
+
</body>
|
|
278
|
+
</html>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|