From d063284dea10e82a23c2c332ecd4901d7254171b Mon Sep 17 00:00:00 2001 From: xXJSONDeruloXx Date: Tue, 22 Jul 2025 13:23:25 -0400 Subject: use generated kwargs and config in more hardcoded places --- scripts/generate_python_boilerplate.py | 16 +++++++++++++--- scripts/generate_ts_schema.py | 9 +++++++++ 2 files changed, 22 insertions(+), 3 deletions(-) (limited to 'scripts') diff --git a/scripts/generate_python_boilerplate.py b/scripts/generate_python_boilerplate.py index 0101ae4..b16aa3f 100644 --- a/scripts/generate_python_boilerplate.py +++ b/scripts/generate_python_boilerplate.py @@ -76,12 +76,12 @@ def generate_function_signature() -> str: def generate_config_dict_creation() -> str: """Generate dictionary creation for create_config_from_args""" - lines = [" return cast(ConfigurationData, {"] + lines = [" return cast(ConfigurationData, {"] for field_name in CONFIG_SCHEMA_DEF.keys(): - lines.append(f' "{field_name}": {field_name},') + lines.append(f' "{field_name}": kwargs.get("{field_name}"),') - lines.append(" })") + lines.append(" })") return "\n".join(lines) @@ -180,6 +180,13 @@ def generate_log_statement() -> str: def generate_complete_schema_file() -> str: """Generate complete config_schema_generated.py file""" + + # Generate field name constants + field_constants = [] + for field_name in CONFIG_SCHEMA_DEF.keys(): + const_name = field_name.upper() + field_constants.append(f'{const_name} = "{field_name}"') + lines = [ '"""', 'Auto-generated configuration schema components from shared_config.py', @@ -194,6 +201,9 @@ def generate_complete_schema_file() -> str: '# Import shared configuration constants', 'sys.path.insert(0, str(Path(__file__).parent.parent.parent))', 'from shared_config import CONFIG_SCHEMA_DEF, ConfigFieldType', + '', + '# Field name constants for type-safe access', + ] + field_constants + [ '', '', generate_typed_dict(), diff --git a/scripts/generate_ts_schema.py b/scripts/generate_ts_schema.py index 1997c55..c4c0e8a 100644 --- a/scripts/generate_ts_schema.py +++ b/scripts/generate_ts_schema.py @@ -19,6 +19,12 @@ from shared_config import CONFIG_SCHEMA_DEF, ConfigFieldType def generate_typescript_schema(): """Generate generatedConfigSchema.ts from Python schema""" + # Generate field name constants + field_constants = [] + for field_name in CONFIG_SCHEMA_DEF.keys(): + const_name = field_name.upper() + field_constants.append(f'export const {const_name} = "{field_name}" as const;') + # Generate enum enum_lines = [ "// src/config/generatedConfigSchema.ts", @@ -29,6 +35,9 @@ def generate_typescript_schema(): " FLOAT = \"float\",", " STRING = \"string\"", "}", + "", + "// Field name constants for type-safe access", + ] + field_constants + [ "", "// Configuration field definition", "export interface ConfigField {", -- cgit v1.2.3