@hraness/design-kit 0.31.1 → 0.32.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 (42) hide show
  1. package/AGENT_SETUP.md +89 -0
  2. package/ARTICLE_COPY.md +1 -1
  3. package/MARKETING_COPY.md +13 -1
  4. package/README.md +13 -4
  5. package/dist/{chunk-7b1586eb.js → chunk-4d79eskk.js} +62 -33
  6. package/dist/{chunk-44djxk16.js → chunk-95p0j72v.js} +643 -612
  7. package/dist/{chunk-eh71jz57.js → chunk-vst6p4wd.js} +96 -9
  8. package/dist/index.js +6 -2
  9. package/dist/mockups/client.js +19 -18
  10. package/dist/provider-marks.js +1 -1
  11. package/dist/react/index.js +1615 -649
  12. package/dist/react/server.js +4 -2
  13. package/dist/stylex-manifest.json +1 -1
  14. package/dist/stylex.css +180 -4
  15. package/package.json +7 -3
  16. package/portfolio-inventory.json +1 -1
  17. package/src/agent-setup.ts +47 -0
  18. package/src/index.ts +1 -0
  19. package/src/mockups/client.tsx +26 -22
  20. package/src/mockups.css +44 -13
  21. package/src/provider-marks.generated.ts +16 -0
  22. package/src/provider-marks.ts +14 -15
  23. package/src/react/agent-setup-prompt.stylex.ts +196 -0
  24. package/src/react/agent-setup-prompt.tsx +413 -0
  25. package/src/react/article.tsx +12 -20
  26. package/src/react/design-gallery.tsx +28 -1
  27. package/src/react/index.ts +1 -0
  28. package/src/react/launch-beats.tsx +7 -4
  29. package/src/react/product-marketing.stylex.ts +8 -0
  30. package/src/react/product-marketing.tsx +37 -10
  31. package/src/react/provider-mark.stylex.ts +17 -10
  32. package/src/react/provider-mark.tsx +6 -16
  33. package/vendor/provider-marks/MEM0-LICENSE +201 -0
  34. package/vendor/provider-marks/SUPERMEMORY-LICENSE +21 -0
  35. package/vendor/provider-marks/UPSTREAM.md +12 -1
  36. package/vendor/provider-marks/lobehub/githubcopilot.svg +1 -0
  37. package/vendor/provider-marks/lobehub/obsidian-color.svg +1 -0
  38. package/vendor/provider-marks/lobehub/obsidian.svg +1 -0
  39. package/vendor/provider-marks/mem0-art.svg +1 -0
  40. package/vendor/provider-marks/mem0-glyph.svg +1 -0
  41. package/vendor/provider-marks/mem0.svg +1 -0
  42. package/vendor/provider-marks/supermemory.svg +1 -0
@@ -118,6 +118,13 @@ var providerMarkAssets = {
118
118
  body: '<path d="M0 4.391A4.391 4.391 0 014.391 0h15.217A4.391 4.391 0 0124 4.391v15.217A4.391 4.391 0 0119.608 24H4.391A4.391 4.391 0 010 19.608V4.391z" fill="url(#lobe-icons-gemini-cli-_R_0_)"></path><path clip-rule="evenodd" d="M19.74 1.444a2.816 2.816 0 012.816 2.816v15.48a2.816 2.816 0 01-2.816 2.816H4.26a2.816 2.816 0 01-2.816-2.816V4.26A2.816 2.816 0 014.26 1.444h15.48zM7.236 8.564l7.752 3.728-7.752 3.727v2.802l9.557-4.596v-3.866L7.236 5.763v2.801z" fill="#1E1E2E" fill-rule="evenodd"></path><defs><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-gemini-cli-_R_0_" x1="24" x2="0" y1="6.587" y2="16.494"><stop stop-color="#EE4D5D"></stop><stop offset=".328" stop-color="#B381DD"></stop><stop offset=".476" stop-color="#207CFE"></stop></linearGradient></defs>'
119
119
  }
120
120
  },
121
+ githubcopilot: {
122
+ glyph: {
123
+ viewBox: "0 0 24 24",
124
+ body: '<path d="M19.245 5.364c1.322 1.36 1.877 3.216 2.11 5.817.622 0 1.2.135 1.592.654l.73.964c.21.278.323.61.323.955v2.62c0 .339-.173.669-.453.868C20.239 19.602 16.157 21.5 12 21.5c-4.6 0-9.205-2.583-11.547-4.258-.28-.2-.452-.53-.453-.868v-2.62c0-.345.113-.679.321-.956l.73-.963c.392-.517.974-.654 1.593-.654l.029-.297c.25-2.446.81-4.213 2.082-5.52 2.461-2.54 5.71-2.851 7.146-2.864h.198c1.436.013 4.685.323 7.146 2.864zm-7.244 4.328c-.284 0-.613.016-.962.05-.123.447-.305.85-.57 1.108-1.05 1.023-2.316 1.18-2.994 1.18-.638 0-1.306-.13-1.851-.464-.516.165-1.012.403-1.044.996a65.882 65.882 0 00-.063 2.884l-.002.48c-.002.563-.005 1.126-.013 1.69.002.326.204.63.51.765 2.482 1.102 4.83 1.657 6.99 1.657 2.156 0 4.504-.555 6.985-1.657a.854.854 0 00.51-.766c.03-1.682.006-3.372-.076-5.053-.031-.596-.528-.83-1.046-.996-.546.333-1.212.464-1.85.464-.677 0-1.942-.157-2.993-1.18-.266-.258-.447-.661-.57-1.108-.32-.032-.64-.049-.96-.05zm-2.525 4.013c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zm5 0c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zM7.635 5.087c-1.05.102-1.935.438-2.385.906-.975 1.037-.765 3.668-.21 4.224.405.394 1.17.657 1.995.657h.09c.649-.013 1.785-.176 2.73-1.11.435-.41.705-1.433.675-2.47-.03-.834-.27-1.52-.63-1.813-.39-.336-1.275-.482-2.265-.394zm6.465.394c-.36.292-.6.98-.63 1.813-.03 1.037.24 2.06.675 2.47.968.957 2.136 1.104 2.776 1.11h.044c.825 0 1.59-.263 1.995-.657.555-.556.765-3.187-.21-4.224-.45-.468-1.335-.804-2.385-.906-.99-.088-1.875.058-2.265.394zM12 7.615c-.24 0-.525.015-.84.044.03.16.045.336.06.526l-.001.159a2.94 2.94 0 01-.014.25c.225-.022.425-.027.612-.028h.366c.187 0 .387.006.612.028-.015-.146-.015-.277-.015-.409.015-.19.03-.365.06-.526a9.29 9.29 0 00-.84-.044z"></path>'
125
+ },
126
+ art: null
127
+ },
121
128
  goose: {
122
129
  glyph: {
123
130
  viewBox: "0 0 24 24",
@@ -125,6 +132,16 @@ var providerMarkAssets = {
125
132
  },
126
133
  art: null
127
134
  },
135
+ mem0: {
136
+ glyph: {
137
+ viewBox: "0 0 100 100",
138
+ body: '<g fill="currentColor" clip-path="url(#mem0-clip)"><path d="M50.004 41.547a8.446 8.446 0 0 0-8.45 8.449 8.446 8.446 0 0 0 8.45 8.449 8.447 8.447 0 0 0 8.449-8.45 8.446 8.446 0 0 0-8.45-8.448m.042-16.531a2.513 2.513 0 0 0 2.463-2.553A2.486 2.486 0 0 0 49.955 20a2.486 2.486 0 0 0-2.462 2.553 2.486 2.486 0 0 0 2.552 2.463m-.089 49.963a2.486 2.486 0 0 0-2.463 2.552 2.486 2.486 0 0 0 2.552 2.463 2.513 2.513 0 0 0 2.463-2.552 2.486 2.486 0 0 0-2.553-2.463M32.372 32.3a2.513 2.513 0 0 0-.065-3.547 2.487 2.487 0 0 0-3.548.065 2.487 2.487 0 0 0 .065 3.548 2.487 2.487 0 0 0 3.548-.065m35.262 35.394a2.487 2.487 0 0 0 .065 3.548 2.487 2.487 0 0 0 3.548-.065 2.513 2.513 0 0 0-.065-3.548 2.487 2.487 0 0 0-3.548.065m.065-35.329c.98.944 2.572.946 3.548-.065a2.487 2.487 0 0 0-.065-3.548 2.487 2.487 0 0 0-3.548.065 2.487 2.487 0 0 0 .065 3.548M32.307 67.63a2.487 2.487 0 0 0-3.548.065 2.487 2.487 0 0 0 .065 3.548c.98.944 2.572.946 3.548-.065a2.487 2.487 0 0 0-.065-3.548m45.046-20.136a2.487 2.487 0 0 0-2.364 2.647 2.514 2.514 0 0 0 2.646 2.364 2.487 2.487 0 0 0 2.364-2.646 2.484 2.484 0 0 0-2.646-2.362zM22.65 52.501a2.487 2.487 0 0 0 2.365-2.646 2.485 2.485 0 0 0-2.646-2.362 2.487 2.487 0 0 0-2.365 2.646 2.515 2.515 0 0 0 2.646 2.364zm23.463-16.915a4.37 4.37 0 0 0 6.053 1.152c1.125-.765 1.819-2.005 1.904-3.403.062-.908.261-2.196 1.268-2.89 1.03-.655 2.293-.335 3.154-.04 1.32.467 2.732.313 3.875-.425a4.32 4.32 0 0 0 1.894-2.743 4.32 4.32 0 0 0-.597-3.28l-.174-.26a4.37 4.37 0 0 0-6.053-1.152c-1.126.764-1.82 2.003-1.904 3.402-.063.908-.262 2.196-1.269 2.89-1.029.655-2.293.335-3.154.04-1.317-.467-2.731-.313-3.874.425a4.36 4.36 0 0 0-1.3 6.022l.175.262zm-9.602 40.709a4.37 4.37 0 0 0 6.053 1.152c1.126-.765 1.82-2.005 1.904-3.403.063-.908.262-2.197 1.269-2.89 1.029-.655 2.292-.335 3.154-.04 1.32.467 2.731.313 3.874-.425a4.32 4.32 0 0 0 1.895-2.743 4.32 4.32 0 0 0-.597-3.28l-.175-.26a4.37 4.37 0 0 0-6.053-1.152c-1.125.764-1.819 2.003-1.904 3.401-.062.909-.261 2.197-1.268 2.89-1.03.656-2.293.336-3.154.041-1.318-.468-2.732-.313-3.875.425a4.36 4.36 0 0 0-1.3 6.022l.175.262zM57.42 37.048q-.08.434-.076.872a4.37 4.37 0 0 0 3.548 4.217c1.338.252 2.705-.137 3.75-1.067.686-.6 1.735-1.372 2.939-1.15 1.19.261 1.86 1.38 2.261 2.199.604 1.261 1.714 2.15 3.045 2.434a4.33 4.33 0 0 0 3.28-.604 4.32 4.32 0 0 0 1.892-2.745l.062-.309q.082-.435.076-.872a4.37 4.37 0 0 0-3.548-4.217c-1.337-.253-2.702.137-3.749 1.067-.687.6-1.738 1.371-2.94 1.15-1.19-.262-1.86-1.38-2.26-2.2-.605-1.26-1.714-2.149-3.043-2.433a4.36 4.36 0 0 0-5.172 3.349l-.062.309zm-35.539 22.05q-.08.435-.076.873a4.37 4.37 0 0 0 3.548 4.216c1.338.253 2.704-.136 3.75-1.067.686-.6 1.735-1.37 2.938-1.15 1.19.262 1.862 1.38 2.262 2.2.604 1.261 1.714 2.15 3.045 2.433A4.33 4.33 0 0 0 40.627 66a4.32 4.32 0 0 0 1.892-2.744l.063-.31q.081-.433.076-.871a4.37 4.37 0 0 0-3.548-4.217c-1.337-.253-2.702.136-3.749 1.067-.686.6-1.738 1.371-2.94 1.15-1.19-.262-1.86-1.38-2.26-2.2-.605-1.261-1.714-2.149-3.043-2.433a4.36 4.36 0 0 0-5.172 3.349l-.062.308zm42.525-13.01a4.5 4.5 0 0 0-.671.563 4.37 4.37 0 0 0-.472 5.49c.767 1.125 2.009 1.816 3.404 1.897.909.06 2.197.26 2.893 1.264.657 1.027.34 2.29.045 3.154-.466 1.32-.31 2.731.431 3.874a4.33 4.33 0 0 0 2.745 1.89 4.33 4.33 0 0 0 3.28-.601l.261-.175q.365-.25.671-.563a4.37 4.37 0 0 0 .472-5.49c-.767-1.123-2.006-1.816-3.404-1.897-.909-.06-2.2-.26-2.893-1.264-.657-1.026-.34-2.29-.044-3.154.465-1.32.308-2.731-.432-3.872a4.36 4.36 0 0 0-6.024-1.288l-.262.174zM23.687 36.55a4.5 4.5 0 0 0-.671.564 4.37 4.37 0 0 0-.472 5.49c.767 1.125 2.009 1.816 3.405 1.897.908.06 2.196.26 2.892 1.264.658 1.026.34 2.29.045 3.154-.465 1.32-.309 2.731.432 3.874a4.32 4.32 0 0 0 2.744 1.89 4.33 4.33 0 0 0 3.28-.601l.261-.175q.365-.25.672-.563a4.37 4.37 0 0 0 .472-5.49c-.768-1.123-2.007-1.816-3.405-1.897-.908-.06-2.2-.26-2.892-1.264-.658-1.027-.34-2.29-.045-3.154.465-1.32.308-2.731-.432-3.872a4.36 4.36 0 0 0-6.024-1.289l-.262.175zm39.268 20.868a4.4 4.4 0 0 0-.873-.076 4.37 4.37 0 0 0-4.217 3.548c-.252 1.338.137 2.705 1.067 3.75.6.686 1.372 1.735 1.15 2.939-.261 1.19-1.38 1.86-2.199 2.261-1.261.604-2.15 1.714-2.433 3.045a4.33 4.33 0 0 0 .603 3.28 4.32 4.32 0 0 0 2.745 1.892l.309.062q.435.082.872.076a4.37 4.37 0 0 0 4.217-3.547c.253-1.338-.136-2.703-1.067-3.75-.6-.686-1.371-1.738-1.15-2.94.262-1.19 1.38-1.86 2.2-2.26 1.26-.605 2.149-1.714 2.433-3.043a4.36 4.36 0 0 0-3.349-5.172l-.308-.062zM40.9 21.88a4.4 4.4 0 0 0-.872-.077 4.37 4.37 0 0 0-4.217 3.548c-.253 1.338.136 2.704 1.067 3.75.6.686 1.371 1.735 1.15 2.939-.262 1.19-1.38 1.86-2.2 2.261-1.26.604-2.149 1.714-2.433 3.045a4.33 4.33 0 0 0 .604 3.28 4.32 4.32 0 0 0 2.745 1.892l.308.062q.435.081.873.076a4.37 4.37 0 0 0 4.216-3.548c.253-1.337-.136-2.702-1.067-3.749-.6-.687-1.37-1.738-1.15-2.94.262-1.19 1.38-1.86 2.2-2.26 1.261-.605 2.15-1.714 2.433-3.043a4.36 4.36 0 0 0-3.348-5.172l-.31-.062z"/></g><defs><clipPath id="mem0-clip"><path fill="currentColor" d="M20 20h60v59.998H20z"/></clipPath></defs>'
139
+ },
140
+ art: {
141
+ viewBox: "0 0 100 100",
142
+ body: '<rect width="100" height="100" fill="#CBB2FF" rx="12"/><g fill="#09090B" clip-path="url(#mem0-clip)"><path d="M50.004 41.547a8.446 8.446 0 0 0-8.45 8.449 8.446 8.446 0 0 0 8.45 8.449 8.447 8.447 0 0 0 8.449-8.45 8.446 8.446 0 0 0-8.45-8.448m.042-16.531a2.513 2.513 0 0 0 2.463-2.553A2.486 2.486 0 0 0 49.955 20a2.486 2.486 0 0 0-2.462 2.553 2.486 2.486 0 0 0 2.552 2.463m-.089 49.963a2.486 2.486 0 0 0-2.463 2.552 2.486 2.486 0 0 0 2.552 2.463 2.513 2.513 0 0 0 2.463-2.552 2.486 2.486 0 0 0-2.553-2.463M32.372 32.3a2.513 2.513 0 0 0-.065-3.547 2.487 2.487 0 0 0-3.548.065 2.487 2.487 0 0 0 .065 3.548 2.487 2.487 0 0 0 3.548-.065m35.262 35.394a2.487 2.487 0 0 0 .065 3.548 2.487 2.487 0 0 0 3.548-.065 2.513 2.513 0 0 0-.065-3.548 2.487 2.487 0 0 0-3.548.065m.065-35.329c.98.944 2.572.946 3.548-.065a2.487 2.487 0 0 0-.065-3.548 2.487 2.487 0 0 0-3.548.065 2.487 2.487 0 0 0 .065 3.548M32.307 67.63a2.487 2.487 0 0 0-3.548.065 2.487 2.487 0 0 0 .065 3.548c.98.944 2.572.946 3.548-.065a2.487 2.487 0 0 0-.065-3.548m45.046-20.136a2.487 2.487 0 0 0-2.364 2.647 2.514 2.514 0 0 0 2.646 2.364 2.487 2.487 0 0 0 2.364-2.646 2.484 2.484 0 0 0-2.646-2.362zM22.65 52.501a2.487 2.487 0 0 0 2.365-2.646 2.485 2.485 0 0 0-2.646-2.362 2.487 2.487 0 0 0-2.365 2.646 2.515 2.515 0 0 0 2.646 2.364zm23.463-16.915a4.37 4.37 0 0 0 6.053 1.152c1.125-.765 1.819-2.005 1.904-3.403.062-.908.261-2.196 1.268-2.89 1.03-.655 2.293-.335 3.154-.04 1.32.467 2.732.313 3.875-.425a4.32 4.32 0 0 0 1.894-2.743 4.32 4.32 0 0 0-.597-3.28l-.174-.26a4.37 4.37 0 0 0-6.053-1.152c-1.126.764-1.82 2.003-1.904 3.402-.063.908-.262 2.196-1.269 2.89-1.029.655-2.293.335-3.154.04-1.317-.467-2.731-.313-3.874.425a4.36 4.36 0 0 0-1.3 6.022l.175.262zm-9.602 40.709a4.37 4.37 0 0 0 6.053 1.152c1.126-.765 1.82-2.005 1.904-3.403.063-.908.262-2.197 1.269-2.89 1.029-.655 2.292-.335 3.154-.04 1.32.467 2.731.313 3.874-.425a4.32 4.32 0 0 0 1.895-2.743 4.32 4.32 0 0 0-.597-3.28l-.175-.26a4.37 4.37 0 0 0-6.053-1.152c-1.125.764-1.819 2.003-1.904 3.401-.062.909-.261 2.197-1.268 2.89-1.03.656-2.293.336-3.154.041-1.318-.468-2.732-.313-3.875.425a4.36 4.36 0 0 0-1.3 6.022l.175.262zM57.42 37.048q-.08.434-.076.872a4.37 4.37 0 0 0 3.548 4.217c1.338.252 2.705-.137 3.75-1.067.686-.6 1.735-1.372 2.939-1.15 1.19.261 1.86 1.38 2.261 2.199.604 1.261 1.714 2.15 3.045 2.434a4.33 4.33 0 0 0 3.28-.604 4.32 4.32 0 0 0 1.892-2.745l.062-.309q.082-.435.076-.872a4.37 4.37 0 0 0-3.548-4.217c-1.337-.253-2.702.137-3.749 1.067-.687.6-1.738 1.371-2.94 1.15-1.19-.262-1.86-1.38-2.26-2.2-.605-1.26-1.714-2.149-3.043-2.433a4.36 4.36 0 0 0-5.172 3.349l-.062.309zm-35.539 22.05q-.08.435-.076.873a4.37 4.37 0 0 0 3.548 4.216c1.338.253 2.704-.136 3.75-1.067.686-.6 1.735-1.37 2.938-1.15 1.19.262 1.862 1.38 2.262 2.2.604 1.261 1.714 2.15 3.045 2.433A4.33 4.33 0 0 0 40.627 66a4.32 4.32 0 0 0 1.892-2.744l.063-.31q.081-.433.076-.871a4.37 4.37 0 0 0-3.548-4.217c-1.337-.253-2.702.136-3.749 1.067-.686.6-1.738 1.371-2.94 1.15-1.19-.262-1.86-1.38-2.26-2.2-.605-1.261-1.714-2.149-3.043-2.433a4.36 4.36 0 0 0-5.172 3.349l-.062.308zm42.525-13.01a4.5 4.5 0 0 0-.671.563 4.37 4.37 0 0 0-.472 5.49c.767 1.125 2.009 1.816 3.404 1.897.909.06 2.197.26 2.893 1.264.657 1.027.34 2.29.045 3.154-.466 1.32-.31 2.731.431 3.874a4.33 4.33 0 0 0 2.745 1.89 4.33 4.33 0 0 0 3.28-.601l.261-.175q.365-.25.671-.563a4.37 4.37 0 0 0 .472-5.49c-.767-1.123-2.006-1.816-3.404-1.897-.909-.06-2.2-.26-2.893-1.264-.657-1.026-.34-2.29-.044-3.154.465-1.32.308-2.731-.432-3.872a4.36 4.36 0 0 0-6.024-1.288l-.262.174zM23.687 36.55a4.5 4.5 0 0 0-.671.564 4.37 4.37 0 0 0-.472 5.49c.767 1.125 2.009 1.816 3.405 1.897.908.06 2.196.26 2.892 1.264.658 1.026.34 2.29.045 3.154-.465 1.32-.309 2.731.432 3.874a4.32 4.32 0 0 0 2.744 1.89 4.33 4.33 0 0 0 3.28-.601l.261-.175q.365-.25.672-.563a4.37 4.37 0 0 0 .472-5.49c-.768-1.123-2.007-1.816-3.405-1.897-.908-.06-2.2-.26-2.892-1.264-.658-1.027-.34-2.29-.045-3.154.465-1.32.308-2.731-.432-3.872a4.36 4.36 0 0 0-6.024-1.289l-.262.175zm39.268 20.868a4.4 4.4 0 0 0-.873-.076 4.37 4.37 0 0 0-4.217 3.548c-.252 1.338.137 2.705 1.067 3.75.6.686 1.372 1.735 1.15 2.939-.261 1.19-1.38 1.86-2.199 2.261-1.261.604-2.15 1.714-2.433 3.045a4.33 4.33 0 0 0 .603 3.28 4.32 4.32 0 0 0 2.745 1.892l.309.062q.435.082.872.076a4.37 4.37 0 0 0 4.217-3.547c.253-1.338-.136-2.703-1.067-3.75-.6-.686-1.371-1.738-1.15-2.94.262-1.19 1.38-1.86 2.2-2.26 1.26-.605 2.149-1.714 2.433-3.043a4.36 4.36 0 0 0-3.349-5.172l-.308-.062zM40.9 21.88a4.4 4.4 0 0 0-.872-.077 4.37 4.37 0 0 0-4.217 3.548c-.253 1.338.136 2.704 1.067 3.75.6.686 1.371 1.735 1.15 2.939-.262 1.19-1.38 1.86-2.2 2.261-1.26.604-2.149 1.714-2.433 3.045a4.33 4.33 0 0 0 .604 3.28 4.32 4.32 0 0 0 2.745 1.892l.308.062q.435.081.873.076a4.37 4.37 0 0 0 4.216-3.548c.253-1.337-.136-2.702-1.067-3.749-.6-.687-1.37-1.738-1.15-2.94.262-1.19 1.38-1.86 2.2-2.26 1.261-.605 2.15-1.714 2.433-3.043a4.36 4.36 0 0 0-3.348-5.172l-.31-.062z"/></g><defs><clipPath id="mem0-clip"><path fill="#fff" d="M20 20h60v59.998H20z"/></clipPath></defs>'
143
+ }
144
+ },
128
145
  meta: {
129
146
  glyph: {
130
147
  viewBox: "0 0 24 24",
@@ -162,6 +179,16 @@ var providerMarkAssets = {
162
179
  body: '<path d="M10.212 8.976V7.62c.127-.01.256-.017.388-.021 3.596-.117 5.957 3.184 5.957 3.184s-2.548 3.647-5.282 3.647a3.227 3.227 0 01-1.063-.175v-4.109c1.4.174 1.681.812 2.523 2.258l1.873-1.627a4.905 4.905 0 00-3.67-1.846 6.594 6.594 0 00-.729.044m0-4.476v2.025c.13-.01.259-.019.388-.024 5.002-.174 8.261 4.226 8.261 4.226s-3.743 4.69-7.643 4.69c-.338 0-.675-.031-1.007-.092v1.25c.278.038.558.057.838.057 3.629 0 6.253-1.91 8.794-4.169.421.347 2.146 1.193 2.501 1.564-2.416 2.083-8.048 3.763-11.24 3.763-.308 0-.603-.02-.894-.048V19.5H24v-15H10.21zm0 9.756v1.068c-3.356-.616-4.287-4.21-4.287-4.21a7.173 7.173 0 014.287-2.138v1.172h-.005a3.182 3.182 0 00-2.502 1.178s.615 2.276 2.507 2.931m-5.961-3.3c1.436-1.935 3.604-3.148 5.961-3.336V6.523C5.81 6.887 2 10.723 2 10.723s2.158 6.427 8.21 7.015v-1.166C5.77 16 4.25 10.958 4.25 10.958h-.002z" fill="#74B71B" fill-rule="nonzero"></path>'
163
180
  }
164
181
  },
182
+ obsidian: {
183
+ glyph: {
184
+ viewBox: "0 0 24 24",
185
+ body: '<path d="M9.643 14.012c.615-.183 1.605-.465 2.745-.534-.684-1.725-.849-3.235-.716-4.579.153-1.552.7-2.847 1.234-3.95.114-.235.223-.454.328-.664.149-.297.289-.577.42-.86.217-.47.378-.885.46-1.27.08-.38.08-.719-.014-1.044-.095-.325-.297-.675-.681-1.06a1.6 1.6 0 00-1.475.36l-4.95 4.453a1.602 1.602 0 00-.512.952l-.427 2.83c.67.592 2.327 2.317 3.335 4.71.09.213.174.432.253.656zM5.855 9.937c-.024.1-.057.197-.099.29L3.14 16.058a1.602 1.602 0 00.313 1.772l4.117 4.24c2.102-3.102 1.795-6.02.835-8.3-.728-1.73-1.832-3.083-2.55-3.833z"></path><path d="M8.52 22.57c.073.01.146.018.22.02.781.023 2.095.091 3.16.288.87.16 2.593.642 4.011 1.056 1.082.316 2.197-.548 2.354-1.664.115-.814.33-1.735.725-2.58l-.009.004c-.67-1.87-1.523-3.077-2.417-3.847a5.294 5.294 0 00-2.777-1.258c-1.541-.216-2.952.189-3.841.45.532 2.218.368 4.828-1.425 7.53z"></path><path d="M19.676 18.538a69.072 69.072 0 001.858-2.952.811.811 0 00-.061-.901c-.516-.684-1.504-2.075-2.042-3.362-.554-1.323-.636-3.378-.64-4.378a1.708 1.708 0 00-.359-1.051L15.235 1.83a3.757 3.757 0 01-.076.545c-.107.503-.307 1.004-.536 1.498-.135.29-.29.601-.446.915-.105.21-.21.42-.31.626-.517 1.068-.998 2.227-1.132 3.59-.125 1.262.046 2.73.814 4.484.128.01.257.025.386.043a6.364 6.364 0 013.327 1.506c.916.79 1.743 1.921 2.414 3.5z"></path>'
186
+ },
187
+ art: {
188
+ viewBox: "0 0 24 24",
189
+ body: '<path d="M9.643 14.012c.615-.183 1.605-.465 2.745-.534-.684-1.725-.849-3.235-.716-4.579.153-1.552.7-2.847 1.234-3.95.114-.235.223-.454.328-.664.149-.297.289-.577.42-.86.217-.47.378-.885.46-1.27.08-.38.08-.719-.014-1.044-.095-.325-.297-.675-.681-1.06a1.6 1.6 0 00-1.475.36l-4.95 4.453a1.602 1.602 0 00-.512.952l-.427 2.83c.67.592 2.327 2.317 3.335 4.71.09.213.174.432.253.656zM5.855 9.937c-.024.1-.057.197-.099.29L3.14 16.058a1.602 1.602 0 00.313 1.772l4.117 4.24c2.102-3.102 1.795-6.02.835-8.3-.728-1.73-1.832-3.083-2.55-3.833z" fill="#A88BFA"></path><path d="M8.52 22.57c.073.01.146.018.22.02.781.023 2.095.091 3.16.288.87.16 2.593.642 4.011 1.056 1.082.316 2.197-.548 2.354-1.664.115-.814.33-1.735.725-2.58l-.009.004c-.67-1.87-1.523-3.077-2.417-3.847a5.294 5.294 0 00-2.777-1.258c-1.541-.216-2.952.189-3.841.45.532 2.218.368 4.828-1.425 7.53z" fill="#A88BFA"></path><path d="M19.676 18.538a69.072 69.072 0 001.858-2.952.811.811 0 00-.061-.901c-.516-.684-1.504-2.075-2.042-3.362-.554-1.323-.636-3.378-.64-4.378a1.708 1.708 0 00-.359-1.051L15.235 1.83a3.757 3.757 0 01-.076.545c-.107.503-.307 1.004-.536 1.498-.135.29-.29.601-.446.915-.105.21-.21.42-.31.626-.517 1.068-.998 2.227-1.132 3.59-.125 1.262.046 2.73.814 4.484.128.01.257.025.386.043a6.364 6.364 0 013.327 1.506c.916.79 1.743 1.921 2.414 3.5z" fill="#A88BFA"></path>'
190
+ }
191
+ },
165
192
  openai: {
166
193
  glyph: {
167
194
  viewBox: "0 0 24 24",
@@ -196,6 +223,13 @@ var providerMarkAssets = {
196
223
  body: '<path d="M12.604 1.34c.393.69.784 1.382 1.174 2.075a.18.18 0 00.157.091h5.552c.174 0 .322.11.446.327l1.454 2.57c.19.337.24.478.024.837-.26.43-.513.864-.76 1.3l-.367.658c-.106.196-.223.28-.04.512l2.652 4.637c.172.301.111.494-.043.77-.437.785-.882 1.564-1.335 2.34-.159.272-.352.375-.68.37-.777-.016-1.552-.01-2.327.016a.099.099 0 00-.081.05 575.097 575.097 0 01-2.705 4.74c-.169.293-.38.363-.725.364-.997.003-2.002.004-3.017.002a.537.537 0 01-.465-.271l-1.335-2.323a.09.09 0 00-.083-.049H4.982c-.285.03-.553-.001-.805-.092l-1.603-2.77a.543.543 0 01-.002-.54l1.207-2.12a.198.198 0 000-.197 550.951 550.951 0 01-1.875-3.272l-.79-1.395c-.16-.31-.173-.496.095-.965.465-.813.927-1.625 1.387-2.436.132-.234.304-.334.584-.335a338.3 338.3 0 012.589-.001.124.124 0 00.107-.063l2.806-4.895a.488.488 0 01.422-.246c.524-.001 1.053 0 1.583-.006L11.704 1c.341-.003.724.032.9.34zm-3.432.403a.06.06 0 00-.052.03L6.254 6.788a.157.157 0 01-.135.078H3.253c-.056 0-.07.025-.041.074l5.81 10.156c.025.042.013.062-.034.063l-2.795.015a.218.218 0 00-.2.116l-1.32 2.31c-.044.078-.021.118.068.118l5.716.008c.046 0 .08.02.104.061l1.403 2.454c.046.081.092.082.139 0l5.006-8.76.783-1.382a.055.055 0 01.096 0l1.424 2.53a.122.122 0 00.107.062l2.763-.02a.04.04 0 00.035-.02.041.041 0 000-.04l-2.9-5.086a.108.108 0 010-.113l.293-.507 1.12-1.977c.024-.041.012-.062-.035-.062H9.2c-.059 0-.073-.026-.043-.077l1.434-2.505a.107.107 0 000-.114L9.225 1.774a.06.06 0 00-.053-.031zm6.29 8.02c.046 0 .058.02.034.06l-.832 1.465-2.613 4.585a.056.056 0 01-.05.029.058.058 0 01-.05-.029L8.498 9.841c-.02-.034-.01-.052.028-.054l.216-.012 6.722-.012z" fill="url(#lobe-icons-qwen-_R_0_)" fill-rule="nonzero"></path><defs><linearGradient id="lobe-icons-qwen-_R_0_" x1="0%" x2="100%" y1="0%" y2="0%"><stop offset="0%" stop-color="#6336E7" stop-opacity=".84"></stop><stop offset="100%" stop-color="#6F69F7" stop-opacity=".84"></stop></linearGradient></defs>'
197
224
  }
198
225
  },
226
+ supermemory: {
227
+ glyph: {
228
+ viewBox: "0 0 206 168",
229
+ body: '<path fill="currentColor" d="M205.864 66.263h-76.401V0h-24.684v71.897c0 7.636 3.021 14.97 8.391 20.373l62.383 62.777 17.454-17.564-46.076-46.365h58.948v-24.84l-.015-.015ZM12.872 30.517l46.075 46.365H0v24.84h76.4v66.264h24.685V96.089c0-7.637-3.021-14.97-8.39-20.374l-62.37-62.762-17.453 17.564Z"/>'
230
+ },
231
+ art: null
232
+ },
199
233
  xai: {
200
234
  glyph: {
201
235
  viewBox: "0 0 24 24",
@@ -212,6 +246,38 @@ var providerMarkAssets = {
212
246
  }
213
247
  };
214
248
 
249
+ // src/palette-color.ts
250
+ function channels(hex) {
251
+ if (!/^#[0-9a-f]{6}$/iu.test(hex))
252
+ throw new Error("Palette colors must be six-digit hex values.");
253
+ return [Number.parseInt(hex.slice(1, 3), 16), Number.parseInt(hex.slice(3, 5), 16), Number.parseInt(hex.slice(5, 7), 16)];
254
+ }
255
+ function mixPaletteColor(color, toward, amount) {
256
+ const target = channels(toward);
257
+ return `#${channels(color).map((value, index) => Math.round(value * (1 - amount) + (target[index] ?? 0) * amount).toString(16).padStart(2, "0")).join("")}`;
258
+ }
259
+ function luminance(hex) {
260
+ const linearize = (channel) => {
261
+ const value = channel / 255;
262
+ return value <= 0.04045 ? value / 12.92 : ((value + 0.055) / 1.055) ** 2.4;
263
+ };
264
+ const [red, green, blue] = channels(hex);
265
+ return linearize(red) * 0.2126 + linearize(green) * 0.7152 + linearize(blue) * 0.0722;
266
+ }
267
+ function paletteContrast(a, b) {
268
+ const first = luminance(a);
269
+ const second = luminance(b);
270
+ return (Math.max(first, second) + 0.05) / (Math.min(first, second) + 0.05);
271
+ }
272
+ function readablePaletteColor(color, toward, backgrounds, minimum) {
273
+ for (let step = 0;step <= 100; step += 1) {
274
+ const candidate = mixPaletteColor(color, toward, step / 100);
275
+ if (backgrounds.every((background) => paletteContrast(candidate, background) >= minimum))
276
+ return candidate;
277
+ }
278
+ throw new Error("The authored palette cannot meet its contrast contract.");
279
+ }
280
+
215
281
  // src/provider-marks.ts
216
282
  var MARK_SPECS = {
217
283
  aider: {
@@ -292,12 +358,24 @@ var MARK_SPECS = {
292
358
  kind: "agent",
293
359
  name: "Gemini CLI"
294
360
  },
361
+ githubcopilot: {
362
+ accent: "#1f2328",
363
+ aliases: ["github copilot", "github-copilot", "copilot"],
364
+ kind: "agent",
365
+ name: "GitHub Copilot"
366
+ },
295
367
  goose: {
296
368
  accent: "#0e7c86",
297
369
  aliases: ["goose", "block goose"],
298
370
  kind: "agent",
299
371
  name: "Goose"
300
372
  },
373
+ mem0: {
374
+ accent: "#cbb2ff",
375
+ aliases: ["mem0", "memzero"],
376
+ kind: "vendor",
377
+ name: "Mem0"
378
+ },
301
379
  meta: {
302
380
  accent: "#0082fb",
303
381
  aliases: ["meta", "meta ai", "llama"],
@@ -322,6 +400,12 @@ var MARK_SPECS = {
322
400
  kind: "vendor",
323
401
  name: "NVIDIA"
324
402
  },
403
+ obsidian: {
404
+ accent: "#7c3aed",
405
+ aliases: ["obsidian", "obsidian md"],
406
+ kind: "vendor",
407
+ name: "Obsidian"
408
+ },
325
409
  openai: {
326
410
  accent: "#0f1014",
327
411
  aliases: ["openai", "chatgpt", "gpt"],
@@ -346,6 +430,12 @@ var MARK_SPECS = {
346
430
  kind: "vendor",
347
431
  name: "Qwen"
348
432
  },
433
+ supermemory: {
434
+ accent: "#2563eb",
435
+ aliases: ["supermemory", "supermemory ai"],
436
+ kind: "vendor",
437
+ name: "Supermemory"
438
+ },
349
439
  xai: {
350
440
  accent: "#1a1a1a",
351
441
  aliases: ["xai", "x.ai", "grok", "spacexai"],
@@ -362,15 +452,12 @@ var MARK_SPECS = {
362
452
  function foldedIdentity(identity) {
363
453
  return identity.toLowerCase().replaceAll(/[^a-z0-9]/gu, "");
364
454
  }
365
- function perceivedBrightness(hexColor) {
366
- const match = /^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/u.exec(hexColor.toLowerCase());
367
- if (match === null)
368
- return null;
369
- return (Number.parseInt(match[1] ?? "0", 16) * 299 + Number.parseInt(match[2] ?? "0", 16) * 587 + Number.parseInt(match[3] ?? "0", 16) * 114) / 1000;
370
- }
371
455
  function providerMarkOnAccent(mark) {
372
- const brightness = perceivedBrightness(mark.accent);
373
- return brightness !== null && brightness > 168 ? "#1c1917" : "#f7f6f2";
456
+ if (!/^#[0-9a-f]{6}$/iu.test(mark.accent))
457
+ throw new RangeError("Solid provider mark accents must be opaque six-digit hex colors.");
458
+ const moreReadable = (light, dark) => paletteContrast(light, mark.accent) >= paletteContrast(dark, mark.accent) ? light : dark;
459
+ const preferred = moreReadable("#f7f6f2", "#1c1917");
460
+ return paletteContrast(preferred, mark.accent) >= 4.5 ? preferred : moreReadable("#ffffff", "#000000");
374
461
  }
375
462
  function providerMarkMonogram(displayName) {
376
463
  const monogram = displayName.trim().split(/\s+/u).filter(Boolean).slice(0, 2).map((word) => word[0] ?? "").join("").toUpperCase().replaceAll(/[^A-Z0-9]/gu, "").slice(0, 2);
@@ -426,4 +513,4 @@ function providerMarkArtDataUri(mark) {
426
513
  return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgDocument(mark.art, ""))}`;
427
514
  }
428
515
 
429
- export { providerMarkOnAccent, providerMarkMonogram, providerMark, providerMarks, providerMarkFallback, providerMarkGlyphDataUri, providerMarkArtDataUri };
516
+ export { mixPaletteColor, paletteContrast, readablePaletteColor, providerMarkOnAccent, providerMarkMonogram, providerMark, providerMarks, providerMarkFallback, providerMarkGlyphDataUri, providerMarkArtDataUri };
package/dist/index.js CHANGED
@@ -1,10 +1,12 @@
1
1
  import {
2
+ MAX_AGENT_SETUP_URL,
2
3
  STATUS_PAGE_AGENT_PREFIX,
3
4
  STATUS_PAGE_BACK_LABEL,
4
5
  STATUS_PAGE_HINT_PREFIX,
5
6
  STATUS_PAGE_MAX_NEXT,
6
7
  STATUS_PAGE_MAX_ROUTES,
7
8
  STATUS_PAGE_NEXT_HEADING_ID,
9
+ agentSetupTargets,
8
10
  auroraColors,
9
11
  breakpoints,
10
12
  chromeColors,
@@ -62,7 +64,7 @@ import {
62
64
  themeFor,
63
65
  typeScale,
64
66
  typography
65
- } from "./chunk-7b1586eb.js";
67
+ } from "./chunk-4d79eskk.js";
66
68
  import {
67
69
  detectPlatform,
68
70
  isKnownPlatformId,
@@ -119,7 +121,7 @@ import {
119
121
  providerMarkMonogram,
120
122
  providerMarkOnAccent,
121
123
  providerMarks
122
- } from "./chunk-eh71jz57.js";
124
+ } from "./chunk-vst6p4wd.js";
123
125
  import"./chunk-5gtx3pza.js";
124
126
  export {
125
127
  typography,
@@ -222,12 +224,14 @@ export {
222
224
  articleAdmissionsDue,
223
225
  articleAdmissionScore,
224
226
  articleAdmissionPasses,
227
+ agentSetupTargets,
225
228
  STATUS_PAGE_NEXT_HEADING_ID,
226
229
  STATUS_PAGE_MAX_ROUTES,
227
230
  STATUS_PAGE_MAX_NEXT,
228
231
  STATUS_PAGE_HINT_PREFIX,
229
232
  STATUS_PAGE_BACK_LABEL,
230
233
  STATUS_PAGE_AGENT_PREFIX,
234
+ MAX_AGENT_SETUP_URL,
231
235
  ArticleAdmissionError,
232
236
  ARTICLE_TOC_LABEL,
233
237
  ARTICLE_SOURCES_HEADING,
@@ -29,10 +29,12 @@ function itemAt(items, index, what) {
29
29
  throw new RangeError(`${what} has no entry at ${String(index)}.`);
30
30
  return item;
31
31
  }
32
- function assertCaption(caption, component) {
33
- if (typeof caption !== "string" || caption.trim() === "") {
34
- throw new TypeError(`${component} needs a caption that says the picture is an illustration.`);
35
- }
32
+ function optionalText(value, component) {
33
+ if (value === undefined)
34
+ return;
35
+ if (typeof value !== "string")
36
+ throw new TypeError(`${component} text must be a string.`);
37
+ return value.trim() || undefined;
36
38
  }
37
39
  function nextTabIndex(key, index, count) {
38
40
  if (key === "ArrowRight" || key === "ArrowDown")
@@ -118,7 +120,7 @@ function ModeShowcase({
118
120
  assertUniqueIds(modes, "ModeShowcase mode");
119
121
  if (options !== undefined)
120
122
  assertUniqueIds(options, "ModeShowcase option");
121
- assertCaption(caption, "ModeShowcase");
123
+ const captionText = optionalText(caption, "ModeShowcase");
122
124
  if (!(height > 0))
123
125
  throw new RangeError("ModeShowcase height must be positive.");
124
126
  const id = useId();
@@ -163,6 +165,8 @@ function ModeShowcase({
163
165
  option,
164
166
  surface: surface.id
165
167
  });
168
+ const hint = [modeChoice.hint, optionInactive ? undefined : optionChoice?.hint].map((text) => optionalText(text, "ModeShowcase hint")).filter((text) => text !== undefined).join(" ");
169
+ const hasStatus = statusNode !== undefined && statusNode !== null && statusNode !== false && statusNode !== "";
166
170
  return /* @__PURE__ */ jsxs("figure", {
167
171
  "aria-label": label?.(surface) ?? `Illustration of ${surface.label.toLowerCase()}`,
168
172
  className: joinMockupClasses("hkm-showcase", className),
@@ -243,12 +247,9 @@ function ModeShowcase({
243
247
  })
244
248
  ]
245
249
  }),
246
- /* @__PURE__ */ jsxs("p", {
250
+ hint === "" ? null : /* @__PURE__ */ jsx("p", {
247
251
  className: "hkm-showcase-hint",
248
- children: [
249
- modeChoice.hint,
250
- optionChoice === undefined || optionInactive ? null : ` ${optionChoice.hint}`
251
- ]
252
+ children: hint
252
253
  })
253
254
  ]
254
255
  }),
@@ -273,16 +274,16 @@ function ModeShowcase({
273
274
  })
274
275
  })
275
276
  }),
276
- /* @__PURE__ */ jsxs("figcaption", {
277
+ !hasStatus && captionText === undefined ? null : /* @__PURE__ */ jsxs("figcaption", {
277
278
  className: "hkm-showcase-caption",
278
279
  children: [
279
- statusNode === undefined ? null : /* @__PURE__ */ jsx("span", {
280
+ hasStatus ? /* @__PURE__ */ jsx("span", {
280
281
  "aria-live": "polite",
281
282
  className: "hkm-showcase-status",
282
283
  children: statusNode
283
- }),
284
- /* @__PURE__ */ jsx("span", {
285
- children: caption
284
+ }) : null,
285
+ captionText === undefined ? null : /* @__PURE__ */ jsx("span", {
286
+ children: captionText
286
287
  })
287
288
  ]
288
289
  })
@@ -299,7 +300,7 @@ function StepThrough({
299
300
  theme
300
301
  }) {
301
302
  assertUniqueIds(steps, "StepThrough step");
302
- assertCaption(caption, "StepThrough");
303
+ const captionText = optionalText(caption, "StepThrough");
303
304
  const id = useId();
304
305
  const [index, setIndex] = useState(() => Math.max(0, steps.findIndex((step2) => step2.id === initial)));
305
306
  const [animated, setAnimated] = useState(false);
@@ -406,10 +407,10 @@ function StepThrough({
406
407
  })
407
408
  ]
408
409
  }),
409
- /* @__PURE__ */ jsx("figcaption", {
410
+ captionText === undefined ? null : /* @__PURE__ */ jsx("figcaption", {
410
411
  className: "hkm-showcase-caption",
411
412
  children: /* @__PURE__ */ jsx("span", {
412
- children: caption
413
+ children: captionText
413
414
  })
414
415
  })
415
416
  ]
@@ -6,7 +6,7 @@ import {
6
6
  providerMarkMonogram,
7
7
  providerMarkOnAccent,
8
8
  providerMarks
9
- } from "./chunk-eh71jz57.js";
9
+ } from "./chunk-vst6p4wd.js";
10
10
  import"./chunk-5gtx3pza.js";
11
11
  export {
12
12
  providerMarks,