hyperweave 0.2.26__tar.gz → 0.3.1__tar.gz
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.
- {hyperweave-0.2.26 → hyperweave-0.3.1}/CHANGELOG.md +40 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/PKG-INFO +148 -103
- {hyperweave-0.2.26 → hyperweave-0.3.1}/README.md +147 -102
- {hyperweave-0.2.26 → hyperweave-0.3.1}/scripts/generate_proofset.py +396 -45
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/_version.py +2 -2
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/cli.py +35 -4
- hyperweave-0.3.1/src/hyperweave/compose/assembler.py +398 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/compose/context.py +43 -9
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/compose/engine.py +6 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/compose/layout.py +6 -1
- hyperweave-0.3.1/src/hyperweave/compose/palette.py +135 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/compose/resolver.py +266 -67
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/compose/resolvers/chart.py +60 -3
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/compose/resolvers/stats.py +106 -44
- hyperweave-0.3.1/src/hyperweave/compose/validate_paradigms.py +254 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/config/loader.py +8 -1
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/core/models.py +27 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/core/paradigm.py +85 -6
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/core/schema.py +46 -45
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/css/expression.css +16 -8
- hyperweave-0.3.1/src/hyperweave/data/genomes/automata.json +484 -0
- hyperweave-0.3.1/src/hyperweave/data/genomes/chrome.json +343 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/genomes/telemetry-voltage.json +0 -10
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/paradigms/brutalist.yaml +5 -0
- hyperweave-0.3.1/src/hyperweave/data/paradigms/cellular.yaml +211 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/paradigms/chrome.yaml +6 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/mcp/server.py +91 -15
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/render/chart_engine.py +385 -18
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/serve/app.py +125 -14
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/telemetry/codex_parser.py +15 -1
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/telemetry/contract.py +1 -1
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/telemetry/models.py +10 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/telemetry/parser.py +25 -2
- hyperweave-0.3.1/src/hyperweave/telemetry/receipt_paths.py +73 -0
- hyperweave-0.3.1/src/hyperweave/templates/components/chart-milestone.svg.j2 +15 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/document.svg.j2 +2 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/badge/cellular-content.j2 +12 -10
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/badge/cellular-defs.j2 +7 -7
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/badge/chrome-content.j2 +8 -3
- hyperweave-0.3.1/src/hyperweave/templates/frames/chart/cellular-content.j2 +200 -0
- hyperweave-0.3.1/src/hyperweave/templates/frames/chart/cellular-defs.j2 +87 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/divider.svg.j2 +24 -15
- hyperweave-0.3.1/src/hyperweave/templates/frames/icon/cellular-content.j2 +106 -0
- hyperweave-0.3.1/src/hyperweave/templates/frames/icon/cellular-defs.j2 +25 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/icon/chrome-content.j2 +8 -4
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/icon/chrome-defs.j2 +7 -3
- hyperweave-0.3.1/src/hyperweave/templates/frames/marquee-horizontal/cellular-overlay.j2 +22 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/marquee-horizontal/chrome-defs.j2 +8 -8
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/marquee-horizontal.svg.j2 +15 -3
- hyperweave-0.3.1/src/hyperweave/templates/frames/stats/cellular-content.j2 +146 -0
- hyperweave-0.3.1/src/hyperweave/templates/frames/stats/cellular-defs.j2 +45 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/strip/cellular-content.j2 +20 -17
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/strip/cellular-defs.j2 +8 -3
- hyperweave-0.3.1/src/hyperweave/templates/frames/strip/chrome-status.j2 +13 -0
- hyperweave-0.3.1/tests/fixtures/synthetic_session.jsonl +18 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/snapshots/url_stability/divider_band_chrome_static.svg +2 -1
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/snapshots/url_stability/icon_github_chrome_static.svg +5 -4
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_assembler.py +18 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_badge_cellular.py +12 -12
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_badge_layout.py +20 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_chart_engine.py +143 -0
- hyperweave-0.3.1/tests/test_chrome_variants.py +309 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_codex_parser.py +19 -0
- hyperweave-0.3.1/tests/test_compose_variant_field.py +135 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_divider_cellular.py +22 -11
- hyperweave-0.3.1/tests/test_font_gating.py +95 -0
- hyperweave-0.3.1/tests/test_genome_automata.py +155 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_marquee_v0_2_16.py +49 -15
- hyperweave-0.3.1/tests/test_paradigm_cellular.py +179 -0
- hyperweave-0.3.1/tests/test_proofset.py +215 -0
- hyperweave-0.3.1/tests/test_receipt_paths.py +129 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_strip_cellular.py +19 -11
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_strip_status_toggle.py +8 -4
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_telemetry.py +84 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_url_stability.py +21 -4
- hyperweave-0.3.1/tests/test_variant_default_resolution.py +47 -0
- hyperweave-0.2.26/src/hyperweave/compose/assembler.py +0 -281
- hyperweave-0.2.26/src/hyperweave/compose/validate_paradigms.py +0 -58
- hyperweave-0.2.26/src/hyperweave/data/genomes/automata.json +0 -134
- hyperweave-0.2.26/src/hyperweave/data/genomes/chrome.json +0 -143
- hyperweave-0.2.26/src/hyperweave/data/paradigms/cellular.yaml +0 -175
- hyperweave-0.2.26/src/hyperweave/templates/components/chart-milestone.svg.j2 +0 -7
- hyperweave-0.2.26/src/hyperweave/templates/frames/chart/cellular-content.j2 +0 -166
- hyperweave-0.2.26/src/hyperweave/templates/frames/chart/cellular-defs.j2 +0 -45
- hyperweave-0.2.26/src/hyperweave/templates/frames/icon/cellular-content.j2 +0 -39
- hyperweave-0.2.26/src/hyperweave/templates/frames/icon/cellular-defs.j2 +0 -17
- hyperweave-0.2.26/src/hyperweave/templates/frames/marquee-horizontal/cellular-overlay.j2 +0 -13
- hyperweave-0.2.26/src/hyperweave/templates/frames/stats/cellular-content.j2 +0 -221
- hyperweave-0.2.26/src/hyperweave/templates/frames/stats/cellular-defs.j2 +0 -39
- hyperweave-0.2.26/src/hyperweave/templates/frames/strip/chrome-status.j2 +0 -8
- hyperweave-0.2.26/tests/test_compose_variant_field.py +0 -46
- hyperweave-0.2.26/tests/test_genome_automata.py +0 -92
- hyperweave-0.2.26/tests/test_paradigm_cellular.py +0 -84
- hyperweave-0.2.26/tests/test_proofset.py +0 -92
- hyperweave-0.2.26/tests/test_variant_default_resolution.py +0 -45
- {hyperweave-0.2.26 → hyperweave-0.3.1}/.dockerignore +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/.github/workflows/ci.yml +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/.github/workflows/deploy.yml +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/.github/workflows/publish.yml +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/.gitignore +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/.pre-commit-config.yaml +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/Dockerfile +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/LICENSE +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/buttons/button-liquid.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/cards/card-butterfly.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/cards/card-python.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/cards/card-sunflower.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/cards/card-waves.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/brutalist-emerald/badge_critical.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/brutalist-emerald/badge_passing.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/brutalist-emerald/badge_warning.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/brutalist-emerald/banner.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/brutalist-emerald/icons/discord.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/brutalist-emerald/icons/notion.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/brutalist-emerald/icons/reddit.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/brutalist-emerald/icons/spotify.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/brutalist-emerald/icons/youtube.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/brutalist-emerald/marquee_counter.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/brutalist-emerald/marquee_horizontal.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/brutalist-emerald/marquee_vertical.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/brutalist-emerald/profile-cards/chart_stars_full.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/brutalist-emerald/profile-cards/stats.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/brutalist-emerald/strip.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/chrome-horizon/badge_critical.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/chrome-horizon/badge_passing.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/chrome-horizon/badge_warning.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/chrome-horizon/banner.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/chrome-horizon/icons/bluesky.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/chrome-horizon/icons/github.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/chrome-horizon/icons/instagram.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/chrome-horizon/icons/mastodon.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/chrome-horizon/icons/x.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/chrome-horizon/marquee_counter.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/chrome-horizon/marquee_horizontal.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/chrome-horizon/marquee_vertical.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/chrome-horizon/profile-cards/chart_stars_full.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/chrome-horizon/profile-cards/stats.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/chrome-horizon/strip.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/telemetry/master_card.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/telemetry/receipt.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/telemetry/receipt_claude-code_medium.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/telemetry/receipt_codex_large.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/telemetry/receipt_voltage_xlarge.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/telemetry/rhythm_strip.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/examples/telemetry/rhythm_strip_voltage_xlarge.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/footers/inneraura-footer-liquid.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/footers/inneraura-footer-purple.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/footers/inneraura-footer.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/hyperweave-banner.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/icons/cobalt-sapphire-discord.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/icons/cobalt-sapphire-docs.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/icons/cobalt-sapphire-github.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/icons/cobalt-sapphire-instagram.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/icons/cobalt-sapphire-linkedin.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/icons/cobalt-sapphire-tiktok.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/icons/cobalt-sapphire-x.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/icons/cobalt-sapphire-youtube.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/marquees/badge-showcase-triple.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/marquees/genome-marquee-triple.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/marquees/sample-badges.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/mintlify-assets/404.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/mintlify-assets/callout-icons.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/mintlify-assets/divider.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/mintlify-assets/favicon.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/mintlify-assets/hero-banner.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/mintlify-assets/hyperweave-banner-v2.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/mintlify-assets/hyperweave-navbar-logo.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/mintlify-assets/loader.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/mintlify-assets/og-image.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/assets/timelines/hyperweave-roadmap.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/assets/favicon.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/assets/hyperweave-banner.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/assets/hyperweave-navbar-logo.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/assets/og-image.svg +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/explanation/architecture.mdx +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/explanation/camo-compatibility.mdx +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/explanation/cim-compliance.mdx +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/explanation/genome-profile-system.mdx +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/explanation/metadata-tiers.mdx +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/how-to/add-motion-to-badges.mdx +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/how-to/create-session-receipts.mdx +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/how-to/set-up-claude-code-hooks.mdx +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/how-to/use-live-data-badges.mdx +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/introduction.mdx +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/mint.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/quickstart.mdx +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/reference/cli.mdx +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/reference/compose-spec.mdx +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/reference/genomes.mdx +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/reference/http-api.mdx +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/reference/mcp-tools.mdx +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/reference/motions.mdx +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/reference/telemetry-contract.mdx +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/spec/hyperweave-protocol.mdx +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/tutorials/build-an-artifact-kit.mdx +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/tutorials/compose-your-first-badge.mdx +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/docs/tutorials/install-session-telemetry.mdx +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/fly.toml +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/hooks/install.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/hooks/session_end.sh +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/justfile +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/pyproject.toml +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/scripts/extract_font_metrics.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/scripts/extract_glyphs.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/scripts/probe_live_stats.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/scripts/probe_star_history.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/scripts/stress_test.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/__init__.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/__main__.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/compose/__init__.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/compose/bar_chart.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/compose/lanes.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/compose/resolvers/__init__.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/compose/rhythm.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/compose/rhythm_strip.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/compose/treemap.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/config/__init__.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/config/genome_validator.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/config/registry.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/config/settings.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/connectors/__init__.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/connectors/arxiv.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/connectors/base.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/connectors/cache.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/connectors/github.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/connectors/rest.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/core/__init__.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/core/cell_layout.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/core/color.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/core/contracts.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/core/enums.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/core/font_metrics.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/core/state.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/core/text.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/core/thresholds.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/badge_modes.yaml +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/css/accessibility.css +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/css/bridge.css +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/css/status.css +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/font-metrics/chakra-petch.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/font-metrics/inter.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/font-metrics/jetbrains-mono.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/font-metrics/orbitron.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/fonts/chakra-petch.b64 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/fonts/chakra-petch.meta.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/fonts/jetbrains-mono.b64 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/fonts/jetbrains-mono.meta.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/fonts/orbitron.b64 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/fonts/orbitron.meta.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/genomes/brutalist.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/genomes/telemetry-claude-code.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/genomes/telemetry-codex.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/genomes/telemetry-cream.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/glyphs.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/motions/border/chromatic-pulse.yaml +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/motions/border/corner-trace.yaml +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/motions/border/dual-orbit.yaml +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/motions/border/entanglement.yaml +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/motions/border/rimrun.yaml +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/motions/static.yaml +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/paradigms/default.yaml +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/policies/normal.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/policies/permissive.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/policies/ungoverned.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/profiles/brutalist.contract.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/profiles/brutalist.yaml +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/profiles/chrome.contract.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/profiles/chrome.yaml +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/specimens.yaml +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/telemetry/model-pricing.yaml +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/telemetry/runtimes/claude-code.yaml +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/telemetry/runtimes/codex.yaml +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/telemetry/stage-config.yaml +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/telemetry/stage-labels.yaml +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/telemetry/tool-colors.yaml +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/terminals/arrow.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/terminals/aurora.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/terminals/beacon.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/terminals/bracket3d.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/terminals/chevron.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/terminals/crosshair.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/terminals/diamond.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/terminals/rocket.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/terminals/rules/bar.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/terminals/rules/dashed.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/terminals/rules/five-wave.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/terminals/rules/spectral.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/terminals/rules/straight.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/terminals/rules/wave.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/data/terminals/stijl.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/kit.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/mcp/__init__.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/mcp/__main__.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/py.typed +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/render/__init__.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/render/fonts.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/render/glyphs.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/render/motion.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/render/templates.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/serve/__init__.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/serve/data_tokens.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/telemetry/__init__.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/telemetry/capture.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/telemetry/corrections.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/telemetry/cost.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/telemetry/runtimes.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/telemetry/stages.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/components/chart-area.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/components/chart-axes.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/components/chart-empty-state.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/components/chart-gridlines.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/components/chart-markers/circle.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/components/chart-markers/diamond.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/components/chart-markers/endpoint-diamond.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/components/chart-markers/endpoint-rect.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/components/chart-markers/rect.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/components/chart-polyline.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/components/filter.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/components/glyph-inline.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/components/glyph.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/components/gradient.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/components/metadata.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/components/metric.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/components/phase-segment.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/components/rule.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/components/status.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/components/terminal.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/error-badge.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/badge/brutalist-content.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/badge/brutalist-defs.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/badge/chrome-defs.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/badge/default-content.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/badge/default-defs.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/badge.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/catalog.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/chart/brutalist-content.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/chart/brutalist-defs.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/chart/chrome-content.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/chart/chrome-defs.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/chart.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/divider/brutalist-seam.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/divider/chrome-band.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/icon/brutalist-content.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/icon/brutalist-defs.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/icon/default-content.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/icon/default-defs.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/icon.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/marquee-horizontal/brutalist-content.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/marquee-horizontal/brutalist-defs.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/marquee-horizontal/brutalist-overlay.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/marquee-horizontal/cellular-content.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/marquee-horizontal/cellular-defs.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/marquee-horizontal/chrome-content.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/marquee-horizontal/chrome-overlay.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/marquee-horizontal/default-content.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/marquee-horizontal/default-defs.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/master-card.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/receipt.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/rhythm-strip.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/stats/brutalist-content.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/stats/brutalist-defs.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/stats/chrome-content.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/stats/chrome-defs.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/stats.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/strip/brutalist-content.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/strip/brutalist-defs.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/strip/brutalist-status.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/strip/cellular-status.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/strip/chrome-content.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/strip/chrome-defs.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/strip/default-content.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/strip/default-defs.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/strip/default-status.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/frames/strip.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/motions/border/chromatic-pulse.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/motions/border/corner-trace.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/motions/border/dual-orbit.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/motions/border/entanglement.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/motions/border/rimrun.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/partials/provider-glyphs.svg.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/src/hyperweave/templates/partials/state-signal-cascade.j2 +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/__init__.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/conftest.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/fixtures/codex_session.jsonl +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/fixtures/codex_session_patches.jsonl +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/fixtures/github_contributions/synthetic.html +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/fixtures/session.json +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/fixtures/session.jsonl +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/helpers.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_badge_mode.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_chart_frame.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_compose_bar_chart.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_compose_rhythm_strip.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_compose_treemap.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_connectors.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_core.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_data_tokens.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_divider_genome_specific.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_font_metrics_chakra.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_github_scrape.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_kit.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_mcp.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_paradigm_dispatch.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_paradigm_extensibility.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_parse_transcript_auto.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_receipt_token_compliance.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_render.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_resolver_rhythm.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_runtime_registries.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_serve.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_serve_live_state.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_slot_metric_state.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_state_inference.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_stats_card.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_telemetry_contract_per_stage.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_telemetry_integration.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_telemetry_skin_dispatch.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/tests/test_tool_class_completeness.py +0 -0
- {hyperweave-0.2.26 → hyperweave-0.3.1}/uv.lock +0 -0
|
@@ -5,6 +5,46 @@ All notable changes to HyperWeave are documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.3.1] - 2026-05-10
|
|
9
|
+
|
|
10
|
+
Receipt user-turn count and filenames now reflect actual session content. Voltage receipts always render dark regardless of viewer color scheme. Star chart x-axis labels no longer collide on short-history repos.
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **Receipt user-turn count** — the footer "N user turns" now reports actual prompt count; slash commands and tool results no longer skew the number.
|
|
15
|
+
- **Star chart x-axis labels on short histories** — "Apr 2026" / "May 2026" no longer overlap on charts spanning under two years. Spacing now accounts for actual label width and drops middle labels when their bounding boxes would touch.
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- **Receipt filenames are human-readable** — saved as `{date}_{time}_{session-name}.svg` (was UUID-only). Session name comes from Claude Code's auto-titled session or Codex's thread name; UUID stays in the SVG metadata.
|
|
20
|
+
- **Voltage receipts always render dark** — the light-mode adaptation block is removed; voltage stays dark across all viewers.
|
|
21
|
+
- **Codex receipts carry git branch and thread name** — both are now extracted from Codex transcripts and surfaced in receipt provenance and filenames.
|
|
22
|
+
|
|
23
|
+
### Notes
|
|
24
|
+
|
|
25
|
+
- 1067 tests (was 1035).
|
|
26
|
+
|
|
27
|
+
## [0.3.0] - 2026-05-10
|
|
28
|
+
|
|
29
|
+
Chrome ships five named variants. Automata ships sixteen tones with a pairing grammar that composes any two into a bifamily strip or divider. Stat cards, star charts, marquees, and icons redesigned. Per-frame font filtering cuts artifact payloads.
|
|
30
|
+
|
|
31
|
+
### Added
|
|
32
|
+
|
|
33
|
+
- **Chrome variants** — horizon, abyssal, lightning, graphite, moth. Each carries its own gradient, glyph tone, text color, and status indicator.
|
|
34
|
+
- **Automata 16 tones** — violet, teal, bone, steel, amber, jade, magenta, cobalt, toxic, solar, abyssal, crimson, sulfur, indigo, burgundy, copper.
|
|
35
|
+
- **Pairing grammar** — `?variant=primary&pair=secondary` composes any two tones into a bifamily strip or divider. Other frame types silently ignore the parameter. Available on CLI, HTTP, and MCP.
|
|
36
|
+
- **Redesigned automata stat card, star chart, marquee, and icon** — contribution heatmap, star history with threshold markers, scrolling marquee, and social icon with living cell grid.
|
|
37
|
+
|
|
38
|
+
### Changed
|
|
39
|
+
|
|
40
|
+
- **Chrome glyph dimensions match cellular** — both paradigms declare `glyph_size: 12`.
|
|
41
|
+
- **Star chart threshold labels** — offset increased so annotations sit clearly above the polyline glow.
|
|
42
|
+
- **Per-frame font filtering** — each frame embeds only the fonts its templates use. Icons and dividers ship font-free.
|
|
43
|
+
|
|
44
|
+
### Notes
|
|
45
|
+
|
|
46
|
+
- 1035 tests (was 960).
|
|
47
|
+
|
|
8
48
|
## [0.2.26] - 2026-05-07
|
|
9
49
|
|
|
10
50
|
Two follow-ups to v0.2.25's badge state architecture: strip status indicators now color correctly when CI metrics fail, and the snapshot test suite no longer fails on local-vs-CI version differences.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hyperweave
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: Headless visual output layer for AI agents. One API call → self-contained SVG.
|
|
5
5
|
Project-URL: Repository, https://github.com/InnerAura/hyperweave
|
|
6
6
|
Project-URL: Issues, https://github.com/InnerAura/hyperweave/issues
|
|
@@ -42,15 +42,13 @@ Description-Content-Type: text/markdown
|
|
|
42
42
|
Works everywhere an <code><img></code> tag works.
|
|
43
43
|
</p>
|
|
44
44
|
|
|
45
|
-
<!--
|
|
46
|
-
<p align="center">
|
|
45
|
+
<!-- <p align="center">
|
|
47
46
|
<img src="https://hyperweave.app/v1/badge/STARS/chrome.static?data=gh:InnerAura/hyperweave.stars" alt="stars"/>
|
|
48
47
|
<img src="https://hyperweave.app/v1/badge/FORKS/chrome.static?data=gh:InnerAura/hyperweave.forks" alt="forks"/>
|
|
49
48
|
<img src="https://hyperweave.app/v1/badge/VERSION/chrome.static?data=pypi:hyperweave.version" alt="version"/>
|
|
50
49
|
<img src="https://hyperweave.app/v1/badge/LICENSE/chrome.static?data=gh:InnerAura/hyperweave.license" alt="license"/>
|
|
51
50
|
<img src="https://hyperweave.app/v1/badge/PYTHON/chrome.static?data=pypi:hyperweave.python_requires" alt="python"/>
|
|
52
|
-
</p>
|
|
53
|
-
-->
|
|
51
|
+
</p> -->
|
|
54
52
|
|
|
55
53
|
<p align="center">
|
|
56
54
|
<img src="https://hyperweave.app/v1/strip/hyperweave/chrome.static?data=gh:InnerAura/hyperweave.build,pypi:hyperweave.version,gh:InnerAura/hyperweave.license&glyph=github" alt="strip"/>
|
|
@@ -101,7 +99,7 @@ HyperWeave is that primitive. One API call returns a self-contained SVG with dat
|
|
|
101
99
|
|
|
102
100
|
---
|
|
103
101
|
|
|
104
|
-
##
|
|
102
|
+
## Agentic Artifacts
|
|
105
103
|
|
|
106
104
|
Every AI coding session produces a receipt — cost, tokens, tool distribution, session rhythm. One install, fully automatic.
|
|
107
105
|
|
|
@@ -155,284 +153,309 @@ Why genome and not theme? Because brand isn't a design problem, it's an infrastr
|
|
|
155
153
|
<p align="center">
|
|
156
154
|
<a href="#chrome"><kbd>chrome</kbd></a>
|
|
157
155
|
·
|
|
158
|
-
<a href="#brutalist"><kbd>brutalist</kbd></a>
|
|
159
|
-
·
|
|
160
156
|
<a href="#automata"><kbd>automata</kbd></a>
|
|
157
|
+
·
|
|
158
|
+
<a href="#brutalist"><kbd>brutalist</kbd></a>
|
|
161
159
|
</p>
|
|
162
160
|
|
|
163
161
|
<h3 id="chrome">chrome</h3>
|
|
164
|
-
|
|
162
|
+
|
|
163
|
+
<p align="center">
|
|
164
|
+
<img src="https://hyperweave.app/v1/badge/BUILD/chrome.static?data=gh:InnerAura/hyperweave.build&glyph=githubactions&variant=horizon" alt="BUILD — horizon variant"/>
|
|
165
|
+
<img src="https://hyperweave.app/v1/badge/BLUESKY/POST/chrome.static?glyph=bluesky&variant=abyssal" alt="BLUESKY POST — abyssal variant"/>
|
|
166
|
+
<img src="https://hyperweave.app/v1/badge/DOCKER/chrome.static?data=docker:zeroxeli/readme-ai.pull_count&glyph=docker&variant=lightning" alt="DOCKER pulls — lightning variant"/>
|
|
167
|
+
<img src="https://hyperweave.app/v1/badge/STARS/chrome.static?data=gh:eli64s/readme-ai.stars&glyph=github&variant=graphite" alt="STARS — graphite variant"/>
|
|
168
|
+
<img src="https://hyperweave.app/v1/badge/ANTHROPIC/CLAUDE/chrome.static?glyph=anthropic&variant=moth" alt="ANTHROPIC CLAUDE — moth variant"/>
|
|
169
|
+
</p>
|
|
170
|
+
|
|
171
|
+
<p align="center">
|
|
172
|
+
<sub>5 variants: <code>horizon</code> · <code>abyssal</code> · <code>lightning</code> · <code>graphite</code> · <code>moth</code></sub>
|
|
173
|
+
</p>
|
|
165
174
|
|
|
166
175
|
<table>
|
|
167
176
|
<tr>
|
|
168
177
|
<th align="left" width="160">Signals<br/><sub>state machine</sub></th>
|
|
169
178
|
<td>
|
|
170
|
-
<img src="https://hyperweave.app/v1/badge/BUILD/passing/chrome.static?state=passing" alt="passing"/>
|
|
171
|
-
<img src="https://hyperweave.app/v1/badge/BUILD/warning/chrome.static?state=warning" alt="warning"/>
|
|
172
|
-
<img src="https://hyperweave.app/v1/badge/BUILD/critical/chrome.static?state=critical" alt="critical"/>
|
|
179
|
+
<img src="https://hyperweave.app/v1/badge/BUILD/passing/chrome.static?state=passing&variant=horizon" alt="passing"/>
|
|
180
|
+
<img src="https://hyperweave.app/v1/badge/BUILD/warning/chrome.static?state=warning&variant=horizon" alt="warning"/>
|
|
181
|
+
<img src="https://hyperweave.app/v1/badge/BUILD/critical/chrome.static?state=critical&variant=horizon" alt="critical"/>
|
|
173
182
|
<br/>
|
|
174
183
|
<ul>
|
|
175
|
-
<li><sub><code>/v1/badge/{title}/{value}/{genome}.static?state={state}</code></sub></li>
|
|
176
|
-
<li><sub><code>hyperweave.app/v1/badge/BUILD/passing/chrome.static?state=passing</code></sub></li>
|
|
184
|
+
<li><sub><code>/v1/badge/{title}/{value}/{genome}.static?state={state}&variant={horizon|abyssal|lightning|graphite|moth}</code></sub></li>
|
|
185
|
+
<li><sub><code>hyperweave.app/v1/badge/BUILD/passing/chrome.static?state=passing&variant=horizon</code></sub></li>
|
|
177
186
|
</ul>
|
|
178
187
|
</td>
|
|
179
188
|
</tr>
|
|
180
189
|
<tr>
|
|
181
190
|
<th align="left">Dashboard<br/><sub>strip</sub></th>
|
|
182
191
|
<td>
|
|
183
|
-
<img src="https://hyperweave.app/v1/strip/readme-ai/chrome.static?data=gh:eli64s/readme-ai.stars,gh:eli64s/readme-ai.forks,pypi:readmeai.version&subtitle=eli64s/readme-ai&glyph=github" alt="strip"/>
|
|
192
|
+
<img src="https://hyperweave.app/v1/strip/readme-ai/chrome.static?data=gh:eli64s/readme-ai.stars,gh:eli64s/readme-ai.forks,pypi:readmeai.version&subtitle=eli64s/readme-ai&glyph=github&variant=horizon" alt="strip"/>
|
|
184
193
|
<br/>
|
|
185
194
|
<ul>
|
|
186
|
-
<li><sub><code>/v1/strip/{title}/{genome}.static?data={tokens}&subtitle={text}&glyph={glyph}</code></sub></li>
|
|
187
|
-
<li><sub><code>hyperweave.app/v1/strip/readme-ai/chrome.static?data=gh:eli64s/readme-ai.stars,gh:eli64s/readme-ai.forks,pypi:readmeai.version&subtitle=eli64s/readme-ai&glyph=github</code></sub></li>
|
|
195
|
+
<li><sub><code>/v1/strip/{title}/{genome}.static?data={tokens}&subtitle={text}&glyph={glyph}&variant={variant}</code></sub></li>
|
|
196
|
+
<li><sub><code>hyperweave.app/v1/strip/readme-ai/chrome.static?data=gh:eli64s/readme-ai.stars,gh:eli64s/readme-ai.forks,pypi:readmeai.version&subtitle=eli64s/readme-ai&glyph=github&variant=horizon</code></sub></li>
|
|
188
197
|
</ul>
|
|
189
198
|
</td>
|
|
190
199
|
</tr>
|
|
191
200
|
<tr>
|
|
192
201
|
<th align="left">Profile<br/><sub>stats card</sub></th>
|
|
193
202
|
<td>
|
|
194
|
-
<img src="https://hyperweave.app/v1/stats/eli64s/chrome.static" alt="stats" width="100%"/>
|
|
203
|
+
<img src="https://hyperweave.app/v1/stats/eli64s/chrome.static?variant=horizon" alt="stats" width="100%"/>
|
|
195
204
|
<br/>
|
|
196
205
|
<ul>
|
|
197
|
-
<li><sub><code>/v1/stats/{username}/{genome}.static</code></sub></li>
|
|
198
|
-
<li><sub><code>hyperweave.app/v1/stats/eli64s/chrome.static</code></sub></li>
|
|
206
|
+
<li><sub><code>/v1/stats/{username}/{genome}.static?variant={variant}</code></sub></li>
|
|
207
|
+
<li><sub><code>hyperweave.app/v1/stats/eli64s/chrome.static?variant=horizon</code></sub></li>
|
|
199
208
|
</ul>
|
|
200
209
|
</td>
|
|
201
210
|
</tr>
|
|
202
211
|
<tr>
|
|
203
212
|
<th align="left">Star Chart<br/><sub>star history</sub></th>
|
|
204
213
|
<td>
|
|
205
|
-
<img src="https://hyperweave.app/v1/chart/stars/eli64s/readme-ai/chrome.static" alt="star chart" width="100%"/>
|
|
214
|
+
<img src="https://hyperweave.app/v1/chart/stars/eli64s/readme-ai/chrome.static?variant=horizon" alt="star chart" width="100%"/>
|
|
206
215
|
<br/>
|
|
207
216
|
<ul>
|
|
208
|
-
<li><sub><code>/v1/chart/stars/{owner}/{repo}/{genome}.static</code></sub></li>
|
|
209
|
-
<li><sub><code>hyperweave.app/v1/chart/stars/eli64s/readme-ai/chrome.static</code></sub></li>
|
|
217
|
+
<li><sub><code>/v1/chart/stars/{owner}/{repo}/{genome}.static?variant={variant}</code></sub></li>
|
|
218
|
+
<li><sub><code>hyperweave.app/v1/chart/stars/eli64s/readme-ai/chrome.static?variant=horizon</code></sub></li>
|
|
210
219
|
</ul>
|
|
211
220
|
</td>
|
|
212
221
|
</tr>
|
|
213
222
|
<tr>
|
|
214
223
|
<th align="left">Marquee<br/><sub>horizontal ticker</sub></th>
|
|
215
224
|
<td>
|
|
216
|
-
<img src="https://hyperweave.app/v1/marquee/readme-ai/chrome.static?data=gh:eli64s/readme-ai.stars,gh:eli64s/readme-ai.forks,pypi:readmeai.version,pypi:readmeai.downloads,docker:zeroxeli/readme-ai.pull_count" alt="marquee"/>
|
|
225
|
+
<img src="https://hyperweave.app/v1/marquee/readme-ai/chrome.static?data=gh:eli64s/readme-ai.stars,gh:eli64s/readme-ai.forks,pypi:readmeai.version,pypi:readmeai.downloads,docker:zeroxeli/readme-ai.pull_count&variant=horizon" alt="marquee"/>
|
|
217
226
|
<br/>
|
|
218
227
|
<ul>
|
|
219
|
-
<li><sub><code>/v1/marquee/{title}/{genome}.static?data={tokens}</code></sub></li>
|
|
220
|
-
<li><sub><code>hyperweave.app/v1/marquee/readme-ai/chrome.static?data=gh:eli64s/readme-ai.stars,gh:eli64s/readme-ai.forks,pypi:readmeai.version,pypi:readmeai.downloads,docker:zeroxeli/readme-ai.pull_count</code></sub></li>
|
|
228
|
+
<li><sub><code>/v1/marquee/{title}/{genome}.static?data={tokens}&variant={variant}</code></sub></li>
|
|
229
|
+
<li><sub><code>hyperweave.app/v1/marquee/readme-ai/chrome.static?data=gh:eli64s/readme-ai.stars,gh:eli64s/readme-ai.forks,pypi:readmeai.version,pypi:readmeai.downloads,docker:zeroxeli/readme-ai.pull_count&variant=horizon</code></sub></li>
|
|
221
230
|
</ul>
|
|
222
231
|
</td>
|
|
223
232
|
</tr>
|
|
224
233
|
<tr>
|
|
225
234
|
<th align="left">Icons<br/><sub>circle + square</sub></th>
|
|
226
235
|
<td>
|
|
227
|
-
<img src="https://hyperweave.app/v1/icon/youtube/chrome.static?shape=circle" alt="youtube" width="56"/>
|
|
228
|
-
<img src="https://hyperweave.app/v1/icon/notion/chrome.static?shape=circle" alt="notion" width="56"/>
|
|
229
|
-
<img src="https://hyperweave.app/v1/icon/npm/chrome.static?shape=square" alt="npm" width="56"/>
|
|
230
|
-
<img src="https://hyperweave.app/v1/icon/instagram/chrome.static?shape=square" alt="instagram" width="56"/>
|
|
236
|
+
<img src="https://hyperweave.app/v1/icon/youtube/chrome.static?shape=circle&variant=horizon" alt="youtube" width="56"/>
|
|
237
|
+
<img src="https://hyperweave.app/v1/icon/notion/chrome.static?shape=circle&variant=horizon" alt="notion" width="56"/>
|
|
238
|
+
<img src="https://hyperweave.app/v1/icon/npm/chrome.static?shape=square&variant=horizon" alt="npm" width="56"/>
|
|
239
|
+
<img src="https://hyperweave.app/v1/icon/instagram/chrome.static?shape=square&variant=horizon" alt="instagram" width="56"/>
|
|
231
240
|
<br/>
|
|
232
241
|
<ul>
|
|
233
|
-
<li><sub><code>/v1/icon/{glyph}/{genome}.static?shape={circle|square}</code></sub></li>
|
|
234
|
-
<li><sub><code>hyperweave.app/v1/icon/youtube/chrome.static?shape=circle</code></sub></li>
|
|
242
|
+
<li><sub><code>/v1/icon/{glyph}/{genome}.static?shape={circle|square}&variant={variant}</code></sub></li>
|
|
243
|
+
<li><sub><code>hyperweave.app/v1/icon/youtube/chrome.static?shape=circle&variant=horizon</code></sub></li>
|
|
235
244
|
</ul>
|
|
236
245
|
</td>
|
|
237
246
|
</tr>
|
|
238
247
|
<tr>
|
|
239
248
|
<th align="left">Divider<br/><sub>band</sub></th>
|
|
240
249
|
<td>
|
|
241
|
-
<img src="https://hyperweave.app/v1/divider/band/chrome.static" alt="chrome band divider"/>
|
|
250
|
+
<img src="https://hyperweave.app/v1/divider/band/chrome.static?variant=horizon" alt="chrome band divider"/>
|
|
242
251
|
<br/>
|
|
243
252
|
<ul>
|
|
244
|
-
<li><sub><code>/v1/divider/band/{genome}.static</code></sub></li>
|
|
245
|
-
<li><sub><code>hyperweave.app/v1/divider/band/chrome.static</code></sub></li>
|
|
253
|
+
<li><sub><code>/v1/divider/band/{genome}.static?variant={variant}</code></sub></li>
|
|
254
|
+
<li><sub><code>hyperweave.app/v1/divider/band/chrome.static?variant=horizon</code></sub></li>
|
|
246
255
|
</ul>
|
|
247
256
|
</td>
|
|
248
257
|
</tr>
|
|
249
258
|
</table>
|
|
250
259
|
|
|
251
|
-
<h3 id="
|
|
252
|
-
|
|
260
|
+
<h3 id="automata">automata</h3>
|
|
261
|
+
|
|
262
|
+
<p align="center">
|
|
263
|
+
<img src="https://hyperweave.app/v1/badge/DOCKER/PULL/automata.static?glyph=docker&variant=teal" alt="DOCKER PULL — teal variant"/>
|
|
264
|
+
<img src="https://hyperweave.app/v1/badge/DISCORD/JOIN/automata.static?glyph=discord&variant=violet" alt="DISCORD JOIN — violet variant"/>
|
|
265
|
+
<img src="https://hyperweave.app/v1/badge/STARS/automata.static?data=gh:eli64s/readme-ai.stars&glyph=github&variant=amber" alt="STARS — amber variant"/>
|
|
266
|
+
<img src="https://hyperweave.app/v1/badge/HF/MODELS/automata.static?glyph=huggingface&variant=sulfur" alt="HF MODELS — sulfur variant"/>
|
|
267
|
+
<img src="https://hyperweave.app/v1/badge/SPOTIFY/LISTEN/automata.static?glyph=spotify&variant=jade" alt="SPOTIFY LISTEN — jade variant"/>
|
|
268
|
+
</p>
|
|
269
|
+
|
|
270
|
+
<p align="center">
|
|
271
|
+
<sub>16 tones: <code>violet</code> · <code>teal</code> · <code>bone</code> · <code>steel</code> · <code>amber</code> · <code>jade</code> · <code>magenta</code> · <code>cobalt</code> · <code>toxic</code> · <code>solar</code> · <code>abyssal</code> · <code>crimson</code> · <code>sulfur</code> · <code>indigo</code> · <code>burgundy</code> · <code>copper</code>. Pair any two via <code>?variant=primary&pair=secondary</code>.</sub>
|
|
272
|
+
</p>
|
|
253
273
|
|
|
254
274
|
<table>
|
|
255
275
|
<tr>
|
|
256
276
|
<th align="left" width="160">Signals<br/><sub>state machine</sub></th>
|
|
257
277
|
<td>
|
|
258
|
-
<img src="https://hyperweave.app/v1/badge/BUILD/passing/
|
|
259
|
-
<img src="https://hyperweave.app/v1/badge/BUILD/warning/
|
|
260
|
-
<img src="https://hyperweave.app/v1/badge/BUILD/critical/
|
|
278
|
+
<img src="https://hyperweave.app/v1/badge/BUILD/passing/automata.static?state=passing&variant=bone" alt="passing"/>
|
|
279
|
+
<img src="https://hyperweave.app/v1/badge/BUILD/warning/automata.static?state=warning&variant=bone" alt="warning"/>
|
|
280
|
+
<img src="https://hyperweave.app/v1/badge/BUILD/critical/automata.static?state=critical&variant=bone" alt="critical"/>
|
|
261
281
|
<br/>
|
|
262
282
|
<ul>
|
|
263
283
|
<li><sub><code>/v1/badge/{title}/{value}/{genome}.static?state={state}</code></sub></li>
|
|
264
|
-
<li><sub><code>hyperweave.app/v1/badge/BUILD/passing/
|
|
284
|
+
<li><sub><code>hyperweave.app/v1/badge/BUILD/passing/automata.static?state=passing&variant=bone</code></sub></li>
|
|
265
285
|
</ul>
|
|
266
286
|
</td>
|
|
267
287
|
</tr>
|
|
268
288
|
<tr>
|
|
269
289
|
<th align="left">Dashboard<br/><sub>strip</sub></th>
|
|
270
290
|
<td>
|
|
271
|
-
<img src="https://hyperweave.app/v1/strip/readme-ai/
|
|
291
|
+
<img src="https://hyperweave.app/v1/strip/readme-ai/automata.static?data=gh:eli64s/readme-ai.stars,gh:eli64s/readme-ai.forks,pypi:readmeai.version&subtitle=eli64s/readme-ai&variant=bone&glyph=github" alt="strip"/>
|
|
272
292
|
<br/>
|
|
273
293
|
<ul>
|
|
274
|
-
<li><sub><code>/v1/strip/{title}/
|
|
275
|
-
<li><sub><code>hyperweave.app/v1/strip/readme-ai/
|
|
294
|
+
<li><sub><code>/v1/strip/{title}/automata.static?data={tokens}&variant={tone}&pair={tone}&subtitle={text}&glyph={glyph}</code></sub></li>
|
|
295
|
+
<li><sub><code>hyperweave.app/v1/strip/readme-ai/automata.static?data=gh:eli64s/readme-ai.stars,gh:eli64s/readme-ai.forks,pypi:readmeai.version&subtitle=eli64s/readme-ai&variant=bone&pair=steel&glyph=github</code></sub></li>
|
|
276
296
|
</ul>
|
|
277
297
|
</td>
|
|
278
298
|
</tr>
|
|
279
299
|
<tr>
|
|
280
300
|
<th align="left">Profile<br/><sub>stats card</sub></th>
|
|
281
301
|
<td>
|
|
282
|
-
<img src="https://hyperweave.app/v1/stats/eli64s/
|
|
302
|
+
<img src="https://hyperweave.app/v1/stats/eli64s/automata.static?variant=bone&v=2" alt="stats" width="100%"/>
|
|
283
303
|
<br/>
|
|
284
304
|
<ul>
|
|
285
|
-
<li><sub><code>/v1/stats/{username}/{genome}.static</code></sub></li>
|
|
286
|
-
<li><sub><code>hyperweave.app/v1/stats/eli64s/
|
|
305
|
+
<li><sub><code>/v1/stats/{username}/{genome}.static?variant={tone}</code></sub></li>
|
|
306
|
+
<li><sub><code>hyperweave.app/v1/stats/eli64s/automata.static?variant=bone</code></sub></li>
|
|
287
307
|
</ul>
|
|
288
308
|
</td>
|
|
289
309
|
</tr>
|
|
290
310
|
<tr>
|
|
291
311
|
<th align="left">Star Chart<br/><sub>star history</sub></th>
|
|
292
312
|
<td>
|
|
293
|
-
<img src="https://hyperweave.app/v1/chart/stars/eli64s/readme-ai/
|
|
313
|
+
<img src="https://hyperweave.app/v1/chart/stars/eli64s/readme-ai/automata.static?variant=bone&v=2" alt="star chart" width="100%"/>
|
|
294
314
|
<br/>
|
|
295
315
|
<ul>
|
|
296
|
-
<li><sub><code>/v1/chart/stars/{owner}/{repo}/{genome}.static</code></sub></li>
|
|
297
|
-
<li><sub><code>hyperweave.app/v1/chart/stars/eli64s/readme-ai/
|
|
316
|
+
<li><sub><code>/v1/chart/stars/{owner}/{repo}/{genome}.static?variant={tone}</code></sub></li>
|
|
317
|
+
<li><sub><code>hyperweave.app/v1/chart/stars/eli64s/readme-ai/automata.static?variant=bone</code></sub></li>
|
|
298
318
|
</ul>
|
|
299
319
|
</td>
|
|
300
320
|
</tr>
|
|
301
321
|
<tr>
|
|
302
322
|
<th align="left">Marquee<br/><sub>horizontal ticker</sub></th>
|
|
303
323
|
<td>
|
|
304
|
-
<img src="https://hyperweave.app/v1/marquee/readme-ai/
|
|
324
|
+
<img src="https://hyperweave.app/v1/marquee/readme-ai/automata.static?data=gh:eli64s/readme-ai.stars,gh:eli64s/readme-ai.forks,pypi:readmeai.version,pypi:readmeai.downloads,docker:zeroxeli/readme-ai.pull_count&variant=bone" alt="marquee"/>
|
|
305
325
|
<br/>
|
|
306
326
|
<ul>
|
|
307
|
-
<li><sub><code>/v1/marquee/{title}/
|
|
308
|
-
<li><sub><code>hyperweave.app/v1/marquee/readme-ai/
|
|
327
|
+
<li><sub><code>/v1/marquee/{title}/automata.static?data={tokens}&variant={tone}</code></sub></li>
|
|
328
|
+
<li><sub><code>hyperweave.app/v1/marquee/readme-ai/automata.static?data=gh:eli64s/readme-ai.stars,gh:eli64s/readme-ai.forks,pypi:readmeai.version,pypi:readmeai.downloads,docker:zeroxeli/readme-ai.pull_count&variant=bone</code></sub></li>
|
|
309
329
|
</ul>
|
|
310
330
|
</td>
|
|
311
331
|
</tr>
|
|
312
332
|
<tr>
|
|
313
|
-
<th align="left">Icons<br/><sub>
|
|
333
|
+
<th align="left">Icons<br/><sub>square brand-matched tones</sub></th>
|
|
314
334
|
<td>
|
|
315
|
-
<img src="https://hyperweave.app/v1/icon/
|
|
316
|
-
<img src="https://hyperweave.app/v1/icon/
|
|
317
|
-
<img src="https://hyperweave.app/v1/icon/
|
|
318
|
-
<img src="https://hyperweave.app/v1/icon/
|
|
335
|
+
<img src="https://hyperweave.app/v1/icon/docker/automata.static?shape=square&variant=cobalt" alt="docker cobalt" width="56"/>
|
|
336
|
+
<img src="https://hyperweave.app/v1/icon/discord/automata.static?shape=square&variant=indigo" alt="discord indigo" width="56"/>
|
|
337
|
+
<img src="https://hyperweave.app/v1/icon/github/automata.static?shape=square&variant=bone" alt="github bone" width="56"/>
|
|
338
|
+
<img src="https://hyperweave.app/v1/icon/huggingface/automata.static?shape=square&variant=sulfur" alt="huggingface sulfur" width="56"/>
|
|
339
|
+
<img src="https://hyperweave.app/v1/icon/anthropic/automata.static?shape=square&variant=solar" alt="anthropic solar" width="56"/>
|
|
340
|
+
<img src="https://hyperweave.app/v1/icon/youtube/automata.static?shape=square&variant=crimson" alt="youtube crimson" width="56"/>
|
|
341
|
+
<img src="https://hyperweave.app/v1/icon/spotify/automata.static?shape=square&variant=jade" alt="spotify jade" width="56"/>
|
|
319
342
|
<br/>
|
|
320
343
|
<ul>
|
|
321
|
-
<li><sub><code>/v1/icon/{glyph}/
|
|
322
|
-
<li><sub><code>hyperweave.app/v1/icon/
|
|
344
|
+
<li><sub><code>/v1/icon/{glyph}/automata.static?shape=square&variant={tone}</code></sub></li>
|
|
345
|
+
<li><sub><code>hyperweave.app/v1/icon/docker/automata.static?shape=square&variant=cobalt</code></sub></li>
|
|
323
346
|
</ul>
|
|
324
347
|
</td>
|
|
325
348
|
</tr>
|
|
326
349
|
<tr>
|
|
327
|
-
<th align="left">Divider<br/><sub>
|
|
350
|
+
<th align="left">Divider<br/><sub>dissolve</sub></th>
|
|
328
351
|
<td>
|
|
329
|
-
<img src="https://hyperweave.app/v1/divider/
|
|
352
|
+
<img src="https://hyperweave.app/v1/divider/dissolve/automata.static?variant=bone" alt="automata dissolve divider"/>
|
|
330
353
|
<br/>
|
|
331
354
|
<ul>
|
|
332
|
-
<li><sub><code>/v1/divider/
|
|
333
|
-
<li><sub><code>hyperweave.app/v1/divider/
|
|
355
|
+
<li><sub><code>/v1/divider/dissolve/{genome}.static?variant={tone}&pair={tone}</code></sub></li>
|
|
356
|
+
<li><sub><code>hyperweave.app/v1/divider/dissolve/automata.static?variant=bone&pair=steel</code></sub></li>
|
|
334
357
|
</ul>
|
|
335
358
|
</td>
|
|
336
359
|
</tr>
|
|
337
360
|
</table>
|
|
338
361
|
|
|
339
|
-
<h3 id="
|
|
340
|
-
<sub><b>cellular paradigm · bifamily teal × amethyst · abyssal-cyber chromatics</b></sub>
|
|
362
|
+
<h3 id="brutalist">brutalist</h3>
|
|
341
363
|
|
|
342
364
|
<table>
|
|
343
365
|
<tr>
|
|
344
|
-
<th align="left" width="160">Signals<br/><sub>
|
|
366
|
+
<th align="left" width="160">Signals<br/><sub>state machine</sub></th>
|
|
345
367
|
<td>
|
|
346
|
-
<img src="https://hyperweave.app/v1/badge/
|
|
347
|
-
<img src="https://hyperweave.app/v1/badge/
|
|
368
|
+
<img src="https://hyperweave.app/v1/badge/BUILD/passing/brutalist.static?state=passing" alt="passing"/>
|
|
369
|
+
<img src="https://hyperweave.app/v1/badge/BUILD/warning/brutalist.static?state=warning" alt="warning"/>
|
|
370
|
+
<img src="https://hyperweave.app/v1/badge/BUILD/critical/brutalist.static?state=critical" alt="critical"/>
|
|
348
371
|
<br/>
|
|
349
372
|
<ul>
|
|
350
|
-
<li><sub><code>/v1/badge/{title}/
|
|
351
|
-
<li><sub><code>hyperweave.app/v1/badge/
|
|
373
|
+
<li><sub><code>/v1/badge/{title}/{value}/{genome}.static?state={state}</code></sub></li>
|
|
374
|
+
<li><sub><code>hyperweave.app/v1/badge/BUILD/passing/brutalist.static?state=passing</code></sub></li>
|
|
352
375
|
</ul>
|
|
353
376
|
</td>
|
|
354
377
|
</tr>
|
|
355
378
|
<tr>
|
|
356
|
-
<th align="left">Dashboard<br/><sub>strip
|
|
379
|
+
<th align="left">Dashboard<br/><sub>strip</sub></th>
|
|
357
380
|
<td>
|
|
358
|
-
<img src="https://hyperweave.app/v1/strip/readme-ai/
|
|
381
|
+
<img src="https://hyperweave.app/v1/strip/readme-ai/brutalist.static?data=gh:eli64s/readme-ai.stars,gh:eli64s/readme-ai.forks,pypi:readmeai.version&subtitle=eli64s/readme-ai&glyph=github" alt="strip"/>
|
|
359
382
|
<br/>
|
|
360
383
|
<ul>
|
|
361
|
-
<li><sub><code>/v1/strip/{title}/
|
|
362
|
-
<li><sub><code>hyperweave.app/v1/strip/readme-ai/
|
|
384
|
+
<li><sub><code>/v1/strip/{title}/{genome}.static?data={tokens}&subtitle={text}&glyph={glyph}</code></sub></li>
|
|
385
|
+
<li><sub><code>hyperweave.app/v1/strip/readme-ai/brutalist.static?data=gh:eli64s/readme-ai.stars,gh:eli64s/readme-ai.forks,pypi:readmeai.version&subtitle=eli64s/readme-ai&glyph=github</code></sub></li>
|
|
363
386
|
</ul>
|
|
364
387
|
</td>
|
|
365
388
|
</tr>
|
|
366
389
|
<tr>
|
|
367
390
|
<th align="left">Profile<br/><sub>stats card</sub></th>
|
|
368
391
|
<td>
|
|
369
|
-
<img src="https://hyperweave.app/v1/stats/eli64s/
|
|
392
|
+
<img src="https://hyperweave.app/v1/stats/eli64s/brutalist.static" alt="stats" width="100%"/>
|
|
370
393
|
<br/>
|
|
371
394
|
<ul>
|
|
372
395
|
<li><sub><code>/v1/stats/{username}/{genome}.static</code></sub></li>
|
|
373
|
-
<li><sub><code>hyperweave.app/v1/stats/eli64s/
|
|
396
|
+
<li><sub><code>hyperweave.app/v1/stats/eli64s/brutalist.static</code></sub></li>
|
|
374
397
|
</ul>
|
|
375
398
|
</td>
|
|
376
399
|
</tr>
|
|
377
400
|
<tr>
|
|
378
401
|
<th align="left">Star Chart<br/><sub>star history</sub></th>
|
|
379
402
|
<td>
|
|
380
|
-
<img src="https://hyperweave.app/v1/chart/stars/eli64s/readme-ai/
|
|
403
|
+
<img src="https://hyperweave.app/v1/chart/stars/eli64s/readme-ai/brutalist.static" alt="star chart" width="100%"/>
|
|
381
404
|
<br/>
|
|
382
405
|
<ul>
|
|
383
406
|
<li><sub><code>/v1/chart/stars/{owner}/{repo}/{genome}.static</code></sub></li>
|
|
384
|
-
<li><sub><code>hyperweave.app/v1/chart/stars/eli64s/readme-ai/
|
|
407
|
+
<li><sub><code>hyperweave.app/v1/chart/stars/eli64s/readme-ai/brutalist.static</code></sub></li>
|
|
385
408
|
</ul>
|
|
386
409
|
</td>
|
|
387
410
|
</tr>
|
|
388
411
|
<tr>
|
|
389
|
-
<th align="left">Marquee<br/><sub>horizontal ticker
|
|
412
|
+
<th align="left">Marquee<br/><sub>horizontal ticker</sub></th>
|
|
390
413
|
<td>
|
|
391
|
-
<img src="https://hyperweave.app/v1/marquee/readme-ai/
|
|
414
|
+
<img src="https://hyperweave.app/v1/marquee/readme-ai/brutalist.static?data=gh:eli64s/readme-ai.stars,gh:eli64s/readme-ai.forks,pypi:readmeai.version,pypi:readmeai.downloads,docker:zeroxeli/readme-ai.pull_count" alt="marquee"/>
|
|
392
415
|
<br/>
|
|
393
416
|
<ul>
|
|
394
|
-
<li><sub><code>/v1/marquee/{title}/
|
|
395
|
-
<li><sub><code>hyperweave.app/v1/marquee/readme-ai/
|
|
417
|
+
<li><sub><code>/v1/marquee/{title}/{genome}.static?data={tokens}</code></sub></li>
|
|
418
|
+
<li><sub><code>hyperweave.app/v1/marquee/readme-ai/brutalist.static?data=gh:eli64s/readme-ai.stars,gh:eli64s/readme-ai.forks,pypi:readmeai.version,pypi:readmeai.downloads,docker:zeroxeli/readme-ai.pull_count</code></sub></li>
|
|
396
419
|
</ul>
|
|
397
420
|
</td>
|
|
398
421
|
</tr>
|
|
399
422
|
<tr>
|
|
400
423
|
<th align="left">Icons<br/><sub>circle + square</sub></th>
|
|
401
424
|
<td>
|
|
402
|
-
<img src="https://hyperweave.app/v1/icon/
|
|
403
|
-
<img src="https://hyperweave.app/v1/icon/
|
|
404
|
-
<img src="https://hyperweave.app/v1/icon/
|
|
405
|
-
<img src="https://hyperweave.app/v1/icon/
|
|
425
|
+
<img src="https://hyperweave.app/v1/icon/discord/brutalist.static?shape=circle" alt="discord" width="56"/>
|
|
426
|
+
<img src="https://hyperweave.app/v1/icon/github/brutalist.static?shape=circle" alt="github" width="56"/>
|
|
427
|
+
<img src="https://hyperweave.app/v1/icon/x/brutalist.static?shape=square" alt="x" width="56"/>
|
|
428
|
+
<img src="https://hyperweave.app/v1/icon/spotify/brutalist.static?shape=square" alt="spotify" width="56"/>
|
|
406
429
|
<br/>
|
|
407
430
|
<ul>
|
|
408
|
-
<li><sub><code>/v1/icon/{glyph}/
|
|
409
|
-
<li><sub><code>hyperweave.app/v1/icon/
|
|
431
|
+
<li><sub><code>/v1/icon/{glyph}/{genome}.static?shape={circle|square}</code></sub></li>
|
|
432
|
+
<li><sub><code>hyperweave.app/v1/icon/discord/brutalist.static?shape=circle</code></sub></li>
|
|
410
433
|
</ul>
|
|
411
434
|
</td>
|
|
412
435
|
</tr>
|
|
413
436
|
<tr>
|
|
414
|
-
<th align="left">Divider<br/><sub>
|
|
437
|
+
<th align="left">Divider<br/><sub>seam</sub></th>
|
|
415
438
|
<td>
|
|
416
|
-
<img src="https://hyperweave.app/v1/divider/
|
|
439
|
+
<img src="https://hyperweave.app/v1/divider/seam/brutalist.static" alt="brutalist seam divider"/>
|
|
417
440
|
<br/>
|
|
418
441
|
<ul>
|
|
419
|
-
<li><sub><code>/v1/divider/
|
|
420
|
-
<li><sub><code>hyperweave.app/v1/divider/
|
|
442
|
+
<li><sub><code>/v1/divider/seam/{genome}.static</code></sub></li>
|
|
443
|
+
<li><sub><code>hyperweave.app/v1/divider/seam/brutalist.static</code></sub></li>
|
|
421
444
|
</ul>
|
|
422
445
|
</td>
|
|
423
446
|
</tr>
|
|
424
447
|
</table>
|
|
425
448
|
|
|
449
|
+
<br />
|
|
450
|
+
|
|
426
451
|
| | chrome | brutalist | automata |
|
|
427
452
|
|---|---|---|---|
|
|
428
|
-
|
|
|
429
|
-
|
|
|
430
|
-
|
|
|
431
|
-
|
|
|
432
|
-
| Motions | 5 border SMIL | 5 border SMIL | static, chromatic-pulse, rimrun, corner-trace |
|
|
433
|
-
| Divider | `band` (envelope drift) | `seam` (expansion joint) | `dissolve` (bifamily bridge) |
|
|
453
|
+
| Aesthetic | Metallic precision | Raw material | Living cellular grid |
|
|
454
|
+
| Variants | 5 named | — | 16 tones, any two pair |
|
|
455
|
+
| Motion | Animated border SMIL | Animated border SMIL | Animated cell grid |
|
|
456
|
+
| Divider | `band` | `seam` | `dissolve` |
|
|
434
457
|
|
|
435
|
-
<
|
|
458
|
+
<br />
|
|
436
459
|
|
|
437
460
|
<h3 id="dividers"><code>/a/inneraura/dividers/</code></h3>
|
|
438
461
|
|
|
@@ -620,8 +643,8 @@ curl 'https://hyperweave.app/v1/badge/STARS/chrome.static?data=gh:anthropics/cla
|
|
|
620
643
|
curl 'https://hyperweave.app/v1/strip/readme-ai/brutalist.static?data=gh:eli64s/readme-ai.stars,gh:eli64s/readme-ai.forks'
|
|
621
644
|
curl 'https://hyperweave.app/v1/marquee/SCROLL/brutalist.static?data=text:NEW%20RELEASE,gh:anthropics/claude-code.stars'
|
|
622
645
|
|
|
623
|
-
# Chromatic
|
|
624
|
-
curl 'https://hyperweave.app/v1/badge/PYPI/automata.static?variant=
|
|
646
|
+
# Chromatic variants (automata: 16 solo tones, pair any two via &pair=...; chrome: horizon/abyssal/lightning/graphite/moth)
|
|
647
|
+
curl 'https://hyperweave.app/v1/badge/PYPI/automata.static?variant=teal&pair=violet&data=pypi:hyperweave.version'
|
|
625
648
|
curl 'https://hyperweave.app/v1/badge/build/passing/automata.static?size=compact'
|
|
626
649
|
|
|
627
650
|
# Genome-themed dividers
|
|
@@ -672,13 +695,35 @@ Every artifact ships with:
|
|
|
672
695
|
| Glyphs | 99 (93 Simple Icons + 6 geometric) |
|
|
673
696
|
| Divider variants | 8 — 3 genome-themed (`band` chrome, `seam` brutalist, `dissolve` automata) + 5 genome-agnostic (`block`, `current`, `takeoff`, `void`, `zeropoint`) at <code>/a/inneraura/dividers/</code> |
|
|
674
697
|
| Metadata tiers | 5 (Tier 0 silent → Tier 4 reasoning) |
|
|
675
|
-
| Paradigms | 4 per frame (default, brutalist, chrome, cellular) — per-frame dispatch from genome |
|
|
676
698
|
| Bundled fonts | 3 (JetBrains Mono, Orbitron, Chakra Petch — base64-embedded) |
|
|
677
699
|
|
|
678
700
|
Stack: Pydantic, FastAPI, FastMCP v3, Jinja2, Typer.
|
|
679
701
|
|
|
680
702
|
---
|
|
681
703
|
|
|
704
|
+
## Data Connectors
|
|
705
|
+
|
|
706
|
+
HyperWeave binds live data into any artifact through a unified token grammar (`?data=...`). Tokens are comma-separated; each token is either a literal (`text:`, `kv:`) or a live fetch (`<provider>:<identifier>.<metric>`).
|
|
707
|
+
|
|
708
|
+
| Prefix | Source | Identifier shape | Metrics |
|
|
709
|
+
|--------|--------|------------------|---------|
|
|
710
|
+
| `gh` / `github` | GitHub | `owner/repo` | `stars`, `forks`, `watchers`, `issues`, `license`, `language`, `build` |
|
|
711
|
+
| `pypi` | PyPI + pypistats.org | `package` | `version`, `license`, `python_requires`, `downloads` |
|
|
712
|
+
| `npm` | npm registry | `package` | `version`, `license`, `downloads` |
|
|
713
|
+
| `hf` / `huggingface` | HuggingFace Hub | `org/model` | `downloads`, `likes`, `tags`, `pipeline_tag`, `library_name` |
|
|
714
|
+
| `docker` | Docker Hub | `namespace/repo` | `pull_count`, `star_count`, `last_updated` |
|
|
715
|
+
| `arxiv` | arXiv API | `id` (e.g. `2310.06825`) | `title`, `authors`, `published`, `categories`, `summary` |
|
|
716
|
+
| `text` | literal | — | renders the payload as displayed text |
|
|
717
|
+
| `kv` | literal | `KEY=VALUE` | static role-tagged value |
|
|
718
|
+
|
|
719
|
+
Live tokens cache for 5–10 minutes per provider. Failures cache for 60s and surface as the em-dash sentinel (`—`) instead of fabricating zero values. Each provider runs through its own circuit breaker so a single upstream outage cannot trip unrelated fetches.
|
|
720
|
+
|
|
721
|
+
Embedded commas inside `text:` and `kv:` values escape as `\,`.
|
|
722
|
+
|
|
723
|
+
→ [Open an issue](https://github.com/InnerAura/hyperweave/issues/new) to request a connector.
|
|
724
|
+
|
|
725
|
+
---
|
|
726
|
+
|
|
682
727
|
## Contributing
|
|
683
728
|
|
|
684
729
|
HyperWeave is early. If you're interested in building genomes, extending frame types, or just seeing what this looks like in your own README — [join the Discord](https://discord.gg/wVmcAZPQZ8).
|