koneck 2.63.0 → 2.65.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.
@@ -0,0 +1,79 @@
1
+ /**
2
+ * What a session is called.
3
+ *
4
+ * It was called whatever you typed first, truncated to eighty characters, for ever. So a session
5
+ * that began "hi" and went on to build a ledger page was called "hi" — and the picker, which exists
6
+ * to answer "which of these was the one about X", answered "hi", "ok", "continue" and "what is 2+2"
7
+ * for a week's work.
8
+ *
9
+ * Two mistakes in one line of code. The first message is often not the request: it is a greeting, an
10
+ * acknowledgement, a "carry on". And a title set once cannot follow a session that turned into
11
+ * something else, which is what sessions do.
12
+ *
13
+ * So the name is derived from the substance and revised as the substance changes. Mechanically
14
+ * first, because that always works and costs nothing: the earliest message that actually asks for
15
+ * something, cleaned up. Then, once there is enough to summarise, the model is asked for a short
16
+ * one — which is the only way to get "Stokvel dashboard with recharts" out of a conversation that
17
+ * happens to open with "hi". That ask is cheap, happens once, and never blocks a turn; when it
18
+ * fails the mechanical name stands.
19
+ */
20
+ /**
21
+ * Messages, as much of them as naming needs.
22
+ *
23
+ * Deliberately loose. The provider's own message type has a narrower role union and several content
24
+ * shapes, some of which omit content altogether, and a stricter shape here would refuse the very
25
+ * array it exists to read. Naming only needs to know who said something and what it said.
26
+ */
27
+ export interface Said {
28
+ role?: unknown;
29
+ content?: unknown;
30
+ }
31
+ export declare function isPleasantry(text: string): boolean;
32
+ /** The text of a message, whatever shape its content came in. */
33
+ export declare function textOf(message: Said | undefined): string;
34
+ /**
35
+ * A name from the conversation itself, with no model involved.
36
+ *
37
+ * The earliest thing said that asks for something: greetings are skipped, KONECK's own prefixes are
38
+ * skipped, and a message too short to mean anything is skipped. Falls back to the first message
39
+ * there is — because a session called "hi" is still better than one called nothing — and to a plain
40
+ * label when even that is missing.
41
+ */
42
+ export declare function mechanicalTitle(messages: readonly Said[], limit?: number): string;
43
+ /** One line, no markdown fences, no newlines, trimmed to length at a word boundary. */
44
+ export declare function tidy(text: string, limit?: number): string;
45
+ /**
46
+ * Whether a session has enough in it to be worth naming properly.
47
+ *
48
+ * Asking a model to name "hi" wastes a call and produces a title about greetings. Two exchanges, or
49
+ * one substantial request, is the point at which there is something to summarise.
50
+ */
51
+ export declare function worthNaming(messages: readonly Said[]): boolean;
52
+ /**
53
+ * What to ask the model for.
54
+ *
55
+ * The instruction is narrow on purpose: a model asked to "summarise" writes a sentence, and a model
56
+ * asked for a title writes "Session Summary: Implementation of...". Naming the shape wanted, giving
57
+ * an example of the register, and forbidding the two habits it will otherwise reach for is what gets
58
+ * a usable answer back in one attempt rather than three.
59
+ */
60
+ export declare function titleQuestion(messages: readonly Said[], take?: number): string;
61
+ /**
62
+ * The model's answer, made safe to use as a title, or null when it is not usable.
63
+ *
64
+ * A model asked for six words will sometimes send a paragraph, a quoted phrase, a bulleted list or
65
+ * an apology. Anything that does not look like a label is refused, and the mechanical name stands —
66
+ * a bad title is worse than a plain one, because a picker full of "Certainly! Here is a title" is
67
+ * unreadable in a way that "hi" at least is not.
68
+ */
69
+ export declare function usableTitle(answer: string, limit?: number,
70
+ /**
71
+ * Text the title must not simply be.
72
+ *
73
+ * A model that ignores the instruction answers with whatever it would have said anyway, and an
74
+ * echo of its own last reply looks exactly like a label: short, declarative, plausible. Caught in
75
+ * a test where the stubbed model answered every question identically and the session ended up
76
+ * named "Looked at it. One file, hello.txt" — which reads as a title and is not one.
77
+ */
78
+ avoid?: readonly string[]): string | null;
79
+ //# sourceMappingURL=session-title.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-title.d.ts","sourceRoot":"","sources":["../src/session-title.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,IAAI;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA2BD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,iEAAiE;AACjE,wBAAgB,MAAM,CAAC,OAAO,EAAE,IAAI,GAAG,SAAS,GAAG,MAAM,CAWxD;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,EAAE,KAAK,SAAK,GAAG,MAAM,CAW7E;AAED,uFAAuF;AACvF,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,MAAM,CAUrD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,GAAG,OAAO,CAM9D;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,EAAE,IAAI,SAAI,GAAG,MAAM,CAazE;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,KAAK,SAAK;AACV;;;;;;;GAOG;AACH,KAAK,GAAE,SAAS,MAAM,EAAO,GAC5B,MAAM,GAAG,IAAI,CAkCf"}
@@ -0,0 +1,182 @@
1
+ /**
2
+ * What a session is called.
3
+ *
4
+ * It was called whatever you typed first, truncated to eighty characters, for ever. So a session
5
+ * that began "hi" and went on to build a ledger page was called "hi" — and the picker, which exists
6
+ * to answer "which of these was the one about X", answered "hi", "ok", "continue" and "what is 2+2"
7
+ * for a week's work.
8
+ *
9
+ * Two mistakes in one line of code. The first message is often not the request: it is a greeting, an
10
+ * acknowledgement, a "carry on". And a title set once cannot follow a session that turned into
11
+ * something else, which is what sessions do.
12
+ *
13
+ * So the name is derived from the substance and revised as the substance changes. Mechanically
14
+ * first, because that always works and costs nothing: the earliest message that actually asks for
15
+ * something, cleaned up. Then, once there is enough to summarise, the model is asked for a short
16
+ * one — which is the only way to get "Stokvel dashboard with recharts" out of a conversation that
17
+ * happens to open with "hi". That ask is cheap, happens once, and never blocks a turn; when it
18
+ * fails the mechanical name stands.
19
+ */
20
+ /**
21
+ * Openers that say nothing about the work.
22
+ *
23
+ * Anchored, and matched against the whole message rather than its start: "hi" is a greeting and
24
+ * "highlight the failing test" is not, and a prefix match cannot tell them apart.
25
+ */
26
+ const PLEASANTRY = new RegExp('^(?:'
27
+ + [
28
+ 'hi', 'hey', 'hello', 'yo', 'sup', 'ok', 'okay', 'k',
29
+ 'thanks', 'thank you', 'ta', 'cheers',
30
+ 'cool', 'nice', 'great', 'lovely', 'perfect',
31
+ // Both halves of a greeting, because "good morning" is two words and "morning" is one, and a
32
+ // list of single words matched neither.
33
+ '(?:good )?(?:morning|afternoon|evening|day)',
34
+ '(?:hi|hey|hello) there',
35
+ 'please', 'continue', 'carry on', 'go on', 'go ahead', 'proceed',
36
+ 'yes', 'yep', 'yeah', 'no', 'nope', 'sure', 'right', 'done', 'next',
37
+ 'and\\?', 'well\\?',
38
+ ].join('|')
39
+ + ')[\\s!.,?]*$', 'i');
40
+ /** KONECK's own scaffolding, which a person did not write and must never be read as a request. */
41
+ const MACHINERY = /^\s*\[(continue|persistent session goal|effort|the request you are working on)/i;
42
+ export function isPleasantry(text) {
43
+ return PLEASANTRY.test(text.trim());
44
+ }
45
+ /** The text of a message, whatever shape its content came in. */
46
+ export function textOf(message) {
47
+ if (!message)
48
+ return '';
49
+ const content = message.content;
50
+ if (typeof content === 'string')
51
+ return content;
52
+ if (!Array.isArray(content))
53
+ return '';
54
+ return content
55
+ .filter((part) => !!part && typeof part === 'object')
56
+ .map(part => (part.type === 'text' && typeof part.text === 'string' ? part.text : ''))
57
+ .join(' ')
58
+ .trim();
59
+ }
60
+ /**
61
+ * A name from the conversation itself, with no model involved.
62
+ *
63
+ * The earliest thing said that asks for something: greetings are skipped, KONECK's own prefixes are
64
+ * skipped, and a message too short to mean anything is skipped. Falls back to the first message
65
+ * there is — because a session called "hi" is still better than one called nothing — and to a plain
66
+ * label when even that is missing.
67
+ */
68
+ export function mechanicalTitle(messages, limit = 72) {
69
+ const fromUser = messages.filter(m => m.role === 'user').map(textOf);
70
+ const substantive = fromUser.find(text => {
71
+ const trimmed = text.trim();
72
+ if (trimmed === '' || MACHINERY.test(trimmed))
73
+ return false;
74
+ if (isPleasantry(trimmed))
75
+ return false;
76
+ // Three words or twelve characters: below that there is nothing to name.
77
+ return trimmed.length >= 12 || trimmed.split(/\s+/).length >= 3;
78
+ });
79
+ const chosen = substantive ?? fromUser.find(t => t.trim() !== '') ?? '';
80
+ return tidy(chosen, limit) || 'New session';
81
+ }
82
+ /** One line, no markdown fences, no newlines, trimmed to length at a word boundary. */
83
+ export function tidy(text, limit = 72) {
84
+ const oneLine = String(text ?? '')
85
+ .replace(/```[\s\S]*?```/g, ' ')
86
+ .replace(/[`*_#>]/g, '')
87
+ .replace(/\s+/g, ' ')
88
+ .trim();
89
+ if (oneLine.length <= limit)
90
+ return oneLine;
91
+ const cut = oneLine.slice(0, limit);
92
+ const lastSpace = cut.lastIndexOf(' ');
93
+ return (lastSpace > limit * 0.6 ? cut.slice(0, lastSpace) : cut).replace(/[\s,.;:–-]+$/, '') + '…';
94
+ }
95
+ /**
96
+ * Whether a session has enough in it to be worth naming properly.
97
+ *
98
+ * Asking a model to name "hi" wastes a call and produces a title about greetings. Two exchanges, or
99
+ * one substantial request, is the point at which there is something to summarise.
100
+ */
101
+ export function worthNaming(messages) {
102
+ const fromUser = messages.filter(m => m.role === 'user').map(textOf)
103
+ .filter(t => t.trim() !== '' && !MACHINERY.test(t));
104
+ if (fromUser.length === 0)
105
+ return false;
106
+ const substantial = fromUser.some(t => !isPleasantry(t) && t.trim().length >= 20);
107
+ return substantial || fromUser.length >= 2;
108
+ }
109
+ /**
110
+ * What to ask the model for.
111
+ *
112
+ * The instruction is narrow on purpose: a model asked to "summarise" writes a sentence, and a model
113
+ * asked for a title writes "Session Summary: Implementation of...". Naming the shape wanted, giving
114
+ * an example of the register, and forbidding the two habits it will otherwise reach for is what gets
115
+ * a usable answer back in one attempt rather than three.
116
+ */
117
+ export function titleQuestion(messages, take = 8) {
118
+ const relevant = messages
119
+ .filter(m => m.role === 'user' || m.role === 'assistant')
120
+ .slice(0, take)
121
+ .map(m => `${m.role === 'user' ? 'asked' : 'did'}: ${tidy(textOf(m), 240)}`)
122
+ .filter(line => line.length > 8)
123
+ .join('\n');
124
+ return 'Name this coding session in three to six words, as a person would label a tab.\n\n'
125
+ + relevant
126
+ + '\n\nAnswer with the name alone: no quotes, no full stop, no prefix like "Session" or '
127
+ + '"Task". Name what the work is about, not that it is a session. If the conversation opens '
128
+ + 'with a greeting, ignore the greeting.';
129
+ }
130
+ /**
131
+ * The model's answer, made safe to use as a title, or null when it is not usable.
132
+ *
133
+ * A model asked for six words will sometimes send a paragraph, a quoted phrase, a bulleted list or
134
+ * an apology. Anything that does not look like a label is refused, and the mechanical name stands —
135
+ * a bad title is worse than a plain one, because a picker full of "Certainly! Here is a title" is
136
+ * unreadable in a way that "hi" at least is not.
137
+ */
138
+ export function usableTitle(answer, limit = 72,
139
+ /**
140
+ * Text the title must not simply be.
141
+ *
142
+ * A model that ignores the instruction answers with whatever it would have said anyway, and an
143
+ * echo of its own last reply looks exactly like a label: short, declarative, plausible. Caught in
144
+ * a test where the stubbed model answered every question identically and the session ended up
145
+ * named "Looked at it. One file, hello.txt" — which reads as a title and is not one.
146
+ */
147
+ avoid = []) {
148
+ const first = String(answer ?? '')
149
+ .split('\n')
150
+ .map(line => line.trim())
151
+ .find(line => line !== '' && !/^[-*•\d.]+\s*$/.test(line));
152
+ if (!first)
153
+ return null;
154
+ /*
155
+ * The sentence test runs before the trim, not after.
156
+ *
157
+ * Trimming first made a paragraph look like a title: "This session covers building a ledger page
158
+ * with demo data and styling it..." is nineteen words, but cut to seventy-two characters it is
159
+ * eleven, and passed a check meant to reject exactly that.
160
+ */
161
+ const withoutPrefix = first
162
+ .replace(/^["'`]+|["'`]+$/g, '')
163
+ .replace(/^(session|task|title|chat)\s*[:\-–]\s*/i, '')
164
+ .trim();
165
+ if (withoutPrefix.split(/\s+/).length > 12)
166
+ return null;
167
+ const cleaned = tidy(withoutPrefix, limit).replace(/[.!]+$/, '').trim();
168
+ if (cleaned.length < 3)
169
+ return null;
170
+ // An echo of something already said is not a name for it.
171
+ const flat = (text) => text.toLowerCase().replace(/[^a-z0-9 ]+/g, ' ')
172
+ .replace(/\s+/g, ' ').trim();
173
+ const candidate = flat(cleaned);
174
+ if (candidate.length >= 8 && avoid.some(said => flat(said).includes(candidate)))
175
+ return null;
176
+ // A refusal or a preamble is not a title, however politely it is phrased.
177
+ if (/^(certainly|sure|here is|here's|of course|i cannot|i can't|as an ai)\b/i.test(cleaned)) {
178
+ return null;
179
+ }
180
+ return cleaned;
181
+ }
182
+ //# sourceMappingURL=session-title.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-title.js","sourceRoot":"","sources":["../src/session-title.ts"],"names":[],"mappings":"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"}
@@ -218,6 +218,10 @@ export declare class WebSession {
218
218
  * read the other's work — a session started in the browser can be resumed at a terminal and the
219
219
  * other way round. It was in neither before: the browser kept everything in memory.
220
220
  */
221
+ private namedProperly;
222
+ private improveTitle;
223
+ /** Renames the session and tells whoever is watching, so the picker follows. */
224
+ private setTitle;
221
225
  persist(): Promise<void>;
222
226
  private recordTurnChanges;
223
227
  /** Stops a run in progress, if the engine supports it. */
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/web/sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/web/sessions.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ import { redactSecrets } from '../redact.js';
18
18
  import { keyEnvFor, resolveProvider } from '../providers.js';
19
19
  import { paceFrom, PACE_BLURB } from '../pace.js';
20
20
  import { partialWrite } from '../partial-json.js';
21
+ import { mechanicalTitle, worthNaming, titleQuestion, usableTitle, tidy as tidyTitle } from '../session-title.js';
21
22
  import { rememberKey } from '../credentials.js';
22
23
  import { generateSessionId } from '../session.js';
23
24
  export class WebSession {
@@ -422,8 +423,16 @@ export class WebSession {
422
423
  throw new Error('This session is already working. Wait for it to finish.');
423
424
  this.busy = true;
424
425
  const started = Date.now();
426
+ /*
427
+ * Named from the substance, and renamed as the substance arrives.
428
+ *
429
+ * It used to be the first thing typed, truncated, for ever — so a session opening with "hi" was
430
+ * called "hi" however far it went, and the picker answered "hi", "ok" and "continue" for a
431
+ * week's work. The mechanical name is taken first because it always works, and the model is
432
+ * asked for a better one once there is something to summarise.
433
+ */
425
434
  if (this.title === 'New session')
426
- this.title = redactSecrets(text).slice(0, 80);
435
+ this.title = redactSecrets(tidyTitle(text, 72)) || 'New session';
427
436
  this.lastText = text;
428
437
  this.bus.emit({ t: 'user', text, images: imagePaths.length });
429
438
  try {
@@ -453,6 +462,15 @@ export class WebSession {
453
462
  // showing". Per turn rather than per session because a session has no end: people close tabs.
454
463
  await this.persist().catch(() => { });
455
464
  this.bus.emit({ t: 'turn-end', ms, completed });
465
+ /*
466
+ * And a proper name, after the answer rather than before it.
467
+ *
468
+ * Not awaited: the turn is over, and a session's name arriving a second later is invisible,
469
+ * while an answer arriving a second later is not. It persists itself when it lands.
470
+ */
471
+ void this.improveTitle()
472
+ .then(() => this.persist())
473
+ .catch(() => { });
456
474
  }
457
475
  catch (err) {
458
476
  this.bus.emit({ t: 'error', text: redactSecrets(err.message) });
@@ -477,6 +495,57 @@ export class WebSession {
477
495
  * read the other's work — a session started in the browser can be resumed at a terminal and the
478
496
  * other way round. It was in neither before: the browser kept everything in memory.
479
497
  */
498
+ /*
499
+ * A better name for this session, asked for once.
500
+ *
501
+ * After a turn rather than before it, so it never delays an answer; once rather than per turn,
502
+ * because a name that keeps changing is worse than a plain one. The model's answer is refused
503
+ * unless it looks like a label — a picker full of "Certainly! Here is a title" is unreadable in a
504
+ * way that "hi" at least is not — and the mechanical name stands whenever it is.
505
+ *
506
+ * Cheap on purpose: a low pace, no tools, and its own short run, so naming a session never costs
507
+ * anything anybody would notice.
508
+ */
509
+ namedProperly = false;
510
+ async improveTitle() {
511
+ if (this.namedProperly)
512
+ return;
513
+ const messages = this.agent?.messages ?? [];
514
+ if (!worthNaming(messages))
515
+ return;
516
+ this.namedProperly = true;
517
+ // Mechanical first, so even a failed ask leaves the session better named than it was.
518
+ const mechanical = mechanicalTitle(messages);
519
+ if (mechanical && mechanical !== 'New session')
520
+ this.setTitle(mechanical);
521
+ try {
522
+ const { askAside } = await import('../aside.js');
523
+ const answer = await askAside(titleQuestion(messages), {
524
+ ...this.config,
525
+ pace: 'low',
526
+ maxTurns: 1,
527
+ silent: true,
528
+ });
529
+ // What was already said, so a model that ignores the instruction and echoes itself does not
530
+ // get its own reply installed as the session's name.
531
+ const alreadySaid = messages
532
+ .filter(m => m.role === 'assistant')
533
+ .map(m => (typeof m.content === 'string' ? m.content : ''))
534
+ .filter(text => text !== '');
535
+ const better = usableTitle(answer.answer, 72, alreadySaid);
536
+ if (better)
537
+ this.setTitle(better);
538
+ }
539
+ catch { /* the mechanical name stands, which is the point of taking it first */ }
540
+ }
541
+ /** Renames the session and tells whoever is watching, so the picker follows. */
542
+ setTitle(title) {
543
+ const cleaned = redactSecrets(title);
544
+ if (!cleaned || cleaned === this.title)
545
+ return;
546
+ this.title = cleaned;
547
+ this.bus.emit({ t: 'session', ...this.info() });
548
+ }
480
549
  async persist() {
481
550
  const agent = this.agent;
482
551
  if (!agent)
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/web/sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/web/sessions.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,CAujJrC"}
1
+ {"version":3,"file":"ui-client.d.ts","sourceRoot":"","sources":["../../src/web/ui-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,IAAI,MAAM,CA6nJrC"}
@@ -2121,6 +2121,30 @@ function openLive(id) {
2121
2121
  * from. What it was in the middle of is offered in the composer rather than sent — a resumed
2122
2122
  * session that immediately starts working on its own guess is worse than one that waits.
2123
2123
  */
2124
+ /*
2125
+ * The transcript of a session being carried on, drawn above the live conversation.
2126
+ *
2127
+ * The same entries the read-only view draws, from the same route, so a continued session and a read
2128
+ * session show the same history rather than two different accounts of it. Marked as carried, so it
2129
+ * is clear which part happened before and which part is happening now — without that, a resumed
2130
+ * session reads as though everything above were said in this run.
2131
+ */
2132
+ async function renderCarried(file) {
2133
+ let data;
2134
+ try { data = await api('/api/past?file=' + encodeURIComponent(file)); }
2135
+ catch (e) {
2136
+ // Worth saying: the model has history the reader cannot see, and that is worth knowing about.
2137
+ add(el('div', 'notice warn',
2138
+ 'The earlier conversation could not be loaded to show here, though it was carried into '
2139
+ + 'this session: ' + e.message));
2140
+ return;
2141
+ }
2142
+ renderPastEntries(data.entries || []);
2143
+ const mark = el('div', 'carried');
2144
+ mark.textContent = 'above: carried from the earlier session · below: this run';
2145
+ stream().appendChild(mark);
2146
+ }
2147
+
2124
2148
  async function continuePast(file) {
2125
2149
  let out;
2126
2150
  try { out = await api('/api/resume', { method: 'POST', body: JSON.stringify({ file: file }) }); }
@@ -2129,17 +2153,39 @@ async function continuePast(file) {
2129
2153
  openLive(out.id);
2130
2154
  setPills(out.provider, out.model);
2131
2155
 
2156
+ /*
2157
+ * The conversation, not a note saying there was one.
2158
+ *
2159
+ * Continuing showed a single box — "Continued · 3 turns of history" — above an empty transcript.
2160
+ * The history had been handed to the model and withheld from the person: they were talking to
2161
+ * something that remembered a conversation they could no longer see, which is the one thing a
2162
+ * transcript exists to prevent. Reported as "why can't I see all in the continued session".
2163
+ *
2164
+ * Rendered from the file rather than from the resume response, because the file is the record and
2165
+ * already has a reader that gets the details right — tool calls, timings, and what was said.
2166
+ */
2167
+ await renderCarried(file);
2168
+
2132
2169
  const box = el('div', 'resumed');
2133
- box.appendChild(el('div', 'rh', 'Continued · ' + out.carriedTurns + ' turns of history'
2170
+ box.appendChild(el('div', 'rh', 'Continuing · ' + out.carriedTurns
2171
+ + (out.carriedTurns === 1 ? ' turn' : ' turns') + ' above'
2134
2172
  + (out.because ? ' · ' + out.because : '')));
2135
2173
  if (out.outstanding && out.outstanding.length) {
2136
2174
  const list = el('div', 'rl');
2137
2175
  for (const step of out.outstanding) list.appendChild(el('div', 'ri', '• ' + step.text));
2138
2176
  box.appendChild(list);
2139
2177
  }
2178
+ /*
2179
+ * Never a verdict on whether the work is done: that is not KONECK's to reach, and reaching it out
2180
+ * loud to somebody who has just chosen to carry on contradicts them to their face.
2181
+ *
2182
+ * The old phrasing is not quoted here on purpose. This comment ships to the browser inside the
2183
+ * page, so a phrase the interface must never show would still be in the document — which is how
2184
+ * the same wording survived being removed twice.
2185
+ */
2140
2186
  box.appendChild(el('div', 'rn', out.looksUnfinished
2141
2187
  ? 'Send the suggestion below to pick it up, or type something else.'
2142
- : 'This one looks finished. Say what you want next.'));
2188
+ : 'Carry on say what you want next.'));
2143
2189
  add(box);
2144
2190
 
2145
2191
  // Offered in the composer, where the user can edit it, send it, or delete it and say something
@@ -2171,26 +2217,55 @@ async function openPast(file) {
2171
2217
 
2172
2218
  // Can this be carried on, and was it finished? Asked separately from rendering it, because the
2173
2219
  // answer decides what the bar offers and reading a transcript should not wait on it.
2220
+ /*
2221
+ * What was observed, not a verdict on whether the work is done.
2222
+ *
2223
+ * This declared the session over and read-only before it had asked anything, and then said it
2224
+ * appeared complete as though that were a fact about somebody else's work. It is not a fact and
2225
+ * it is not KONECK's to decide: a person reading an old session is usually reading it because
2226
+ * they intend to carry on. So the bar says what it is — a session being read — and offers to
2227
+ * continue whatever the transcript looks like. Where there is real evidence of unfinished work,
2228
+ * that evidence is quoted; where there is none, nothing is claimed.
2229
+ *
2230
+ * The old wording is deliberately not repeated here: this comment travels to the browser inside
2231
+ * the page, and a phrase the interface must never show should not ship in its own source either.
2232
+ */
2174
2233
  $('rcontinue').hidden = true;
2175
2234
  $('rwhy').textContent = '';
2176
- $('readonlylead').textContent = 'Finished session, read only —';
2235
+ $('readonlylead').textContent = 'Earlier session, reading —';
2236
+ $('rcontinue').textContent = 'Continue this session';
2177
2237
  void (async () => {
2178
2238
  let can;
2179
2239
  try { can = await api('/api/resumable?file=' + encodeURIComponent(file)); }
2180
- catch (e) { return; } // not continuable: the bar stays as it was
2240
+ // Offered anyway if the check fails: not knowing whether it can be continued is not a reason
2241
+ // to refuse to try, and the resume route says so properly if it cannot.
2242
+ catch (e) { $('rcontinue').hidden = false; return; }
2181
2243
  if (state.past !== file) return; // moved on while we were asking
2182
2244
  $('rcontinue').hidden = false;
2183
2245
  if (can.looksUnfinished) {
2184
- $('readonlylead').textContent = 'Unfinished —';
2246
+ // Evidence, so a reader can judge it: an open plan step, a turn that ended mid-tool-call.
2185
2247
  $('rwhy').textContent = can.because;
2186
2248
  $('rcontinue').textContent = 'Continue where it left off';
2187
- } else {
2188
- $('rwhy').textContent = 'looks finished';
2189
- $('rcontinue').textContent = 'Continue this session';
2190
2249
  }
2191
2250
  })();
2192
2251
 
2193
- for (const entry of data.entries) {
2252
+ renderPastEntries(data.entries || []);
2253
+ if (data.truncated) {
2254
+ stream().appendChild(el('div', 'notice info',
2255
+ 'This transcript is longer than the view shows; the rest is in the file.'));
2256
+ }
2257
+ conv().scrollTop = 0;
2258
+ }
2259
+
2260
+ /*
2261
+ * A saved transcript, drawn.
2262
+ *
2263
+ * One renderer, two callers: reading a session and carrying one on show the same history rather than
2264
+ * two different accounts of it. It used to be a loop inside the read-only view, which is why
2265
+ * continuing a session showed no history at all — there was nothing else that knew how.
2266
+ */
2267
+ function renderPastEntries(entries) {
2268
+ for (const entry of entries) {
2194
2269
  if (entry.kind === 'user') {
2195
2270
  const box = el('div', 'msg');
2196
2271
  box.appendChild(el('div', 'who', 'you'));
@@ -2218,14 +2293,9 @@ async function openPast(file) {
2218
2293
  stream().appendChild(box);
2219
2294
  }
2220
2295
  }
2221
- if (data.truncated) {
2222
- stream().appendChild(el('div', 'notice info',
2223
- 'This transcript is longer than the view shows; the rest is in the file.'));
2224
- }
2225
- if (!data.entries.length) {
2296
+ if (!entries.length) {
2226
2297
  stream().appendChild(el('div', 'empty', 'This session has no transcript in it.'));
2227
2298
  }
2228
- conv().scrollTop = 0;
2229
2299
  }
2230
2300
 
2231
2301
  async function refreshSessions() {
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqjJlB,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2nJlB,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,CAkkC3C"}
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,CA4kC3C"}
@@ -723,6 +723,16 @@ dialog:has(.dlg.wide){max-width:560px}
723
723
  .chint{opacity:0;transition:opacity .15s ease;pointer-events:none}
724
724
  .chint.show{opacity:1;pointer-events:auto}
725
725
 
726
+ /*
727
+ * The line between what was carried in and what is happening now.
728
+ *
729
+ * Without it a continued session reads as though everything above were said in this run, which is
730
+ * a different and worse confusion than showing nothing at all.
731
+ */
732
+ .carried{display:flex;align-items:center;gap:10px;margin:16px 0 6px;color:var(--dim);
733
+ font-size:10.5px;text-transform:uppercase;letter-spacing:.06em}
734
+ .carried::before,.carried::after{content:'';flex:1;height:1px;background:var(--line)}
735
+
726
736
  /* The command that carries this session to a terminal: shown as something to be run, not read. */
727
737
  .ttycmd{margin:0 0 10px;padding:10px 12px;border-radius:8px;border:1px solid var(--line-2);
728
738
  background:var(--panel-2);font-family:var(--mono);font-size:12px;color:var(--cyan);
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0iC9B,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAojC9B,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,CAyd7B"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/web/ui.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,wBAAgB,IAAI,IAAI,MAAM,CA+d7B"}
package/dist/web/ui.js CHANGED
@@ -252,7 +252,13 @@ export function page() {
252
252
  </footer>
253
253
  <footer id="readonlybar" hidden>
254
254
  <div class="readonly">
255
- <span id="readonlylead">Finished session, read only &mdash;</span>
255
+ <!--
256
+ Not "finished". KONECK cannot know whether somebody is done with a piece of work, and
257
+ saying so where a person can read it invites them to believe it: a session titled "hi"
258
+ was labelled finished while its owner was still using it. What can honestly be said is
259
+ that this is being read rather than written to, and that continuing is one click away.
260
+ -->
261
+ <span id="readonlylead">Earlier session, reading &mdash;</span>
256
262
  <b id="readonlywhat" style="font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap"></b>
257
263
  <span class="rgap"></span>
258
264
  <!-- Reading a transcript and carrying on with it are the same click apart. What it was in the
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA6cF,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAmdF,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.63.0",
3
+ "version": "2.65.0",
4
4
  "description": "Kinetically Orchestrated Neural Execution Engine for Code",
5
5
  "type": "module",
6
6
  "bin": {