llm_meta_widget 0.10.0 → 0.10.1
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +86 -0
- data/README.md +1 -1
- data/lib/llm_meta_widget/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 451052ef64f425f3944991ffb56c4c3990beb5703832d13dcda11eb27d91511e
|
|
4
|
+
data.tar.gz: 3d408043ea3d236ba7ac0c6a96d28a944d775866a6dc025940eb0bb51a87fafc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a0de8fbfee7c44435077225f675aebc77558a707494a763215e82185ad4b73ba1f8eff65df9f2f6d820f5f0c66b6ff9934bc72bf601285adcf2b1968081f10b2
|
|
7
|
+
data.tar.gz: b325fed836e89c214b497575e1eead985d0548299938ad32a5a00751b4fc1d3846162c0e0b798e8668beda7bb77945457d50a5fe10080940b177879c4c3134c6
|
data/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,92 @@
|
|
|
3
3
|
This file starts at 0.8.0, the first release with a breaking change worth
|
|
4
4
|
calling out. Earlier releases are in the git history (`git log --oneline v0.7.6`).
|
|
5
5
|
|
|
6
|
+
## 0.10.1
|
|
7
|
+
|
|
8
|
+
Documentation only. The 0.10.0 release notes and the README section on the page
|
|
9
|
+
card were written after that release was published, so the copies on RubyGems
|
|
10
|
+
and npm still described 0.9.1. There is no code change: a page running 0.10.0
|
|
11
|
+
behaves exactly as one running 0.10.1.
|
|
12
|
+
|
|
13
|
+
## 0.10.0
|
|
14
|
+
|
|
15
|
+
### Changed: a page card is found by its media type
|
|
16
|
+
|
|
17
|
+
A card inside a page is now located by the `type` attribute of its `<script>`
|
|
18
|
+
element, not by an `id`:
|
|
19
|
+
|
|
20
|
+
```html
|
|
21
|
+
<script type="application/mcp-static-primitives+json"> … </script>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
A client matches `script[type="application/mcp-static-primitives+json"]`, so the
|
|
25
|
+
element needs no `id`. This follows SEP-0000's "HTML-delivery mode". The reason
|
|
26
|
+
for the change: an `id` that each page chooses cannot be found by a client that
|
|
27
|
+
was not told the id, so an `id` cannot serve as a locator.
|
|
28
|
+
|
|
29
|
+
**Existing pages keep working.** When no block carries the media type, the widget
|
|
30
|
+
reads `page_card_id:` (still `"ai-page"` by default) exactly as before. That
|
|
31
|
+
option is now only an escape hatch for a host that cannot set the type. Pages
|
|
32
|
+
using it should move to the media type, because the fallback may be removed in a
|
|
33
|
+
later release.
|
|
34
|
+
|
|
35
|
+
### Added: a document may hold several cards
|
|
36
|
+
|
|
37
|
+
A page built from components can give each component its own card block. The
|
|
38
|
+
widget reads every block and joins the arrays by primitive type.
|
|
39
|
+
|
|
40
|
+
Declaring the same tool or prompt `name`, or the same resource `uri`, in two
|
|
41
|
+
blocks is an error: every copy is dropped and a message naming it is written to
|
|
42
|
+
the console. The first block does not win, because which block comes first
|
|
43
|
+
depends on the order the page's parts are rendered in, and the page author did
|
|
44
|
+
not choose that order.
|
|
45
|
+
|
|
46
|
+
A block whose JSON cannot be read costs only that block. The other blocks still
|
|
47
|
+
load.
|
|
48
|
+
|
|
49
|
+
## 0.9.1
|
|
50
|
+
|
|
51
|
+
### Fixed: prompt arguments were empty on a page that declares resources
|
|
52
|
+
|
|
53
|
+
A prompt's arguments are looked up by plain name (`text`), while page resources
|
|
54
|
+
are addressed by URI (`page:text`). A page that kept its state in resources and
|
|
55
|
+
had no `window.aiState` therefore had every prompt argument arrive empty, and
|
|
56
|
+
the person was asked to type in something the page could already see.
|
|
57
|
+
|
|
58
|
+
Page resources now fill prompt arguments of the matching name. An explicit
|
|
59
|
+
`window.aiState` entry still wins, so a page running both channels keeps the
|
|
60
|
+
behaviour it declared.
|
|
61
|
+
|
|
62
|
+
## 0.9.0
|
|
63
|
+
|
|
64
|
+
### Added: the page card
|
|
65
|
+
|
|
66
|
+
A page can declare its tools, prompts and resources in one block of JSON, using
|
|
67
|
+
the same envelope an MCP server puts in its Server Card. Three globals hold the
|
|
68
|
+
handlers, each keyed by the identifier its own MCP operation takes:
|
|
69
|
+
|
|
70
|
+
| declared in the card | implemented in | keyed by |
|
|
71
|
+
|---|---|---|
|
|
72
|
+
| `tools` | `window.aiActions` | tool `name` |
|
|
73
|
+
| `prompts` | `window.aiPrompts` | prompt `name` |
|
|
74
|
+
| `resources` | `window.aiResources` | resource `uri` |
|
|
75
|
+
|
|
76
|
+
See "The page card" in the README. Nothing is required: a page that declares no
|
|
77
|
+
card behaves as before, and a page that declares no `tools` still uses its
|
|
78
|
+
`ai-actions` block.
|
|
79
|
+
|
|
80
|
+
Page resources are addressed `page:<name>`. That scheme is experimental and
|
|
81
|
+
unregistered.
|
|
82
|
+
|
|
83
|
+
## 0.8.6
|
|
84
|
+
|
|
85
|
+
### Changed: a resource's size is declared in the base `size` field
|
|
86
|
+
|
|
87
|
+
`size` on the resource entry replaces `_meta…sizeBytes`, following the change to
|
|
88
|
+
the base MCP `Resource` interface. `sizeBytes` is still read if `size` is absent,
|
|
89
|
+
and is still reported for now; both will be removed in a later release. Servers
|
|
90
|
+
should emit `size`.
|
|
91
|
+
|
|
6
92
|
## 0.8.0
|
|
7
93
|
|
|
8
94
|
### Breaking: state readers must declare a description
|
data/README.md
CHANGED
|
@@ -402,7 +402,7 @@ translate directly.
|
|
|
402
402
|
| `api_key_uuid:` | `"ollama-local"` | Hub API-key uuid to invoke |
|
|
403
403
|
| `element_path:` | `"/llm_meta_widget_assets/llm-meta-widget.js"` | The bundled element the page loads. Served by the gem's engine; override to load it from elsewhere |
|
|
404
404
|
| `actions_schema_id:` | `"ai-actions"` | DOM id of the Class-3 schema block |
|
|
405
|
-
| `page_card_id:` | `"ai-page"` |
|
|
405
|
+
| `page_card_id:` | `"ai-page"` | **Fallback only.** A card is normally found by its media type (see "The page card"); this id is read when the page has no block with that type. Its tools replace the `actions_schema_id` block |
|
|
406
406
|
| `prompts_global:` | `"aiPrompts"` | Global object holding page prompt handlers, keyed by prompt name |
|
|
407
407
|
| `resources_global:` | `"aiResources"` | Global object holding page resource readers, keyed by resource URI |
|
|
408
408
|
| `state_global:` | `"aiState"` | Global window object holding Class-3 state readers, each `{ description, read }` (see the breaking change in 0.8.0) |
|