koneck 2.60.0 → 2.62.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/web/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AASH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAuB/C,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAGrC,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA6BD,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,wBAAsB,QAAQ,CAC5B,YAAY,EAAE,WAAW,EAAE,OAAO,GAAE,UAAe,GAClD,OAAO,CAAC,SAAS,CAAC,CA8sCpB"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/web/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AASH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAuB/C,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAGrC,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA6BD,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,wBAAsB,QAAQ,CAC5B,YAAY,EAAE,WAAW,EAAE,OAAO,GAAE,UAAe,GAClD,OAAO,CAAC,SAAS,CAAC,CAo0CpB"}
package/dist/web/api.js CHANGED
@@ -27,7 +27,7 @@ import { listPast, readPast } from './history.js';
27
27
  import { summarise as summariseTrajectory } from '../trajectory.js';
28
28
  import { listDir, viewFile } from './files.js';
29
29
  import { searchSessions, searchAllWorkspaces } from './search.js';
30
- import { trustedWorkspaces, isWorkspaceTrusted } from '../workspace-trust.js';
30
+ import { trustedWorkspaces, isWorkspaceTrusted, trustWorkspace } from '../workspace-trust.js';
31
31
  import { MODES } from '../permissions.js';
32
32
  import { checkpoints, makeCheckpoint, checkpointPreview, restoreCheckpoint, gate, health, settings, writeSetting, projectContext, writeInstructions, runWebRefactor, REFACTOR_SHAPES, mcpServers } from './capabilities.js';
33
33
  export const DEFAULT_WEB_PORT = 4300;
@@ -138,7 +138,25 @@ export async function startWeb(baseConfigIn, options = {}) {
138
138
  return json(res, 200, {
139
139
  cwd: workspace,
140
140
  launchedIn: baseConfig.cwd,
141
- workspaces: choices.map(dir => ({ path: dir, name: path.basename(dir) || dir })),
141
+ /*
142
+ * What is waiting in each project, not only its name.
143
+ *
144
+ * Every workspace keeps its own sessions — the transcripts live beside the code — so
145
+ * switching back to a project brings its history with it. That was already true and
146
+ * invisible: the picker listed paths, so there was no way to tell which project had work
147
+ * in it without switching and looking. The count and the last time worked in answer the
148
+ * question the picker is actually opened to answer.
149
+ */
150
+ workspaces: await Promise.all(choices.map(async (dir) => {
151
+ const past = await listPast(dir, 200).catch(() => []);
152
+ const latest = past.reduce((newest, p) => Math.max(newest, p.lastAt ?? 0), 0);
153
+ return {
154
+ path: dir,
155
+ name: path.basename(dir) || dir,
156
+ sessions: past.length,
157
+ ...(latest > 0 ? { lastAt: latest } : {}),
158
+ };
159
+ })),
142
160
  providers: Object.values(PROVIDERS).map(p => ({
143
161
  name: p.name, label: p.displayName, defaultModel: p.defaultModel,
144
162
  keyless: needsNoCredential(p),
@@ -151,6 +169,89 @@ export async function startWeb(baseConfigIn, options = {}) {
151
169
  }
152
170
  // Switching workspace. Only to somewhere already trusted, and it says so when refused rather
153
171
  // than failing quietly — being told to grant trust at a terminal is actionable.
172
+ /*
173
+ * Somewhere to look for a project, rather than a list of the ones already known.
174
+ *
175
+ * The picker offered only workspaces already trusted at a terminal, so opening a new project
176
+ * meant leaving the browser, running koneck there, answering a prompt, and coming back. For a
177
+ * tool whose whole point is that you can work from either surface, that is the wrong shape.
178
+ *
179
+ * Directories only, and only their names: this lists where you might work, not what is in it.
180
+ * A directory with a .git or a package.json is marked, because that is what somebody scanning
181
+ * a list of folders is looking for.
182
+ */
183
+ /*
184
+ * Carrying a session to the terminal.
185
+ *
186
+ * Both surfaces already write the same session files — the browser saves a transcript the CLI
187
+ * can resume, and has since the day it was written. What was missing was anybody saying so:
188
+ * to continue in a terminal you had to know that `--resume` existed, know the id, and know it
189
+ * has to be run in the project's own directory.
190
+ *
191
+ * The session is flushed first. Resuming reads what is on disk, so handing over without
192
+ * writing the last turn would hand over a conversation missing its most recent exchange —
193
+ * which is the exchange you are most likely to be in the middle of.
194
+ */
195
+ if (route === '/api/handoff' && req.method === 'POST') {
196
+ if (!mayAct)
197
+ return json(res, 401, { error: 'token required' });
198
+ const body = await readBody(req);
199
+ const session = registry.get(body.session ?? '');
200
+ if (!session)
201
+ return json(res, 404, { error: 'no such session' });
202
+ await session.persist().catch(() => undefined);
203
+ const info = session.info();
204
+ const id = session.fileId;
205
+ const sameDir = path.resolve(info.cwd) === path.resolve(process.cwd());
206
+ return json(res, 200, {
207
+ id,
208
+ cwd: info.cwd,
209
+ // Runnable as it stands, from wherever the reader happens to be.
210
+ command: sameDir ? `koneck --resume ${id}` : `cd ${info.cwd} && koneck --resume ${id}`,
211
+ turns: info.turns,
212
+ model: info.model,
213
+ provider: info.provider,
214
+ });
215
+ }
216
+ if (route === '/api/browse' && req.method === 'GET') {
217
+ if (!mayRead)
218
+ return json(res, 401, { error: 'token required' });
219
+ const asked = url.searchParams.get('path') ?? '';
220
+ const where = asked.trim() === ''
221
+ ? os.homedir()
222
+ : path.resolve(asked.replace(/^~(?=\/|$)/, os.homedir()));
223
+ const { readdir, stat: statOf } = await import('fs/promises');
224
+ let entries;
225
+ try {
226
+ entries = await readdir(where, { withFileTypes: true });
227
+ }
228
+ catch (err) {
229
+ return json(res, 400, { error: `cannot read ${where}` });
230
+ }
231
+ const dirs = [];
232
+ for (const entry of entries) {
233
+ if (!entry.isDirectory())
234
+ continue;
235
+ // Dot directories are noise in a project picker, and node_modules is worse than noise.
236
+ if (entry.name.startsWith('.') || entry.name === 'node_modules')
237
+ continue;
238
+ const full = path.join(where, entry.name);
239
+ const marks = await Promise.all([
240
+ statOf(path.join(full, '.git')).then(() => true, () => false),
241
+ statOf(path.join(full, 'package.json')).then(() => true, () => false),
242
+ ]);
243
+ dirs.push({ name: entry.name, path: full, repo: marks[0], project: marks[0] || marks[1] });
244
+ if (dirs.length >= 400)
245
+ break;
246
+ }
247
+ dirs.sort((a, b) => (b.project ? 1 : 0) - (a.project ? 1 : 0) || a.name.localeCompare(b.name));
248
+ return json(res, 200, {
249
+ path: where,
250
+ parent: path.dirname(where) === where ? null : path.dirname(where),
251
+ home: os.homedir(),
252
+ entries: dirs,
253
+ });
254
+ }
154
255
  if (route === '/api/workspace' && req.method === 'POST') {
155
256
  if (!mayAct)
156
257
  return json(res, 401, { error: 'token required' });
@@ -158,14 +259,36 @@ export async function startWeb(baseConfigIn, options = {}) {
158
259
  const wanted = path.resolve(body.cwd ?? '');
159
260
  if (!wanted)
160
261
  return json(res, 400, { error: 'no workspace given' });
161
- const allowed = wanted === path.resolve(baseConfig.cwd)
262
+ /*
263
+ * A folder opened from here is trusted from here, and said out loud.
264
+ *
265
+ * This used to refuse anything not already trusted at a terminal, and I defended that
266
+ * boundary. Then I looked at what it was actually buying: the same token that reaches this
267
+ * route reaches /api/send, which runs an agent that executes arbitrary commands — so
268
+ * whoever could switch the workspace could already `cd` anywhere and do more damage with a
269
+ * shell than with a directory change. The rule was inconsistent rather than protective, and
270
+ * its whole cost fell on the person using their own machine.
271
+ *
272
+ * What is kept is what was doing the work: loopback only, the acting token, and a line in
273
+ * the terminal naming the directory — so a switch is never silent, and a machine listening
274
+ * on a network address still refuses.
275
+ */
276
+ const { stat: statDir } = await import('fs/promises');
277
+ const usable = await statDir(wanted).then(found => found.isDirectory(), () => false);
278
+ if (!usable)
279
+ return json(res, 400, { error: `${wanted} is not a directory` });
280
+ if (!isLocal) {
281
+ return json(res, 403, { error: 'This server is listening on a network address, so it will not open a directory '
282
+ + 'through it. Switch workspace at a terminal.' });
283
+ }
284
+ const wasKnown = wanted === path.resolve(baseConfig.cwd)
162
285
  || await isWorkspaceTrusted(wanted).catch(() => false);
163
- if (!allowed) {
164
- return json(res, 403, { error: `${wanted} has not been trusted. Run \`koneck\` there once and allow it — ` +
165
- `trust is granted at a terminal, on purpose.` });
286
+ if (!wasKnown) {
287
+ await trustWorkspace(wanted).catch(() => undefined);
288
+ announce(` Workspace opened from the browser, and trusted: ${wanted}`);
166
289
  }
167
290
  workspace = wanted;
168
- return json(res, 200, { cwd: workspace, name: path.basename(workspace) });
291
+ return json(res, 200, { cwd: workspace, name: path.basename(workspace), added: !wasKnown });
169
292
  }
170
293
  // The file tree, one directory at a time. Read-only.
171
294
  if (route === '/api/tree' && req.method === 'GET') {
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/web/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/web/api.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ui-client.d.ts","sourceRoot":"","sources":["../../src/web/ui-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAizIrC"}
1
+ {"version":3,"file":"ui-client.d.ts","sourceRoot":"","sources":["../../src/web/ui-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAg/IrC"}
@@ -561,6 +561,7 @@ function setWorkspace(cwd, name) {
561
561
  function setPills(provider, model) {
562
562
  $('pprov').innerHTML = 'provider <b>' + esc(provider) + '</b>';
563
563
  $('pmodel').innerHTML = 'model <b>' + esc(model) + '</b>';
564
+ refreshComposerControls();
564
565
  }
565
566
 
566
567
  /* ── changes ───────────────────────────────────────────────── */
@@ -2315,7 +2316,10 @@ $('ta').addEventListener('input', (ev) => {
2315
2316
  ta.style.height = 'auto';
2316
2317
  ta.style.height = Math.min(ta.scrollHeight, 200) + 'px';
2317
2318
  $('send').disabled = state.busy || !ta.value.trim();
2319
+ refreshComposerHints();
2318
2320
  });
2321
+ $('ta').addEventListener('focus', refreshComposerHints);
2322
+ $('ta').addEventListener('blur', refreshComposerHints);
2319
2323
  $('ta').addEventListener('keydown', (ev) => {
2320
2324
  if (ev.key === 'Enter' && !ev.shiftKey) { ev.preventDefault(); send(); }
2321
2325
  });
@@ -2338,37 +2342,195 @@ $('qhere').onclick = () => {
2338
2342
  if ($('q').value.trim().length >= 2) runSearch();
2339
2343
  };
2340
2344
  $('q').addEventListener('keydown', (ev) => { if (ev.key === 'Enter') runSearch(); });
2345
+ /*
2346
+ * Opening a project.
2347
+ *
2348
+ * The picker listed the workspaces already trusted at a terminal, so opening a new one meant
2349
+ * leaving the browser, running koneck there, answering a prompt and coming back. Two lists now —
2350
+ * what you had open recently, and wherever you are looking — because "back to the one I was in" and
2351
+ * "somewhere I have never opened" are different questions wanting different shapes.
2352
+ */
2353
+ const picker = { chosen: null, at: null, recents: [], entries: [] };
2354
+
2355
+ /*
2356
+ * Carrying this session to a terminal.
2357
+ *
2358
+ * Nothing is transferred: both surfaces write the same session files, and have since the browser
2359
+ * was built. What was missing was anybody saying so — you had to know --resume existed, know the
2360
+ * id, and know it must be run in the project's own directory. The session is flushed first, because
2361
+ * resuming reads what is on disk and the turn you are most likely to be mid-way through is the last
2362
+ * one.
2363
+ */
2364
+ /*
2365
+ * The composer's own controls.
2366
+ *
2367
+ * The model and the pace are changed while composing, so they belong under the box rather than at
2368
+ * the far end of the window; the pills in the header still work and still say the same thing. And
2369
+ * the shortcut row is shown while the box is focused and empty — when somebody is deciding what to
2370
+ * do — and fades once there is something in it.
2371
+ */
2372
+ function refreshComposerHints() {
2373
+ const box = $('ta');
2374
+ const focused = document.activeElement === box;
2375
+ $('chint').classList.toggle('show', focused && box.value.trim() === '');
2376
+ }
2377
+
2378
+ function refreshComposerControls() {
2379
+ $('cmodelname').textContent = state.model && state.model !== '-' ? state.model : 'model';
2380
+ $('cpace').textContent = state.effort || 'medium';
2381
+ }
2382
+
2383
+ $('cmodel').onclick = () => { $('pmodel').click(); };
2384
+ $('cpace').onclick = () => { $('peffort').click(); };
2385
+
2386
+ $('ptty').onclick = async () => {
2387
+ if (!state.session) { await newSession(); }
2388
+ let out;
2389
+ try {
2390
+ out = await api('/api/handoff', { method: 'POST',
2391
+ body: JSON.stringify({ session: state.session }) });
2392
+ } catch (e) { add(el('div', 'err', e.message)); return; }
2393
+ $('ttycmd').textContent = out.command;
2394
+ $('ttynote').textContent = out.turns
2395
+ ? out.turns + (out.turns === 1 ? ' turn' : ' turns') + ' so far, on ' + out.model
2396
+ + ' via ' + out.provider + '. Saved as ' + out.id + '.'
2397
+ : 'Nothing said yet — the terminal will open this session empty.';
2398
+ $('ttydlg').showModal();
2399
+ };
2400
+
2401
+ $('ttyclose').onclick = () => { $('ttydlg').close(); };
2402
+
2403
+ $('ttycopy').onclick = async () => {
2404
+ const text = $('ttycmd').textContent;
2405
+ try {
2406
+ await navigator.clipboard.writeText(text);
2407
+ $('ttynote').textContent = 'Copied. Paste it into a terminal.';
2408
+ } catch (e) {
2409
+ // Clipboard access can be refused, and a button that silently does nothing is worse than one
2410
+ // that admits it. The command is on screen either way.
2411
+ $('ttynote').textContent = 'This browser would not let the page copy — select the line above.';
2412
+ }
2413
+ };
2414
+
2341
2415
  $('pws').onclick = async () => {
2416
+ picker.chosen = null;
2417
+ $('wsfind').value = '';
2418
+ $('wsnote').textContent = '';
2342
2419
  let info;
2343
2420
  try { info = await api('/api/workspaces'); } catch (e) { return; }
2344
- const sel = $('wschoice');
2345
- sel.innerHTML = '';
2346
- for (const w of info.workspaces) {
2347
- const o = document.createElement('option');
2348
- o.value = w.path;
2349
- o.textContent = w.name + ' — ' + w.path;
2350
- if (w.path === info.cwd) o.selected = true;
2351
- sel.appendChild(o);
2352
- }
2421
+ picker.recents = info.workspaces || [];
2422
+ drawRecents();
2423
+ await browseTo(null);
2353
2424
  $('wsdlg').showModal();
2425
+ $('wsfind').focus();
2426
+ };
2427
+
2428
+ function pickRow(label, path, opts) {
2429
+ const row = el('div', 'wsrow' + (picker.chosen === path ? ' on' : ''));
2430
+ const name = el('span', 'wsn', label);
2431
+ row.appendChild(name);
2432
+ if (opts && opts.project) row.appendChild(el('span', 'wsp', 'project'));
2433
+ if (opts && opts.meta) row.appendChild(el('span', 'wsm', opts.meta));
2434
+ if (opts && opts.into) row.appendChild(el('span', 'wsinto', '\u203a'));
2435
+ row.title = path;
2436
+ return row;
2437
+ }
2438
+
2439
+ function drawRecents() {
2440
+ const host = $('wsrecents');
2441
+ host.innerHTML = '';
2442
+ const needle = $('wsfind').value.trim().toLowerCase();
2443
+ const shown = picker.recents.filter((w) =>
2444
+ needle === '' || (w.name + ' ' + w.path).toLowerCase().indexOf(needle) !== -1);
2445
+ $('wsrecentsec').hidden = picker.recents.length === 0;
2446
+ if (shown.length === 0) {
2447
+ host.appendChild(el('div', 'wsempty', needle
2448
+ ? 'Nothing you have opened matches that — look below.'
2449
+ : 'Nothing opened yet.'));
2450
+ return;
2451
+ }
2452
+ for (const w of shown) {
2453
+ // What is waiting in it, which is what the picker is opened to find out.
2454
+ const meta = w.sessions
2455
+ ? w.sessions + (w.sessions === 1 ? ' session' : ' sessions')
2456
+ + (w.lastAt ? ', ' + ago(w.lastAt) : '')
2457
+ : 'nothing yet';
2458
+ const row = pickRow(w.name, w.path, { meta: meta });
2459
+ row.onclick = () => { picker.chosen = w.path; drawRecents(); drawBrowse(); showChosen(); };
2460
+ row.ondblclick = () => { picker.chosen = w.path; void openChosen(); };
2461
+ host.appendChild(row);
2462
+ }
2463
+ }
2464
+
2465
+ async function browseTo(where) {
2466
+ let out;
2467
+ try {
2468
+ out = await api('/api/browse' + (where ? '?path=' + encodeURIComponent(where) : ''));
2469
+ } catch (e) { $('wsnote').textContent = e.message; return; }
2470
+ picker.at = out;
2471
+ picker.entries = out.entries || [];
2472
+ $('wswhere').textContent = out.path;
2473
+ $('wsup').disabled = !out.parent;
2474
+ drawBrowse();
2475
+ }
2476
+
2477
+ function drawBrowse() {
2478
+ const host = $('wsbrowse');
2479
+ host.innerHTML = '';
2480
+ const needle = $('wsfind').value.trim().toLowerCase();
2481
+ const shown = picker.entries.filter((e) =>
2482
+ needle === '' || e.name.toLowerCase().indexOf(needle) !== -1);
2483
+ if (picker.at && picker.at.path) {
2484
+ // The folder you are looking at is itself openable, which is how you open a parent directory.
2485
+ // No path as the label's trailing note: it is already shown above, and repeating it here was
2486
+ // the longest string in the dialog and the thing that pushed it sideways.
2487
+ const here = pickRow('Open this folder', picker.at.path, {});
2488
+ here.onclick = () => { picker.chosen = picker.at.path; drawRecents(); drawBrowse(); showChosen(); };
2489
+ here.ondblclick = () => { picker.chosen = picker.at.path; void openChosen(); };
2490
+ host.appendChild(here);
2491
+ }
2492
+ if (shown.length === 0) {
2493
+ host.appendChild(el('div', 'wsempty', 'No folders here.'));
2494
+ return;
2495
+ }
2496
+ for (const entry of shown) {
2497
+ const row = pickRow(entry.name, entry.path, { project: entry.project, into: true });
2498
+ // One click chooses it, the arrow goes into it — the two things a folder means in a picker.
2499
+ row.onclick = () => { picker.chosen = entry.path; drawRecents(); drawBrowse(); showChosen(); };
2500
+ row.ondblclick = () => { void browseTo(entry.path); };
2501
+ host.appendChild(row);
2502
+ }
2503
+ }
2504
+
2505
+ function showChosen() {
2506
+ $('wsnote').textContent = picker.chosen
2507
+ ? 'Will open ' + picker.chosen
2508
+ : '';
2509
+ }
2510
+
2511
+ $('wsfind').oninput = () => { drawRecents(); drawBrowse(); };
2512
+ $('wsup').onclick = () => { if (picker.at && picker.at.parent) void browseTo(picker.at.parent); };
2513
+ $('wscancel').onclick = () => { $('wsdlg').close(); };
2514
+
2515
+ $('wsfind').onkeydown = (ev) => {
2516
+ if (ev.key === 'Enter') { ev.preventDefault(); void openChosen(); }
2354
2517
  };
2355
- $('wssave').onclick = async () => {
2356
- const cwd = $('wschoice').value;
2518
+
2519
+ async function openChosen() {
2520
+ const cwd = picker.chosen;
2521
+ if (!cwd) { $('wsnote').textContent = 'Pick a folder first.'; return; }
2357
2522
  let info;
2358
2523
  try {
2359
2524
  info = await api('/api/workspace', { method: 'POST', body: JSON.stringify({ cwd: cwd }) });
2360
- } catch (e) { add(el('div', 'err', e.message)); setView('chat'); return; }
2361
- // A workspace change means different sessions, a different tree and a different history, so
2362
- // everything on screen is stale.
2363
- state.session = null; state.past = null;
2364
- if (state.es) { state.es.close(); state.es = null; }
2365
- setWorkspace(info.cwd, info.name);
2366
- resetView();
2367
- stream().innerHTML = '';
2368
- stream().appendChild(el('div', 'notice info', 'Workspace: ' + info.cwd));
2369
- refreshSessions();
2525
+ } catch (e) { $('wsnote').textContent = e.message; return; }
2526
+ $('wsdlg').close();
2527
+ $('pws').innerHTML = 'workspace <b>' + esc(info.name) + '</b>';
2528
+ // The history of the project just opened, rather than the one just left.
2529
+ await refreshSessions();
2370
2530
  setView('chat');
2371
- };
2531
+ }
2532
+
2533
+ $('wssave').onclick = () => { void openChosen(); };
2372
2534
  function setPosture(info) {
2373
2535
  if (!info) return;
2374
2536
  state.goal = info.goal || null;
@@ -2376,6 +2538,7 @@ function setPosture(info) {
2376
2538
  $('pgoal').innerHTML = 'goal <b>' + esc(state.goal ? state.goal.slice(0, 26) : 'none') + '</b>';
2377
2539
  $('pgoal').title = state.goal || 'A standing objective, put in front of every message';
2378
2540
  $('peffort').innerHTML = 'effort <b>' + esc(state.effort) + '</b>';
2541
+ refreshComposerControls();
2379
2542
  $('retry').disabled = !info.canRetry;
2380
2543
  $('rewind').disabled = !info.canRetry;
2381
2544
  }
@@ -2696,6 +2859,14 @@ const term = {
2696
2859
  /** Pane index by job id, so a line can be routed to the pane that asked for it. */
2697
2860
  ownerOf: {},
2698
2861
  fontPx: 12.5,
2862
+ /*
2863
+ * How the backdrop meets the panel. Fit by default: asked for as "nothing is cut out", and
2864
+ * a picture somebody chose deliberately should be shown, not cropped to a sliver of its middle.
2865
+ */
2866
+ bgFit: (() => {
2867
+ try { return localStorage.getItem('koneck.terminal.backdropFit') || 'contain'; }
2868
+ catch (e) { return 'contain'; }
2869
+ })(),
2699
2870
  };
2700
2871
 
2701
2872
  function newPane() {
@@ -3020,12 +3191,32 @@ function applyTerminalLook() {
3020
3191
  host.classList.toggle('backdrop', on);
3021
3192
  host.style.setProperty('--term-bg-strength', on ? String(strength) : '0');
3022
3193
  host.style.setProperty('--term-bg-image', 'url("' + backdropUrl() + '")');
3194
+ /*
3195
+ * Whole picture, or every pixel covered. There is no answer that is both.
3196
+ *
3197
+ * A picture and a panel are rarely the same shape, so one of the two has to give: fit leaves the
3198
+ * panel colour at the edges, fill crops. Asked for rather than guessed, and remembered, because
3199
+ * whichever you want you will want it again.
3200
+ */
3201
+ host.style.setProperty('--term-bg-fit', term.bgFit);
3202
+ $('tbgfit').textContent = term.bgFit === 'cover' ? 'fill' : 'fit';
3203
+ $('tbgfit').title = term.bgFit === 'cover'
3204
+ ? 'Filling the panel, cropping what does not fit — click to show the whole picture'
3205
+ : 'Showing the whole picture — click to fill the panel instead';
3023
3206
  let own = null;
3024
3207
  try { own = localStorage.getItem(OWN_BACKDROP_KEY); } catch (e) { own = null; }
3025
3208
  // The way back only exists when there is something to go back from.
3026
3209
  $('tbgreset').hidden = !own;
3027
3210
  }
3028
3211
 
3212
+ const BACKDROP_FIT_KEY = 'koneck.terminal.backdropFit';
3213
+
3214
+ $('tbgfit').onclick = () => {
3215
+ term.bgFit = term.bgFit === 'cover' ? 'contain' : 'cover';
3216
+ try { localStorage.setItem(BACKDROP_FIT_KEY, term.bgFit); } catch (e) { /* not kept */ }
3217
+ applyTerminalLook();
3218
+ };
3219
+
3029
3220
  $('tbgpick').onclick = () => { $('tbgfile').click(); };
3030
3221
 
3031
3222
  $('tbgreset').onclick = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"ui-client.js","sourceRoot":"","sources":["../../src/web/ui-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+yIlB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"ui-client.js","sourceRoot":"","sources":["../../src/web/ui-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8+IlB,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ui-css.d.ts","sourceRoot":"","sources":["../../src/web/ui-css.ts"],"names":[],"mappings":"AA8CA,wBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAq9B3C"}
1
+ {"version":3,"file":"ui-css.d.ts","sourceRoot":"","sources":["../../src/web/ui-css.ts"],"names":[],"mappings":"AA8CA,wBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAmjC3C"}
@@ -122,7 +122,9 @@ aside.hide{display:none}
122
122
  /* ── main ────────────────────────────────────────────────── */
123
123
  main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}
124
124
  header{height:47px;flex:0 0 47px;border-bottom:1px solid var(--line);display:flex;
125
- align-items:center;gap:8px;padding:0 14px;background:var(--panel);font-size:12px}
125
+ align-items:center;gap:8px;padding:0 14px;background:var(--panel);font-size:12px;
126
+ overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
127
+ header::-webkit-scrollbar{display:none}
126
128
  .iconbtn{width:28px;height:28px;border-radius:7px;border:1px solid transparent;color:var(--muted);
127
129
  display:grid;place-items:center;font-size:15px}
128
130
  .iconbtn:hover{background:var(--panel-2);color:var(--ink)}
@@ -130,8 +132,16 @@ header{height:47px;flex:0 0 47px;border-bottom:1px solid var(--line);display:fle
130
132
  .tab{padding:4px 12px;border-radius:6px;font-size:12px;color:var(--muted)}
131
133
  .tab.on{background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}
132
134
  .tab .n{color:var(--dim);margin-left:5px;font-variant-numeric:tabular-nums}
135
+ /*
136
+ * A pill never wraps, and the row never grows past the window.
137
+ *
138
+ * Adding one more pill pushed the last one off the right-hand edge and made another wrap onto a
139
+ * second line inside a 47px header. A pill is a label, not a paragraph: it stays on one line, and
140
+ * the row scrolls sideways when there are more of them than fit rather than rearranging itself.
141
+ */
133
142
  .pill{border:1px solid var(--line);background:var(--panel-2);border-radius:999px;
134
- padding:4px 11px;color:var(--muted);display:flex;gap:6px;align-items:center;max-width:230px}
143
+ padding:4px 11px;color:var(--muted);display:flex;gap:6px;align-items:center;max-width:230px;
144
+ white-space:nowrap;flex:0 0 auto}
135
145
  .pill:hover{border-color:var(--cyan);color:var(--ink)}
136
146
  .pill b{color:var(--ink);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
137
147
  .spacer{flex:1}
@@ -692,6 +702,77 @@ dialog:has(.dlg.wide){max-width:560px}
692
702
  .wwrite{padding:8px 13px;color:var(--cyan);font-size:11.5px;border-bottom:1px solid var(--line-2)}
693
703
  .wwbody{min-height:0}
694
704
 
705
+ /*
706
+ * Under the composer: what you change, then what you might need to be told.
707
+ *
708
+ * The model belongs within reach of the cursor. It was at the top of the window, as far from the
709
+ * input as the layout allows, while the space under the input held three keyboard shortcuts that
710
+ * never changed and never went away.
711
+ */
712
+ .cunder{display:flex;align-items:center;gap:7px;padding:7px 2px 0}
713
+ .cmodel,.cpace{padding:3px 10px;border-radius:999px;border:1px solid var(--line-2);
714
+ background:transparent;color:var(--muted);cursor:pointer;font-size:11.5px;font-family:inherit}
715
+ .cmodel:hover,.cpace:hover{border-color:var(--cyan);color:var(--cyan)}
716
+ .cmodel #cmodelname{color:var(--fg)}
717
+ .cgap{flex:1}
718
+ /*
719
+ * Shown while the box is focused and empty, which is when somebody is deciding what to do rather
720
+ * than doing it. Height is not animated: a row that grows and shrinks under a text field moves the
721
+ * text field, and a composer that jumps while you look at it is worse than one that says nothing.
722
+ */
723
+ .chint{opacity:0;transition:opacity .15s ease;pointer-events:none}
724
+ .chint.show{opacity:1;pointer-events:auto}
725
+
726
+ /* The command that carries this session to a terminal: shown as something to be run, not read. */
727
+ .ttycmd{margin:0 0 10px;padding:10px 12px;border-radius:8px;border:1px solid var(--line-2);
728
+ background:var(--panel-2);font-family:var(--mono);font-size:12px;color:var(--cyan);
729
+ white-space:pre-wrap;word-break:break-all}
730
+
731
+ /*
732
+ * The project picker.
733
+ *
734
+ * Two lists in one dialog — what you had open recently, and wherever you are looking now — because
735
+ * the two questions "back to the one I was in" and "somewhere I have never opened" want different
736
+ * shapes. Both scroll on their own so the dialog never grows past the window.
737
+ */
738
+ /*
739
+ * Wider than the other dialogs, and allowed to be.
740
+ *
741
+ * Every dialog is capped at 450px, which is right for a question and wrong for two lists of file
742
+ * paths: the rows overflowed sideways and took the Open button off the edge of the dialog with
743
+ * them. The cap is lifted for this one, and every row is told it may shrink — a nowrap path inside
744
+ * a flex row will otherwise push the whole dialog wider than its own container.
745
+ */
746
+ #wsdlg{max-width:640px}
747
+ .wsdlg{width:100%;box-sizing:border-box;min-width:0}
748
+ #wsfind{width:100%;box-sizing:border-box;padding:8px 11px;border-radius:8px;
749
+ border:1px solid var(--line-2);background:var(--panel-2);color:var(--fg);font-size:13px;
750
+ margin:2px 0 12px}
751
+ .wssec{margin:0 0 12px}
752
+ .wshead{display:flex;align-items:center;gap:7px;font-size:10.5px;color:var(--dim);
753
+ text-transform:uppercase;letter-spacing:.06em;margin:0 0 5px}
754
+ .wsup{padding:1px 7px;border-radius:6px;border:1px solid var(--line-2);color:var(--muted);
755
+ background:transparent;cursor:pointer;font-size:11px}
756
+ .wsup:hover{border-color:var(--cyan);color:var(--cyan)}
757
+ .wswhere{font-family:var(--mono);font-size:11px;color:var(--muted);text-transform:none;
758
+ letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
759
+ .wslist{max-height:180px;overflow-y:auto;overflow-x:hidden;border:1px solid var(--line);
760
+ border-radius:8px;background:var(--panel-2)}
761
+ .wsrow{display:flex;align-items:center;gap:9px;padding:7px 11px;cursor:pointer;font-size:12.5px;
762
+ border-bottom:1px solid var(--line);min-width:0}
763
+ .wsrow:last-child{border-bottom:0}
764
+ .wsrow:hover{background:var(--panel)}
765
+ .wsrow.on{background:var(--panel);box-shadow:inset 2px 0 0 var(--cyan)}
766
+ .wsrow .wsn{color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
767
+ /* A folder that looks like a project reads as one, so a long list can be skimmed. */
768
+ .wsrow .wsp{color:var(--cyan);font-size:10px;border:1px solid var(--cyan);border-radius:999px;
769
+ padding:0 5px;flex:0 0 auto}
770
+ /* Allowed to shrink and then to trail off, rather than to widen the dialog. */
771
+ .wsrow .wsm{margin-left:auto;color:var(--dim);font-size:10.5px;min-width:0;
772
+ white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
773
+ .wsrow .wsinto{flex:0 0 auto;color:var(--dim);font-size:12px}
774
+ .wsempty{padding:10px 11px;color:var(--dim);font-size:12px}
775
+
695
776
  /* A tool call with nothing to open — what was asked, and how it went. */
696
777
  .callhead{display:flex;align-items:center;gap:8px;padding:9px 13px;border-bottom:1px solid var(--line-2)}
697
778
  .callverb{color:var(--cyan);font-size:12px;text-transform:lowercase}
@@ -817,8 +898,23 @@ body[data-tint="soft"]{filter:contrast(.92) brightness(1.04)}
817
898
  .termchk input{accent-color:var(--cyan);cursor:pointer}
818
899
  #tbgop{width:88px;accent-color:var(--cyan)}
819
900
 
820
- .termpanes{--term-font:12.5px;--term-bg-strength:0;--term-bg-image:none;
821
- flex:1;display:flex;min-height:0;background:var(--bg)}
901
+ /*
902
+ * One backdrop across the whole terminal, not one per pane.
903
+ *
904
+ * It was drawn per pane, so a 1920-wide picture was scaled to cover a pane a few hundred pixels
905
+ * wide — magnified several times over and cropped to a sliver, which is why it looked enormous and
906
+ * why nothing recognisable survived. Split into three panes and you got three separate crops of the
907
+ * same middle.
908
+ *
909
+ * Absolutely positioned, so the pseudo-element is out of flow and does not become a flex item of
910
+ * the row it decorates — which it would, and which would push the first pane sideways.
911
+ */
912
+ .termpanes{--term-font:12.5px;--term-bg-strength:0;--term-bg-image:none;--term-bg-fit:contain;
913
+ position:relative;flex:1;display:flex;min-height:0;background:var(--bg)}
914
+ .termpanes::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
915
+ background-image:var(--term-bg-image);background-size:var(--term-bg-fit);
916
+ background-position:center;background-repeat:no-repeat;
917
+ opacity:var(--term-bg-strength);transition:opacity .18s ease}
822
918
  .termgrip{flex:0 0 5px;cursor:col-resize;background:var(--line);opacity:.6}
823
919
  .termgrip:hover{background:var(--cyan);opacity:1}
824
920
 
@@ -826,14 +922,12 @@ body[data-tint="soft"]{filter:contrast(.92) brightness(1.04)}
826
922
  border-left:1px solid transparent}
827
923
  .termpane.on{border-left-color:var(--cyan)}
828
924
  /*
829
- * The backdrop sits behind the text at a weight the reader chooses, and never on top of it.
925
+ * Panes sit above the backdrop and add nothing of their own.
830
926
  *
831
- * Its own layer rather than a background on the pane: an image behind live text needs to be dimmed
832
- * without dimming the text, and an opacity on the pane itself would take the characters with it.
927
+ * The image is one layer behind all of them, so it is shown once at its own proportions rather than
928
+ * cropped separately into each. A pane needs to be transparent and above it, and nothing more.
833
929
  */
834
- .termpane::before{content:'';position:absolute;inset:0;pointer-events:none;
835
- background-image:var(--term-bg-image);background-size:cover;background-position:center;
836
- opacity:var(--term-bg-strength);transition:opacity .18s ease}
930
+ .termpane{position:relative;z-index:1;background:transparent}
837
931
  .termscroll{position:relative;flex:1;min-height:0;overflow:auto;padding:12px 14px 4px}
838
932
  .termbody{margin:0;font-family:var(--mono);font-size:var(--term-font);line-height:1.55;
839
933
  white-space:pre-wrap;word-break:break-word;color:var(--ink)}
@@ -1 +1 @@
1
- {"version":3,"file":"ui-css.js","sourceRoot":"","sources":["../../src/web/ui-css.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH;;;;;;;;;;;;GAYG;AACH,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;CAkBZ,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,OAAe;IACjC,OAAO;;;;;;;;;;;;;;;;;gBAiBO,OAAO;;;oCAGa,IAAI;;2BAEb,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA67B9B,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"ui-css.js","sourceRoot":"","sources":["../../src/web/ui-css.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH;;;;;;;;;;;;GAYG;AACH,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;CAkBZ,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,OAAe;IACjC,OAAO;;;;;;;;;;;;;;;;;gBAiBO,OAAO;;;oCAGa,IAAI;;2BAEb,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2hC9B,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/web/ui.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,wBAAgB,IAAI,IAAI,MAAM,CA2X7B"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/web/ui.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,wBAAgB,IAAI,IAAI,MAAM,CA8b7B"}
package/dist/web/ui.js CHANGED
@@ -54,6 +54,11 @@ export function page() {
54
54
  <button class="pill" id="peffort" title="How hard to think">effort <b>medium</b></button>
55
55
  <button class="pill" id="pmode" title="What KONECK may do without asking">mode <b>auto</b></button>
56
56
  <button class="pill" id="pws" title="Switch workspace">workspace <b>&mdash;</b></button>
57
+ <!--
58
+ Carrying this session to a terminal. Both surfaces already write the same session files, so
59
+ continuing in the CLI needs nothing built — only somebody to say the id and the directory.
60
+ -->
61
+ <button class="pill" id="ptty" title="Continue this session in a terminal">&#9002;_ cli</button>
57
62
  <button class="pill" id="pprov">provider <b>&mdash;</b></button>
58
63
  <button class="pill" id="pmodel">model <b>&mdash;</b></button>
59
64
  <div class="stat" id="stat">&mdash;</div>
@@ -157,6 +162,13 @@ export function page() {
157
162
  -->
158
163
  <button type="button" class="termbtn" id="tbgpick"
159
164
  title="Use a picture of your own">choose&hellip;</button>
165
+ <!--
166
+ Fit shows the whole picture and may leave the panel colour at the edges; fill covers every
167
+ pixel and crops whatever does not fit. There is no third answer when the picture and the
168
+ panel are different shapes, so it is a choice rather than a guess.
169
+ -->
170
+ <button type="button" class="termbtn" id="tbgfit"
171
+ title="Fit shows all of it; fill covers everything and crops">fit</button>
160
172
  <button type="button" class="termbtn" id="tbgreset" hidden
161
173
  title="Back to the picture KONECK ships with">default</button>
162
174
  <input type="file" id="tbgfile" accept="image/*" hidden>
@@ -209,9 +221,28 @@ export function page() {
209
221
  </div>
210
222
  <input type="file" id="filepick" accept="image/png,image/jpeg,image/gif,image/webp"
211
223
  multiple hidden>
212
- <div class="chint">
224
+ <!--
225
+ Under the box: controls, and instructions only while they are wanted.
226
+ ===================================================================
227
+ This was a permanent cheat sheet — six items of chrome under a one-line input, three of them
228
+ keyboard shortcuts that stayed on screen for ever whether or not anybody had ever needed
229
+ them. Meanwhile the thing changed most often while composing, the model, sat at the far end
230
+ of the window from the cursor.
231
+
232
+ So the model and the pace move here, where the hand already is, and the shortcuts appear
233
+ while the box is focused and empty — which is exactly when somebody is deciding what to do
234
+ and not yet doing it — and get out of the way once there is something in it.
235
+ -->
236
+ <div class="cunder">
237
+ <button class="cmodel" id="cmodel" title="Change the model or provider">
238
+ <span id="cmodelname">model</span>
239
+ </button>
240
+ <button class="cpace" id="cpace" title="How hard the model should think">medium</button>
241
+ <span class="cgap"></span>
213
242
  <button class="tinybtn" id="retry" title="Send the last message again">retry</button>
214
243
  <button class="tinybtn" id="rewind" title="Drop back to before your last message">rewind</button>
244
+ </div>
245
+ <div class="chint" id="chint">
215
246
  <span><kbd>Enter</kbd> send</span>
216
247
  <span><kbd>Shift</kbd>+<kbd>Enter</kbd> newline</span>
217
248
  <span><kbd>Ctrl</kbd>+<kbd>K</kbd> commands</span>
@@ -251,6 +282,18 @@ export function page() {
251
282
  <div class="row"><button class="go" id="toksave">Use it</button></div>
252
283
  </form></dialog>
253
284
 
285
+ <dialog id="ttydlg"><div class="dlg">
286
+ <h3>Continue in a terminal</h3>
287
+ <p>This session is saved where the CLI looks for it, so the terminal picks up exactly what is
288
+ here &mdash; the whole conversation, the plan, the token count. Run this:</p>
289
+ <pre class="ttycmd" id="ttycmd"></pre>
290
+ <div class="mnote" id="ttynote"></div>
291
+ <div class="row">
292
+ <button type="button" id="ttyclose">Close</button>
293
+ <button type="button" class="go" id="ttycopy">Copy</button>
294
+ </div>
295
+ </div></dialog>
296
+
254
297
  <dialog id="goaldlg"><form class="dlg" method="dialog">
255
298
  <h3>Session goal</h3>
256
299
  <p>Put in front of every message, so a long job keeps its objective in view even after the
@@ -260,14 +303,38 @@ export function page() {
260
303
  <div class="row"><button>Cancel</button><button class="go" id="goalsave">Set</button></div>
261
304
  </form></dialog>
262
305
 
263
- <dialog id="wsdlg"><form class="dlg" method="dialog">
264
- <h3>Workspace</h3>
265
- <p>Only workspaces you have already trusted are listed. Trust is granted at a terminal, after
266
- being asked &mdash; so a browser cannot add to this list.</p>
267
- <label for="wschoice">Open</label>
268
- <select id="wschoice"></select>
269
- <div class="row"><button>Cancel</button><button class="go" id="wssave">Switch</button></div>
270
- </form></dialog>
306
+ <!--
307
+ Opening a project.
308
+ ==================
309
+ What was here listed the workspaces already trusted at a terminal, so opening a new project meant
310
+ leaving the browser, running koneck there, answering a prompt and coming back. For a tool whose
311
+ point is that either surface works, that is the wrong shape.
312
+
313
+ A search box, what you had open recently with what is waiting in each, and a way to walk the
314
+ filesystem to anywhere else. Folders that look like projects — a .git or a package.json — sort
315
+ first, because that is what somebody scanning a list of folders is looking for.
316
+ -->
317
+ <dialog id="wsdlg"><div class="dlg wsdlg">
318
+ <h3>Open a project</h3>
319
+ <input id="wsfind" placeholder="Search folders you have opened&hellip;" autocomplete="off"
320
+ spellcheck="false">
321
+ <div class="wssec" id="wsrecentsec">
322
+ <div class="wshead">Recent</div>
323
+ <div class="wslist" id="wsrecents"></div>
324
+ </div>
325
+ <div class="wssec">
326
+ <div class="wshead">
327
+ <button type="button" class="wsup" id="wsup" title="Up one level">&#8593;</button>
328
+ <span class="wswhere" id="wswhere"></span>
329
+ </div>
330
+ <div class="wslist" id="wsbrowse"></div>
331
+ </div>
332
+ <div class="mnote" id="wsnote"></div>
333
+ <div class="row">
334
+ <button type="button" id="wscancel">Cancel</button>
335
+ <button type="button" class="go" id="wssave">Open</button>
336
+ </div>
337
+ </div></dialog>
271
338
 
272
339
  <dialog id="modedlg"><form class="dlg" method="dialog">
273
340
  <h3>What may it do without asking?</h3>
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/web/ui.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,UAAU,IAAI;IAClB,OAAO;;;;;;;SAOA,GAAG,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA+WF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;EAC7C,YAAY,EAAE;;eAED,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/web/ui.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,UAAU,IAAI;IAClB,OAAO;;;;;;;SAOA,GAAG,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAkbF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;EAC7C,YAAY,EAAE;;eAED,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "koneck",
3
- "version": "2.60.0",
3
+ "version": "2.62.0",
4
4
  "description": "Kinetically Orchestrated Neural Execution Engine for Code",
5
5
  "type": "module",
6
6
  "bin": {