Download codex-rs/app-server-protocol/scripts/write_schema_fixtures.py from SaylorTwift/codex: direct link, hf CLI and curl.
- Browser
- Download file 2.36 kB
-
https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/app-server-protocol/scripts/write_schema_fixtures.py
- Command line
-
hf download hf://SaylorTwift/codex/codex-rs/app-server-protocol/scripts/write_schema_fixtures.py
-
curl -L -o write_schema_fixtures.py https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/app-server-protocol/scripts/write_schema_fixtures.py
2.36 kB
| #!/usr/bin/env python3 | |
| import argparse | |
| import os | |
| from pathlib import Path | |
| import subprocess | |
| def main() -> None: | |
| parser = argparse.ArgumentParser( | |
| description="Regenerate vendored app-server schema fixtures" | |
| ) | |
| parser.add_argument( | |
| "--schema-root", | |
| type=Path, | |
| help="root directory containing the schema fixtures", | |
| ) | |
| parser.add_argument( | |
| "-p", | |
| "--prettier", | |
| type=Path, | |
| help="optional Prettier executable used to format TypeScript files", | |
| ) | |
| parser.add_argument( | |
| "--experimental", | |
| action="store_true", | |
| help="regenerate the precomputed experimental exports", | |
| ) | |
| args = parser.parse_args() | |
| workspace_root = Path(__file__).resolve().parents[2] | |
| repository_schema_root = workspace_root / "app-server-protocol" / "schema" | |
| schema_root = args.schema_root or repository_schema_root | |
| env = os.environ.copy() | |
| env["CODEX_APP_SERVER_SCHEMA_ROOT"] = str(schema_root) | |
| env["CODEX_APP_SERVER_SCHEMA_EXPERIMENTAL"] = "1" if args.experimental else "0" | |
| if args.prettier: | |
| env["CODEX_APP_SERVER_SCHEMA_PRETTIER"] = str(args.prettier) | |
| subprocess.run( | |
| [ | |
| "cargo", | |
| "test", | |
| "-p", | |
| "codex-app-server-protocol", | |
| "--lib", | |
| "schema_fixtures_tests::write_schema_fixtures_from_env", | |
| "--", | |
| "--exact", | |
| "--ignored", | |
| ], | |
| cwd=workspace_root, | |
| env=env, | |
| check=True, | |
| ) | |
| # Scratch exports and experimental-only bundles do not update checked-in SDK code. | |
| if ( | |
| not args.experimental | |
| and schema_root.resolve() == repository_schema_root.resolve() | |
| ): | |
| sdk_root = workspace_root.parent / "sdk" / "python" | |
| subprocess.run( | |
| [ | |
| "uv", | |
| "run", | |
| "--project", | |
| str(sdk_root), | |
| "--frozen", | |
| "--only-group", | |
| "test", | |
| "python", | |
| str(sdk_root / "scripts" / "update_sdk_artifacts.py"), | |
| "generate-types", | |
| "--schema-dir", | |
| str(schema_root / "json"), | |
| ], | |
| cwd=workspace_root, | |
| check=True, | |
| ) | |
| if __name__ == "__main__": | |
| main() | |