@poodle64/librarian 2026.9.27 → 2026.9.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -174,7 +174,7 @@ on it fires once and never again.
|
|
|
174
174
|
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
175
175
|
| The ask route | `ask({ endpoint })`: a room's `/api/rooms/{id}/ask`, a caller's `/api/caller/ask` |
|
|
176
176
|
| Attachments | nothing: `ask()` posts multipart (`question`, `resume`, `collections[]`, `files[]`) whenever `files` is non-empty, and JSON when it is not. The route must accept both |
|
|
177
|
-
| Reading a cited document | `loadDocument(document_id) => Promise<{title, sections: [{anchor, heading, text}]}>`, proxied through the app's own authenticated route (
|
|
177
|
+
| Reading a cited document | `loadDocument(document_id) => Promise<{title, sections: [{anchor, heading, text}]}>`, proxied through the app's own authenticated route (caspo: `GET /api/sources/documents/{id}/content`) |
|
|
178
178
|
| Asking again | `onregenerate`: re-send the last question as a NEW turn; the package exposes the action and never re-asks by itself |
|
|
179
179
|
| Asking a follow-up | `onsuggest(question)`: ask it as a NEW turn. Without the handler the chips do not render at all — a chip that does nothing is worse than no chip |
|
|
180
180
|
| The empty state | `welcome` and up to three `examples` |
|
|
@@ -277,7 +277,7 @@ and `outcome.costUsd` into the ONE line that already showed the duration:
|
|
|
277
277
|
`Quick · 56 s · about A$0.34`. Both are opt-in the same way: pass `depth` to
|
|
278
278
|
`Conversation`/`AgentTranscript` (it already has it, from `Turn.depth`) and a
|
|
279
279
|
`formatCost(usd) => string` to price it in the host's own currency and words
|
|
280
|
-
("about A$0.34";
|
|
280
|
+
("about A$0.34"; caspo converts USD to AUD with its own setting). Without
|
|
281
281
|
`depth` the line renders exactly as before (`56.3s`). Without `formatCost`,
|
|
282
282
|
or where `costUsd` is `0` (a local model), it shows depth and duration only,
|
|
283
283
|
never a raw USD figure and never which model answered.
|
|
@@ -558,7 +558,7 @@ it was asked this afternoon.
|
|
|
558
558
|
|
|
559
559
|
### The system preamble
|
|
560
560
|
|
|
561
|
-
A host prepends its own instruction to every question (
|
|
561
|
+
A host prepends its own instruction to every question (caspo sends
|
|
562
562
|
`{room.preamble}\n\n{question}`). `readerQuestion()` strips leading
|
|
563
563
|
paragraphs addressed to the model before the question renders, so a
|
|
564
564
|
colleague never sees it. Pass the question as it went on the wire; the
|
|
@@ -572,7 +572,7 @@ inside an app:
|
|
|
572
572
|
```ts
|
|
573
573
|
import { createHistory, titleFrom } from '@poodle64/librarian/history';
|
|
574
574
|
|
|
575
|
-
const history = createHistory('
|
|
575
|
+
const history = createHistory('caspo.rooms.defence-personnel');
|
|
576
576
|
history.load();
|
|
577
577
|
```
|
|
578
578
|
|
|
@@ -620,7 +620,7 @@ Where Playwright's own Chromium will not start (NixOS), name one that does:
|
|
|
620
620
|
|
|
621
621
|
1. Change a component; bump `version` in `package.json` (CalVer).
|
|
622
622
|
2. `pnpm build`, which runs `svelte-package` then `publint`.
|
|
623
|
-
3.
|
|
624
|
-
4. `.github/workflows/publish-kit-typescript.yaml` (repo root) runs on that push and publishes
|
|
625
|
-
npm's trusted publisher. Watch it: `gh run list -R radar-hooves/app-factory --workflow=publish-kit-typescript.yaml`,
|
|
623
|
+
3. Merge to main. No tag.
|
|
624
|
+
4. `.github/workflows/publish-kit-typescript.yaml` (repo root) runs on that push and publishes the new
|
|
625
|
+
version through npm's trusted publisher. Watch it: `gh run list -R radar-hooves/app-factory --workflow=publish-kit-typescript.yaml`,
|
|
626
626
|
then `npm view @poodle64/librarian version`.
|
|
@@ -145,6 +145,8 @@
|
|
|
145
145
|
.agent-prose :global(h3),
|
|
146
146
|
.agent-prose :global(h4) {
|
|
147
147
|
font-family: var(--ds-font-display);
|
|
148
|
+
text-transform: var(--ds-font-display-transform, inherit);
|
|
149
|
+
letter-spacing: var(--ds-font-display-tracking, inherit);
|
|
148
150
|
font-weight: 600;
|
|
149
151
|
line-height: 1.3;
|
|
150
152
|
margin-block: 1.6em 0.6em;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@poodle64/librarian",
|
|
3
|
-
"version": "2026.9.
|
|
3
|
+
"version": "2026.9.28",
|
|
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",
|