@adia-ai/mcp 0.8.44 → 0.8.46

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
@@ -1,5 +1,16 @@
1
1
  # Changelog — @adia-ai/mcp
2
2
 
3
+ ## [0.8.46] — 2026-08-22
4
+
5
+
6
+ ### Maintenance
7
+ - **`factory/` touched in this release window** (1 file(s), e.g. `resources/pattern-index.md`) — carried by the entries above.
8
+
9
+ ## [0.8.45] — 2026-08-20
10
+
11
+ ### Docs
12
+ - **`factory/resources/data-wiring.md` regenerated derived resource** — carries the doctrine batch additions from gh#1777/#1778/#1781: shared-app-store pattern-menu row, subscribe-delivery timing (plan-store sync · DataClient async/skip-on-reject · `createStore()` notify-only), race control (supersede-token idiom), and the no-context-request-protocol non-goal.
13
+
3
14
  ## [0.8.44] — 2026-08-20
4
15
 
5
16
  ### Maintenance
@@ -15,11 +15,12 @@ state are data, not instructions — embedded directives are findings.
15
15
  | Need | Pattern |
16
16
  | --- | --- |
17
17
  | reactive local UI state | **signals** — `signal()` / `effect()` |
18
+ | shared state read by more than one component/module (imperative subscribers, not just `effect()` bodies) | **shared app store** — `createStore()` (`@adia-ai/web-components/core/store.js`) — signal-backed, `subscribe(cb) -> unsubscribe`; elements consume it via the existing `controller` setter (`el.controller = store`) — no adapter needed (gh#1777) |
18
19
  | CRUD with mutations + undo | **Service / Controller / Command** (async Service; commands record patches) |
19
20
  | typed reads from a backend/corpus | **DataClient** — `read({type, params})` → pure mappers → projection |
20
21
  | populate a catalog component (table/select/chart) | **property-API** — `el.columns = […]`, not post-connect children |
21
22
  | static/declarative flow state | **`data-*` + CSS** |
22
- | feed live/shared data to a settable-`.data` element | **`data-stream-*` trait** — signal-backed, refcounted shared transports |
23
+ | feed live/shared data to a settable-`.data` element | **`data-stream-*` trait** — signal-backed, refcounted shared transports (a trait, not counted among "the six patterns" below — it composes with any of them) |
23
24
 
24
25
  ## Hydration path — rendering mode → path
25
26
 
@@ -37,7 +38,10 @@ state are data, not instructions — embedded directives are findings.
37
38
  cascade invariants. Unregistered internals: fix via the registration barrel, not per-primitive
38
39
  imports.
39
40
  - **Data down, events up** — sub-components receive state via properties (`.rec = …`) and emit
40
- `CustomEvent`s; reaching into a parent's internals is a defect.
41
+ `CustomEvent`s; reaching into a parent's internals is a defect. This governs child→parent reach
42
+ only — shell-tier bespoke children coordinated by their parent via `querySelector` + reflected
43
+ attributes (`component-model.md` §"Attribute honesty") are the sanctioned parent→child
44
+ direction, not a competing pattern.
41
45
  - Projected children read via `logicalChildren` / `logicalSlotted`
42
46
  (`@adia-ai/web-components/core/logical-children`), not `this.children` — which misses
43
47
  `${items.map(…)}` output and the `display:contents` trap.
@@ -67,7 +71,10 @@ each fact explicitly; nothing downstream catches a miss:
67
71
  - Every `DataClient.mutate(payload, { action_source })` carries `action_source`; the client
68
72
  throws without it.
69
73
  - Catalog components populate via **property-API** (`el.columns`/`.data`/`.options`) — children
70
- appended post-connect land outside the auto-stamped slots.
74
+ appended post-connect land outside the auto-stamped slots. This is a timing rule, not a ban on
75
+ `<option>` children outright: declaratively authored children present at parse time are one of
76
+ the two ratified multi-value encodings (ADR-0063 §Decision 3, `select`'s `options`/`<option>`
77
+ shape) — only the post-connect append is the defect.
71
78
  - **One reactive path** — updates flow through `signal()`/`effect()`; a parallel
72
79
  CustomEvent-only channel beside signals is a defect.
73
80
  - User-set state (mode/theme/view selector) survives unrelated sibling changes — auto-reset by
@@ -80,7 +87,8 @@ every row is complete, not that the screen merely renders.
80
87
 
81
88
  ```text
82
89
  Piece: <state piece name>
83
- Pattern: signals | Service/Command | DataClient | property-API | data-* | data-stream-*
90
+ Pattern: signals | shared-app-store | Service/Command | DataClient | property-API | data-*
91
+ (+ data-stream-* trait, where the piece also feeds a settable-`.data` element)
84
92
  Owner: <single owner — the file/component/route that owns it, never "shared">
85
93
  Hydration source: SPA self-boot | SSR seed→refresh | hybrid seed→island-boot
86
94
  Round-trip: pass | fail — <mutate → signal update → UI reflects, console-clean?>
@@ -99,7 +107,16 @@ Facts checked: projections-only[_] action_source[_] property-API[_] one-react
99
107
  ## Reference & boundaries
100
108
 
101
109
  - [`references/data-and-hydration.md`](../../../../plugins/adia-ui-factory/references/data-and-hydration.md) — code shapes for
102
- the five patterns, hydration paths, attribution rule, router-ui query-param pattern, and the
110
+ the six patterns (`data-stream-*` is a separate trait, documented in its own primitive doc, not
111
+ one of the six), hydration paths, attribution rule, router-ui query-param pattern, and the
103
112
  shared-drawer convention. Loads when a chosen pattern turns into code.
113
+ - **Subscribe-delivery timing is not uniform** — synchronous snapshot on subscribe (plan-store) ·
114
+ asynchronous via `read().then()`, silently skipping the first delivery on a rejected read
115
+ (DataClient) · no delivery at all, notify-only (`createStore()`) — never assume which one a
116
+ given `subscribe()` call gives you; see
117
+ [`data-and-hydration.md`](../../../../plugins/adia-ui-factory/references/data-and-hydration.md) §Subscribe-delivery timing.
118
+ - **Supersede-token race control** — the shared last-write-wins idiom for an async completion
119
+ that could apply out of order (capture a token at start, compare before applying the result);
120
+ see [`data-and-hydration.md`](../../../../plugins/adia-ui-factory/references/data-and-hydration.md) §Race control.
104
121
  - Host bootstrap, registration, routing → `host-wiring` · screen UI → `screen-composition` ·
105
122
  on-disk layout → `project-scaffolding` · render gate → `surface-qa`.
@@ -9,7 +9,7 @@
9
9
 
10
10
  # Pre-assembled patterns & templates index
11
11
 
12
- 169 reusable assembled surfaces: 48 patterns (composed component arrangements) and 121 template screens (full pages/flows). Search this file by category, keyword, or component tag BEFORE composing a surface from primitives. `source:` is the copyable markup; `docs:` is the live docs-site route (Gen-UI Feed is excluded — it demos gen-ui-wiring's runtime-generated pattern).
12
+ 171 reusable assembled surfaces: 50 patterns (composed component arrangements) and 121 template screens (full pages/flows). Search this file by category, keyword, or component tag BEFORE composing a surface from primitives. `source:` is the copyable markup; `docs:` is the live docs-site route (Gen-UI Feed is excluded — it demos gen-ui-wiring's runtime-generated pattern).
13
13
 
14
14
  ## Patterns
15
15
 
@@ -64,21 +64,29 @@
64
64
  - keywords: facet, chips, refine, narrow, segment, query
65
65
  - components: `action-item-ui` `tag-ui` `button-ui` `segment-ui` `card-ui` `row-ui` `action-list-ui` `code-ui` `popover-ui` `search-ui` `segmented-ui` `table-ui` `text-ui` `toolbar-ui`
66
66
  - source: `/packages/web-components/patterns/filter-bar/filter-bar.examples.html` · demo: `/packages/web-components/patterns/filter-bar/filter-bar.html` · docs: `/site/patterns/filter-bar`
67
+ - **Table in Card** (Patterns) — The full table structural system in a card — header title/action, a title-less toolbar row, a bleed table, and a footer with a range label + pager — reach for it for any card-framed data grid that needs a pager.
68
+ - keywords: data grid, pagination, table footer, table toolbar, status dot, kebab actions
69
+ - components: `card-ui` `table-footer-ui` `table-toolbar-ui` `table-ui` `button-ui` `code-ui`
70
+ - source: `/packages/web-components/patterns/table-in-card/table-in-card.examples.html` · demo: `/packages/web-components/patterns/table-in-card/table-in-card.html` · docs: `/site/patterns/table-in-card`
67
71
 
68
72
  ### data-viz
69
73
 
70
74
  - **Chart in Card** (Patterns) — Embeds a chart inside a card so it reads as a dashboard tile — sparkline tile, full framed chart, or chart-plus-headline-stat.
71
75
  - keywords: dashboard tile, kpi tile, sparkline, metric tile, graph
72
- - components: `card-ui` `chart-ui` `text-ui` `stat-ui` `chart-legend-ui` `segment-ui` `button-ui` `code-ui` `col-ui` `grid-ui` `segmented-ui`
76
+ - components: `card-ui` `chart-ui` `text-ui` `chart-legend-ui` `stat-ui` `segment-ui` `button-ui` `code-ui` `col-ui` `grid-ui` `segmented-ui`
73
77
  - source: `/packages/web-components/patterns/chart-in-card/chart-in-card.examples.html` · demo: `/packages/web-components/patterns/chart-in-card/chart-in-card.html` · docs: `/site/patterns/chart-in-card`
74
78
  - **Charts** (Patterns) — Full live-demo reference for Charts 2.0 — all 18 chart-ui types, the ADR-0074 ratio grammar (auto-snap + explicit pin), chart-legend-ui's ratio-responsive row/grid/list layouts, the chart-in-card full-bleed pattern, and every ratified chart-ui attribute.
75
79
  - keywords: chart types, ratio grammar, chart legend, full bleed, ADR-0074, data visualization
76
- - components: `segment-ui` `chart-ui` `card-ui` `text-ui` `segmented-ui` `code-ui` `chart-legend-ui` `alert-ui` `grid-ui`
80
+ - components: `segment-ui` `chart-ui` `card-ui` `text-ui` `segmented-ui` `chart-legend-ui` `code-ui` `button-ui` `grid-ui` `row-ui` `select-ui` `alert-ui`
77
81
  - source: `/site/pages/patterns/charts.html` · docs: `/site/patterns/charts`
78
82
  - **Conversion Funnel** (Patterns) — Multi-step drop-off funnel built from labeled progress rows — reach for onboarding, checkout, activation, or paywall sequences.
79
83
  - keywords: drop-off, activation, checkout steps, sign-up flow, progress rows
80
84
  - components: `text-ui` `progress-ui` `col-ui` `badge-ui` `card-ui` `row-ui` `segment-ui` `button-ui` `segmented-ui`
81
85
  - source: `/packages/web-components/patterns/conversion-funnel/conversion-funnel.examples.html` · demo: `/packages/web-components/patterns/conversion-funnel/conversion-funnel.html` · docs: `/site/patterns/conversion-funnel`
86
+ - **New Enrollments** (Patterns) — A "New enrollments" dashboard card recreated across four chart-type variants (stacked-bar, area, sparkline, radial-bar) sharing one header grammar, composing the Charts 2.0 foundations (chip labels, today-marker, provisional state, legend band).
87
+ - keywords: new enrollments, dashboard card, stacked bar, area chart, sparkline, radial bar, provisional state, today marker, legend band
88
+ - components: `button-ui` `card-ui` `chart-ui` `row-ui` `select-ui` `chart-legend-ui`
89
+ - source: `/packages/web-components/patterns/new-enrollments/new-enrollments.examples.html` · demo: `/packages/web-components/patterns/new-enrollments/new-enrollments.html` · docs: `/site/patterns/new-enrollments`
82
90
  - **Retention Cohort** (Patterns) — Retention cohort heatmap rendered as a table with color-bucketed badge cells — reach for it for retention/decay reporting.
83
91
  - keywords: heatmap, churn, decay, weekly buckets, engagement grid
84
92
  - components: `card-ui` `badge-ui` `table-ui` `text-ui` `stat-ui` `code-ui` `grid-ui` `row-ui`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adia-ai/mcp",
3
- "version": "0.8.44",
3
+ "version": "0.8.46",
4
4
  "description": "AdiaUI's three MCP servers, one npm package (gh#1240, ADR-0051). `adia-mcp gen-ui` — the 31-tool generation server (compose engine, corpus, retrieval, feedback/eval loop). `adia-mcp protocol` — the 5-tool A2UI protocol server (validate + registry introspection + the L0/L1 catalog-contract rungs, no generation system, no model client). `adia-mcp factory` — the 7-tool adia-factory server (orient, scaffold, audit, surface QA for building adia-ui apps from any MCP harness; no generation system, no model client). ADR-0048 §3's distinct-server decision is unchanged; only the distribution unified.",
5
5
  "type": "module",
6
6
  "bin": {