@adia-ai/gen-ui 0.8.37
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 +26 -0
- package/README.md +77 -0
- package/compose/CHANGELOG.md +1707 -0
- package/compose/README.md +215 -0
- package/compose/core/artifacts.js +262 -0
- package/compose/core/context-store.js +218 -0
- package/compose/core/generator.d.ts +4 -0
- package/compose/core/generator.js +602 -0
- package/compose/core/pipeline/engine.js +289 -0
- package/compose/core/pipeline/types.js +91 -0
- package/compose/core/plan-primitives.js +120 -0
- package/compose/core/plan-turn.js +145 -0
- package/compose/core/reference.js +150 -0
- package/compose/core/state.js +15 -0
- package/compose/evals/harness.d.ts +4 -0
- package/compose/evals/harness.mjs +193 -0
- package/compose/index.d.ts +4 -0
- package/compose/index.js +16 -0
- package/compose/shared/validate-and-repair.js +122 -0
- package/compose/strategies/_shared/chunk-loader.js +282 -0
- package/compose/strategies/cascade.d.ts +67 -0
- package/compose/strategies/cascade.js +165 -0
- package/compose/strategies/escalation.d.ts +13 -0
- package/compose/strategies/escalation.js +132 -0
- package/compose/strategies/free-form-composer/index.js +254 -0
- package/compose/strategies/free-form-composer/system-prompt.js +205 -0
- package/compose/strategies/free-form-composer/transpile.js +279 -0
- package/compose/strategies/monolithic/_shared.js +1619 -0
- package/compose/strategies/monolithic/generate-instant.js +228 -0
- package/compose/strategies/monolithic/generate-pro.js +490 -0
- package/compose/strategies/monolithic/generate-thinking.js +206 -0
- package/compose/strategies/registry.d.ts +20 -0
- package/compose/strategies/registry.js +495 -0
- package/compose/strategies/zettel/_smoke.js +27 -0
- package/compose/strategies/zettel/chunk-composer.js +214 -0
- package/compose/strategies/zettel/chunk-refiner.js +582 -0
- package/compose/strategies/zettel/chunk-synthesizer.js +458 -0
- package/compose/strategies/zettel/composer.js +78 -0
- package/compose/strategies/zettel/composition-library.js +418 -0
- package/compose/strategies/zettel/generate.js +15 -0
- package/compose/strategies/zettel/generator-adapter.d.ts +4 -0
- package/compose/strategies/zettel/generator-adapter.js +242 -0
- package/compose/strategies/zettel/issue-reporter.js +607 -0
- package/compose/strategies/zettel/session-store.js +121 -0
- package/compose/strategies/zettel/state-cache.js +158 -0
- package/compose/transpiler/transpiler-maps.js +675 -0
- package/compose/transpiler/transpiler.d.ts +4 -0
- package/compose/transpiler/transpiler.js +962 -0
- package/corpus/CHANGELOG.md +1957 -0
- package/corpus/README.md +279 -0
- package/corpus/catalog-a2ui_0_9.d.ts +4 -0
- package/corpus/catalog-a2ui_0_9.json +29571 -0
- package/corpus/catalog-a2ui_0_9_rules.txt +1215 -0
- package/corpus/chunk-embeddings.d.ts +4 -0
- package/corpus/chunk-embeddings.json +1 -0
- package/corpus/chunks/_index.json +16658 -0
- package/corpus/chunks/_source-hashes.json +571 -0
- package/corpus/chunks/access-denied-with-request.json +124 -0
- package/corpus/chunks/access-request-form.json +166 -0
- package/corpus/chunks/access-request-pending.json +133 -0
- package/corpus/chunks/accordion-settings.json +176 -0
- package/corpus/chunks/achievement-badges.json +413 -0
- package/corpus/chunks/achievement-unlock.json +104 -0
- package/corpus/chunks/action-list-record-actions.json +84 -0
- package/corpus/chunks/activity-feed.json +390 -0
- package/corpus/chunks/admin-page-header-flush.json +83 -0
- package/corpus/chunks/admin-page-header-title-description.json +80 -0
- package/corpus/chunks/admin-page-header-with-actions.json +107 -0
- package/corpus/chunks/admin-page-header-with-tabs.json +144 -0
- package/corpus/chunks/admin-shell-rounded-borderless.json +287 -0
- package/corpus/chunks/admin-shell-standard.json +310 -0
- package/corpus/chunks/admin-sidebar-brand-signin.json +158 -0
- package/corpus/chunks/admin-sidebar-brand-version.json +130 -0
- package/corpus/chunks/admin-sidebar-flat-nav.json +131 -0
- package/corpus/chunks/admin-sidebar-nav-dividers.json +150 -0
- package/corpus/chunks/admin-sidebar-nav-groups.json +171 -0
- package/corpus/chunks/admin-sidebar-workspace-switcher.json +139 -0
- package/corpus/chunks/admin-topbar-breadcrumb-actions.json +130 -0
- package/corpus/chunks/admin-topbar-breadcrumb-minimal.json +79 -0
- package/corpus/chunks/admin-topbar-deep-breadcrumb.json +129 -0
- package/corpus/chunks/admin-topbar-search.json +104 -0
- package/corpus/chunks/admin-topbar-status-indicator.json +122 -0
- package/corpus/chunks/admin-topbar-trailing-toggle.json +114 -0
- package/corpus/chunks/agent-activity-feed.json +163 -0
- package/corpus/chunks/agent-artifact-stub-card.json +115 -0
- package/corpus/chunks/agent-canvas-shell.json +305 -0
- package/corpus/chunks/agent-citations-source-chips.json +82 -0
- package/corpus/chunks/agent-command-palette-search.json +120 -0
- package/corpus/chunks/agent-cost-detailed.json +260 -0
- package/corpus/chunks/agent-cost-inline.json +78 -0
- package/corpus/chunks/agent-memory-detail.json +181 -0
- package/corpus/chunks/agent-memory-editor.json +173 -0
- package/corpus/chunks/agent-memory-list.json +207 -0
- package/corpus/chunks/agent-pipeline-status-stages.json +61 -0
- package/corpus/chunks/agent-prompt-card.json +179 -0
- package/corpus/chunks/agent-prompt-library-grid.json +341 -0
- package/corpus/chunks/agent-prompt-picker.json +282 -0
- package/corpus/chunks/agent-rate-limit.json +100 -0
- package/corpus/chunks/agent-reasoning-collapsed.json +128 -0
- package/corpus/chunks/agent-tool-call-accordion.json +109 -0
- package/corpus/chunks/agent-tool-call-collapsed.json +98 -0
- package/corpus/chunks/agent-tool-call-error.json +112 -0
- package/corpus/chunks/agent-tool-call-result.json +145 -0
- package/corpus/chunks/agent-tool-call-running.json +85 -0
- package/corpus/chunks/agent-tool-call-success.json +137 -0
- package/corpus/chunks/agent-trace-timeline.json +244 -0
- package/corpus/chunks/ai-streaming-response.json +147 -0
- package/corpus/chunks/alert-banner-stack.json +78 -0
- package/corpus/chunks/alert-banner.json +55 -0
- package/corpus/chunks/alert-dialog-simple.json +72 -0
- package/corpus/chunks/alert-dialog-typed.json +107 -0
- package/corpus/chunks/alert-dialog-unsaved.json +81 -0
- package/corpus/chunks/analytics-chart.json +213 -0
- package/corpus/chunks/analytics-sparklines-dashboard.json +259 -0
- package/corpus/chunks/anchor-bar-selection-bar.json +226 -0
- package/corpus/chunks/api-key-table.json +148 -0
- package/corpus/chunks/api-keys-create.json +140 -0
- package/corpus/chunks/api-keys-list.json +271 -0
- package/corpus/chunks/app-nav-badges-counts.json +77 -0
- package/corpus/chunks/app-nav-badges-group-rollup-badges.json +100 -0
- package/corpus/chunks/app-nav-badges-plan-tiers.json +76 -0
- package/corpus/chunks/app-nav-badges-status-callouts.json +75 -0
- package/corpus/chunks/app-nav-full-example.json +195 -0
- package/corpus/chunks/app-nav-groups.json +103 -0
- package/corpus/chunks/app-nav-items.json +74 -0
- package/corpus/chunks/app-nav-labels-and-dividers.json +92 -0
- package/corpus/chunks/app-nav-spacer.json +77 -0
- package/corpus/chunks/app-product-listing-card.json +214 -0
- package/corpus/chunks/approvals-detail.json +240 -0
- package/corpus/chunks/approvals-queue.json +321 -0
- package/corpus/chunks/audit-log-basic.json +184 -0
- package/corpus/chunks/audit-log.json +174 -0
- package/corpus/chunks/auth-account-deleted-actions.json +51 -0
- package/corpus/chunks/auth-account-deleted.json +202 -0
- package/corpus/chunks/auth-card-content.json +260 -0
- package/corpus/chunks/auth-card-header.json +205 -0
- package/corpus/chunks/auth-email-entry.json +65 -0
- package/corpus/chunks/auth-email-verify-confirm.json +52 -0
- package/corpus/chunks/auth-email-verify.json +196 -0
- package/corpus/chunks/auth-forbidden-actions.json +59 -0
- package/corpus/chunks/auth-forbidden.json +203 -0
- package/corpus/chunks/auth-invite-actions.json +49 -0
- package/corpus/chunks/auth-invite-team-card.json +86 -0
- package/corpus/chunks/auth-link-expired-form.json +65 -0
- package/corpus/chunks/auth-link-expired.json +196 -0
- package/corpus/chunks/auth-locked-account.json +211 -0
- package/corpus/chunks/auth-locked-recovery-options.json +60 -0
- package/corpus/chunks/auth-mfa-enrollment-submit.json +54 -0
- package/corpus/chunks/auth-mfa-enrollment.json +284 -0
- package/corpus/chunks/auth-mfa-fallback-actions.json +52 -0
- package/corpus/chunks/auth-mfa-recovery.json +61 -0
- package/corpus/chunks/auth-new-password-form.json +75 -0
- package/corpus/chunks/auth-new-password.json +217 -0
- package/corpus/chunks/auth-oauth-fallback-actions.json +52 -0
- package/corpus/chunks/auth-oauth-interstitial.json +160 -0
- package/corpus/chunks/auth-password-challenge.json +94 -0
- package/corpus/chunks/auth-password-reset-form.json +64 -0
- package/corpus/chunks/auth-password-reset.json +195 -0
- package/corpus/chunks/auth-profile-form.json +72 -0
- package/corpus/chunks/auth-profile-setup.json +194 -0
- package/corpus/chunks/auth-reset-sent.json +188 -0
- package/corpus/chunks/auth-session-expired-actions.json +52 -0
- package/corpus/chunks/auth-session-expired.json +201 -0
- package/corpus/chunks/auth-signin-card-email.json +245 -0
- package/corpus/chunks/auth-signin-card-magic-link.json +147 -0
- package/corpus/chunks/auth-signin-card-mfa.json +231 -0
- package/corpus/chunks/auth-signin-card-otp.json +205 -0
- package/corpus/chunks/auth-signin-card-password.json +264 -0
- package/corpus/chunks/auth-signin-card-recovery.json +218 -0
- package/corpus/chunks/auth-signout-actions.json +51 -0
- package/corpus/chunks/auth-signout.json +184 -0
- package/corpus/chunks/auth-signup-email-entry.json +66 -0
- package/corpus/chunks/auth-signup-entry.json +281 -0
- package/corpus/chunks/auth-signup-social-auths.json +54 -0
- package/corpus/chunks/auth-signup-verify.json +227 -0
- package/corpus/chunks/auth-social-auths.json +62 -0
- package/corpus/chunks/auth-sso-providers.json +55 -0
- package/corpus/chunks/auth-sso-required.json +213 -0
- package/corpus/chunks/auth-team-invite.json +288 -0
- package/corpus/chunks/avatar-group-overflow.json +137 -0
- package/corpus/chunks/avatar-stack-overflow.json +124 -0
- package/corpus/chunks/banner-announcement-beta.json +99 -0
- package/corpus/chunks/banner-announcement-promo.json +102 -0
- package/corpus/chunks/banner-live-update.json +102 -0
- package/corpus/chunks/banner-system-maintenance.json +101 -0
- package/corpus/chunks/banner-system-offline.json +85 -0
- package/corpus/chunks/banner-system-update.json +102 -0
- package/corpus/chunks/bell-menu-empty.json +107 -0
- package/corpus/chunks/bell-menu-unread.json +395 -0
- package/corpus/chunks/billing-cancel-subscription-danger.json +61 -0
- package/corpus/chunks/billing-invoice-history-table.json +75 -0
- package/corpus/chunks/billing-overview.json +202 -0
- package/corpus/chunks/billing-payment-method-card-on-file.json +157 -0
- package/corpus/chunks/billing-progress-label.json +101 -0
- package/corpus/chunks/blog-post-card.json +212 -0
- package/corpus/chunks/breadcrumb-navigation.json +72 -0
- package/corpus/chunks/bulk-action-toolbar-floating.json +199 -0
- package/corpus/chunks/bulk-action-toolbar-swap.json +158 -0
- package/corpus/chunks/bulk-selection-actions-bar.json +162 -0
- package/corpus/chunks/business-address-form.json +953 -0
- package/corpus/chunks/calendar-month-view.json +74 -0
- package/corpus/chunks/card-grid-images.json +459 -0
- package/corpus/chunks/card-header-with-description.json +47 -0
- package/corpus/chunks/card-with-empty-state.json +96 -0
- package/corpus/chunks/card-with-form.json +143 -0
- package/corpus/chunks/card-with-sparkline.json +90 -0
- package/corpus/chunks/card-with-stat-kpi.json +86 -0
- package/corpus/chunks/changelog-feed-basic.json +470 -0
- package/corpus/chunks/chart-in-card-chart-plus-breakdown.json +188 -0
- package/corpus/chunks/chart-in-card-chart-plus-stat.json +89 -0
- package/corpus/chunks/chart-in-card-chart-with-filter-pills.json +124 -0
- package/corpus/chunks/chart-in-card-full-bleed-legend.json +116 -0
- package/corpus/chunks/chart-in-card-full-chart.json +107 -0
- package/corpus/chunks/chart-in-card-sparkline-tile.json +93 -0
- package/corpus/chunks/chart-in-card-stat-with-sparkline.json +73 -0
- package/corpus/chunks/chart-in-card-trend-footer.json +115 -0
- package/corpus/chunks/chart-with-filter-pills.json +169 -0
- package/corpus/chunks/chat-empty-state-hero.json +102 -0
- package/corpus/chunks/chat-message-assistant-byline.json +85 -0
- package/corpus/chunks/chat-message-user-byline.json +84 -0
- package/corpus/chunks/chat-page-shell.json +379 -0
- package/corpus/chunks/chat-streaming-surface.json +169 -0
- package/corpus/chunks/checkout-order-summary-card.json +140 -0
- package/corpus/chunks/code-snippet.json +107 -0
- package/corpus/chunks/col-form-stack.json +93 -0
- package/corpus/chunks/col-heading-body-action.json +79 -0
- package/corpus/chunks/col-stat-label.json +63 -0
- package/corpus/chunks/color-picker-swatches.json +153 -0
- package/corpus/chunks/command-palette.json +327 -0
- package/corpus/chunks/comments-composer.json +158 -0
- package/corpus/chunks/comments-mention-menu.json +237 -0
- package/corpus/chunks/comments-thread.json +344 -0
- package/corpus/chunks/commerce-pricing-tiers.json +401 -0
- package/corpus/chunks/comparison-table.json +246 -0
- package/corpus/chunks/contact-form-card.json +197 -0
- package/corpus/chunks/contact-form.json +157 -0
- package/corpus/chunks/contact-support-form.json +702 -0
- package/corpus/chunks/conversion-funnel-4-step-funnel.json +139 -0
- package/corpus/chunks/conversion-funnel-6step.json +151 -0
- package/corpus/chunks/conversion-funnel-wide-summary.json +192 -0
- package/corpus/chunks/conversion-funnel-with-segment-compare.json +202 -0
- package/corpus/chunks/cta-banner-centered.json +102 -0
- package/corpus/chunks/dashboard-acquisition-panel.json +212 -0
- package/corpus/chunks/dashboard-admin-page.json +104 -0
- package/corpus/chunks/dashboard-audience-kpis.json +165 -0
- package/corpus/chunks/dashboard-audience-panel.json +756 -0
- package/corpus/chunks/dashboard-behavior-panel.json +114 -0
- package/corpus/chunks/dashboard-chart-recent.json +566 -0
- package/corpus/chunks/dashboard-cohort-retention.json +83 -0
- package/corpus/chunks/dashboard-conversion-panel.json +234 -0
- package/corpus/chunks/dashboard-country-list.json +304 -0
- package/corpus/chunks/dashboard-filter-bar.json +118 -0
- package/corpus/chunks/dashboard-funnel.json +142 -0
- package/corpus/chunks/dashboard-notifications-panel.json +423 -0
- package/corpus/chunks/dashboard-overview-panel.json +1644 -0
- package/corpus/chunks/dashboard-page-header.json +166 -0
- package/corpus/chunks/dashboard-pages-table.json +86 -0
- package/corpus/chunks/dashboard-quick-actions.json +116 -0
- package/corpus/chunks/dashboard-reports-panel.json +166 -0
- package/corpus/chunks/dashboard-reports-table.json +138 -0
- package/corpus/chunks/dashboard-storage-card.json +117 -0
- package/corpus/chunks/dashboard-tabs.json +86 -0
- package/corpus/chunks/dashboard-team-actions-storage.json +605 -0
- package/corpus/chunks/dashboard-team-list.json +334 -0
- package/corpus/chunks/dashboard-traffic-channels.json +184 -0
- package/corpus/chunks/dashboard-transactions-table.json +145 -0
- package/corpus/chunks/data-export-history.json +192 -0
- package/corpus/chunks/data-export-request.json +197 -0
- package/corpus/chunks/data-import-wizard.json +391 -0
- package/corpus/chunks/date-range-picker.json +156 -0
- package/corpus/chunks/date-time-picker-form.json +222 -0
- package/corpus/chunks/departments-checkbox-form.json +390 -0
- package/corpus/chunks/destructive-confirm-modal.json +149 -0
- package/corpus/chunks/diff-inline.json +84 -0
- package/corpus/chunks/diff-side-by-side.json +131 -0
- package/corpus/chunks/diff-structured.json +216 -0
- package/corpus/chunks/digest-email-preview.json +374 -0
- package/corpus/chunks/divider-text-label.json +87 -0
- package/corpus/chunks/doc-editor-shell.json +356 -0
- package/corpus/chunks/drawer-2fa-key.json +273 -0
- package/corpus/chunks/drawer-2fa-sms.json +261 -0
- package/corpus/chunks/drawer-2fa-totp.json +385 -0
- package/corpus/chunks/drawer-cancel-sub.json +636 -0
- package/corpus/chunks/drawer-change-plan.json +561 -0
- package/corpus/chunks/drawer-custom-roles.json +696 -0
- package/corpus/chunks/drawer-data-start.json +171 -0
- package/corpus/chunks/drawer-delete-account.json +341 -0
- package/corpus/chunks/drawer-delete-workspace.json +362 -0
- package/corpus/chunks/drawer-discord.json +434 -0
- package/corpus/chunks/drawer-figma.json +401 -0
- package/corpus/chunks/drawer-first-dashboard.json +220 -0
- package/corpus/chunks/drawer-gcal.json +475 -0
- package/corpus/chunks/drawer-github.json +589 -0
- package/corpus/chunks/drawer-invite.json +397 -0
- package/corpus/chunks/drawer-record-detail.json +44 -0
- package/corpus/chunks/drawer-report.json +528 -0
- package/corpus/chunks/drawer-revoke-session.json +331 -0
- package/corpus/chunks/drawer-role.json +190 -0
- package/corpus/chunks/drawer-slack.json +429 -0
- package/corpus/chunks/drawer-smtp.json +476 -0
- package/corpus/chunks/drawer-source.json +294 -0
- package/corpus/chunks/drawer-transaction.json +493 -0
- package/corpus/chunks/drawer-with-create-form.json +43 -0
- package/corpus/chunks/editor-code-pane.json +204 -0
- package/corpus/chunks/editor-page-shell.json +149 -0
- package/corpus/chunks/editor-preview-pane.json +136 -0
- package/corpus/chunks/editor-statusbar-ready.json +99 -0
- package/corpus/chunks/editor-toolbar-import-export.json +195 -0
- package/corpus/chunks/email-inbox-list.json +678 -0
- package/corpus/chunks/empty-state-danger.json +58 -0
- package/corpus/chunks/empty-state-minimal.json +44 -0
- package/corpus/chunks/empty-state-warning.json +53 -0
- package/corpus/chunks/empty-state.json +65 -0
- package/corpus/chunks/error-404-actions.json +54 -0
- package/corpus/chunks/error-404.json +204 -0
- package/corpus/chunks/error-500-actions.json +61 -0
- package/corpus/chunks/error-500.json +220 -0
- package/corpus/chunks/error-maintenance-actions.json +53 -0
- package/corpus/chunks/error-maintenance.json +203 -0
- package/corpus/chunks/error-page-shell.json +132 -0
- package/corpus/chunks/export-flow-async.json +210 -0
- package/corpus/chunks/export-flow-delivery.json +163 -0
- package/corpus/chunks/export-flow-sync.json +162 -0
- package/corpus/chunks/extended-profile-form.json +512 -0
- package/corpus/chunks/faq-accordion.json +123 -0
- package/corpus/chunks/feature-grid-icons.json +314 -0
- package/corpus/chunks/feature-grid-three-cards.json +187 -0
- package/corpus/chunks/feature-toggle-switch-grid.json +213 -0
- package/corpus/chunks/file-upload-dnd.json +166 -0
- package/corpus/chunks/file-upload-field.json +97 -0
- package/corpus/chunks/file-upload-form.json +251 -0
- package/corpus/chunks/filter-bar-active-filters.json +176 -0
- package/corpus/chunks/filter-bar-filter-bar-with-table.json +113 -0
- package/corpus/chunks/filter-bar-saved-views.json +117 -0
- package/corpus/chunks/filter-popover-form.json +137 -0
- package/corpus/chunks/footer-multi-column.json +270 -0
- package/corpus/chunks/footer-primary-only.json +41 -0
- package/corpus/chunks/form-checkbox-group.json +65 -0
- package/corpus/chunks/form-drawer-edit-form.json +178 -0
- package/corpus/chunks/form-drawer-simple-form.json +151 -0
- package/corpus/chunks/form-drawer-tall-form.json +325 -0
- package/corpus/chunks/form-field-email-hint.json +53 -0
- package/corpus/chunks/form-field-range.json +54 -0
- package/corpus/chunks/form-field-required.json +52 -0
- package/corpus/chunks/form-field-select.json +66 -0
- package/corpus/chunks/form-field-textarea.json +51 -0
- package/corpus/chunks/form-field-with-error.json +151 -0
- package/corpus/chunks/form-fields-two-column.json +69 -0
- package/corpus/chunks/form-page-shell.json +146 -0
- package/corpus/chunks/form-switch-toggle.json +41 -0
- package/corpus/chunks/form-system-live-demo.json +123 -0
- package/corpus/chunks/forms-address-autocomplete.json +277 -0
- package/corpus/chunks/forms-address-fields.json +221 -0
- package/corpus/chunks/forms-conditional-reveal.json +195 -0
- package/corpus/chunks/gallery-page-shell.json +444 -0
- package/corpus/chunks/grid-2col-entry-cards.json +140 -0
- package/corpus/chunks/grid-kpi-4col.json +164 -0
- package/corpus/chunks/grid-responsive-kpi.json +165 -0
- package/corpus/chunks/hero-cta-simple.json +107 -0
- package/corpus/chunks/hero-cta-split.json +183 -0
- package/corpus/chunks/hero-section-split.json +111 -0
- package/corpus/chunks/icon-text-row.json +60 -0
- package/corpus/chunks/image-caption-tile.json +99 -0
- package/corpus/chunks/image-carousel.json +156 -0
- package/corpus/chunks/image-thumbnail-grid.json +77 -0
- package/corpus/chunks/image-upload-preview.json +118 -0
- package/corpus/chunks/import-mapping-flow.json +972 -0
- package/corpus/chunks/inline-dialog-rename.json +128 -0
- package/corpus/chunks/inline-dialog-schedule.json +154 -0
- package/corpus/chunks/inline-dialog-status.json +179 -0
- package/corpus/chunks/integrations-api-keys-card-list.json +475 -0
- package/corpus/chunks/integrations-connect-form.json +550 -0
- package/corpus/chunks/integrations-grid.json +141 -0
- package/corpus/chunks/integrations-webhooks-empty-state.json +66 -0
- package/corpus/chunks/inventory-list-stock.json +137 -0
- package/corpus/chunks/invite-members.json +153 -0
- package/corpus/chunks/invoice-line-items.json +493 -0
- package/corpus/chunks/kanban-board-3col.json +713 -0
- package/corpus/chunks/kanban-page-shell.json +671 -0
- package/corpus/chunks/key-value-detail-list.json +242 -0
- package/corpus/chunks/keyboard-shortcut-display.json +250 -0
- package/corpus/chunks/labeled-textarea.json +45 -0
- package/corpus/chunks/leaderboard-table.json +140 -0
- package/corpus/chunks/library-browser-search-filter.json +109 -0
- package/corpus/chunks/linked-record-row.json +61 -0
- package/corpus/chunks/loading-skeleton-placeholder.json +387 -0
- package/corpus/chunks/login-form-card.json +207 -0
- package/corpus/chunks/logo-cloud-trusted-by.json +235 -0
- package/corpus/chunks/map-with-location-list.json +293 -0
- package/corpus/chunks/marketing-hero-cta.json +102 -0
- package/corpus/chunks/marketing-page-shell.json +352 -0
- package/corpus/chunks/masonry-gallery.json +154 -0
- package/corpus/chunks/member-edit-drawer.json +236 -0
- package/corpus/chunks/members-active-table-search-filter.json +184 -0
- package/corpus/chunks/members-pending-invites-cards.json +251 -0
- package/corpus/chunks/members-roles-permissions-list.json +146 -0
- package/corpus/chunks/menu-context-actions.json +113 -0
- package/corpus/chunks/metadata-description-list.json +178 -0
- package/corpus/chunks/modal-create-project-form.json +133 -0
- package/corpus/chunks/modal-preferences-tabs.json +147 -0
- package/corpus/chunks/multi-field-form-validation.json +394 -0
- package/corpus/chunks/nav-menu-icons.json +74 -0
- package/corpus/chunks/newsletter-subscription.json +190 -0
- package/corpus/chunks/notification-badges-feed.json +411 -0
- package/corpus/chunks/notification-preferences-panel.json +238 -0
- package/corpus/chunks/onb-completion.json +139 -0
- package/corpus/chunks/onb-extension-install.json +172 -0
- package/corpus/chunks/onb-hero-welcome.json +156 -0
- package/corpus/chunks/onb-import-picker.json +86 -0
- package/corpus/chunks/onb-mobile-handoff.json +121 -0
- package/corpus/chunks/onb-notification-prefs.json +83 -0
- package/corpus/chunks/onb-persona-picker.json +82 -0
- package/corpus/chunks/onb-provider-tiles.json +137 -0
- package/corpus/chunks/onb-settings-review.json +257 -0
- package/corpus/chunks/onb-step-footer.json +121 -0
- package/corpus/chunks/onb-step-header.json +121 -0
- package/corpus/chunks/onb-step-progress.json +140 -0
- package/corpus/chunks/onb-step-shell.json +380 -0
- package/corpus/chunks/onb-story-pane.json +121 -0
- package/corpus/chunks/onb-tutorial-steps.json +193 -0
- package/corpus/chunks/order-confirmation-success-card.json +177 -0
- package/corpus/chunks/order-tracking-timeline.json +131 -0
- package/corpus/chunks/pagination-controls.json +82 -0
- package/corpus/chunks/pane-settings-sidebar.json +204 -0
- package/corpus/chunks/patient-visit-shell.json +191 -0
- package/corpus/chunks/payment-checkout-form.json +341 -0
- package/corpus/chunks/payment-method-form.json +328 -0
- package/corpus/chunks/period-comparison.json +236 -0
- package/corpus/chunks/permission-matrix-table.json +438 -0
- package/corpus/chunks/permissions-matrix-grid.json +111 -0
- package/corpus/chunks/permissions-matrix-summary.json +157 -0
- package/corpus/chunks/permissions-role-picker-radio.json +107 -0
- package/corpus/chunks/permissions-role-picker-select.json +101 -0
- package/corpus/chunks/permissions-share-link.json +256 -0
- package/corpus/chunks/permissions-share-people.json +297 -0
- package/corpus/chunks/permissions-sharing-scopes.json +109 -0
- package/corpus/chunks/plan-selection-form.json +529 -0
- package/corpus/chunks/playground-a2ui.json +181 -0
- package/corpus/chunks/playground-agent-admin.json +117 -0
- package/corpus/chunks/playground-agent-chat.json +126 -0
- package/corpus/chunks/playground-app-shell.json +488 -0
- package/corpus/chunks/playground-chat.json +265 -0
- package/corpus/chunks/playground-construct-canvas.json +118 -0
- package/corpus/chunks/playground-css-channel.json +487 -0
- package/corpus/chunks/playground-gen-ui.json +224 -0
- package/corpus/chunks/playground-render-preview.json +369 -0
- package/corpus/chunks/playground-streams-bridge.json +437 -0
- package/corpus/chunks/playground-table-toolbar.json +38 -0
- package/corpus/chunks/popover-with-content.json +118 -0
- package/corpus/chunks/pricing-tiers.json +561 -0
- package/corpus/chunks/product-tour.json +158 -0
- package/corpus/chunks/profile-public.json +297 -0
- package/corpus/chunks/progress-tracker-milestones.json +294 -0
- package/corpus/chunks/radio-button-group.json +83 -0
- package/corpus/chunks/rating-stars-review-summary.json +259 -0
- package/corpus/chunks/reactions-bar.json +75 -0
- package/corpus/chunks/reactions-picker.json +245 -0
- package/corpus/chunks/real-time-metrics-dashboard.json +344 -0
- package/corpus/chunks/record-detail-drawer-simple-detail.json +296 -0
- package/corpus/chunks/record-detail-drawer-tabbed-detail.json +443 -0
- package/corpus/chunks/referral-share-link.json +128 -0
- package/corpus/chunks/referral-status.json +243 -0
- package/corpus/chunks/reg-address-form.json +825 -0
- package/corpus/chunks/reg-billing-card.json +210 -0
- package/corpus/chunks/reg-brand-scrape.json +599 -0
- package/corpus/chunks/reg-departments-toggle.json +259 -0
- package/corpus/chunks/reg-extended-profile.json +356 -0
- package/corpus/chunks/reg-final-done.json +457 -0
- package/corpus/chunks/reg-helpdesk-grid.json +571 -0
- package/corpus/chunks/reg-import-picker.json +112 -0
- package/corpus/chunks/reg-integrations-grid.json +418 -0
- package/corpus/chunks/reg-invite-form.json +245 -0
- package/corpus/chunks/reg-legal-entity.json +260 -0
- package/corpus/chunks/reg-org-chart-review.json +891 -0
- package/corpus/chunks/reg-profile-identity.json +188 -0
- package/corpus/chunks/reg-step-footer.json +201 -0
- package/corpus/chunks/reg-step-header.json +201 -0
- package/corpus/chunks/reg-step-progress.json +236 -0
- package/corpus/chunks/reg-step-shell.json +605 -0
- package/corpus/chunks/reg-story-pane.json +201 -0
- package/corpus/chunks/reg-success-summary.json +257 -0
- package/corpus/chunks/reg-team-size.json +128 -0
- package/corpus/chunks/reg-usecase-picker.json +104 -0
- package/corpus/chunks/reg-workspace-name.json +159 -0
- package/corpus/chunks/responsive-grid-pattern.json +71 -0
- package/corpus/chunks/responsive-kpi-grid.json +166 -0
- package/corpus/chunks/responsive-row-pattern.json +71 -0
- package/corpus/chunks/responsive-shell-sidebar.json +308 -0
- package/corpus/chunks/responsive-wrap-at-pattern.json +124 -0
- package/corpus/chunks/retention-cohort-default-retention.json +80 -0
- package/corpus/chunks/retention-cohort-stat-pair.json +163 -0
- package/corpus/chunks/retention-cohort-with-legend.json +135 -0
- package/corpus/chunks/revenue-heatmap.json +82 -0
- package/corpus/chunks/role-management.json +272 -0
- package/corpus/chunks/row-action-cluster.json +54 -0
- package/corpus/chunks/row-avatar-name-role.json +71 -0
- package/corpus/chunks/row-icon-label.json +52 -0
- package/corpus/chunks/row-spread-label-value.json +54 -0
- package/corpus/chunks/row-wrap-tags.json +72 -0
- package/corpus/chunks/schedule-meeting-form-card.json +229 -0
- package/corpus/chunks/search-recents-menu.json +195 -0
- package/corpus/chunks/search-results-grouped.json +357 -0
- package/corpus/chunks/search-results-list.json +202 -0
- package/corpus/chunks/search-saved-views.json +356 -0
- package/corpus/chunks/search-with-filters.json +311 -0
- package/corpus/chunks/searchable-picker-modal.json +164 -0
- package/corpus/chunks/section-with-stack.json +48 -0
- package/corpus/chunks/security-active-sessions-devices.json +287 -0
- package/corpus/chunks/security-change-password-form.json +102 -0
- package/corpus/chunks/security-delete-account-danger.json +79 -0
- package/corpus/chunks/segmented-control-billing-tabs.json +164 -0
- package/corpus/chunks/select-multiple-preselected.json +70 -0
- package/corpus/chunks/settings-2fa-setup.json +307 -0
- package/corpus/chunks/settings-admin-page.json +1205 -0
- package/corpus/chunks/settings-appearance-primitives.json +145 -0
- package/corpus/chunks/settings-appearance-theme-panel.json +55 -0
- package/corpus/chunks/settings-appearance.json +81 -0
- package/corpus/chunks/settings-danger-zone-delete-workspace.json +93 -0
- package/corpus/chunks/settings-general-form.json +69 -0
- package/corpus/chunks/settings-integrations.json +298 -0
- package/corpus/chunks/settings-members-invite.json +112 -0
- package/corpus/chunks/settings-notification-activity-checkboxes.json +108 -0
- package/corpus/chunks/settings-notification-channels-switches.json +101 -0
- package/corpus/chunks/settings-page-shell.json +190 -0
- package/corpus/chunks/settings-privacy.json +83 -0
- package/corpus/chunks/settings-profile-security.json +122 -0
- package/corpus/chunks/settings-toggle-switches.json +66 -0
- package/corpus/chunks/sidebar-nav.json +120 -0
- package/corpus/chunks/sidebar-navigation-panel.json +165 -0
- package/corpus/chunks/signup-form-card.json +218 -0
- package/corpus/chunks/signup-team-size-form.json +259 -0
- package/corpus/chunks/single-select-card-form.json +231 -0
- package/corpus/chunks/slider-range-controls.json +119 -0
- package/corpus/chunks/social-media-post-card.json +159 -0
- package/corpus/chunks/sortable-list.json +307 -0
- package/corpus/chunks/sortable-search-paginate-table.json +162 -0
- package/corpus/chunks/split-pane-editor.json +146 -0
- package/corpus/chunks/stack-avatar-badge-overlay.json +53 -0
- package/corpus/chunks/stack-image-shimmer.json +51 -0
- package/corpus/chunks/stat-cards-kpi-dashboard.json +178 -0
- package/corpus/chunks/stats-band-big-numbers.json +175 -0
- package/corpus/chunks/status-dashboard.json +282 -0
- package/corpus/chunks/stepper-form-wizard.json +165 -0
- package/corpus/chunks/subscription-status-renewal-card.json +285 -0
- package/corpus/chunks/survey-rating-form.json +165 -0
- package/corpus/chunks/swiper-product-carousel.json +349 -0
- package/corpus/chunks/swiper-testimonial-carousel.json +279 -0
- package/corpus/chunks/table-empty-state.json +116 -0
- package/corpus/chunks/table-inline-edit-row.json +269 -0
- package/corpus/chunks/table-spreadsheet-cells.json +334 -0
- package/corpus/chunks/table-toolbar-no-search.json +42 -0
- package/corpus/chunks/table-toolbar-with-table.json +208 -0
- package/corpus/chunks/table-with-toolbar-card.json +80 -0
- package/corpus/chunks/tabs-with-panels.json +187 -0
- package/corpus/chunks/tag-chips-filter.json +100 -0
- package/corpus/chunks/team-invite-form.json +380 -0
- package/corpus/chunks/team-members-list.json +341 -0
- package/corpus/chunks/testimonial-grid.json +269 -0
- package/corpus/chunks/testimonial-pull-quote.json +137 -0
- package/corpus/chunks/testimonials-avatar-cards.json +286 -0
- package/corpus/chunks/timeline-events.json +89 -0
- package/corpus/chunks/timezone-selector-basic.json +99 -0
- package/corpus/chunks/timezone-selector-preview.json +104 -0
- package/corpus/chunks/toolbar-icons.json +216 -0
- package/corpus/chunks/toolbar-rich-text-editor.json +230 -0
- package/corpus/chunks/toolbar-tooltips.json +191 -0
- package/corpus/chunks/tooltip-hover-button.json +106 -0
- package/corpus/chunks/tree-file-explorer.json +136 -0
- package/corpus/chunks/tree-table-basic.json +171 -0
- package/corpus/chunks/trial-banner.json +158 -0
- package/corpus/chunks/url-import-form.json +728 -0
- package/corpus/chunks/usage-quota-meter-card.json +217 -0
- package/corpus/chunks/user-identity-row.json +81 -0
- package/corpus/chunks/user-onboarding-checklist.json +301 -0
- package/corpus/chunks/user-profile-card.json +192 -0
- package/corpus/chunks/users-table-badge.json +135 -0
- package/corpus/chunks/verification-document-upload.json +179 -0
- package/corpus/chunks/verification-status.json +97 -0
- package/corpus/chunks/verification-stepper.json +111 -0
- package/corpus/chunks/video-player-controls.json +120 -0
- package/corpus/chunks/webhook-config.json +209 -0
- package/corpus/chunks/webhooks-list.json +204 -0
- package/corpus/chunks/wizard-drawer-three-step-wizard.json +443 -0
- package/corpus/manifest.d.ts +4 -0
- package/corpus/manifest.json +6 -0
- package/corpus/scripts/chunk-library.d.ts +4 -0
- package/corpus/scripts/chunk-library.js +335 -0
- package/node-shims.d.ts +48 -0
- package/package.json +215 -0
- package/retrieval/CHANGELOG.md +1073 -0
- package/retrieval/README.md +71 -0
- package/retrieval/anti-patterns.js +189 -0
- package/retrieval/authoring/index.d.ts +4 -0
- package/retrieval/authoring/index.js +9 -0
- package/retrieval/authoring/web-research.js +220 -0
- package/retrieval/catalog.js +250 -0
- package/retrieval/component-catalog.js +168 -0
- package/retrieval/component-entry.js +80 -0
- package/retrieval/context-assembler.js +174 -0
- package/retrieval/domain-router.js +417 -0
- package/retrieval/embedding/chunk-embedding-retriever.js +117 -0
- package/retrieval/embedding/embedding-provider.js +72 -0
- package/retrieval/embedding/index.d.ts +4 -0
- package/retrieval/embedding/index.js +2 -0
- package/retrieval/feedback/dialog-recorder.js +107 -0
- package/retrieval/feedback/feedback-analyzer.js +180 -0
- package/retrieval/feedback/feedback-store.js +194 -0
- package/retrieval/feedback/feedback.js +117 -0
- package/retrieval/feedback/gap-registry.js +80 -0
- package/retrieval/feedback/human-signal.js +113 -0
- package/retrieval/feedback/index.d.ts +4 -0
- package/retrieval/feedback/index.js +24 -0
- package/retrieval/feedback/submit-feedback.js +45 -0
- package/retrieval/index.d.ts +4 -0
- package/retrieval/index.js +53 -0
- package/retrieval/intent/clarity.js +139 -0
- package/retrieval/intent/decomposer.js +124 -0
- package/retrieval/intent/index.d.ts +4 -0
- package/retrieval/intent/index.js +18 -0
- package/retrieval/intent/intent-alignment.js +172 -0
- package/retrieval/intent/intent-categorizer.js +69 -0
- package/retrieval/intent/intent-gate.js +96 -0
- package/retrieval/intent/prompt-analyzer.js +162 -0
- package/retrieval/wiring-catalog.js +168 -0
- package/validate/catalog-validator.d.ts +4 -0
- package/validate/catalog-validator.js +327 -0
- package/validate/semantic/cache.js +54 -0
- package/validate/semantic/classify-intent.js +128 -0
- package/validate/semantic/index.js +163 -0
- package/validate/semantic/intent-specs.js +162 -0
- package/validate/semantic/judge.js +180 -0
package/corpus/README.md
ADDED
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
# @adia-ai/a2ui-corpus
|
|
2
|
+
|
|
3
|
+
Corpus and operational-learning artifacts for the A2UI pipeline —
|
|
4
|
+
**chunks** (the canonical retrieval surface), feedback, gaps, eval
|
|
5
|
+
fixtures. Pure data plus the scripts that maintain it. No runtime.
|
|
6
|
+
|
|
7
|
+
> The pipeline reads this package; this package never reads the pipeline.
|
|
8
|
+
> See [`@adia-ai/a2ui-compose`](../compose) for engine code,
|
|
9
|
+
> [`@adia-ai/web-components`](../../web-components) for UI atoms,
|
|
10
|
+
> [`@adia-ai/a2ui-runtime`](../../a2ui) for the A2UI runtime (renderer,
|
|
11
|
+
> registry, streams, wiring),
|
|
12
|
+
> [`@adia-ai/mcp`](../../mcp) for the MCP server (its `gen-ui` surface).
|
|
13
|
+
|
|
14
|
+
## Install
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install @adia-ai/a2ui-corpus
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Pure data — typically consumed transitively by [`@adia-ai/a2ui-compose`](../compose) and [`@adia-ai/mcp`](../../mcp) (its `gen-ui` surface), which list it as a runtime dependency. Direct installs are useful for offline eval tooling or building bespoke retrieval layers.
|
|
21
|
+
|
|
22
|
+
## Dependency direction
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
a2ui-compose ──reads──▶ a2ui-corpus
|
|
26
|
+
a2ui-mcp ──reads──▶ a2ui-compose, a2ui-corpus
|
|
27
|
+
web-components ──used-by──▶ apps/, playgrounds/, catalog/ (chunk sources)
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
No back-writes. No circular reads. Web-components ships UI atoms only;
|
|
31
|
+
corpus lives here; runtime lives in a2ui-compose. The chunk pipeline
|
|
32
|
+
harvests `data-chunk`-tagged regions from the apps that consume
|
|
33
|
+
web-components, so the read-direction stays one-way.
|
|
34
|
+
|
|
35
|
+
## Glossary
|
|
36
|
+
|
|
37
|
+
The corpus has converged on **one** retrievable concept: the **chunk**.
|
|
38
|
+
|
|
39
|
+
| Term | Source of truth | Granularity | What it carries | Engine that consumes it |
|
|
40
|
+
| --- | --- | --- | --- | --- |
|
|
41
|
+
| **chunk** | `chunks/<id>.json` (one file per chunk) + `_index.json` | A single labeled HTML region, harvested via `data-chunk` markers | `html`, `intent`, `domain`, `kind` (`block` / `page` / `panel`), `keywords`, `metadata` (when annotated), `template` (transpiled A2UI tree, when annotated) | `chunk-zettel` + `monolithic-pro` + `zettel` (composition-library wraps annotated chunks) |
|
|
42
|
+
|
|
43
|
+
**Annotated vs raw chunks**: every chunk has `source`/`page` provenance,
|
|
44
|
+
but only chunks carrying `data-chunk-{domain,description,keywords,kind}`
|
|
45
|
+
attributes on their source HTML become retrievable as compositions
|
|
46
|
+
(the harvester's transpile pass produces a `template` + lifts the
|
|
47
|
+
`metadata` block onto them). Raw chunks remain as substrate for
|
|
48
|
+
`nested-expand` reference resolution but don't compete in retrieval.
|
|
49
|
+
|
|
50
|
+
**Grounding rule (locked v0.4.6, enforced v0.4.7):** every retrievable
|
|
51
|
+
unit MUST trace to a real page under `site/pages/`, `apps/`,
|
|
52
|
+
`playgrounds/`, or `catalog/` via its `data-chunk-*` annotations. No
|
|
53
|
+
hand-authored ungrounded JSON lives in `corpus/`.
|
|
54
|
+
|
|
55
|
+
> **Historical note:** *Fragments* (atomic A2UI sub-trees with named
|
|
56
|
+
> slots, §37, 2026-05-12), *patterns* (hand-authored full-canvas A2UI
|
|
57
|
+
> templates, `patterns/` dir), and *compositions* (hand-authored
|
|
58
|
+
> multi-section A2UI surfaces, `compositions/` dir) were earlier corpus
|
|
59
|
+
> formats. Fragments retired in v0.4.4 (§37). Patterns + compositions
|
|
60
|
+
> retired in v0.4.7 (§72 — the v0.4.6 carryover of §65). Their
|
|
61
|
+
> retrievable equivalents were either (a) already represented in the
|
|
62
|
+
> chunks corpus via annotated `data-chunk-*` regions, or (b) deemed
|
|
63
|
+
> non-grounded under the locked rule and DELETE'd in §73 Mode-C triage
|
|
64
|
+
> (target for v0.4.7). See `.claude/docs/journal/2026/05/2026-05-12.md`
|
|
65
|
+
> §§ 36-§42, §65, §72 for the multi-arc retirement narrative.
|
|
66
|
+
|
|
67
|
+
## Layout
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
a2ui/corpus/
|
|
71
|
+
├── chunks/ retrievable + raw chunks (~190 entries)
|
|
72
|
+
│ — one JSON per chunk; carries `source`,
|
|
73
|
+
│ `metadata` (when annotated), `template`
|
|
74
|
+
│ (transpiled A2UI tree, when annotated).
|
|
75
|
+
│ Harvested by `scripts/build/harvest-chunks.mjs`
|
|
76
|
+
│ from data-chunk markers across site/pages/*,
|
|
77
|
+
│ apps/*, playgrounds/*, catalog/*.
|
|
78
|
+
│ └── _index.json harvester output — name + by-kind tallies +
|
|
79
|
+
│ normalized chunk list (shape consumed by
|
|
80
|
+
│ chunk-loader + composition-library)
|
|
81
|
+
│
|
|
82
|
+
├── evals/ held-out.jsonl + eval fixtures
|
|
83
|
+
├── feedback/ daily JSONL — user feedback events
|
|
84
|
+
├── gaps/ gap registry — prompts with missing coverage
|
|
85
|
+
├── scripts/ maintenance tooling (extract, ingest, feedback, ticket)
|
|
86
|
+
│ └── chunk-library.js in-memory loader + keyword/semantic search over chunks/
|
|
87
|
+
│
|
|
88
|
+
├── catalog-a2ui_0_9.json aggregated artifact — what a2ui-compose + a2ui-mcp read
|
|
89
|
+
├── catalog-a2ui_0_9_rules.txt natural-language composition rules (per component)
|
|
90
|
+
├── common_types.json shared A2UI type shapes
|
|
91
|
+
├── chunk-embeddings.json pre-computed embeddings for chunk semantic search (0.0.4+)
|
|
92
|
+
├── functions.json declarative wiring-engine function catalog
|
|
93
|
+
├── manifest.json extraction metadata (what / when / counts)
|
|
94
|
+
├── pattern-specs.md written specs for each pattern category (historical reference)
|
|
95
|
+
└── data-flow.md how the signal sources feed the pipeline
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## What's committed vs generated vs published
|
|
99
|
+
|
|
100
|
+
| Kind | Committed | Published to npm | Source of truth |
|
|
101
|
+
|----------------------------|:---------:|:----------------:|----------------------------------------|
|
|
102
|
+
| Chunks (`chunks/`) | ✓ | ✓ | `scripts/build/harvest-chunks.mjs` (from `data-chunk` markers across site/pages, apps, playgrounds, catalog) |
|
|
103
|
+
| `catalog-a2ui_0_9.json` | ✓ | ✓ | `npm run components` (assembled from yamls in `packages/web-components/`) |
|
|
104
|
+
| `chunk-embeddings.json` | ✓ | **✗ since 0.2.1**| `scripts/build/embeddings-chunks.mjs` |
|
|
105
|
+
| Feedback JSONL | ✓ | ✓ | Written by `@adia-ai/a2ui-retrieval` at runtime |
|
|
106
|
+
| Gap registry | ✓ | ✓ | Written by `@adia-ai/a2ui-retrieval` at runtime |
|
|
107
|
+
|
|
108
|
+
Extracted artifacts are committed for convenience (avoids a build step to
|
|
109
|
+
read the pipeline), but the scripts are authoritative — regenerate via
|
|
110
|
+
`npm run harvest:chunks` (chunks), `npm run components` (catalog), or
|
|
111
|
+
`npm run build:embeddings:chunks` (chunk embeddings) if anything drifts.
|
|
112
|
+
|
|
113
|
+
### Why embeddings ship via git, not npm
|
|
114
|
+
|
|
115
|
+
`chunk-embeddings.json` (~20 MB) is **committed in git** so the monorepo's
|
|
116
|
+
own pipeline runs without a network round-trip, but **excluded from the
|
|
117
|
+
published npm tarball** — every `npm i @adia-ai/a2ui-corpus` was pulling
|
|
118
|
+
~20 MB of pre-computed float arrays that consumers had no reliable way
|
|
119
|
+
to address (the `chunk-embedding-retriever` resolves them via a
|
|
120
|
+
relative-path that breaks under a `node_modules/@adia-ai/a2ui-corpus/`
|
|
121
|
+
install layout).
|
|
122
|
+
|
|
123
|
+
> The companion `pattern-embeddings.json` retired in v0.4.7 §72 along
|
|
124
|
+
> with the `patterns/` source directory. Its only consumer was
|
|
125
|
+
> `concept-mapper.js` (dead post-v0.4.6 §64 retirement of
|
|
126
|
+
> `pattern-library.js`). The pattern-embeddings build script
|
|
127
|
+
> (`scripts/build/embeddings.mjs`) and the matching
|
|
128
|
+
> `embedding-retriever.js` were retired in the same arc.
|
|
129
|
+
|
|
130
|
+
Consumers who want embedding-based retrieval either:
|
|
131
|
+
|
|
132
|
+
1. Regenerate locally — `npm run build:embeddings:chunks` produces the
|
|
133
|
+
`chunk-embeddings.json` file in your `node_modules/@adia-ai/a2ui-corpus/`
|
|
134
|
+
checkout. Requires API access to your embedding provider.
|
|
135
|
+
2. Use the keyword-only fallback — `chunk-library.searchChunks()` works
|
|
136
|
+
without embeddings; the embedding-aware `searchChunksAsync` path
|
|
137
|
+
falls through to keyword scoring when the index file is absent
|
|
138
|
+
(`chunk-embedding-retriever.js` returns `null` gracefully).
|
|
139
|
+
|
|
140
|
+
### Embedding model pinning
|
|
141
|
+
|
|
142
|
+
The `provider` and `model` recorded in each `*-embeddings.json` header
|
|
143
|
+
are the **source of truth** at query time. The retrievers
|
|
144
|
+
(`chunk-embedding-retriever.js`, `embedding-retriever.js`) re-resolve
|
|
145
|
+
the same embedder from those header fields — they do **not** auto-pick
|
|
146
|
+
a different provider when the recorded one's API key is unset, because
|
|
147
|
+
cross-model cosine similarity is meaningless and same-provider/
|
|
148
|
+
different-model emits different-dim vectors that `cosine()`
|
|
149
|
+
short-circuits to 0 (silent retrieval failure).
|
|
150
|
+
|
|
151
|
+
Currently pinned defaults:
|
|
152
|
+
|
|
153
|
+
| Provider | Model | Dims | Env |
|
|
154
|
+
|---|---|---:|---|
|
|
155
|
+
| openai | `text-embedding-3-small` | 1536 | `OPENAI_API_KEY` |
|
|
156
|
+
| voyage | `voyage-3-lite` | 1024 | `VOYAGE_API_KEY` |
|
|
157
|
+
|
|
158
|
+
`detectProvider()` (in `packages/a2ui/retrieval/embedding/embedding-provider.js`)
|
|
159
|
+
prefers Voyage when both keys are present (denser vectors, lower cost).
|
|
160
|
+
The `build:embeddings*` scripts record the chosen provider/model into the
|
|
161
|
+
`.json` header, so subsequent reads always re-bind to the same model.
|
|
162
|
+
|
|
163
|
+
When upgrading to a new model (e.g. `text-embedding-3-small` →
|
|
164
|
+
`text-embedding-3-large`):
|
|
165
|
+
|
|
166
|
+
1. Update the default in `embedding-provider.js`.
|
|
167
|
+
2. Rebuild the chunk index (`npm run build:embeddings:chunks`).
|
|
168
|
+
3. Verify with `npm run check:embeddings-fresh` that both index headers
|
|
169
|
+
record the new model.
|
|
170
|
+
4. Re-run `npm run eval:diff -- --engine zettel` to confirm the new
|
|
171
|
+
model doesn't regress retrieval quality (different models score
|
|
172
|
+
queries differently — thresholds in `chunk-synthesizer.js` may
|
|
173
|
+
need a re-look, though the absolute keyword score floor remains
|
|
174
|
+
independent).
|
|
175
|
+
|
|
176
|
+
Don't mix models. If one index records `voyage-3-lite` and the other
|
|
177
|
+
records `text-embedding-3-small`, the retrievers will load both fine
|
|
178
|
+
but the rankings will be incomparable across the two corpora.
|
|
179
|
+
|
|
180
|
+
## Scripts
|
|
181
|
+
|
|
182
|
+
All run from repo root via npm:
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
npm run harvest:chunks # full re-harvest of chunks/ from data-chunk markers
|
|
186
|
+
npm run components # regenerate v0.9 sidecars + assemble catalog-a2ui_0_9.json
|
|
187
|
+
npm run components -- --verify # fail if catalog/sidecars are stale vs yamls
|
|
188
|
+
|
|
189
|
+
npm run feedback:report # human-readable feedback digest
|
|
190
|
+
npm run feedback:promote # promote high-confidence feedback → new training data
|
|
191
|
+
|
|
192
|
+
npm run ticket # open ticket tracker
|
|
193
|
+
npm run ticket:list # list open tickets
|
|
194
|
+
npm run ticket:create # create a ticket against corpus/pipeline
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
Script inventory (`scripts/`):
|
|
198
|
+
|
|
199
|
+
| Script | Purpose |
|
|
200
|
+
|---------------------------|------------------------------------------------------|
|
|
201
|
+
| `chunk-library.js` | In-memory loader + keyword/semantic search over `chunks/` |
|
|
202
|
+
| `feedback-report.js` | Aggregates feedback JSONL into a readable digest |
|
|
203
|
+
| `feedback-promote.js` | Moves high-confidence feedback into training data |
|
|
204
|
+
| `ticket.mjs` | Corpus/pipeline issue tracker |
|
|
205
|
+
|
|
206
|
+
> **Retired in v0.4.7 §72** (with the `patterns/` + `compositions/` dirs):
|
|
207
|
+
> `extract.js`, `ingest.js`, `run-pipeline.mjs`, `build-pattern-index.mjs`.
|
|
208
|
+
> These fed the pattern-library retrieval surface (`pattern-library.js`,
|
|
209
|
+
> retired v0.4.6 §64) and the exemplar→chunks pipeline (retired v0.4.4
|
|
210
|
+
> §36). Pattern embeddings (`scripts/build/embeddings.mjs`) and the
|
|
211
|
+
> grounded-corpus triage audit (`scripts/audit/grounded-corpus-triage.mjs`)
|
|
212
|
+
> also retired in the same arc — the corpus is now one-format
|
|
213
|
+
> (chunks-only) and harvester-driven.
|
|
214
|
+
|
|
215
|
+
Repo-side build scripts (not in tarball; run from the workspace root):
|
|
216
|
+
|
|
217
|
+
| Script | Purpose |
|
|
218
|
+
|-------------------------------------|----------------------------------------------------------|
|
|
219
|
+
| `npm run harvest:chunks` | Walks site/pages/*, apps/*, playgrounds/*, catalog/*, harvests every `[data-chunk]` element, writes `chunks/<name>.json` + `_index.json` |
|
|
220
|
+
| `npm run build:embeddings:chunks` | Generates `chunk-embeddings.json` (~190 chunks × 1536d) |
|
|
221
|
+
|
|
222
|
+
## Exports
|
|
223
|
+
|
|
224
|
+
```javascript
|
|
225
|
+
// Catalog — the aggregated read-target for engines.
|
|
226
|
+
// Carries per-component aliases under `components[name].x-adiaui.synonyms.tags`.
|
|
227
|
+
import catalog from '@adia-ai/a2ui-corpus';
|
|
228
|
+
|
|
229
|
+
// Chunk corpus (since 0.0.3 / 0.0.4)
|
|
230
|
+
import chunkIndex from '@adia-ai/a2ui-corpus/chunks'; // _index.json (metadata only)
|
|
231
|
+
import { searchChunks, searchChunksAsync, getChunk }
|
|
232
|
+
from '@adia-ai/a2ui-corpus/chunk-library'; // in-memory query API
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## Authoring order — demo page → `data-chunk` marker → training
|
|
236
|
+
|
|
237
|
+
When adding coverage for a new intent:
|
|
238
|
+
|
|
239
|
+
1. **Live demo page** — author the HTML in
|
|
240
|
+
`apps/<name>/app/<demo>/<demo>.contents.html` (or under
|
|
241
|
+
`playgrounds/` / `catalog/`) using pure primitive composition. See
|
|
242
|
+
repo-root `AGENTS.md`.
|
|
243
|
+
2. **Tag the reusable region** — add `data-chunk="<slug>"` +
|
|
244
|
+
`data-chunk-kind="<kind>"` (block / page / panel / field) on the
|
|
245
|
+
element. The harvester extracts the bounding HTML on the next
|
|
246
|
+
build. See `.claude/docs/specs/genui-chunk-marker.md` for the marker
|
|
247
|
+
convention.
|
|
248
|
+
3. **Harvest + ingest** — `npm run harvest:chunks` writes
|
|
249
|
+
`chunks/<slug>.json` and refreshes `_index.json`. `npm run pipeline`
|
|
250
|
+
does the full extract → ingest → catalog refresh.
|
|
251
|
+
4. **Verify** — `npm run eval:diff -- --engine zettel` should still
|
|
252
|
+
hold coverage ≥ 83%, avgScore ≥ 88 (per the regression floors in
|
|
253
|
+
`AGENTS.md`).
|
|
254
|
+
|
|
255
|
+
See `data-flow.md` for the full pipeline (chunks → feedback).
|
|
256
|
+
|
|
257
|
+
## Regression floors
|
|
258
|
+
|
|
259
|
+
The pipeline must hold these thresholds — tracked in the held-out
|
|
260
|
+
benchmark:
|
|
261
|
+
|
|
262
|
+
- **Fragment reuse ratio ≥ 29.9%** — 167 refs / 559 composition nodes
|
|
263
|
+
- **Zettel**: coverage 100%, avgScore ≥ 88, MRR ≥ 0.94
|
|
264
|
+
- **Monolithic**: coverage 100%, avgScore ≥ 95
|
|
265
|
+
- **Dogfood**: 20/20 intents at avg ≥ 95
|
|
266
|
+
|
|
267
|
+
## What this package does NOT contain
|
|
268
|
+
|
|
269
|
+
- Pipeline runtime — `a2ui/compose/`, `a2ui/`
|
|
270
|
+
- UI custom elements — `web-components/`
|
|
271
|
+
- MCP transport — `a2ui/mcp/`
|
|
272
|
+
- Site / playground UI — `/site/`
|
|
273
|
+
|
|
274
|
+
If a file here is `.js` / `.mjs`, it's a maintenance script, not runtime.
|
|
275
|
+
Runtime readers go through `a2ui/retrieval/*`.
|
|
276
|
+
|
|
277
|
+
## License
|
|
278
|
+
|
|
279
|
+
MIT
|