# GENERATED. Do not change this line unless the file contains project specific changes.
# DO NOT EDIT THIS FILE. Changes are overwritten on the next build.
# Owner command: archetype.registry.build
# Edit instead: the archetype.registry.build generator source (not this file).
# Regenerate:   pnpm exec werkstatt run archetype.registry.build
id: chat-widget
displayName: Chat widget
version: 1.0.0
semanticRole: consent-gated-chat-launcher
description: |
  Consent-gated, click-to-load chat widget launcher (RFC-0175). Renders a
  first-party launcher; the third-party chat vendor's script loads only after the
  visitor clicks. The vendor binding (adapter + public options) is engineering-owned
  in system.md integrations.chat. Carries the in-widget legal notice + Privacy Policy
  link required by RFC-0177.
expectedIntents:
  - drive-contact
  - capture-lead
  - convert-visitor
expectedIndustryFit:
  - consulting-and-coaching
  - legal-services
  - trades-and-construction
layoutHint: single-column
bodyKind: composite
propsSchema:
  $shape: zod
  compose:
    - section-visual
    - section-header
  shape: |
    z.object({
      launcherLabel: z.string().min(1),
      legalNotice: z.string().min(1),
      privacyPolicyLabel: z.string().min(1).optional(),
      privacyPolicyPageId: z.string().min(1),
      body: z.record(z.unknown()).optional(),
      ctaGroup: z.record(z.unknown()).optional(),
    }).strict()
acceptedCosmicNames:
  - Amalthea
constraints: {}
