mirror of
https://github.com/blackboxprogramming/BlackRoad-Operating-System.git
synced 2026-03-17 05:57:21 -05:00
805887db0ea5d2b04a1950f9306b08994c966f5a
6 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
a5266fb72a |
chore: bump pydantic-settings from 2.1.0 to 2.13.1 (#193)
[//]: # (dependabot-start) ⚠️ **Dependabot is rebasing this PR** ⚠️ Rebasing might not happen immediately, so don't worry if this takes some time. Note: if you make any changes to this PR yourself, they will take precedence over the rebase. --- [//]: # (dependabot-end) Bumps [pydantic-settings](https://github.com/pydantic/pydantic-settings) from 2.1.0 to 2.13.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pydantic/pydantic-settings/releases">pydantic-settings's releases</a>.</em></p> <blockquote> <h2>v2.13.0</h2> <h2>What's Changed</h2> <ul> <li>fix: Deterministic alias selection when using validate_by_name by <a href="https://github.com/chbndrhnns"><code>@chbndrhnns</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/707">pydantic/pydantic-settings#707</a></li> <li>add deep merge functionality to config file sources by <a href="https://github.com/pmeier"><code>@pmeier</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/698">pydantic/pydantic-settings#698</a></li> <li>Add support for AWS Secrets Manager VersionId parameter by <a href="https://github.com/jcyamacho"><code>@jcyamacho</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/708">pydantic/pydantic-settings#708</a></li> <li>bugfix: Return <code>None</code> for inaccessible GCP Secret Manager secrets by <a href="https://github.com/zaphod72"><code>@zaphod72</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/712">pydantic/pydantic-settings#712</a></li> <li>Bugfix for cli_kebab_case="all" and CliImplicitFlag[bool] by <a href="https://github.com/Digity101"><code>@Digity101</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/702">pydantic/pydantic-settings#702</a></li> <li>Unpack type alisases when looking for <code>NoDecode</code> by <a href="https://github.com/tselepakis"><code>@tselepakis</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/695">pydantic/pydantic-settings#695</a></li> <li>CliToggleFlag and CliDualFlag by <a href="https://github.com/kschwab"><code>@kschwab</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/717">pydantic/pydantic-settings#717</a></li> <li>Fix for CLI duplicate enum field values. by <a href="https://github.com/kschwab"><code>@kschwab</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/722">pydantic/pydantic-settings#722</a></li> <li>fixed load nested config from env by <a href="https://github.com/Sube-py"><code>@Sube-py</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/723">pydantic/pydantic-settings#723</a></li> <li>Add non-Path files support (for example Traversable) and open files using Path.open method by <a href="https://github.com/mahenzon"><code>@mahenzon</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/724">pydantic/pydantic-settings#724</a></li> <li>add one more traversable test by <a href="https://github.com/mahenzon"><code>@mahenzon</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/725">pydantic/pydantic-settings#725</a></li> <li>CLI fix fox external list args. by <a href="https://github.com/kschwab"><code>@kschwab</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/727">pydantic/pydantic-settings#727</a></li> <li>fix: handle case-insensitive retrieval in GoogleSecretManagerSettingsSource by <a href="https://github.com/ezwiefel"><code>@ezwiefel</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/730">pydantic/pydantic-settings#730</a></li> <li>CLI test fixes for help text formatting. by <a href="https://github.com/kschwab"><code>@kschwab</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/735">pydantic/pydantic-settings#735</a></li> <li>Avoid conflicts with the <code>NAME</code> environment variable in WSL by <a href="https://github.com/kzrnm"><code>@kzrnm</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/747">pydantic/pydantic-settings#747</a></li> <li>fix: When restoring init kwargs, use deterministic order by <a href="https://github.com/chbndrhnns"><code>@chbndrhnns</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/746">pydantic/pydantic-settings#746</a></li> <li>Add env_prefix_target by <a href="https://github.com/kzrnm"><code>@kzrnm</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/749">pydantic/pydantic-settings#749</a></li> <li>Remove <code>(default: …)</code> in the help message for <code>CliToggleFlag</code> by <a href="https://github.com/kzrnm"><code>@kzrnm</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/740">pydantic/pydantic-settings#740</a></li> <li>Add support for CLI serialize styles. by <a href="https://github.com/kschwab"><code>@kschwab</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/755">pydantic/pydantic-settings#755</a></li> <li>Add support for overriding default help on CLI internal parser. by <a href="https://github.com/kschwab"><code>@kschwab</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/758">pydantic/pydantic-settings#758</a></li> <li>CLI format_help method support by <a href="https://github.com/kschwab"><code>@kschwab</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/759">pydantic/pydantic-settings#759</a></li> <li>feat(gcp): support SecretVersion annotation for per-field secret versioning by <a href="https://github.com/ezwiefel"><code>@ezwiefel</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/763">pydantic/pydantic-settings#763</a></li> <li>Allow <code>snake_case_conversion</code> with <code>env_prefix</code> for Azure Key Vault source by <a href="https://github.com/cstarkers"><code>@cstarkers</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/762">pydantic/pydantic-settings#762</a></li> <li>fix: Only override preferred_key when no value was found by <a href="https://github.com/chbndrhnns"><code>@chbndrhnns</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/767">pydantic/pydantic-settings#767</a></li> <li>Update deps by <a href="https://github.com/hramezani"><code>@hramezani</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/768">pydantic/pydantic-settings#768</a></li> <li>CLI coerce numeric types. by <a href="https://github.com/kschwab"><code>@kschwab</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/769">pydantic/pydantic-settings#769</a></li> <li>CLI Union Discriminator Choices in Help by <a href="https://github.com/kschwab"><code>@kschwab</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/764">pydantic/pydantic-settings#764</a></li> <li>Add nested path support for yaml_config_section (fixes <a href="https://redirect.github.com/pydantic/pydantic-settings/issues/772">#772</a>) by <a href="https://github.com/hugo-romero-mm"><code>@hugo-romero-mm</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/773">pydantic/pydantic-settings#773</a></li> <li>Prepare release 2.13.0 by <a href="https://github.com/hramezani"><code>@hramezani</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/777">pydantic/pydantic-settings#777</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/pmeier"><code>@pmeier</code></a> made their first contribution in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/698">pydantic/pydantic-settings#698</a></li> <li><a href="https://github.com/jcyamacho"><code>@jcyamacho</code></a> made their first contribution in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/708">pydantic/pydantic-settings#708</a></li> <li><a href="https://github.com/zaphod72"><code>@zaphod72</code></a> made their first contribution in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/712">pydantic/pydantic-settings#712</a></li> <li><a href="https://github.com/Digity101"><code>@Digity101</code></a> made their first contribution in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/702">pydantic/pydantic-settings#702</a></li> <li><a href="https://github.com/Sube-py"><code>@Sube-py</code></a> made their first contribution in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/723">pydantic/pydantic-settings#723</a></li> <li><a href="https://github.com/mahenzon"><code>@mahenzon</code></a> made their first contribution in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/724">pydantic/pydantic-settings#724</a></li> <li><a href="https://github.com/kzrnm"><code>@kzrnm</code></a> made their first contribution in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/747">pydantic/pydantic-settings#747</a></li> <li><a href="https://github.com/cstarkers"><code>@cstarkers</code></a> made their first contribution in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/762">pydantic/pydantic-settings#762</a></li> <li><a href="https://github.com/hugo-romero-mm"><code>@hugo-romero-mm</code></a> made their first contribution in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/773">pydantic/pydantic-settings#773</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pydantic/pydantic-settings/compare/v2.12.0...v2.13.0">https://github.com/pydantic/pydantic-settings/compare/v2.12.0...v2.13.0</a></p> <h2>v2.12.0</h2> <h2>What's Changed</h2> <ul> <li>Support for enum kebab case. by <a href="https://github.com/kschwab"><code>@kschwab</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/686">pydantic/pydantic-settings#686</a></li> <li>Apply source order: init > env > dotenv > secrets > defaults and pres… by <a href="https://github.com/chbndrhnns"><code>@chbndrhnns</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/688">pydantic/pydantic-settings#688</a></li> <li>Add NestedSecretsSettings source by <a href="https://github.com/makukha"><code>@makukha</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-settings/pull/690">pydantic/pydantic-settings#690</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
75adc7d5e5 |
chore: bump uvicorn from 0.24.0 to 0.41.0 (#194)
Bumps [uvicorn](https://github.com/Kludex/uvicorn) from 0.24.0 to 0.41.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/Kludex/uvicorn/releases">uvicorn's releases</a>.</em></p> <blockquote> <h2>Version 0.41.0</h2> <h2>Added</h2> <ul> <li>Add <code>--limit-max-requests-jitter</code> to stagger worker restarts (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2707">#2707</a>)</li> <li>Add socket path to <code>scope["server"]</code> (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2561">#2561</a>)</li> </ul> <h2>Changed</h2> <ul> <li>Rename <code>LifespanOn.error_occured</code> to <code>error_occurred</code> (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2776">#2776</a>)</li> </ul> <h2>Fixed</h2> <ul> <li>Ignore permission denied errors in watchfiles reloader (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2817">#2817</a>)</li> <li>Ensure lifespan shutdown runs when <code>should_exit</code> is set during startup (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2812">#2812</a>)</li> <li>Reduce the log level of 'request limit exceeded' messages (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2788">#2788</a>)</li> </ul> <hr /> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/t-kawasumi"><code>@t-kawasumi</code></a> made their first contribution in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2776">Kludex/uvicorn#2776</a></li> <li><a href="https://github.com/fardyn"><code>@fardyn</code></a> made their first contribution in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2800">Kludex/uvicorn#2800</a></li> <li><a href="https://github.com/ewie"><code>@ewie</code></a> made their first contribution in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2807">Kludex/uvicorn#2807</a></li> <li><a href="https://github.com/shevron"><code>@shevron</code></a> made their first contribution in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2788">Kludex/uvicorn#2788</a></li> <li><a href="https://github.com/jonashaag"><code>@jonashaag</code></a> made their first contribution in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2707">Kludex/uvicorn#2707</a></li> </ul> <hr /> <p><strong>Full Changelog</strong>: <a href="https://github.com/Kludex/uvicorn/compare/0.40.0...0.41.0">https://github.com/Kludex/uvicorn/compare/0.40.0...0.41.0</a></p> <h2>Version 0.40.0</h2> <h2>What's Changed</h2> <ul> <li>Drop Python 3.9 by <a href="https://github.com/Kludex"><code>@Kludex</code></a> in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2772">Kludex/uvicorn#2772</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/Kludex/uvicorn/compare/0.39.0...0.40.0">https://github.com/Kludex/uvicorn/compare/0.39.0...0.40.0</a></p> <h2>Version 0.39.0</h2> <h2>What's Changed</h2> <ul> <li>explicitly start ASGI run with empty context by <a href="https://github.com/pmeier"><code>@pmeier</code></a> in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2742">Kludex/uvicorn#2742</a></li> <li>fix(websockets): Send close frame on ASGI return by <a href="https://github.com/Kludex"><code>@Kludex</code></a> in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2769">Kludex/uvicorn#2769</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/pmeier"><code>@pmeier</code></a> made their first contribution in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2742">Kludex/uvicorn#2742</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/Kludex/uvicorn/compare/0.38.0...0.39.0">https://github.com/Kludex/uvicorn/compare/0.38.0...0.39.0</a></p> <h2>Version 0.38.0</h2> <h2>What's Changed</h2> <ul> <li>Support Python 3.14 by <a href="https://github.com/Kludex"><code>@Kludex</code></a> in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2723">Kludex/uvicorn#2723</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md">uvicorn's changelog</a>.</em></p> <blockquote> <h2>0.41.0 (February 16, 2026)</h2> <h3>Added</h3> <ul> <li>Add <code>--limit-max-requests-jitter</code> to stagger worker restarts (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2707">#2707</a>)</li> <li>Add socket path to <code>scope["server"]</code> (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2561">#2561</a>)</li> </ul> <h3>Changed</h3> <ul> <li>Rename <code>LifespanOn.error_occured</code> to <code>error_occurred</code> (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2776">#2776</a>)</li> </ul> <h3>Fixed</h3> <ul> <li>Ignore permission denied errors in watchfiles reloader (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2817">#2817</a>)</li> <li>Ensure lifespan shutdown runs when <code>should_exit</code> is set during startup (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2812">#2812</a>)</li> <li>Reduce the log level of 'request limit exceeded' messages (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2788">#2788</a>)</li> </ul> <h2>0.40.0 (December 21, 2025)</h2> <h3>Remove</h3> <ul> <li>Drop support for Python 3.9 (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2772">#2772</a>)</li> </ul> <h2>0.39.0 (December 21, 2025)</h2> <h3>Fixed</h3> <ul> <li>Send close frame on ASGI return for WebSockets (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2769">#2769</a>)</li> <li>Explicitly start ASGI run with empty context (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2742">#2742</a>)</li> </ul> <h2>0.38.0 (October 18, 2025)</h2> <h3>Added</h3> <ul> <li>Support Python 3.14 (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2723">#2723</a>)</li> </ul> <h2>0.37.0 (September 23, 2025)</h2> <h3>Added</h3> <ul> <li>Add <code>--timeout-worker-healthcheck</code> option (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2711">#2711</a>)</li> <li>Add <code>os.PathLike[str]</code> type to <code>ssl_ca_certs</code> (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2676">#2676</a>)</li> </ul> <h2>0.36.1 (September 23, 2025)</h2> <h3>Fixed</h3> <ul> <li>Raise an exception when calling removed <code>Config.setup_event_loop()</code> (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2709">#2709</a>)</li> </ul> <h2>0.36.0 (September 20, 2025)</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
d643254517 |
chore: bump pytest from 7.4.3 to 9.0.2
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.4.3 to 9.0.2. - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pytest-dev/pytest/compare/7.4.3...9.0.2) --- updated-dependencies: - dependency-name: pytest dependency-version: 9.0.2 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> |
||
|
|
7f1d6b6c0f |
chore: bump uvicorn from 0.24.0 to 0.41.0
Bumps [uvicorn](https://github.com/Kludex/uvicorn) from 0.24.0 to 0.41.0. - [Release notes](https://github.com/Kludex/uvicorn/releases) - [Changelog](https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md) - [Commits](https://github.com/Kludex/uvicorn/compare/0.24.0...0.41.0) --- updated-dependencies: - dependency-name: uvicorn dependency-version: 0.41.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> |
||
|
|
7baebc608f |
chore: bump pydantic-settings from 2.1.0 to 2.13.1
Bumps [pydantic-settings](https://github.com/pydantic/pydantic-settings) from 2.1.0 to 2.13.1. - [Release notes](https://github.com/pydantic/pydantic-settings/releases) - [Commits](https://github.com/pydantic/pydantic-settings/compare/v2.1.0...v2.13.1) --- updated-dependencies: - dependency-name: pydantic-settings dependency-version: 2.13.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> |
||
|
|
7755c3bf88 |
Add master orchestration: health endpoints, Railway configs, deployment guides
This implements the "Big Kahuna" master orchestration plan to get BlackRoad OS fully online and deployable without manual PR management. ## Backend Service (blackroad-core) - Add /version endpoint with build metadata - Prism Console already mounted at /prism - Health check at /health - Comprehensive API health at /api/health/summary ## Operator Service (blackroad-operator) - Add /version endpoint with build metadata - Create requirements.txt for dependencies - Create Dockerfile for containerization - Create railway.toml for Railway deployment - Health check at /health ## Infrastructure - Consolidate railway.toml for monorepo multi-service deployment - Backend service (Dockerfile-based) - Operator service (Nixpacks-based) - Remove conflicting railway.json ## Documentation - Add DEPLOYMENT_SMOKE_TEST_GUIDE.md - Complete deployment instructions (local + Railway) - Automated smoke test suite - Troubleshooting guide - Monitoring & health check setup - Add infra/DNS_CLOUDFLARE_PLAN.md - Complete DNS record table - Cloudflare configuration steps - Health check configuration - Security best practices ## Testing - Add scripts/smoke-test.sh for automated endpoint testing - Validates all health and version endpoints - Supports both Railway and Cloudflare URLs ## Result Alexa can now: 1. Push to main → GitHub Actions deploys to Railway 2. Configure Cloudflare DNS (one-time setup) 3. Run smoke tests to verify everything works 4. Visit https://os.blackroad.systems and use the OS No manual PR merging, no config juggling, no infrastructure babysitting. |