@poodle64/librarian 2026.9.12 → 2026.9.13

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.
@@ -107,6 +107,25 @@
107
107
  viewport.scrollTop = viewport.scrollHeight;
108
108
  });
109
109
 
110
+ // Asking for a briefing puts its card in the transcript AND opens the
111
+ // artefact in the column, closing whatever document was there — a
112
+ // colleague who just asked for one is asking to read it, not merely to
113
+ // see that it exists. Fires on the RUNNING → settled transition only, so
114
+ // reopening a past conversation whose last turn happens to be an
115
+ // artefact does not reopen a pane the reader may have since closed.
116
+ //
117
+ // Plain, not `$state`: read and written in the same effect, which would
118
+ // otherwise re-trigger itself forever (the pattern this file's `seen`
119
+ // already uses for the same reason).
120
+ let wasRunning = false;
121
+ $effect(() => {
122
+ const last = turns.at(-1);
123
+ if (wasRunning && !running && last?.kind === 'artefact' && !last.outcome?.isError) {
124
+ column = { kind: 'artefact', turn: last };
125
+ }
126
+ wasRunning = running;
127
+ });
128
+
110
129
  function scrolled() {
111
130
  if (viewport) follow.measure(metrics(viewport));
112
131
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@poodle64/librarian",
3
- "version": "2026.9.12",
3
+ "version": "2026.9.13",
4
4
  "description": "Milton's conversation surface as a consumable Svelte 5 package: the stream client, transcript state and chat components (transcript, composer, markdown) every household app renders instead of rebuilding.",
5
5
  "type": "module",
6
6
  "license": "MIT",