@poodle64/librarian 2026.10.2 → 2026.10.3
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.
|
@@ -311,7 +311,7 @@
|
|
|
311
311
|
Centred, both sit under the composer instead. -->
|
|
312
312
|
{#if !centred}
|
|
313
313
|
{#if scope}
|
|
314
|
-
<ScopeStatement statement={scope} expanded={
|
|
314
|
+
<ScopeStatement statement={scope} expanded={false} copy={words} />
|
|
315
315
|
{/if}
|
|
316
316
|
{@render lead?.()}
|
|
317
317
|
{/if}
|
|
@@ -367,7 +367,9 @@
|
|
|
367
367
|
<div class="ds-lib-after">
|
|
368
368
|
{@render suggestions()}
|
|
369
369
|
{#if scope}
|
|
370
|
-
<
|
|
370
|
+
<div class="ds-lib-after-scope">
|
|
371
|
+
<ScopeStatement statement={scope} expanded={false} copy={words} />
|
|
372
|
+
</div>
|
|
371
373
|
{/if}
|
|
372
374
|
{@render lead?.()}
|
|
373
375
|
</div>
|
|
@@ -532,6 +534,11 @@
|
|
|
532
534
|
padding-top: 1rem;
|
|
533
535
|
}
|
|
534
536
|
|
|
537
|
+
.ds-lib-after-scope {
|
|
538
|
+
display: flex;
|
|
539
|
+
justify-content: center;
|
|
540
|
+
}
|
|
541
|
+
|
|
535
542
|
.ds-lib-after .ds-lib-chips {
|
|
536
543
|
flex-flow: row wrap;
|
|
537
544
|
justify-content: center;
|
|
@@ -214,8 +214,9 @@
|
|
|
214
214
|
color: var(--ds-color-foreground);
|
|
215
215
|
}
|
|
216
216
|
|
|
217
|
+
/* The accent as text: an app whose accent fails as text sets the ink. */
|
|
217
218
|
.agent-prose :global(a) {
|
|
218
|
-
color: var(--ds-color-primary);
|
|
219
|
+
color: var(--ds-color-primary-ink, var(--ds-color-primary));
|
|
219
220
|
text-underline-offset: 0.2em;
|
|
220
221
|
text-decoration-line: underline;
|
|
221
222
|
}
|
|
@@ -5,11 +5,13 @@
|
|
|
5
5
|
whether the answer they are about to read covers their case at all. Saying it
|
|
6
6
|
once, in the persona's own words, is cheaper than every answer hedging.
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
One quiet line, never a card: the label and a chevron in the muted ink, the
|
|
9
|
+
statement under it in the same ink when opened (caspo#177). `Conversation`
|
|
10
|
+
renders it folded, under the empty chat's composer and over the transcript
|
|
11
|
+
alike: a boundary is a banner in the way of the conversation a reader came
|
|
12
|
+
for, and one line they can open costs it nothing. Folded is not gone: the
|
|
13
|
+
same line reopens it, and a reader who opened it stays opened until the
|
|
14
|
+
surface itself changes state.
|
|
13
15
|
-->
|
|
14
16
|
<script lang="ts">
|
|
15
17
|
import { untrack } from 'svelte';
|
|
@@ -60,33 +62,32 @@
|
|
|
60
62
|
</button>
|
|
61
63
|
|
|
62
64
|
{#if open}
|
|
63
|
-
<!-- No measure of its own: the card IS the measure, and a paragraph
|
|
64
|
-
capped narrower than the border around it leaves a hand's width of
|
|
65
|
-
empty card down the right at 1440. -->
|
|
66
65
|
<p class="ds-lib-scope-text">{statement}</p>
|
|
67
66
|
{/if}
|
|
68
67
|
</section>
|
|
69
68
|
|
|
70
69
|
<style>
|
|
71
70
|
.ds-lib-scope {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
71
|
+
display: flex;
|
|
72
|
+
min-width: 0;
|
|
73
|
+
flex-direction: column;
|
|
74
|
+
align-items: flex-start;
|
|
76
75
|
}
|
|
77
76
|
|
|
77
|
+
/* 44px tall: a thumb's target, with nothing drawn around it. */
|
|
78
78
|
.ds-lib-scope-toggle {
|
|
79
79
|
display: flex;
|
|
80
|
-
width: 100%;
|
|
80
|
+
max-width: 100%;
|
|
81
|
+
min-height: 2.75rem;
|
|
81
82
|
align-items: center;
|
|
82
|
-
gap: 0.
|
|
83
|
+
gap: 0.375rem;
|
|
83
84
|
border: 0;
|
|
84
85
|
border-radius: var(--ds-radius-md);
|
|
85
86
|
background: none;
|
|
86
87
|
padding: 0;
|
|
87
88
|
color: var(--ds-color-muted-foreground);
|
|
88
89
|
font: inherit;
|
|
89
|
-
font-size:
|
|
90
|
+
font-size: 0.8125rem;
|
|
90
91
|
text-align: start;
|
|
91
92
|
cursor: pointer;
|
|
92
93
|
transition: color 150ms ease;
|
|
@@ -103,13 +104,9 @@
|
|
|
103
104
|
|
|
104
105
|
.ds-lib-scope-label {
|
|
105
106
|
min-width: 0;
|
|
106
|
-
flex: 1;
|
|
107
107
|
overflow: hidden;
|
|
108
108
|
text-overflow: ellipsis;
|
|
109
109
|
white-space: nowrap;
|
|
110
|
-
font-weight: 500;
|
|
111
|
-
letter-spacing: 0.05em;
|
|
112
|
-
text-transform: uppercase;
|
|
113
110
|
}
|
|
114
111
|
|
|
115
112
|
.ds-lib-scope-chevron {
|
|
@@ -123,7 +120,7 @@
|
|
|
123
120
|
}
|
|
124
121
|
|
|
125
122
|
.ds-lib-scope-text {
|
|
126
|
-
margin: 0
|
|
123
|
+
margin: 0;
|
|
127
124
|
color: var(--ds-color-muted-foreground);
|
|
128
125
|
font-size: 0.875rem;
|
|
129
126
|
line-height: 1.5rem;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@poodle64/librarian",
|
|
3
|
-
"version": "2026.10.
|
|
3
|
+
"version": "2026.10.3",
|
|
4
4
|
"description": "An agent's conversation surface as a consumable Svelte 5 package: the stream client, transcript state and self-styling chat components (transcript, composer, markdown) every household app renders instead of rebuilding, speaking as whichever persona the app names.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|