@adia-ai/adia-ui-factory 0.2.4 → 0.8.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.
Files changed (144) hide show
  1. package/.claude-plugin/plugin.json +5 -7
  2. package/.mcp.json +1 -1
  3. package/CHANGELOG.md +27 -67
  4. package/README.md +32 -53
  5. package/agents/app-architect.md +28 -0
  6. package/agents/routing-corpus.json +202 -0
  7. package/agents/screen-composer.md +27 -0
  8. package/bin/adia-lint +17 -2
  9. package/commands/adia-genui.md +5 -8
  10. package/commands/adia-migrate.md +5 -6
  11. package/commands/adia-orient.md +5 -10
  12. package/commands/adia-scaffold.md +7 -13
  13. package/commands/adia-verify.md +5 -6
  14. package/package.json +5 -6
  15. package/references/a2ui-mcp-tools.md +11 -8
  16. package/references/authoring-components.md +25 -1
  17. package/references/component-model.md +52 -4
  18. package/references/contracts/a2ui-mcp-surface.md +35 -0
  19. package/references/contracts/migration-guide-format.md +34 -0
  20. package/references/data-and-hydration.md +8 -5
  21. package/references/genui-a2ui.md +12 -6
  22. package/references/llm.md +22 -39
  23. package/references/migration.md +110 -36
  24. package/references/project-shapes.md +11 -13
  25. package/references/shell-admin.md +5 -2
  26. package/references/shell-chat.md +5 -3
  27. package/references/shell-editor.md +1 -1
  28. package/references/shell-embed.md +40 -26
  29. package/references/shell-simple.md +5 -2
  30. package/references/spa-architecture.md +28 -73
  31. package/references/ssr-integration.md +1 -1
  32. package/references/verification.md +8 -12
  33. package/skills/adia-compose/SKILL.md +52 -0
  34. package/skills/{adia-ui-kit → adia-compose}/assets/figma-make/guidelines/Guidelines.md +3 -3
  35. package/skills/{adia-ui-kit → adia-compose}/assets/figma-make/guidelines/components.md +1 -1
  36. package/skills/{adia-ui-kit → adia-compose}/assets/figma-make/guidelines/styles.md +1 -1
  37. package/skills/{adia-ui-kit → adia-compose}/assets/figma-make/guidelines/tokens.md +3 -3
  38. package/skills/{adia-ui-kit → adia-compose}/assets/templates/FEEDBACK.template.md +7 -7
  39. package/skills/{adia-ui-kit → adia-compose}/assets/templates/RESPONSE.template.md +6 -7
  40. package/skills/adia-compose/references/composition-traps.md +58 -0
  41. package/skills/adia-compose/references/feedback-discipline.md +20 -0
  42. package/skills/adia-compose/references/spec-to-ui-reasoning.md +158 -0
  43. package/skills/adia-data/SKILL.md +78 -0
  44. package/skills/adia-genui/SKILL.md +83 -0
  45. package/skills/adia-host/SKILL.md +119 -0
  46. package/skills/adia-llm/SKILL.md +36 -0
  47. package/skills/adia-migrate/SKILL.md +76 -0
  48. package/skills/adia-orient/SKILL.md +123 -0
  49. package/skills/adia-project/SKILL.md +83 -0
  50. package/skills/adia-shells/SKILL.md +74 -0
  51. package/skills/adia-verify/SKILL.md +43 -0
  52. package/skills/adia-verify/references/verification.md +42 -0
  53. package/commands/adia-compose.md +0 -10
  54. package/commands/adia-wire.md +0 -13
  55. package/skills/adia-ui-compose/SKILL.md +0 -57
  56. package/skills/adia-ui-data/SKILL.md +0 -62
  57. package/skills/adia-ui-factory/SKILL.md +0 -113
  58. package/skills/adia-ui-genui/SKILL.md +0 -74
  59. package/skills/adia-ui-kit/CHANGELOG.md +0 -41
  60. package/skills/adia-ui-kit/SKILL.md +0 -442
  61. package/skills/adia-ui-kit/assets/team-scaffold/archive-README.md +0 -30
  62. package/skills/adia-ui-kit/assets/team-scaffold/drafts-README.md +0 -57
  63. package/skills/adia-ui-kit/assets/team-scaffold/inbox-README.md +0 -76
  64. package/skills/adia-ui-kit/assets/team-scaffold/outbox-README.md +0 -46
  65. package/skills/adia-ui-kit/assets/team-scaffold/team-root.README.md +0 -51
  66. package/skills/adia-ui-kit/assets/team-scaffold/tickets-README.md +0 -208
  67. package/skills/adia-ui-kit/assets/team-scaffold/tickets-REGISTRY.md +0 -81
  68. package/skills/adia-ui-kit/assets/templates/AGENTS.template.md +0 -128
  69. package/skills/adia-ui-kit/assets/templates/CLAUDE.template.md +0 -1
  70. package/skills/adia-ui-kit/assets/templates/figma-make-guidelines.md +0 -90
  71. package/skills/adia-ui-kit/evals/adversarial-content-trust.json +0 -83
  72. package/skills/adia-ui-kit/evals/evals.json +0 -55
  73. package/skills/adia-ui-kit/evals/routing-corpus.json +0 -121
  74. package/skills/adia-ui-kit/evals/teach-routing-cases.json +0 -92
  75. package/skills/adia-ui-kit/references/capabilities.md +0 -245
  76. package/skills/adia-ui-kit/references/catalog-lookup.md +0 -186
  77. package/skills/adia-ui-kit/references/changelog-archive/CHANGELOG-v1.md +0 -8
  78. package/skills/adia-ui-kit/references/changelog-archive/CHANGELOG-v2.md +0 -3585
  79. package/skills/adia-ui-kit/references/changelog-archive/CHANGELOG-v3.md +0 -1899
  80. package/skills/adia-ui-kit/references/common-gotchas-consumer.md +0 -522
  81. package/skills/adia-ui-kit/references/component-literacy.md +0 -291
  82. package/skills/adia-ui-kit/references/composition.md +0 -245
  83. package/skills/adia-ui-kit/references/correction-loop.md +0 -462
  84. package/skills/adia-ui-kit/references/css-policy.md +0 -343
  85. package/skills/adia-ui-kit/references/decision-model.md +0 -158
  86. package/skills/adia-ui-kit/references/diagnostic-output.md +0 -57
  87. package/skills/adia-ui-kit/references/docs-catalog.md +0 -239
  88. package/skills/adia-ui-kit/references/exclusions.md +0 -225
  89. package/skills/adia-ui-kit/references/feedback-authoring.md +0 -466
  90. package/skills/adia-ui-kit/references/figma-make.md +0 -244
  91. package/skills/adia-ui-kit/references/flows-auth.md +0 -307
  92. package/skills/adia-ui-kit/references/flows-content.md +0 -206
  93. package/skills/adia-ui-kit/references/flows-data.md +0 -348
  94. package/skills/adia-ui-kit/references/flows-interaction.md +0 -181
  95. package/skills/adia-ui-kit/references/flows-shells.md +0 -336
  96. package/skills/adia-ui-kit/references/gap-detection.md +0 -266
  97. package/skills/adia-ui-kit/references/harness.md +0 -284
  98. package/skills/adia-ui-kit/references/loading-protocol.md +0 -406
  99. package/skills/adia-ui-kit/references/local-link.md +0 -198
  100. package/skills/adia-ui-kit/references/mcp.md +0 -401
  101. package/skills/adia-ui-kit/references/migration.md +0 -116
  102. package/skills/adia-ui-kit/references/mission.md +0 -194
  103. package/skills/adia-ui-kit/references/mode-routing.md +0 -298
  104. package/skills/adia-ui-kit/references/patterns-agent.md +0 -223
  105. package/skills/adia-ui-kit/references/patterns-data.md +0 -1065
  106. package/skills/adia-ui-kit/references/patterns-forms.md +0 -223
  107. package/skills/adia-ui-kit/references/patterns-layout.md +0 -326
  108. package/skills/adia-ui-kit/references/patterns-recipes.md +0 -1416
  109. package/skills/adia-ui-kit/references/patterns-shells.md +0 -1097
  110. package/skills/adia-ui-kit/references/patterns-traits.md +0 -259
  111. package/skills/adia-ui-kit/references/patterns-wiring.md +0 -339
  112. package/skills/adia-ui-kit/references/pev-rationale.md +0 -137
  113. package/skills/adia-ui-kit/references/reasoning-gate.md +0 -146
  114. package/skills/adia-ui-kit/references/reasoning-methodologies.md +0 -112
  115. package/skills/adia-ui-kit/references/recon.md +0 -192
  116. package/skills/adia-ui-kit/references/rendering-model.md +0 -431
  117. package/skills/adia-ui-kit/references/response-authoring.md +0 -398
  118. package/skills/adia-ui-kit/references/session-log-schema.md +0 -203
  119. package/skills/adia-ui-kit/references/session-log-template.md +0 -118
  120. package/skills/adia-ui-kit/references/setup.md +0 -652
  121. package/skills/adia-ui-kit/references/skill-hygiene.md +0 -135
  122. package/skills/adia-ui-kit/references/spec-to-ui-reasoning.md +0 -394
  123. package/skills/adia-ui-kit/references/state.md +0 -229
  124. package/skills/adia-ui-kit/references/teach-protocol.md +0 -421
  125. package/skills/adia-ui-kit/references/theme.md +0 -142
  126. package/skills/adia-ui-kit/references/version-check.md +0 -69
  127. package/skills/adia-ui-kit/scripts/audit-decision-trace.mjs +0 -198
  128. package/skills/adia-ui-kit/scripts/audit-kit-roster.mjs +0 -366
  129. package/skills/adia-ui-kit/scripts/changelog-archive.mjs +0 -126
  130. package/skills/adia-ui-kit/scripts/check-adia-versions.py +0 -404
  131. package/skills/adia-ui-kit/scripts/run-skill-evals.mjs +0 -358
  132. package/skills/adia-ui-kit/scripts/validate-session-log.mjs +0 -242
  133. package/skills/adia-ui-kit/skill.json +0 -102
  134. package/skills/adia-ui-llm/SKILL.md +0 -51
  135. package/skills/adia-ui-migrate/SKILL.md +0 -64
  136. package/skills/adia-ui-migration/CHANGELOG.md +0 -47
  137. package/skills/adia-ui-migration/SKILL.md +0 -381
  138. package/skills/adia-ui-migration/skill.json +0 -29
  139. package/skills/adia-ui-project/SKILL.md +0 -77
  140. package/skills/adia-ui-shells/SKILL.md +0 -62
  141. package/skills/adia-ui-spa/SKILL.md +0 -52
  142. package/skills/adia-ui-ssr/SKILL.md +0 -52
  143. package/skills/adia-ui-verify/SKILL.md +0 -44
  144. /package/skills/{adia-ui-kit → adia-compose}/assets/templates/FEEDBACK-OMISSIONS-DEFENSE.template.md +0 -0
@@ -1,223 +0,0 @@
1
- # Agent & Chat Patterns
2
-
3
- ## Chat Shell (canonical substrate composition)
4
-
5
- The canonical chat surface composes substrate primitives directly — `<chat-shell>` orchestrates LLM streaming + proxy-url wiring, with bespoke children for header / thread / composer / sidebar:
6
-
7
- ```html
8
- <chat-shell
9
- proxy-url="/api/chat"
10
- provider="anthropic"
11
- model="claude-sonnet-4-7"
12
- system="You are a helpful assistant."
13
- thinking>
14
- <chat-header>
15
- <span slot="name">Assistant</span>
16
- <chat-status slot="status">Connected</chat-status>
17
- </chat-header>
18
-
19
- <chat-thread>
20
- <chat-empty>
21
- <empty-state-ui icon="chat-circle" heading="How can I help?" description="Ask anything."></empty-state-ui>
22
- </chat-empty>
23
- </chat-thread>
24
-
25
- <chat-composer>
26
- <chat-input-ui placeholder="Message…" submit-on-enter></chat-input-ui>
27
- </chat-composer>
28
- </chat-shell>
29
- ```
30
-
31
- | Element | Purpose |
32
- |-----------|---------|
33
- | `chat-shell` | Behavior-only LLM-streaming orchestrator. Wires markdown rendering, code-block upgrades, proxy-url integration |
34
- | `chat-header` | Top chrome bar — name, status, settings |
35
- | `chat-thread` | Message-list scroll surface; reflects `[streaming]`, `[empty]` on itself |
36
- | `chat-empty` | Empty-state slot inside `<chat-thread>` |
37
- | `chat-composer` | Wraps the input primitive; flex footer alignment |
38
- | `chat-input-ui` | Primitive textarea with submit-on-enter, slash-commands, attachments |
39
- | `chat-sidebar` | Optional `slot="leading"` — conversation list, persistence |
40
- | `chat-status` | Reflected connection indicator inside `<chat-header>` |
41
-
42
- **State as attribute (cross-cut via `:has()`):**
43
-
44
- ```css
45
- chat-shell:has(chat-thread[streaming]) chat-header { /* show streaming indicator */ }
46
- chat-shell:has(chat-thread[empty]) chat-composer { /* center the empty-state */ }
47
- ```
48
-
49
- For the full canonical shape including sidebar persistence and styling, see `flows-shells.md` `## Chat Shell` and the substrate demo at `packages/web-modules/chat/chat-shell/chat-shell.examples.html`. Per ADR-0023, all children are bespoke cluster-namespaced elements; legacy data-attribute shapes (`[data-chat-messages]`, `[data-chat-input]`) were retired in v0.4.0 per ADR-0024.
50
-
51
- ## Manual Chat Layout (vanilla composition, no chat-shell)
52
-
53
- Build a chat surface from raw layout primitives — useful when you need full control over message-bubble rendering or aren't wiring an LLM stream:
54
-
55
- ```html
56
- <card-ui size="lg" style="height:600px;display:flex;flex-direction:column">
57
- <header divider>
58
- <span slot="icon"><avatar-ui text="Assistant" size="sm"></avatar-ui></span>
59
- <span slot="heading" variant="section">Assistant</span>
60
- <badge-ui slot="action" text="Online" variant="success" size="xs"></badge-ui>
61
- </header>
62
- <section style="flex:1;overflow-y:auto">
63
- <col-ui gap="4" id="messages"></col-ui>
64
- </section>
65
- <footer divider>
66
- <row-ui gap="2" style="width:100%">
67
- <input-ui raw placeholder="Type a message..." style="flex:1"></input-ui>
68
- <button-ui text="Send" variant="primary" icon="paper-plane-right" size="sm"></button-ui>
69
- </row-ui>
70
- </footer>
71
- </card-ui>
72
- ```
73
-
74
- ## Message Bubbles
75
-
76
- ```html
77
- <!-- User (right-aligned) -->
78
- <row-ui justify="end">
79
- <card-ui size="sm" variant="filled" style="max-width:70%;background:var(--a-accent-subtle)">
80
- <section><p>Can you help me build a dashboard?</p></section>
81
- </card-ui>
82
- </row-ui>
83
-
84
- <!-- Assistant (left-aligned with avatar) -->
85
- <row-ui gap="2" align="start">
86
- <avatar-ui text="AI" size="sm"></avatar-ui>
87
- <card-ui size="sm" style="max-width:70%">
88
- <section><p>I'd be happy to help!</p></section>
89
- </card-ui>
90
- </row-ui>
91
- ```
92
-
93
- ## Suggestion Chips
94
-
95
- ```html
96
- <row-ui gap="1" style="flex-wrap:wrap">
97
- <button-ui text="Stat cards dashboard" variant="outline" size="sm"></button-ui>
98
- <button-ui text="Login form" variant="outline" size="sm"></button-ui>
99
- <button-ui text="User profile card" variant="outline" size="sm"></button-ui>
100
- </row-ui>
101
- ```
102
-
103
- ## A2UI Rendering
104
-
105
- ### Static
106
- ```html
107
- <a2ui-root id="surface"></a2ui-root>
108
- ```
109
- ```js
110
- root.processAll([{
111
- type: 'updateComponents',
112
- surfaceId: 'default',
113
- components: [
114
- { id: 'root', component: 'Card', children: ['hdr', 'sec'] },
115
- { id: 'hdr', component: 'Header', children: ['title'] },
116
- { id: 'title', component: 'Text', variant: 'h3', textContent: 'Hello' },
117
- { id: 'sec', component: 'Section', children: ['col'] },
118
- { id: 'col', component: 'Column', children: ['msg'] },
119
- { id: 'msg', component: 'Text', variant: 'body', textContent: 'Generated content.' },
120
- ],
121
- }]);
122
- ```
123
-
124
- ### Streaming
125
- ```html
126
- <a2ui-root src="/api/agent" transport="sse"></a2ui-root>
127
- ```
128
- Transports: `sse`, `ws`, `jsonl`, `mcp`.
129
-
130
- ### A2UI Playground (debugging)
131
-
132
- For interactive A2UI debugging — schema explorer, surface state inspection, code view — open the playground app at `apps/genui/` (multi-route a2ui workbench) or `playgrounds/composed-flow/` (single-page demo). There is no dedicated `<a2ui-playground>` primitive; the playground experience is composed via `<a2ui-root>` + `<chat-shell>` + dev panels in those apps.
133
-
134
- ## Gen UI Pipeline
135
-
136
- ```js
137
- import { generateUI, generateUIStream } from '@adia-ai/a2ui-compose';
138
-
139
- // Instant mode (pattern matching, no LLM)
140
- const result = await generateUI({ intent: 'login form', mode: 'instant' });
141
-
142
- // Streaming mode (LLM-powered)
143
- for await (const event of generateUIStream({ intent: 'dashboard with metrics', llmAdapter })) {
144
- switch (event.type) {
145
- case 'status': // pipeline stage transition
146
- case 'clarify': // vague intent — questions for user
147
- case 'research': // brand/reference research results
148
- case 'decompose': // complex intent split into subtasks
149
- case 'text_delta': // raw LLM text chunk
150
- case 'partial': // parseable partial A2UI — render immediately
151
- case 'complete': // final result with validation, suggestions, executionId
152
- case 'error': // generation error
153
- }
154
- }
155
- ```
156
-
157
- Multi-turn: pass `executionId` from a previous `complete` event to iterate.
158
-
159
- ## Evolution Engine
160
-
161
- ```js
162
- import { savePattern, importPattern, FeedbackCollector, evaluatePromotion } from '@adia-ai/a2ui-compose';
163
-
164
- // Save a generation as a reusable pattern
165
- savePattern('login-form', { messages: result.messages, validation: result.validation, intent: 'login form', canvasHTML: canvas.getHTML() });
166
-
167
- // Import at runtime
168
- importPattern(patternJSON);
169
-
170
- // Collect user feedback
171
- const feedback = new FeedbackCollector();
172
- feedback.initFromGeneration(execId, { intent, domain, messages, validation });
173
- feedback.collectFeedback(execId, { rating: 5, intentAlignment: 5, visualQuality: 4, componentChoice: 5 });
174
-
175
- // Check if this should become a named pattern
176
- const promo = evaluatePromotion({ score: 98, feedback: { rating: 5 }, alignment: { score: 0.9 } });
177
- // -> { shouldPromote: true, confidence: 0.97, suggestedName: 'login-form' }
178
- ```
179
-
180
- ## Activity Feed
181
-
182
- ```html
183
- <card-ui>
184
- <header><span slot="heading" variant="section">Activity</span></header>
185
- <section>
186
- <col-ui gap="2">
187
- <row-ui gap="2" align="start">
188
- <avatar-ui text="Jane" size="sm"></avatar-ui>
189
- <col-ui gap="1">
190
- <small><strong>Jane</strong> created a new project</small>
191
- <small style="color:var(--a-canvas-text-subtle)">2 minutes ago</small>
192
- </col-ui>
193
- </row-ui>
194
- <divider-ui></divider-ui>
195
- <row-ui gap="2" align="start">
196
- <avatar-ui text="Alex" size="sm"></avatar-ui>
197
- <col-ui gap="1">
198
- <small><strong>Alex</strong> deployed to production</small>
199
- <small style="color:var(--a-canvas-text-subtle)">15 minutes ago</small>
200
- </col-ui>
201
- </row-ui>
202
- </col-ui>
203
- </section>
204
- </card-ui>
205
- ```
206
-
207
- ## MCP Tools (13)
208
-
209
- | Tool | Purpose |
210
- |------|---------|
211
- | `generate_ui` | Natural language -> A2UI |
212
- | `validate_schema` | 15 structural + 5 wiring checks |
213
- | `lookup_component` | Component API by type name |
214
- | `get_component_map` | Full 80-type catalog |
215
- | `search_patterns` | Keyword + semantic + remix search |
216
- | `classify_intent` | Domain classification |
217
- | `assemble_context` | Token-budgeted context assembly |
218
- | `check_anti_patterns` | HTML anti-pattern detection |
219
- | `get_traits` | Trait catalog |
220
- | `convert_html` | HTML -> A2UI transpilation |
221
- | `get_wiring_catalog` | Controller/handler/resolver catalog |
222
- | `import_pattern` | Import pattern JSON at runtime |
223
- | `submit_feedback` | Structured quality feedback |