@artooi/ag-ui-web-component 0.13.0 → 0.14.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.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,41 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.14.0] — 2026-07-28
11
+
12
+ ### Added
13
+
14
+ - **Run notices — a muted inline annotation for things the *run* did**, as
15
+ opposed to work the user asked for. Styleable via the `run-notice`,
16
+ `run-notice-icon` and `run-notice-text` parts; announced with `role="status"`
17
+ so a screen reader hears it politely rather than mid-sentence.
18
+ - **Compaction.** A standard AG-UI `ACTIVITY_SNAPSHOT` with
19
+ `activityType: "compaction"` (emitted by django-ag-ui 0.26+ when a
20
+ compaction capability trimmed the history) renders as "earlier turns
21
+ condensed", with the count. Activity events of any other type pass through
22
+ untouched, so another producer on that channel isn't mistaken for one.
23
+ - **Agent skills.** There is no dedicated event: loading a deferred capability
24
+ *is* an ordinary `load_capability` tool call, which is what reaches the
25
+ client. It now renders as `Using skill <id>` **instead of** the raw tool
26
+ card it would otherwise produce.
27
+
28
+ ⚠ Not to be confused with the existing `Skill` catalog — that is a *human*
29
+ affordance (a prompt the user launches from the chip row or `/`-palette).
30
+ An agent skill is chosen by the model mid-run. Only the latter emits a
31
+ notice.
32
+ - **Suppression covers all three paths a card can come from** — the live
33
+ stream, the client's tool-execution loop, and **restored history** — so a
34
+ reload shows the same transcript rather than resurrecting the raw
35
+ `load_capability` card.
36
+ - A `load_capability` call with **no usable id** falls back to a normal tool
37
+ card rather than being dropped: a malformed call is still real activity, and
38
+ hiding it would be worse than showing it plainly.
39
+ - **`onActivity(activityType, content)`** on `AgUiClientHandlers`, forwarding
40
+ AG-UI activity events to the host element. `COMPACTION_ACTIVITY_TYPE` and
41
+ `LOAD_CAPABILITY_TOOL` are exported from `constants`.
42
+ - **Two new overridable strings**: `historyCompacted` (token `{count}`) and
43
+ `usingSkill` (token `{name}`).
44
+
10
45
  ## [0.13.0] — 2026-07-27
11
46
 
12
47
  ### Added
@@ -578,7 +613,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
578
613
  ### Notes
579
614
  - First release — exercising the automated npm OIDC publish pipeline end-to-end.
580
615
 
581
- [Unreleased]: https://github.com/Artui/ag-ui-web-component/compare/v0.13.0...HEAD
616
+ [Unreleased]: https://github.com/Artui/ag-ui-web-component/compare/v0.14.0...HEAD
617
+ [0.14.0]: https://github.com/Artui/ag-ui-web-component/compare/v0.13.0...v0.14.0
582
618
  [0.13.0]: https://github.com/Artui/ag-ui-web-component/compare/v0.12.0...v0.13.0
583
619
  [0.12.0]: https://github.com/Artui/ag-ui-web-component/compare/v0.11.0...v0.12.0
584
620
  [0.11.0]: https://github.com/Artui/ag-ui-web-component/compare/v0.10.0...v0.11.0
package/README.md CHANGED
@@ -48,6 +48,7 @@ No framework, no Django, no admin specifics live here. Downstream consumers (e.g
48
48
  - [New chat and collapse](#new-chat-and-collapse)
49
49
  - [Tool-call display modes](#tool-call-display-modes)
50
50
  - [Markdown rendering](#markdown-rendering)
51
+ - [Run notices: compaction and agent skills](#run-notices-compaction-and-agent-skills)
51
52
  - [Skills: prompt chips and slash palette](#skills-prompt-chips-and-slash-palette)
52
53
  - [MPA durability: surviving full page reloads](#mpa-durability-surviving-full-page-reloads)
53
54
  - [Host seams: the SPA story](#host-seams-the-spa-story)
@@ -517,6 +518,37 @@ reveal). It honours `prefers-reduced-motion` (collapsing to instant).
517
518
 
518
519
  ---
519
520
 
521
+ ## Run notices: compaction and agent skills
522
+
523
+ Some things a run does are neither text nor a tool the user asked for — the server condensed
524
+ earlier turns to fit the context window, or the model pulled in an agent skill. Those render as
525
+ **run notices**: a muted one-line annotation inline in the transcript, styleable via the
526
+ `run-notice`, `run-notice-icon` and `run-notice-text` `part`s.
527
+
528
+ > **Two different things are called "skills".**
529
+ > The [prompt chips and slash palette](#skills-prompt-chips-and-slash-palette) below are a
530
+ > **human** affordance — prompts *the user* launches. An **agent skill** is a folder of
531
+ > instructions *the model* chooses to load mid-run. Only the second produces a run notice.
532
+
533
+ Neither notice needs configuration here — both appear when the server is set up to produce them.
534
+
535
+ **Compaction.** `django-ag-ui` emits a standard AG-UI `ACTIVITY_SNAPSHOT` with
536
+ `activityType: "compaction"` when a compaction capability trimmed the history; the notice reports
537
+ how many messages went. Server side, that means wrapping the capability in `CompactionObserver` —
538
+ see [django-ag-ui's compaction guide](https://artui.github.io/django-ag-ui/compaction/). Activity
539
+ events of any other type pass through untouched, so another producer on that channel is not
540
+ mistaken for a compaction.
541
+
542
+ **Agent skills.** There is no dedicated event for these: loading a deferred capability *is* an
543
+ ordinary `load_capability` tool call, which is what reaches the client. The component recognises
544
+ it, renders `Using skill <id>`, and suppresses the raw tool card that would otherwise appear
545
+ beside it — on the live stream and on restored history alike, so a reload shows the same
546
+ transcript. A `load_capability` call with no usable id falls back to a normal tool card rather
547
+ than being dropped, since it is still real activity.
548
+
549
+ Both strings are overridable like every other — `historyCompacted` (token `{count}`) and
550
+ `usingSkill` (token `{name}`).
551
+
520
552
  ## Skills: prompt chips and slash palette
521
553
 
522
554
  Skills are pre-defined prompts the user can launch from a chip or the `/`-command palette. They are