poetry-agent 0.1.2 → 0.1.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cdfdb5620724755c575e18ce6bfd75b48bd4237ca0f637d0b909057a52cfc46f
4
- data.tar.gz: 23014ea1b745fafb3e48e3337f399df235417352650a469e07d26a52821d905b
3
+ metadata.gz: 8d7eb0f1fbee93f5cf0c279eb317983f2c176def9634d18b3fe6ef6e878a97e8
4
+ data.tar.gz: cb816fb06c42d2ec1b22ad94faf1f299b1a160dfd83fa277c7ea19006a2390b8
5
5
  SHA512:
6
- metadata.gz: 0fed74653f7b49002c96d01a6157bca3d22c0c2fde05a01570c3e1c8cc7e22a39157a062a516f5ae263dc758180576ac56bcc2d9d9d8fbfbe83b3501c5ea1636
7
- data.tar.gz: b6d84fc27e506a684f77cf6b088a545f62b826aac36cd09c2d4eb0f3dae9f29217d0f9d7f36f261005117ec3a71c853eff0fe91f23f2e33733d4c5b9515f8e03
6
+ metadata.gz: 84ac84d9e901bd9c24a4ad97af40488ca9642a219c3fbc88e89247e3c506f0bcf5e4d9e7ff5ebfd166e413216dbf03bc593a8c9cdf33ce173cbd2ce6b16ebb3a
7
+ data.tar.gz: 5ed523f61aa9a7572185e51564e009481718659e304b9522de2d3ab9a6e2927ecdb3fe2d31ac0e1f2b2aecd54249f480c7485486d6b2da72c36ad15d15c54b54
data/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.4] - 2026-09-15
4
+
5
+ Lockstep release with the family; no changes in this gem.
6
+
7
+ ## [0.1.3] - 2026-09-13
8
+
9
+ ### Fixed
10
+
11
+ - A2UI's native catalog supplies the render-stable key as `id:` to a component that requires one (Field, MessageScroller), since an agent never sets ids. On 0.1.2 the values tier refused the missing option and the renderer swallowed the error as a warning, so a Field rendered nothing.
12
+ - The MCP `check` tool knows the app's own `poetry_*` helper methods (`app/helpers`, read boot-free), committed registry or not: the adapter `poetry:pagination` copies in no longer reads as an unknown component.
13
+
3
14
  ## [0.1.2] - 2026-09-13
4
15
 
5
16
  ### Changed
@@ -97,6 +97,10 @@ module Poetry
97
97
  by_name[component["component"].to_s] || [nil, nil]
98
98
  end
99
99
 
100
+ def option_required?(entry, name)
101
+ Array(entry["options"]).any? { |option| option["name"] == name && option["required"] }
102
+ end
103
+
100
104
  def attributes(component, entry, scope, renderer)
101
105
  attributes = {}
102
106
  Array(entry["styles"]).each do |axis|
@@ -109,6 +113,10 @@ module Poetry
109
113
 
110
114
  attributes[name.to_sym] = renderer.resolve(component[name], scope)
111
115
  end
116
+ # An id the component requires (Field: the control its label
117
+ # names) is not the agent's to set, so the render-stable key
118
+ # stands in and the component builds instead of vanishing.
119
+ attributes[:id] = renderer.stable_key if option_required?(entry, "id") && !attributes.key?(:id)
112
120
  bound = BOUND_OPTIONS.find { |name| renderer.surface.binding?(component[name]) }
113
121
  if bound && option_names.include?("name") && !component.key?("name")
114
122
  attributes[:name] = renderer.input_name(component[bound]["path"], scope)
@@ -223,10 +223,15 @@ module Poetry
223
223
  Poetry::Core::HostComponents.declared_helpers(root: app_root).each { |name| helper_entries[name] ||= {} }
224
224
  end
225
225
  helpers = (helpers + mapped_helpers(committed.entries)).uniq if helpers
226
+ # The app's own poetry_* helper methods (app/helpers, boot-free):
227
+ # valid names with contracts of their own, whether or not the
228
+ # registry is committed - no registry lists a helper method.
229
+ host_helpers = app_root ? Poetry::Core::HostComponents.helper_methods(root: app_root) : nil
226
230
  catalog = Poetry::Core::Check::Catalog.new(committed.entries, helpers: helpers,
227
231
  helper_entries: helper_entries,
228
232
  icon_names: icon_names,
229
- helper_args: committed.helper_args)
233
+ helper_args: committed.helper_args,
234
+ host_helpers: host_helpers)
230
235
  new(entries: committed.entries, catalog: catalog, blocks: committed.blocks || {},
231
236
  root: committed.source_root.to_s, skills: skills, app_root: app_root, recipes: recipes)
232
237
  end
@@ -3,6 +3,6 @@
3
3
  module Poetry
4
4
  module Agent
5
5
  # The gem version (lockstep with the poetry family).
6
- VERSION = "0.1.2"
6
+ VERSION = "0.1.4"
7
7
  end
8
8
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: poetry-agent
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Solt
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - '='
17
17
  - !ruby/object:Gem::Version
18
- version: 0.1.2
18
+ version: 0.1.4
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - '='
24
24
  - !ruby/object:Gem::Version
25
- version: 0.1.2
25
+ version: 0.1.4
26
26
  description: 'The agent-interop gem of Poetry, the AI-native UI component library.
27
27
  Five surfaces: the boot-free poetry-agent MCP server (the component contract over
28
28
  Model Context Protocol, with runtime skill delivery); the WebMCP runtime that registers
@@ -111,7 +111,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
111
  - !ruby/object:Gem::Version
112
112
  version: '0'
113
113
  requirements: []
114
- rubygems_version: 4.0.16
114
+ rubygems_version: 4.0.20
115
115
  specification_version: 4
116
116
  summary: 'Poetry''s agent surfaces: MCP server, WebMCP runtime, AG-UI relay, and A2UI
117
117
  catalog and renderer.'