pycharter 0.0.22__py3-none-any.whl → 0.0.24__py3-none-any.whl
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.
- api/main.py +27 -1
- api/models/docs.py +68 -0
- api/models/evolution.py +117 -0
- api/models/tracking.py +111 -0
- api/models/validation.py +46 -6
- api/routes/v1/__init__.py +14 -1
- api/routes/v1/docs.py +187 -0
- api/routes/v1/evolution.py +337 -0
- api/routes/v1/templates.py +211 -27
- api/routes/v1/tracking.py +301 -0
- api/routes/v1/validation.py +68 -31
- pycharter/__init__.py +268 -58
- pycharter/data/templates/contract/template_coercion_rules.yaml +57 -0
- pycharter/data/templates/contract/template_contract.yaml +122 -0
- pycharter/data/templates/contract/template_metadata.yaml +68 -0
- pycharter/data/templates/contract/template_schema.yaml +100 -0
- pycharter/data/templates/contract/template_validation_rules.yaml +75 -0
- pycharter/data/templates/etl/README.md +224 -0
- pycharter/data/templates/etl/extract_cloud_azure.yaml +24 -0
- pycharter/data/templates/etl/extract_cloud_gcs.yaml +25 -0
- pycharter/data/templates/etl/extract_cloud_s3.yaml +30 -0
- pycharter/data/templates/etl/extract_database.yaml +34 -0
- pycharter/data/templates/etl/extract_database_ssh.yaml +40 -0
- pycharter/data/templates/etl/extract_file_csv.yaml +21 -0
- pycharter/data/templates/etl/extract_file_glob.yaml +25 -0
- pycharter/data/templates/etl/extract_file_json.yaml +24 -0
- pycharter/data/templates/etl/extract_file_parquet.yaml +20 -0
- pycharter/data/templates/etl/extract_http_paginated.yaml +79 -0
- pycharter/data/templates/etl/extract_http_path_params.yaml +38 -0
- pycharter/data/templates/etl/extract_http_simple.yaml +62 -0
- pycharter/data/templates/etl/load_cloud_azure.yaml +24 -0
- pycharter/data/templates/etl/load_cloud_gcs.yaml +22 -0
- pycharter/data/templates/etl/load_cloud_s3.yaml +27 -0
- pycharter/data/templates/etl/load_file.yaml +34 -0
- pycharter/data/templates/etl/load_insert.yaml +18 -0
- pycharter/data/templates/etl/load_postgresql.yaml +39 -0
- pycharter/data/templates/etl/load_sqlite.yaml +21 -0
- pycharter/data/templates/etl/load_truncate_and_load.yaml +20 -0
- pycharter/data/templates/etl/load_upsert.yaml +25 -0
- pycharter/data/templates/etl/load_with_dlq.yaml +34 -0
- pycharter/data/templates/etl/load_with_ssh_tunnel.yaml +35 -0
- pycharter/data/templates/etl/pipeline_http_to_db.yaml +75 -0
- pycharter/data/templates/etl/transform_combined.yaml +48 -0
- pycharter/data/templates/etl/transform_custom_function.yaml +58 -0
- pycharter/data/templates/etl/transform_jsonata.yaml +51 -0
- pycharter/data/templates/etl/transform_simple.yaml +59 -0
- pycharter/db/schemas/.ipynb_checkpoints/data_contract-checkpoint.py +160 -0
- pycharter/docs_generator/__init__.py +43 -0
- pycharter/docs_generator/generator.py +465 -0
- pycharter/docs_generator/renderers.py +247 -0
- pycharter/etl_generator/__init__.py +168 -80
- pycharter/etl_generator/builder.py +121 -0
- pycharter/etl_generator/config_loader.py +394 -0
- pycharter/etl_generator/config_validator.py +418 -0
- pycharter/etl_generator/context.py +132 -0
- pycharter/etl_generator/expression.py +499 -0
- pycharter/etl_generator/extractors/__init__.py +30 -0
- pycharter/etl_generator/extractors/base.py +70 -0
- pycharter/etl_generator/extractors/cloud_storage.py +530 -0
- pycharter/etl_generator/extractors/database.py +221 -0
- pycharter/etl_generator/extractors/factory.py +185 -0
- pycharter/etl_generator/extractors/file.py +475 -0
- pycharter/etl_generator/extractors/http.py +895 -0
- pycharter/etl_generator/extractors/streaming.py +57 -0
- pycharter/etl_generator/loaders/__init__.py +41 -0
- pycharter/etl_generator/loaders/base.py +35 -0
- pycharter/etl_generator/loaders/cloud.py +87 -0
- pycharter/etl_generator/loaders/cloud_storage_loader.py +275 -0
- pycharter/etl_generator/loaders/database.py +274 -0
- pycharter/etl_generator/loaders/factory.py +180 -0
- pycharter/etl_generator/loaders/file.py +72 -0
- pycharter/etl_generator/loaders/file_loader.py +130 -0
- pycharter/etl_generator/pipeline.py +743 -0
- pycharter/etl_generator/protocols.py +54 -0
- pycharter/etl_generator/result.py +63 -0
- pycharter/etl_generator/schemas/__init__.py +49 -0
- pycharter/etl_generator/transformers/__init__.py +49 -0
- pycharter/etl_generator/transformers/base.py +63 -0
- pycharter/etl_generator/transformers/config.py +45 -0
- pycharter/etl_generator/transformers/custom_function.py +101 -0
- pycharter/etl_generator/transformers/jsonata_transformer.py +56 -0
- pycharter/etl_generator/transformers/operations.py +218 -0
- pycharter/etl_generator/transformers/pipeline.py +54 -0
- pycharter/etl_generator/transformers/simple_operations.py +131 -0
- pycharter/quality/__init__.py +25 -0
- pycharter/quality/tracking/__init__.py +64 -0
- pycharter/quality/tracking/collector.py +318 -0
- pycharter/quality/tracking/exporters.py +238 -0
- pycharter/quality/tracking/models.py +194 -0
- pycharter/quality/tracking/store.py +385 -0
- pycharter/runtime_validator/__init__.py +20 -7
- pycharter/runtime_validator/builder.py +328 -0
- pycharter/runtime_validator/validator.py +311 -7
- pycharter/runtime_validator/validator_core.py +61 -0
- pycharter/schema_evolution/__init__.py +61 -0
- pycharter/schema_evolution/compatibility.py +270 -0
- pycharter/schema_evolution/diff.py +496 -0
- pycharter/schema_evolution/models.py +201 -0
- pycharter/shared/__init__.py +56 -0
- pycharter/shared/errors.py +296 -0
- pycharter/shared/protocols.py +234 -0
- {pycharter-0.0.22.dist-info → pycharter-0.0.24.dist-info}/METADATA +146 -26
- pycharter-0.0.24.dist-info/RECORD +543 -0
- {pycharter-0.0.22.dist-info → pycharter-0.0.24.dist-info}/WHEEL +1 -1
- ui/static/404/index.html +1 -1
- ui/static/404.html +1 -1
- ui/static/__next.__PAGE__.txt +1 -1
- ui/static/__next._full.txt +1 -1
- ui/static/__next._head.txt +1 -1
- ui/static/__next._index.txt +1 -1
- ui/static/__next._tree.txt +1 -1
- ui/static/_next/static/chunks/26dfc590f7714c03.js +1 -0
- ui/static/_next/static/chunks/34d289e6db2ef551.js +1 -0
- ui/static/_next/static/chunks/99508d9d5869cc27.js +1 -0
- ui/static/_next/static/chunks/b313c35a6ba76574.js +1 -0
- ui/static/_not-found/__next._full.txt +1 -1
- ui/static/_not-found/__next._head.txt +1 -1
- ui/static/_not-found/__next._index.txt +1 -1
- ui/static/_not-found/__next._not-found.__PAGE__.txt +1 -1
- ui/static/_not-found/__next._not-found.txt +1 -1
- ui/static/_not-found/__next._tree.txt +1 -1
- ui/static/_not-found/index.html +1 -1
- ui/static/_not-found/index.txt +1 -1
- ui/static/contracts/__next._full.txt +2 -2
- ui/static/contracts/__next._head.txt +1 -1
- ui/static/contracts/__next._index.txt +1 -1
- ui/static/contracts/__next._tree.txt +1 -1
- ui/static/contracts/__next.contracts.__PAGE__.txt +2 -2
- ui/static/contracts/__next.contracts.txt +1 -1
- ui/static/contracts/index.html +1 -1
- ui/static/contracts/index.txt +2 -2
- ui/static/documentation/__next._full.txt +1 -1
- ui/static/documentation/__next._head.txt +1 -1
- ui/static/documentation/__next._index.txt +1 -1
- ui/static/documentation/__next._tree.txt +1 -1
- ui/static/documentation/__next.documentation.__PAGE__.txt +1 -1
- ui/static/documentation/__next.documentation.txt +1 -1
- ui/static/documentation/index.html +2 -2
- ui/static/documentation/index.txt +1 -1
- ui/static/index.html +1 -1
- ui/static/index.txt +1 -1
- ui/static/metadata/__next._full.txt +1 -1
- ui/static/metadata/__next._head.txt +1 -1
- ui/static/metadata/__next._index.txt +1 -1
- ui/static/metadata/__next._tree.txt +1 -1
- ui/static/metadata/__next.metadata.__PAGE__.txt +1 -1
- ui/static/metadata/__next.metadata.txt +1 -1
- ui/static/metadata/index.html +1 -1
- ui/static/metadata/index.txt +1 -1
- ui/static/quality/__next._full.txt +2 -2
- ui/static/quality/__next._head.txt +1 -1
- ui/static/quality/__next._index.txt +1 -1
- ui/static/quality/__next._tree.txt +1 -1
- ui/static/quality/__next.quality.__PAGE__.txt +2 -2
- ui/static/quality/__next.quality.txt +1 -1
- ui/static/quality/index.html +2 -2
- ui/static/quality/index.txt +2 -2
- ui/static/rules/__next._full.txt +1 -1
- ui/static/rules/__next._head.txt +1 -1
- ui/static/rules/__next._index.txt +1 -1
- ui/static/rules/__next._tree.txt +1 -1
- ui/static/rules/__next.rules.__PAGE__.txt +1 -1
- ui/static/rules/__next.rules.txt +1 -1
- ui/static/rules/index.html +1 -1
- ui/static/rules/index.txt +1 -1
- ui/static/schemas/__next._full.txt +1 -1
- ui/static/schemas/__next._head.txt +1 -1
- ui/static/schemas/__next._index.txt +1 -1
- ui/static/schemas/__next._tree.txt +1 -1
- ui/static/schemas/__next.schemas.__PAGE__.txt +1 -1
- ui/static/schemas/__next.schemas.txt +1 -1
- ui/static/schemas/index.html +1 -1
- ui/static/schemas/index.txt +1 -1
- ui/static/settings/__next._full.txt +1 -1
- ui/static/settings/__next._head.txt +1 -1
- ui/static/settings/__next._index.txt +1 -1
- ui/static/settings/__next._tree.txt +1 -1
- ui/static/settings/__next.settings.__PAGE__.txt +1 -1
- ui/static/settings/__next.settings.txt +1 -1
- ui/static/settings/index.html +1 -1
- ui/static/settings/index.txt +1 -1
- ui/static/static/404/index.html +1 -1
- ui/static/static/404.html +1 -1
- ui/static/static/__next.__PAGE__.txt +1 -1
- ui/static/static/__next._full.txt +2 -2
- ui/static/static/__next._head.txt +1 -1
- ui/static/static/__next._index.txt +2 -2
- ui/static/static/__next._tree.txt +2 -2
- ui/static/static/_next/static/chunks/13d4a0fbd74c1ee4.js +1 -0
- ui/static/static/_next/static/chunks/2edb43b48432ac04.js +441 -0
- ui/static/static/_next/static/chunks/d2363397e1b2bcab.css +1 -0
- ui/static/static/_next/static/chunks/f7d1a90dd75d2572.js +1 -0
- ui/static/static/_not-found/__next._full.txt +2 -2
- ui/static/static/_not-found/__next._head.txt +1 -1
- ui/static/static/_not-found/__next._index.txt +2 -2
- ui/static/static/_not-found/__next._not-found.__PAGE__.txt +1 -1
- ui/static/static/_not-found/__next._not-found.txt +1 -1
- ui/static/static/_not-found/__next._tree.txt +2 -2
- ui/static/static/_not-found/index.html +1 -1
- ui/static/static/_not-found/index.txt +2 -2
- ui/static/static/contracts/__next._full.txt +3 -3
- ui/static/static/contracts/__next._head.txt +1 -1
- ui/static/static/contracts/__next._index.txt +2 -2
- ui/static/static/contracts/__next._tree.txt +2 -2
- ui/static/static/contracts/__next.contracts.__PAGE__.txt +2 -2
- ui/static/static/contracts/__next.contracts.txt +1 -1
- ui/static/static/contracts/index.html +1 -1
- ui/static/static/contracts/index.txt +3 -3
- ui/static/static/documentation/__next._full.txt +3 -3
- ui/static/static/documentation/__next._head.txt +1 -1
- ui/static/static/documentation/__next._index.txt +2 -2
- ui/static/static/documentation/__next._tree.txt +2 -2
- ui/static/static/documentation/__next.documentation.__PAGE__.txt +2 -2
- ui/static/static/documentation/__next.documentation.txt +1 -1
- ui/static/static/documentation/index.html +2 -2
- ui/static/static/documentation/index.txt +3 -3
- ui/static/static/index.html +1 -1
- ui/static/static/index.txt +2 -2
- ui/static/static/metadata/__next._full.txt +2 -2
- ui/static/static/metadata/__next._head.txt +1 -1
- ui/static/static/metadata/__next._index.txt +2 -2
- ui/static/static/metadata/__next._tree.txt +2 -2
- ui/static/static/metadata/__next.metadata.__PAGE__.txt +1 -1
- ui/static/static/metadata/__next.metadata.txt +1 -1
- ui/static/static/metadata/index.html +1 -1
- ui/static/static/metadata/index.txt +2 -2
- ui/static/static/quality/__next._full.txt +2 -2
- ui/static/static/quality/__next._head.txt +1 -1
- ui/static/static/quality/__next._index.txt +2 -2
- ui/static/static/quality/__next._tree.txt +2 -2
- ui/static/static/quality/__next.quality.__PAGE__.txt +1 -1
- ui/static/static/quality/__next.quality.txt +1 -1
- ui/static/static/quality/index.html +2 -2
- ui/static/static/quality/index.txt +2 -2
- ui/static/static/rules/__next._full.txt +2 -2
- ui/static/static/rules/__next._head.txt +1 -1
- ui/static/static/rules/__next._index.txt +2 -2
- ui/static/static/rules/__next._tree.txt +2 -2
- ui/static/static/rules/__next.rules.__PAGE__.txt +1 -1
- ui/static/static/rules/__next.rules.txt +1 -1
- ui/static/static/rules/index.html +1 -1
- ui/static/static/rules/index.txt +2 -2
- ui/static/static/schemas/__next._full.txt +2 -2
- ui/static/static/schemas/__next._head.txt +1 -1
- ui/static/static/schemas/__next._index.txt +2 -2
- ui/static/static/schemas/__next._tree.txt +2 -2
- ui/static/static/schemas/__next.schemas.__PAGE__.txt +1 -1
- ui/static/static/schemas/__next.schemas.txt +1 -1
- ui/static/static/schemas/index.html +1 -1
- ui/static/static/schemas/index.txt +2 -2
- ui/static/static/settings/__next._full.txt +2 -2
- ui/static/static/settings/__next._head.txt +1 -1
- ui/static/static/settings/__next._index.txt +2 -2
- ui/static/static/settings/__next._tree.txt +2 -2
- ui/static/static/settings/__next.settings.__PAGE__.txt +1 -1
- ui/static/static/settings/__next.settings.txt +1 -1
- ui/static/static/settings/index.html +1 -1
- ui/static/static/settings/index.txt +2 -2
- ui/static/static/static/.gitkeep +0 -0
- ui/static/static/static/404/index.html +1 -0
- ui/static/static/static/404.html +1 -0
- ui/static/static/static/__next.__PAGE__.txt +10 -0
- ui/static/static/static/__next._full.txt +30 -0
- ui/static/static/static/__next._head.txt +7 -0
- ui/static/static/static/__next._index.txt +9 -0
- ui/static/static/static/__next._tree.txt +2 -0
- ui/static/static/static/_next/static/chunks/222442f6da32302a.js +1 -0
- ui/static/static/static/_next/static/chunks/247eb132b7f7b574.js +1 -0
- ui/static/static/static/_next/static/chunks/297d55555b71baba.js +1 -0
- ui/static/static/static/_next/static/chunks/2ab439ce003cd691.js +1 -0
- ui/static/static/static/_next/static/chunks/414e77373f8ff61c.js +1 -0
- ui/static/static/static/_next/static/chunks/49ca65abd26ae49e.js +1 -0
- ui/static/static/static/_next/static/chunks/652ad0aa26265c47.js +2 -0
- ui/static/static/static/_next/static/chunks/9667e7a3d359eb39.js +1 -0
- ui/static/static/static/_next/static/chunks/9c23f44fff36548a.js +1 -0
- ui/static/static/static/_next/static/chunks/a6dad97d9634a72d.js +1 -0
- ui/static/static/static/_next/static/chunks/b32a0963684b9933.js +4 -0
- ui/static/static/static/_next/static/chunks/c69f6cba366bd988.js +1 -0
- ui/static/static/static/_next/static/chunks/db913959c675cea6.js +1 -0
- ui/static/static/static/_next/static/chunks/f061a4be97bfc3b3.js +1 -0
- ui/static/static/static/_next/static/chunks/f2e7afeab1178138.js +1 -0
- ui/static/static/static/_next/static/chunks/ff1a16fafef87110.js +1 -0
- ui/static/static/static/_next/static/chunks/turbopack-ffcb7ab6794027ef.js +3 -0
- ui/static/static/static/_next/static/tNTkVW6puVXC4bAm4WrHl/_buildManifest.js +11 -0
- ui/static/static/static/_next/static/tNTkVW6puVXC4bAm4WrHl/_ssgManifest.js +1 -0
- ui/static/static/static/_not-found/__next._full.txt +17 -0
- ui/static/static/static/_not-found/__next._head.txt +7 -0
- ui/static/static/static/_not-found/__next._index.txt +9 -0
- ui/static/static/static/_not-found/__next._not-found.__PAGE__.txt +5 -0
- ui/static/static/static/_not-found/__next._not-found.txt +4 -0
- ui/static/static/static/_not-found/__next._tree.txt +2 -0
- ui/static/static/static/_not-found/index.html +1 -0
- ui/static/static/static/_not-found/index.txt +17 -0
- ui/static/static/static/contracts/__next._full.txt +21 -0
- ui/static/static/static/contracts/__next._head.txt +7 -0
- ui/static/static/static/contracts/__next._index.txt +9 -0
- ui/static/static/static/contracts/__next._tree.txt +2 -0
- ui/static/static/static/contracts/__next.contracts.__PAGE__.txt +9 -0
- ui/static/static/static/contracts/__next.contracts.txt +4 -0
- ui/static/static/static/contracts/index.html +1 -0
- ui/static/static/static/contracts/index.txt +21 -0
- ui/static/static/static/documentation/__next._full.txt +21 -0
- ui/static/static/static/documentation/__next._head.txt +7 -0
- ui/static/static/static/documentation/__next._index.txt +9 -0
- ui/static/static/static/documentation/__next._tree.txt +2 -0
- ui/static/static/static/documentation/__next.documentation.__PAGE__.txt +9 -0
- ui/static/static/static/documentation/__next.documentation.txt +4 -0
- ui/static/static/static/documentation/index.html +93 -0
- ui/static/static/static/documentation/index.txt +21 -0
- ui/static/static/static/index.html +1 -0
- ui/static/static/static/index.txt +30 -0
- ui/static/static/static/metadata/__next._full.txt +21 -0
- ui/static/static/static/metadata/__next._head.txt +7 -0
- ui/static/static/static/metadata/__next._index.txt +9 -0
- ui/static/static/static/metadata/__next._tree.txt +2 -0
- ui/static/static/static/metadata/__next.metadata.__PAGE__.txt +9 -0
- ui/static/static/static/metadata/__next.metadata.txt +4 -0
- ui/static/static/static/metadata/index.html +1 -0
- ui/static/static/static/metadata/index.txt +21 -0
- ui/static/static/static/quality/__next._full.txt +21 -0
- ui/static/static/static/quality/__next._head.txt +7 -0
- ui/static/static/static/quality/__next._index.txt +9 -0
- ui/static/static/static/quality/__next._tree.txt +2 -0
- ui/static/static/static/quality/__next.quality.__PAGE__.txt +9 -0
- ui/static/static/static/quality/__next.quality.txt +4 -0
- ui/static/static/static/quality/index.html +2 -0
- ui/static/static/static/quality/index.txt +21 -0
- ui/static/static/static/rules/__next._full.txt +21 -0
- ui/static/static/static/rules/__next._head.txt +7 -0
- ui/static/static/static/rules/__next._index.txt +9 -0
- ui/static/static/static/rules/__next._tree.txt +2 -0
- ui/static/static/static/rules/__next.rules.__PAGE__.txt +9 -0
- ui/static/static/static/rules/__next.rules.txt +4 -0
- ui/static/static/static/rules/index.html +1 -0
- ui/static/static/static/rules/index.txt +21 -0
- ui/static/static/static/schemas/__next._full.txt +21 -0
- ui/static/static/static/schemas/__next._head.txt +7 -0
- ui/static/static/static/schemas/__next._index.txt +9 -0
- ui/static/static/static/schemas/__next._tree.txt +2 -0
- ui/static/static/static/schemas/__next.schemas.__PAGE__.txt +9 -0
- ui/static/static/static/schemas/__next.schemas.txt +4 -0
- ui/static/static/static/schemas/index.html +1 -0
- ui/static/static/static/schemas/index.txt +21 -0
- ui/static/static/static/settings/__next._full.txt +21 -0
- ui/static/static/static/settings/__next._head.txt +7 -0
- ui/static/static/static/settings/__next._index.txt +9 -0
- ui/static/static/static/settings/__next._tree.txt +2 -0
- ui/static/static/static/settings/__next.settings.__PAGE__.txt +9 -0
- ui/static/static/static/settings/__next.settings.txt +4 -0
- ui/static/static/static/settings/index.html +1 -0
- ui/static/static/static/settings/index.txt +21 -0
- ui/static/static/static/validation/__next._full.txt +21 -0
- ui/static/static/static/validation/__next._head.txt +7 -0
- ui/static/static/static/validation/__next._index.txt +9 -0
- ui/static/static/static/validation/__next._tree.txt +2 -0
- ui/static/static/static/validation/__next.validation.__PAGE__.txt +9 -0
- ui/static/static/static/validation/__next.validation.txt +4 -0
- ui/static/static/static/validation/index.html +1 -0
- ui/static/static/static/validation/index.txt +21 -0
- ui/static/static/validation/__next._full.txt +2 -2
- ui/static/static/validation/__next._head.txt +1 -1
- ui/static/static/validation/__next._index.txt +2 -2
- ui/static/static/validation/__next._tree.txt +2 -2
- ui/static/static/validation/__next.validation.__PAGE__.txt +1 -1
- ui/static/static/validation/__next.validation.txt +1 -1
- ui/static/static/validation/index.html +1 -1
- ui/static/static/validation/index.txt +2 -2
- ui/static/validation/__next._full.txt +2 -2
- ui/static/validation/__next._head.txt +1 -1
- ui/static/validation/__next._index.txt +1 -1
- ui/static/validation/__next._tree.txt +1 -1
- ui/static/validation/__next.validation.__PAGE__.txt +2 -2
- ui/static/validation/__next.validation.txt +1 -1
- ui/static/validation/index.html +1 -1
- ui/static/validation/index.txt +2 -2
- pycharter/data/templates/template_coercion_rules.yaml +0 -15
- pycharter/data/templates/template_contract.yaml +0 -587
- pycharter/data/templates/template_metadata.yaml +0 -38
- pycharter/data/templates/template_schema.yaml +0 -22
- pycharter/data/templates/template_transform_advanced.yaml +0 -50
- pycharter/data/templates/template_transform_simple.yaml +0 -59
- pycharter/data/templates/template_validation_rules.yaml +0 -29
- pycharter/etl_generator/extraction.py +0 -916
- pycharter/etl_generator/factory.py +0 -174
- pycharter/etl_generator/orchestrator.py +0 -1650
- pycharter/integrations/__init__.py +0 -19
- pycharter/integrations/kafka.py +0 -178
- pycharter/integrations/streaming.py +0 -100
- pycharter-0.0.22.dist-info/RECORD +0 -358
- {pycharter-0.0.22.dist-info → pycharter-0.0.24.dist-info}/entry_points.txt +0 -0
- {pycharter-0.0.22.dist-info → pycharter-0.0.24.dist-info}/licenses/LICENSE +0 -0
- {pycharter-0.0.22.dist-info → pycharter-0.0.24.dist-info}/top_level.txt +0 -0
- /ui/static/_next/static/{0rYA78L88aUyD2Uh38hhX → 2gKjNv6YvE6BcIdFthBLs}/_buildManifest.js +0 -0
- /ui/static/_next/static/{0rYA78L88aUyD2Uh38hhX → 2gKjNv6YvE6BcIdFthBLs}/_ssgManifest.js +0 -0
- /ui/static/static/_next/static/{tNTkVW6puVXC4bAm4WrHl → 0rYA78L88aUyD2Uh38hhX}/_buildManifest.js +0 -0
- /ui/static/static/_next/static/{tNTkVW6puVXC4bAm4WrHl → 0rYA78L88aUyD2Uh38hhX}/_ssgManifest.js +0 -0
- /ui/static/{_next → static/_next}/static/chunks/c4fa4f4114b7c352.js +0 -0
- /ui/static/static/{_next → static/_next}/static/chunks/4e310fe5005770a3.css +0 -0
- /ui/static/{_next → static/static/_next}/static/chunks/5e04d10c4a7b58a3.js +0 -0
- /ui/static/static/{_next → static/_next}/static/chunks/5fc14c00a2779dc5.js +0 -0
- /ui/static/{_next → static/static/_next}/static/chunks/75d88a058d8ffaa6.js +0 -0
- /ui/static/{_next → static/static/_next}/static/chunks/8c89634cf6bad76f.js +0 -0
- /ui/static/static/{_next → static/_next}/static/chunks/b584574fdc8ab13e.js +0 -0
- /ui/static/static/{_next → static/_next}/static/chunks/d5989c94d3614b3a.js +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
2:I[22016,["/_next/static/chunks/f061a4be97bfc3b3.js","/_next/static/chunks/f2e7afeab1178138.js"],""]
|
|
3
3
|
7:I[97367,["/_next/static/chunks/ff1a16fafef87110.js","/_next/static/chunks/247eb132b7f7b574.js"],"OutletBoundary"]
|
|
4
4
|
8:"$Sreact.suspense"
|
|
5
|
-
0:{"buildId":"
|
|
5
|
+
0:{"buildId":"0rYA78L88aUyD2Uh38hhX","rsc":["$","$1","c",{"children":[["$","div",null,{"className":"min-h-screen bg-background","children":[["$","div",null,{"className":"border-b","children":["$","div",null,{"className":"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16","children":["$","div",null,{"className":"text-center","children":[["$","h1",null,{"className":"text-4xl font-bold tracking-tight text-foreground sm:text-5xl md:text-6xl","children":"PyCharter"}],["$","p",null,{"className":"mt-6 text-lg leading-8 text-muted-foreground max-w-2xl mx-auto","children":"Data Contract Management and Validation Platform"}],["$","div",null,{"className":"mt-10 flex items-center justify-center gap-x-6","children":[["$","$L2",null,{"href":"/schemas","children":["$","button",null,{"className":"inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-11 rounded-md px-8","children":"Get Started"}]}],["$","$L2",null,{"href":"/contracts","children":["$","button",null,{"className":"inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-11 rounded-md px-8","children":"View Contracts"}]}]]}]]}]}]}],["$","div",null,{"className":"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16","children":["$","div",null,{"className":"grid grid-cols-1 md:grid-cols-3 gap-6","children":[["$","div",null,{"className":"rounded-lg border bg-card text-card-foreground shadow-sm","children":[["$","div",null,{"className":"flex flex-col space-y-1.5 p-6","children":[["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-database h-8 w-8 text-primary mb-2","children":[["$","ellipse","msslwz",{"cx":"12","cy":"5","rx":"9","ry":"3"}],["$","path","1wlel7",{"d":"M3 5V19A9 3 0 0 0 21 19V5"}],["$","path","mv7ke4",{"d":"M3 12A9 3 0 0 0 21 12"}],"$undefined"]}],["$","h3",null,{"className":"text-2xl font-semibold leading-none tracking-tight","children":"Schemas"}],["$","p",null,{"className":"text-sm text-muted-foreground","children":"Manage and version your data schemas. Store, retrieve, and track schema evolution."}]]}],["$","div",null,{"className":"p-6 pt-0","children":["$","$L2",null,{"href":"/schemas","children":["$","button",null,{"className":"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-10 px-4 py-2 w-full","children":"View Schemas"}]}]}]]}],["$","div",null,{"className":"rounded-lg border bg-card text-card-foreground shadow-sm","children":[["$","div",null,{"className":"flex flex-col space-y-1.5 p-6","children":[["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-file-text h-8 w-8 text-primary mb-2","children":[["$","path","1rqfz7",{"d":"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}],["$","path","tnqrlb",{"d":"M14 2v4a2 2 0 0 0 2 2h4"}],["$","path","b1mrlr",{"d":"M10 9H8"}],["$","path","t4e002",{"d":"M16 13H8"}],["$","path","z1uh3a",{"d":"M16 17H8"}],"$undefined"]}],["$","h3",null,{"className":"text-2xl font-semibold leading-none tracking-tight","children":"Contracts"}],"$L3"]}],"$L4"]}],"$L5"]}]}]]}],null,"$L6"]}],"loading":null,"isPartial":false}
|
|
6
6
|
3:["$","p",null,{"className":"text-sm text-muted-foreground","children":"Parse and build data contracts. Decompose contracts into components and reconstruct them."}]
|
|
7
7
|
4:["$","div",null,{"className":"p-6 pt-0","children":["$","$L2",null,{"href":"/contracts","children":["$","button",null,{"className":"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-10 px-4 py-2 w-full","children":"Manage Contracts"}]}]}]
|
|
8
8
|
5:["$","div",null,{"className":"rounded-lg border bg-card text-card-foreground shadow-sm","children":[["$","div",null,{"className":"flex flex-col space-y-1.5 p-6","children":[["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-circle-check h-8 w-8 text-primary mb-2","children":[["$","circle","1mglay",{"cx":"12","cy":"12","r":"10"}],["$","path","dzmm74",{"d":"m9 12 2 2 4-4"}],"$undefined"]}],["$","h3",null,{"className":"text-2xl font-semibold leading-none tracking-tight","children":"Validation"}],["$","p",null,{"className":"text-sm text-muted-foreground","children":"Validate data against schemas. Check compliance and get detailed error reports."}]]}],["$","div",null,{"className":"p-6 pt-0","children":["$","$L2",null,{"href":"/validation","children":["$","button",null,{"className":"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-10 px-4 py-2 w-full","children":"Validate Data"}]}]}]]}]
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
6:I[37457,["/_next/static/chunks/ff1a16fafef87110.js","/_next/static/chunks/247eb132b7f7b574.js"],"default"]
|
|
7
7
|
7:I[22016,["/_next/static/chunks/f061a4be97bfc3b3.js","/_next/static/chunks/f2e7afeab1178138.js"],""]
|
|
8
8
|
14:I[68027,["/_next/static/chunks/ff1a16fafef87110.js","/_next/static/chunks/247eb132b7f7b574.js"],"default"]
|
|
9
|
-
:HL["/_next/static/chunks/
|
|
10
|
-
0:{"P":null,"b":"
|
|
9
|
+
:HL["/_next/static/chunks/d2363397e1b2bcab.css","style"]
|
|
10
|
+
0:{"P":null,"b":"0rYA78L88aUyD2Uh38hhX","c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/d2363397e1b2bcab.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/f061a4be97bfc3b3.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/f2e7afeab1178138.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"antialiased","children":["$","$L2",null,{"children":["$","div",null,{"className":"min-h-screen flex flex-col","children":[["$","$L3",null,{}],["$","main",null,{"className":"flex-1","style":{"minHeight":0,"overflow":"hidden","position":"relative"},"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$5","errorStyles":[],"errorScripts":[["$","script","script-0",{"src":"/_next/static/chunks/c69f6cba366bd988.js","async":true}]],"template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]}]}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"min-h-screen bg-background","children":[["$","div",null,{"className":"border-b","children":["$","div",null,{"className":"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16","children":["$","div",null,{"className":"text-center","children":[["$","h1",null,{"className":"text-4xl font-bold tracking-tight text-foreground sm:text-5xl md:text-6xl","children":"PyCharter"}],["$","p",null,{"className":"mt-6 text-lg leading-8 text-muted-foreground max-w-2xl mx-auto","children":"Data Contract Management and Validation Platform"}],["$","div",null,{"className":"mt-10 flex items-center justify-center gap-x-6","children":[["$","$L7",null,{"href":"/schemas","children":["$","button",null,{"className":"inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-11 rounded-md px-8","ref":"$undefined","children":"Get Started"}]}],["$","$L7",null,{"href":"/contracts","children":["$","button",null,{"className":"inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-11 rounded-md px-8","ref":"$undefined","children":"View Contracts"}]}]]}]]}]}]}],["$","div",null,{"className":"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16","children":["$","div",null,{"className":"grid grid-cols-1 md:grid-cols-3 gap-6","children":[["$","div",null,{"ref":"$undefined","className":"rounded-lg border bg-card text-card-foreground shadow-sm","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-database h-8 w-8 text-primary mb-2","children":["$L8","$L9","$La","$undefined"]}],"$Lb","$Lc"]}],"$Ld"]}],"$Le","$Lf"]}]}]]}],null,"$L10"]}],{},null,false,false]},["$L11",[],["$L12"]],false,false],"$L13",false]],"m":"$undefined","G":["$14",[]],"S":true}
|
|
11
11
|
15:I[97367,["/_next/static/chunks/ff1a16fafef87110.js","/_next/static/chunks/247eb132b7f7b574.js"],"OutletBoundary"]
|
|
12
12
|
16:"$Sreact.suspense"
|
|
13
13
|
18:I[61246,["/_next/static/chunks/f061a4be97bfc3b3.js","/_next/static/chunks/f2e7afeab1178138.js","/_next/static/chunks/297d55555b71baba.js"],"PageLoading"]
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
2:I[97367,["/_next/static/chunks/ff1a16fafef87110.js","/_next/static/chunks/247eb132b7f7b574.js"],"ViewportBoundary"]
|
|
3
3
|
4:I[97367,["/_next/static/chunks/ff1a16fafef87110.js","/_next/static/chunks/247eb132b7f7b574.js"],"MetadataBoundary"]
|
|
4
4
|
5:"$Sreact.suspense"
|
|
5
|
-
0:{"buildId":"
|
|
5
|
+
0:{"buildId":"0rYA78L88aUyD2Uh38hhX","rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":"$@3"}],["$","div",null,{"hidden":true,"children":["$","$L4",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$@6"}]}]}],null]}],"loading":null,"isPartial":false}
|
|
6
6
|
3:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
7
7
|
6:[["$","title","0",{"children":"PyCharter - Data Contract Management"}],["$","meta","1",{"name":"description","content":"Data Contract Management and Validation"}]]
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
5:I[58298,["/_next/static/chunks/f061a4be97bfc3b3.js","/_next/static/chunks/f2e7afeab1178138.js","/_next/static/chunks/c69f6cba366bd988.js"],"default"]
|
|
6
6
|
6:I[37457,["/_next/static/chunks/ff1a16fafef87110.js","/_next/static/chunks/247eb132b7f7b574.js"],"default"]
|
|
7
7
|
7:I[61246,["/_next/static/chunks/f061a4be97bfc3b3.js","/_next/static/chunks/f2e7afeab1178138.js","/_next/static/chunks/297d55555b71baba.js"],"PageLoading"]
|
|
8
|
-
:HL["/_next/static/chunks/
|
|
9
|
-
0:{"buildId":"
|
|
8
|
+
:HL["/_next/static/chunks/d2363397e1b2bcab.css","style"]
|
|
9
|
+
0:{"buildId":"0rYA78L88aUyD2Uh38hhX","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/d2363397e1b2bcab.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/f061a4be97bfc3b3.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/f2e7afeab1178138.js","async":true}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"antialiased","children":["$","$L2",null,{"children":["$","div",null,{"className":"min-h-screen flex flex-col","children":[["$","$L3",null,{}],["$","main",null,{"className":"flex-1","style":{"minHeight":0,"overflow":"hidden","position":"relative"},"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$5","errorStyles":[],"errorScripts":[["$","script","script-0",{"src":"/_next/static/chunks/c69f6cba366bd988.js","async":true}]],"template":["$","$L6",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]]}]}]}]}]]}],"loading":[["$","$L7","l",{}],[],[["$","script","script-0",{"src":"/_next/static/chunks/297d55555b71baba.js","async":true}]]],"isPartial":false}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
:HL["/_next/static/chunks/
|
|
2
|
-
0:{"buildId":"
|
|
1
|
+
:HL["/_next/static/chunks/d2363397e1b2bcab.css","style"]
|
|
2
|
+
0:{"buildId":"0rYA78L88aUyD2Uh38hhX","tree":{"name":"","paramType":null,"paramKey":"","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":true},"staleTime":300}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,65870,e=>{"use strict";var t=e.i(43476),n=e.i(71645),i=e.i(15288),r=e.i(19455),a=e.i(46652),s=e.i(37727),o=e.i(95468),l=e.i(63209),c=e.i(9165),d=function(e,t){var n,i="";for(n=0;n<t;n+=1)i+=e;return i},u=function(e){return 0===e&&-1/0==1/e};function m(e,t){var n="",i=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(n+='in "'+e.mark.name+'" '),n+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!t&&e.mark.snippet&&(n+="\n\n"+e.mark.snippet),i+" "+n):i}function p(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=m(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=Error().stack||""}function h(e,t,n,i,r){var a="",s="",o=Math.floor(r/2)-1;return i-t>o&&(t=i-o+(a=" ... ").length),n-i>o&&(n=i+o-(s=" ...").length),{str:a+e.slice(t,n).replace(/\t/g,"→")+s,pos:i-t+a.length}}function f(e,t){return d(" ",t-e.length)+e}p.prototype=Object.create(Error.prototype),p.prototype.constructor=p,p.prototype.toString=function(e){return this.name+": "+m(this,e)};var x=function(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),"number"!=typeof t.indent&&(t.indent=1),"number"!=typeof t.linesBefore&&(t.linesBefore=3),"number"!=typeof t.linesAfter&&(t.linesAfter=2);for(var n=/\r?\n|\r|\0/g,i=[0],r=[],a=-1;s=n.exec(e.buffer);)r.push(s.index),i.push(s.index+s[0].length),e.position<=s.index&&a<0&&(a=i.length-2);a<0&&(a=i.length-1);var s,o,l,c="",u=Math.min(e.line+t.linesAfter,r.length).toString().length,m=t.maxLength-(t.indent+u+3);for(o=1;o<=t.linesBefore&&!(a-o<0);o++)l=h(e.buffer,i[a-o],r[a-o],e.position-(i[a]-i[a-o]),m),c=d(" ",t.indent)+f((e.line-o+1).toString(),u)+" | "+l.str+"\n"+c;for(l=h(e.buffer,i[a],r[a],e.position,m),c+=d(" ",t.indent)+f((e.line+1).toString(),u)+" | "+l.str+"\n"+d("-",t.indent+u+3+l.pos)+"^\n",o=1;o<=t.linesAfter&&!(a+o>=r.length);o++)l=h(e.buffer,i[a+o],r[a+o],e.position-(i[a]-i[a+o]),m),c+=d(" ",t.indent)+f((e.line+o+1).toString(),u)+" | "+l.str+"\n";return c.replace(/\n$/,"")},g=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],b=["scalar","sequence","mapping"],v=function(e,t){var n,i;if(Object.keys(t=t||{}).forEach(function(t){if(-1===g.indexOf(t))throw new p('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=(n=t.styleAliases||null,i={},null!==n&&Object.keys(n).forEach(function(e){n[e].forEach(function(t){i[String(t)]=e})}),i),-1===b.indexOf(this.kind))throw new p('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')};function j(e,t){var n=[];return e[t].forEach(function(e){var t=n.length;n.forEach(function(n,i){n.tag===e.tag&&n.kind===e.kind&&n.multi===e.multi&&(t=i)}),n[t]=e}),n}function y(e){return this.extend(e)}y.prototype.extend=function(e){var t=[],n=[];if(e instanceof v)n.push(e);else if(Array.isArray(e))n=n.concat(e);else if(e&&(Array.isArray(e.implicit)||Array.isArray(e.explicit)))e.implicit&&(t=t.concat(e.implicit)),e.explicit&&(n=n.concat(e.explicit));else throw new p("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");t.forEach(function(e){if(!(e instanceof v))throw new p("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(e.loadKind&&"scalar"!==e.loadKind)throw new p("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(e.multi)throw new p("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),n.forEach(function(e){if(!(e instanceof v))throw new p("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var i=Object.create(y.prototype);return i.implicit=(this.implicit||[]).concat(t),i.explicit=(this.explicit||[]).concat(n),i.compiledImplicit=j(i,"implicit"),i.compiledExplicit=j(i,"explicit"),i.compiledTypeMap=function(){var e,t,n={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function i(e){e.multi?(n.multi[e.kind].push(e),n.multi.fallback.push(e)):n[e.kind][e.tag]=n.fallback[e.tag]=e}for(e=0,t=arguments.length;e<t;e+=1)arguments[e].forEach(i);return n}(i.compiledImplicit,i.compiledExplicit),i};var w=new y({explicit:[new v("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return null!==e?e:""}}),new v("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return null!==e?e:[]}}),new v("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})]}),N=new v("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)},construct:function(){return null},predicate:function(e){return null===e},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"}),k=new v("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)},construct:function(e){return"true"===e||"True"===e||"TRUE"===e},predicate:function(e){return"[object Boolean]"===Object.prototype.toString.call(e)},represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"}),C=new v("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,i,r,a=e.length,s=0,o=!1;if(!a)return!1;if(("-"===(r=e[s])||"+"===r)&&(r=e[++s]),"0"===r){if(s+1===a)return!0;if("b"===(r=e[++s])){for(s++;s<a;s++)if("_"!==(r=e[s])){if("0"!==r&&"1"!==r)return!1;o=!0}return o&&"_"!==r}if("x"===r){for(s++;s<a;s++)if("_"!==(r=e[s])){if(!(48<=(t=e.charCodeAt(s))&&t<=57||65<=t&&t<=70||97<=t&&t<=102))return!1;o=!0}return o&&"_"!==r}if("o"===r){for(s++;s<a;s++)if("_"!==(r=e[s])){if(!(48<=(n=e.charCodeAt(s))&&n<=55))return!1;o=!0}return o&&"_"!==r}}if("_"===r)return!1;for(;s<a;s++)if("_"!==(r=e[s])){if(!(48<=(i=e.charCodeAt(s))&&i<=57))return!1;o=!0}return!!o&&"_"!==r},construct:function(e){var t,n=e,i=1;if(-1!==n.indexOf("_")&&(n=n.replace(/_/g,"")),("-"===(t=n[0])||"+"===t)&&("-"===t&&(i=-1),t=(n=n.slice(1))[0]),"0"===n)return 0;if("0"===t){if("b"===n[1])return i*parseInt(n.slice(2),2);if("x"===n[1])return i*parseInt(n.slice(2),16);if("o"===n[1])return i*parseInt(n.slice(2),8)}return i*parseInt(n,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&e%1==0&&!u(e)},represent:{binary:function(e){return e>=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),S=RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),A=/^[-+]?[0-9]+e/,_=new v("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!!S.test(e)&&"_"!==e[e.length-1]},construct:function(e){var t,n;return(n="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t)?1===n?1/0:-1/0:".nan"===t?NaN:n*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||u(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(1/0===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(-1/0===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(u(e))return"-0.0";return n=e.toString(10),A.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"}),O=w.extend({implicit:[N,k,C,_]}),I=RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),E=RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"),L=new v("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==I.exec(e)||null!==E.exec(e))},construct:function(e){var t,n,i,r,a,s,o,l,c=0,d=null;if(null===(t=I.exec(e))&&(t=E.exec(e)),null===t)throw Error("Date resolve error");if(n=+t[1],i=t[2]-1,r=+t[3],!t[4])return new Date(Date.UTC(n,i,r));if(a=+t[4],s=+t[5],o=+t[6],t[7]){for(c=t[7].slice(0,3);c.length<3;)c+="0";c*=1}return t[9]&&(d=(60*t[10]+ +(t[11]||0))*6e4,"-"===t[9]&&(d=-d)),l=new Date(Date.UTC(n,i,r,a,s,o,c)),d&&l.setTime(l.getTime()-d),l},instanceOf:Date,represent:function(e){return e.toISOString()}}),T=new v("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}}),M="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r",F=new v("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,i=0,r=e.length;for(n=0;n<r;n++)if(!((t=M.indexOf(e.charAt(n)))>64)){if(t<0)return!1;i+=6}return i%8==0},construct:function(e){var t,n,i=e.replace(/[\r\n=]/g,""),r=i.length,a=0,s=[];for(t=0;t<r;t++)t%4==0&&t&&(s.push(a>>16&255),s.push(a>>8&255),s.push(255&a)),a=a<<6|M.indexOf(i.charAt(t));return 0==(n=r%4*6)?(s.push(a>>16&255),s.push(a>>8&255),s.push(255&a)):18===n?(s.push(a>>10&255),s.push(a>>2&255)):12===n&&s.push(a>>4&255),new Uint8Array(s)},predicate:function(e){return"[object Uint8Array]"===Object.prototype.toString.call(e)},represent:function(e){var t,n,i="",r=0,a=e.length;for(t=0;t<a;t++)t%3==0&&t&&(i+=M[r>>18&63],i+=M[r>>12&63],i+=M[r>>6&63],i+=M[63&r]),r=(r<<8)+e[t];return 0==(n=a%3)?(i+=M[r>>18&63],i+=M[r>>12&63],i+=M[r>>6&63],i+=M[63&r]):2===n?(i+=M[r>>10&63],i+=M[r>>4&63],i+=M[r<<2&63],i+=M[64]):1===n&&(i+=M[r>>2&63],i+=M[r<<4&63],i+=M[64],i+=M[64]),i}}),U=Object.prototype.hasOwnProperty,D=Object.prototype.toString,J=new v("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,i,r,a,s=[];for(t=0,n=e.length;t<n;t+=1){if(i=e[t],a=!1,"[object Object]"!==D.call(i))return!1;for(r in i)if(U.call(i,r))if(a)return!1;else a=!0;if(!a||-1!==s.indexOf(r))return!1;s.push(r)}return!0},construct:function(e){return null!==e?e:[]}}),B=Object.prototype.toString,z=new v("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:function(e){var t,n,i,r,a;if(null===e)return!0;for(t=0,a=Array(e.length),n=e.length;t<n;t+=1){if(i=e[t],"[object Object]"!==B.call(i)||1!==(r=Object.keys(i)).length)return!1;a[t]=[r[0],i[r[0]]]}return!0},construct:function(e){var t,n,i,r,a;if(null===e)return[];for(t=0,a=Array(e.length),n=e.length;t<n;t+=1)r=Object.keys(i=e[t]),a[t]=[r[0],i[r[0]]];return a}}),R=Object.prototype.hasOwnProperty,$=new v("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(e){var t;if(null===e)return!0;for(t in e)if(R.call(e,t)&&null!==e[t])return!1;return!0},construct:function(e){return null!==e?e:{}}}),P=O.extend({implicit:[L,T],explicit:[F,J,z,$]}),q=Object.prototype.hasOwnProperty,V=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Y=/[\x85\u2028\u2029]/,W=/[,\[\]\{\}]/,G=/^(?:!|!!|![a-z\-]+!)$/i,H=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function K(e){return Object.prototype.toString.call(e)}function X(e){return 10===e||13===e}function Z(e){return 9===e||32===e}function Q(e){return 9===e||32===e||10===e||13===e}function ee(e){return 44===e||91===e||93===e||123===e||125===e}function et(e){return 48===e?"\0":97===e?"\x07":98===e?"\b":116===e||9===e?" ":110===e?"\n":118===e?"\v":102===e?"\f":114===e?"\r":101===e?"\x1b":32===e?" ":34===e?'"':47===e?"/":92===e?"\\":78===e?"
":95===e?" ":76===e?"\u2028":80===e?"\u2029":""}function en(e,t,n){"__proto__"===t?Object.defineProperty(e,t,{configurable:!0,enumerable:!0,writable:!0,value:n}):e[t]=n}for(var ei=Array(256),er=Array(256),ea=0;ea<256;ea++)ei[ea]=+!!et(ea),er[ea]=et(ea);function es(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||P,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function eo(e,t){var n={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return n.snippet=x(n),new p(t,n)}function el(e,t){throw eo(e,t)}function ec(e,t){e.onWarning&&e.onWarning.call(null,eo(e,t))}var ed={YAML:function(e,t,n){var i,r,a;null!==e.version&&el(e,"duplication of %YAML directive"),1!==n.length&&el(e,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&el(e,"ill-formed argument of the YAML directive"),r=parseInt(i[1],10),a=parseInt(i[2],10),1!==r&&el(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=a<2,1!==a&&2!==a&&ec(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var i,r;2!==n.length&&el(e,"TAG directive accepts exactly two arguments"),i=n[0],r=n[1],G.test(i)||el(e,"ill-formed tag handle (first argument) of the TAG directive"),q.call(e.tagMap,i)&&el(e,'there is a previously declared suffix for "'+i+'" tag handle'),H.test(r)||el(e,"ill-formed tag prefix (second argument) of the TAG directive");try{r=decodeURIComponent(r)}catch(t){el(e,"tag prefix is malformed: "+r)}e.tagMap[i]=r}};function eu(e,t,n,i){var r,a,s,o;if(t<n){if(o=e.input.slice(t,n),i)for(r=0,a=o.length;r<a;r+=1)9===(s=o.charCodeAt(r))||32<=s&&s<=1114111||el(e,"expected valid JSON character");else V.test(o)&&el(e,"the stream contains non-printable characters");e.result+=o}}function em(e,t,n,i){var r,a,s,o,l;for("object"==typeof(l=n)&&null!==l||el(e,"cannot merge mappings; the provided source object is unacceptable"),s=0,o=(r=Object.keys(n)).length;s<o;s+=1)a=r[s],q.call(t,a)||(en(t,a,n[a]),i[a]=!0)}function ep(e,t,n,i,r,a,s,o,l){var c,d;if(Array.isArray(r))for(c=0,d=(r=Array.prototype.slice.call(r)).length;c<d;c+=1)Array.isArray(r[c])&&el(e,"nested arrays are not supported inside keys"),"object"==typeof r&&"[object Object]"===K(r[c])&&(r[c]="[object Object]");if("object"==typeof r&&"[object Object]"===K(r)&&(r="[object Object]"),r=String(r),null===t&&(t={}),"tag:yaml.org,2002:merge"===i)if(Array.isArray(a))for(c=0,d=a.length;c<d;c+=1)em(e,t,a[c],n);else em(e,t,a,n);else!e.json&&!q.call(n,r)&&q.call(t,r)&&(e.line=s||e.line,e.lineStart=o||e.lineStart,e.position=l||e.position,el(e,"duplicated mapping key")),en(t,r,a),delete n[r];return t}function eh(e){var t;10===(t=e.input.charCodeAt(e.position))?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):el(e,"a line break is expected"),e.line+=1,e.lineStart=e.position,e.firstTabInLine=-1}function ef(e,t,n){for(var i=0,r=e.input.charCodeAt(e.position);0!==r;){for(;Z(r);)9===r&&-1===e.firstTabInLine&&(e.firstTabInLine=e.position),r=e.input.charCodeAt(++e.position);if(t&&35===r)do r=e.input.charCodeAt(++e.position);while(10!==r&&13!==r&&0!==r)if(X(r))for(eh(e),r=e.input.charCodeAt(e.position),i++,e.lineIndent=0;32===r;)e.lineIndent++,r=e.input.charCodeAt(++e.position);else break}return -1!==n&&0!==i&&e.lineIndent<n&&ec(e,"deficient indentation"),i}function ex(e){var t,n=e.position;return!!((45===(t=e.input.charCodeAt(n))||46===t)&&t===e.input.charCodeAt(n+1)&&t===e.input.charCodeAt(n+2)&&(n+=3,0===(t=e.input.charCodeAt(n))||Q(t)))||!1}function eg(e,t){1===t?e.result+=" ":t>1&&(e.result+=d("\n",t-1))}function eb(e,t){var n,i,r=e.tag,a=e.anchor,s=[],o=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=s),i=e.input.charCodeAt(e.position);0!==i&&(-1!==e.firstTabInLine&&(e.position=e.firstTabInLine,el(e,"tab characters must not be used in indentation")),45===i&&Q(e.input.charCodeAt(e.position+1)));){if(o=!0,e.position++,ef(e,!0,-1)&&e.lineIndent<=t){s.push(null),i=e.input.charCodeAt(e.position);continue}if(n=e.line,ev(e,t,3,!1,!0),s.push(e.result),ef(e,!0,-1),i=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==i)el(e,"bad indentation of a sequence entry");else if(e.lineIndent<t)break}return!!o&&(e.tag=r,e.anchor=a,e.kind="sequence",e.result=s,!0)}function ev(e,t,n,i,r){var a,s,o,l,c,u,m,p,h,f=1,x=!1,g=!1;if(null!==e.listener&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,a=s=o=4===n||3===n,i&&ef(e,!0,-1)&&(x=!0,e.lineIndent>t?f=1:e.lineIndent===t?f=0:e.lineIndent<t&&(f=-1)),1===f)for(;function(e){var t,n,i,r,a=!1,s=!1;if(33!==(r=e.input.charCodeAt(e.position)))return!1;if(null!==e.tag&&el(e,"duplication of a tag property"),60===(r=e.input.charCodeAt(++e.position))?(a=!0,r=e.input.charCodeAt(++e.position)):33===r?(s=!0,n="!!",r=e.input.charCodeAt(++e.position)):n="!",t=e.position,a){do r=e.input.charCodeAt(++e.position);while(0!==r&&62!==r)e.position<e.length?(i=e.input.slice(t,e.position),r=e.input.charCodeAt(++e.position)):el(e,"unexpected end of the stream within a verbatim tag")}else{for(;0!==r&&!Q(r);)33===r&&(s?el(e,"tag suffix cannot contain exclamation marks"):(n=e.input.slice(t-1,e.position+1),G.test(n)||el(e,"named tag handle cannot contain such characters"),s=!0,t=e.position+1)),r=e.input.charCodeAt(++e.position);i=e.input.slice(t,e.position),W.test(i)&&el(e,"tag suffix cannot contain flow indicator characters")}i&&!H.test(i)&&el(e,"tag name cannot contain such characters: "+i);try{i=decodeURIComponent(i)}catch(t){el(e,"tag name is malformed: "+i)}return a?e.tag=i:q.call(e.tagMap,n)?e.tag=e.tagMap[n]+i:"!"===n?e.tag="!"+i:"!!"===n?e.tag="tag:yaml.org,2002:"+i:el(e,'undeclared tag handle "'+n+'"'),!0}(e)||function(e){var t,n;if(38!==(n=e.input.charCodeAt(e.position)))return!1;for(null!==e.anchor&&el(e,"duplication of an anchor property"),n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!Q(n)&&!ee(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&el(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(t,e.position),!0}(e);)ef(e,!0,-1)?(x=!0,o=a,e.lineIndent>t?f=1:e.lineIndent===t?f=0:e.lineIndent<t&&(f=-1)):o=!1;if(o&&(o=x||r),(1===f||4===n)&&(p=1===n||2===n?t:t+1,h=e.position-e.lineStart,1===f?o&&(eb(e,h)||function(e,t,n){var i,r,a,s,o,l,c,d=e.tag,u=e.anchor,m={},p=Object.create(null),h=null,f=null,x=null,g=!1,b=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=m),c=e.input.charCodeAt(e.position);0!==c;){if(g||-1===e.firstTabInLine||(e.position=e.firstTabInLine,el(e,"tab characters must not be used in indentation")),i=e.input.charCodeAt(e.position+1),a=e.line,(63===c||58===c)&&Q(i))63===c?(g&&(ep(e,m,p,h,f,null,s,o,l),h=f=x=null),b=!0,g=!0,r=!0):g?(g=!1,r=!0):el(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,c=i;else{if(s=e.line,o=e.lineStart,l=e.position,!ev(e,n,2,!1,!0))break;if(e.line===a){for(c=e.input.charCodeAt(e.position);Z(c);)c=e.input.charCodeAt(++e.position);if(58===c)Q(c=e.input.charCodeAt(++e.position))||el(e,"a whitespace character is expected after the key-value separator within a block mapping"),g&&(ep(e,m,p,h,f,null,s,o,l),h=f=x=null),b=!0,g=!1,r=!1,h=e.tag,f=e.result;else{if(!b)return e.tag=d,e.anchor=u,!0;el(e,"can not read an implicit mapping pair; a colon is missed")}}else{if(!b)return e.tag=d,e.anchor=u,!0;el(e,"can not read a block mapping entry; a multiline key may not be an implicit key")}}if((e.line===a||e.lineIndent>t)&&(g&&(s=e.line,o=e.lineStart,l=e.position),ev(e,t,4,!0,r)&&(g?f=e.result:x=e.result),g||(ep(e,m,p,h,f,x,s,o,l),h=f=x=null),ef(e,!0,-1),c=e.input.charCodeAt(e.position)),(e.line===a||e.lineIndent>t)&&0!==c)el(e,"bad indentation of a mapping entry");else if(e.lineIndent<t)break}return g&&ep(e,m,p,h,f,null,s,o,l),b&&(e.tag=d,e.anchor=u,e.kind="mapping",e.result=m),b}(e,h,p))||function(e,t){var n,i,r,a,s,o,l,c,d,u,m,p,h=!0,f=e.tag,x=e.anchor,g=Object.create(null);if(91===(p=e.input.charCodeAt(e.position)))s=93,c=!1,a=[];else{if(123!==p)return!1;s=125,c=!0,a={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=a),p=e.input.charCodeAt(++e.position);0!==p;){if(ef(e,!0,t),(p=e.input.charCodeAt(e.position))===s)return e.position++,e.tag=f,e.anchor=x,e.kind=c?"mapping":"sequence",e.result=a,!0;h?44===p&&el(e,"expected the node content, but found ','"):el(e,"missed comma between flow collection entries"),u=d=m=null,o=l=!1,63===p&&Q(e.input.charCodeAt(e.position+1))&&(o=l=!0,e.position++,ef(e,!0,t)),n=e.line,i=e.lineStart,r=e.position,ev(e,t,1,!1,!0),u=e.tag,d=e.result,ef(e,!0,t),p=e.input.charCodeAt(e.position),(l||e.line===n)&&58===p&&(o=!0,p=e.input.charCodeAt(++e.position),ef(e,!0,t),ev(e,t,1,!1,!0),m=e.result),c?ep(e,a,g,u,d,m,n,i,r):o?a.push(ep(e,null,g,u,d,m,n,i,r)):a.push(d),ef(e,!0,t),44===(p=e.input.charCodeAt(e.position))?(h=!0,p=e.input.charCodeAt(++e.position)):h=!1}el(e,"unexpected end of the stream within a flow collection")}(e,p)?g=!0:(s&&function(e,t){var n,i,r,a,s,o=1,l=!1,c=!1,u=t,m=0,p=!1;if(124===(s=e.input.charCodeAt(e.position)))r=!1;else{if(62!==s)return!1;r=!0}for(e.kind="scalar",e.result="";0!==s;)if(43===(s=e.input.charCodeAt(++e.position))||45===s)1===o?o=43===s?3:2:el(e,"repeat of a chomping mode identifier");else if((a=48<=(n=s)&&n<=57?n-48:-1)>=0)0===a?el(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?el(e,"repeat of an indentation width identifier"):(u=t+a-1,c=!0);else break;if(Z(s)){do s=e.input.charCodeAt(++e.position);while(Z(s))if(35===s)do s=e.input.charCodeAt(++e.position);while(!X(s)&&0!==s)}for(;0!==s;){for(eh(e),e.lineIndent=0,s=e.input.charCodeAt(e.position);(!c||e.lineIndent<u)&&32===s;)e.lineIndent++,s=e.input.charCodeAt(++e.position);if(!c&&e.lineIndent>u&&(u=e.lineIndent),X(s)){m++;continue}if(e.lineIndent<u){3===o?e.result+=d("\n",l?1+m:m):1===o&&l&&(e.result+="\n");break}for(r?Z(s)?(p=!0,e.result+=d("\n",l?1+m:m)):p?(p=!1,e.result+=d("\n",m+1)):0===m?l&&(e.result+=" "):e.result+=d("\n",m):e.result+=d("\n",l?1+m:m),l=!0,c=!0,m=0,i=e.position;!X(s)&&0!==s;)s=e.input.charCodeAt(++e.position);eu(e,i,e.position,!1)}return!0}(e,p)||function(e,t){var n,i,r;if(39!==(n=e.input.charCodeAt(e.position)))return!1;for(e.kind="scalar",e.result="",e.position++,i=r=e.position;0!==(n=e.input.charCodeAt(e.position));)if(39===n){if(eu(e,i,e.position,!0),39!==(n=e.input.charCodeAt(++e.position)))return!0;i=e.position,e.position++,r=e.position}else X(n)?(eu(e,i,r,!0),eg(e,ef(e,!1,t)),i=r=e.position):e.position===e.lineStart&&ex(e)?el(e,"unexpected end of the document within a single quoted scalar"):(e.position++,r=e.position);el(e,"unexpected end of the stream within a single quoted scalar")}(e,p)||function(e,t){var n,i,r,a,s,o,l,c;if(34!==(o=e.input.charCodeAt(e.position)))return!1;for(e.kind="scalar",e.result="",e.position++,n=i=e.position;0!==(o=e.input.charCodeAt(e.position));)if(34===o)return eu(e,n,e.position,!0),e.position++,!0;else if(92===o){if(eu(e,n,e.position,!0),X(o=e.input.charCodeAt(++e.position)))ef(e,!1,t);else if(o<256&&ei[o])e.result+=er[o],e.position++;else if((s=120===(l=o)?2:117===l?4:8*(85===l))>0){for(r=s,a=0;r>0;r--)(s=function(e){var t;return 48<=e&&e<=57?e-48:97<=(t=32|e)&&t<=102?t-97+10:-1}(o=e.input.charCodeAt(++e.position)))>=0?a=(a<<4)+s:el(e,"expected hexadecimal character");e.result+=(c=a)<=65535?String.fromCharCode(c):String.fromCharCode((c-65536>>10)+55296,(c-65536&1023)+56320),e.position++}else el(e,"unknown escape sequence");n=i=e.position}else X(o)?(eu(e,n,i,!0),eg(e,ef(e,!1,t)),n=i=e.position):e.position===e.lineStart&&ex(e)?el(e,"unexpected end of the document within a double quoted scalar"):(e.position++,i=e.position);el(e,"unexpected end of the stream within a double quoted scalar")}(e,p)?g=!0:!function(e){var t,n,i;if(42!==(i=e.input.charCodeAt(e.position)))return!1;for(i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!Q(i)&&!ee(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&el(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),q.call(e.anchorMap,n)||el(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],ef(e,!0,-1),!0}(e)?function(e,t,n){var i,r,a,s,o,l,c,d,u=e.kind,m=e.result;if(Q(d=e.input.charCodeAt(e.position))||ee(d)||35===d||38===d||42===d||33===d||124===d||62===d||39===d||34===d||37===d||64===d||96===d||(63===d||45===d)&&(Q(i=e.input.charCodeAt(e.position+1))||n&&ee(i)))return!1;for(e.kind="scalar",e.result="",r=a=e.position,s=!1;0!==d;){if(58===d){if(Q(i=e.input.charCodeAt(e.position+1))||n&&ee(i))break}else if(35===d){if(Q(e.input.charCodeAt(e.position-1)))break}else if(e.position===e.lineStart&&ex(e)||n&&ee(d))break;else if(X(d)){if(o=e.line,l=e.lineStart,c=e.lineIndent,ef(e,!1,-1),e.lineIndent>=t){s=!0,d=e.input.charCodeAt(e.position);continue}e.position=a,e.line=o,e.lineStart=l,e.lineIndent=c;break}s&&(eu(e,r,a,!1),eg(e,e.line-o),r=a=e.position,s=!1),Z(d)||(a=e.position+1),d=e.input.charCodeAt(++e.position)}return eu(e,r,a,!1),!!e.result||(e.kind=u,e.result=m,!1)}(e,p,1===n)&&(g=!0,null===e.tag&&(e.tag="?")):(g=!0,(null!==e.tag||null!==e.anchor)&&el(e,"alias node should not have any properties")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===f&&(g=o&&eb(e,h))),null===e.tag)null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);else if("?"===e.tag){for(null!==e.result&&"scalar"!==e.kind&&el(e,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+e.kind+'"'),l=0,c=e.implicitTypes.length;l<c;l+=1)if((m=e.implicitTypes[l]).resolve(e.result)){e.result=m.construct(e.result),e.tag=m.tag,null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);break}}else if("!"!==e.tag){if(q.call(e.typeMap[e.kind||"fallback"],e.tag))m=e.typeMap[e.kind||"fallback"][e.tag];else for(l=0,m=null,c=(u=e.typeMap.multi[e.kind||"fallback"]).length;l<c;l+=1)if(e.tag.slice(0,u[l].tag.length)===u[l].tag){m=u[l];break}m||el(e,"unknown tag !<"+e.tag+">"),null!==e.result&&m.kind!==e.kind&&el(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+m.kind+'", not "'+e.kind+'"'),m.resolve(e.result,e.tag)?(e.result=m.construct(e.result,e.tag),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):el(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||g}function ej(e,t){e=String(e),t=t||{},0!==e.length&&(10!==e.charCodeAt(e.length-1)&&13!==e.charCodeAt(e.length-1)&&(e+="\n"),65279===e.charCodeAt(0)&&(e=e.slice(1)));var n=new es(e,t),i=e.indexOf("\0");for(-1!==i&&(n.position=i,el(n,"null byte is not allowed in input")),n.input+="\0";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)!function(e){var t,n,i,r,a=e.position,s=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);0!==(r=e.input.charCodeAt(e.position))&&(ef(e,!0,-1),r=e.input.charCodeAt(e.position),!(e.lineIndent>0)&&37===r);){for(s=!0,r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!Q(r);)r=e.input.charCodeAt(++e.position);for(n=e.input.slice(t,e.position),i=[],n.length<1&&el(e,"directive name must not be less than one character in length");0!==r;){for(;Z(r);)r=e.input.charCodeAt(++e.position);if(35===r){do r=e.input.charCodeAt(++e.position);while(0!==r&&!X(r))break}if(X(r))break;for(t=e.position;0!==r&&!Q(r);)r=e.input.charCodeAt(++e.position);i.push(e.input.slice(t,e.position))}0!==r&&eh(e),q.call(ed,n)?ed[n](e,n,i):ec(e,'unknown document directive "'+n+'"')}if(ef(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,ef(e,!0,-1)):s&&el(e,"directives end mark is expected"),ev(e,e.lineIndent-1,4,!1,!0),ef(e,!0,-1),e.checkLineBreaks&&Y.test(e.input.slice(a,e.position))&&ec(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&ex(e)){46===e.input.charCodeAt(e.position)&&(e.position+=3,ef(e,!0,-1));return}e.position<e.length-1&&el(e,"end of the stream or a document separator is expected")}(n);return n.documents}var ey=function(e,t){var n=ej(e,t);if(0!==n.length){if(1===n.length)return n[0];throw new p("expected a single document in the stream, but found more")}},ew=Object.prototype.toString,eN=Object.prototype.hasOwnProperty,ek={};ek[0]="\\0",ek[7]="\\a",ek[8]="\\b",ek[9]="\\t",ek[10]="\\n",ek[11]="\\v",ek[12]="\\f",ek[13]="\\r",ek[27]="\\e",ek[34]='\\"',ek[92]="\\\\",ek[133]="\\N",ek[160]="\\_",ek[8232]="\\L",ek[8233]="\\P";function eC(e,t){return function(){throw Error("Function yaml."+e+" is removed in js-yaml 4. Use yaml."+t+" instead, which is now safe by default.")}}function eS({isOpen:e,onClose:i,onSuccess:a}){let[d,u]=(0,n.useState)(!1),[m,p]=(0,n.useState)(null),[h,f]=(0,n.useState)(!1),[x,g]=(0,n.useState)("");if(!e)return null;let b=async e=>{let t=e.target.files?.[0];if(t){if(!t.name.endsWith(".yaml")&&!t.name.endsWith(".yml")&&!t.name.endsWith(".json"))return void p("Please upload a YAML or JSON file (.yaml, .yml, or .json)");try{u(!0),p(null),f(!1),g("Reading file...");let e=await new Promise((e,n)=>{let i=new FileReader;i.onload=t=>{try{let n=t.target?.result;e(n)}catch{n(Error("Failed to read file"))}},i.onerror=()=>n(Error("Failed to read file")),i.readAsText(t)}),n=(e=>{try{return JSON.parse(e)}catch{try{return ey(e)}catch(e){throw Error(`Failed to parse YAML: ${e.message||"Invalid YAML format"}`)}}})(e);if(!n||"object"!=typeof n)throw Error("Contract file must contain a valid object/dictionary");if(!("schema"in n))throw Error('Contract file must contain a "schema" field at the top level');g("Parsing contract...");let i=await c.api.contracts.parse({contract:n});g("Storing schema...");let r=n.schema?.title||n.metadata?.title||t.name.replace(/\.(yaml|yml|json)$/,""),s=i.versions?.schema||n.schema?.version||n.versions?.schema||"1.0.0",o=(await c.api.metadata.storeSchema({schema_name:r,schema:i.schema,version:s})).schema_id;if(i.metadata){g("Storing metadata...");let e=i.versions?.metadata||s;await c.api.metadata.storeMetadata({schema_id:o,metadata:i.metadata,version:e})}i.coercion_rules&&Object.keys(i.coercion_rules).length>0&&(g("Storing coercion rules..."),await c.api.metadata.storeCoercionRules({schema_id:o,coercion_rules:i.coercion_rules,version:i.versions?.coercion_rules||s})),i.validation_rules&&Object.keys(i.validation_rules).length>0&&(g("Storing validation rules..."),await c.api.metadata.storeValidationRules({schema_id:o,validation_rules:i.validation_rules,version:i.versions?.validation_rules||s})),g("Complete!"),f(!0),setTimeout(()=>{a(),v()},1500)}catch(e){p(e.response?.detail||e.message||"Failed to upload contract"),console.error("Upload error:",e)}finally{u(!1)}}},v=()=>{p(null),f(!1),g(""),i()};return(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",children:(0,t.jsxs)("div",{className:"bg-background rounded-lg shadow-lg max-w-md w-full mx-4 p-6",children:[(0,t.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,t.jsx)("h2",{className:"text-xl font-semibold",children:"Upload Contract"}),(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",onClick:v,children:(0,t.jsx)(s.X,{className:"h-4 w-4"})})]}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-sm font-medium mb-2",children:"Select contract file (YAML or JSON)"}),(0,t.jsx)("input",{type:"file",accept:".yaml,.yml,.json",onChange:b,disabled:d,className:"block w-full text-sm text-muted-foreground file:mr-4 file:py-2 file:px-4 file:rounded-md file:border-0 file:text-sm file:font-semibold file:bg-primary file:text-primary-foreground hover:file:bg-primary/90 cursor-pointer disabled:opacity-50"})]}),x&&(0,t.jsx)("div",{className:"text-sm text-muted-foreground",children:x}),m&&(0,t.jsxs)("div",{className:"flex items-start gap-2 p-3 bg-destructive/10 border border-destructive/50 rounded-md",children:[(0,t.jsx)(l.AlertCircle,{className:"h-5 w-5 text-destructive flex-shrink-0 mt-0.5"}),(0,t.jsxs)("div",{className:"text-sm text-destructive",children:[(0,t.jsx)("p",{className:"font-medium",children:"Upload failed"}),(0,t.jsx)("p",{className:"mt-1",children:m})]})]}),h&&(0,t.jsxs)("div",{className:"flex items-start gap-2 p-3 bg-green-50 dark:bg-green-900/20 border border-green-200 dark:border-green-800 rounded-md",children:[(0,t.jsx)(o.CheckCircle2,{className:"h-5 w-5 text-green-600 dark:text-green-400 flex-shrink-0 mt-0.5"}),(0,t.jsxs)("div",{className:"text-sm text-green-800 dark:text-green-200",children:[(0,t.jsx)("p",{className:"font-medium",children:"Upload successful!"}),(0,t.jsx)("p",{className:"mt-1",children:"Contract has been stored successfully."})]})]})]})]})})}eC("safeLoad","load"),eC("safeLoadAll","loadAll"),eC("safeDump","dump");var eA=e.i(56909),e_=e.i(78583),eO=e.i(39616),eI=e.i(98919),eE=e.i(52571),eL=e.i(7233),eT=e.i(75254);let eM=(0,eT.default)("Link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]);var eF=e.i(75157);let eU=[{id:"schema",label:"Schema",icon:(0,t.jsx)(e_.FileText,{className:"h-4 w-4"})},{id:"coercion",label:"Coercion Rules",icon:(0,t.jsx)(eO.Settings,{className:"h-4 w-4"})},{id:"validation",label:"Validation Rules",icon:(0,t.jsx)(eI.Shield,{className:"h-4 w-4"})},{id:"metadata",label:"Metadata",icon:(0,t.jsx)(eE.Info,{className:"h-4 w-4"})}];function eD({isOpen:e,onClose:i,onSuccess:a}){let d,u,[m,p]=(0,n.useState)("schema"),[h,f]=(0,n.useState)(!1),[x,g]=(0,n.useState)(null),[b,v]=(0,n.useState)(!1),[j,y]=(0,n.useState)(!1),[w,N]=(0,n.useState)(""),[k,C]=(0,n.useState)("1.0.0"),[S,A]=(0,n.useState)({schema:'{\n "type": "object",\n "version": "1.0.0",\n "properties": {}\n}',coercion:"{}",validation:"{}",metadata:"{}"}),[_,O]=(0,n.useState)({schema:"new",coercion:"new",validation:"new",metadata:"new"}),[I,E]=(0,n.useState)({schemas:[],coercion_rules:[],validation_rules:[],metadata:[]}),[L,T]=(0,n.useState)({});(0,n.useEffect)(()=>{e&&M()},[e]);let M=async()=>{y(!0);try{let e=await c.api.metadata.listArtifacts();E(e)}catch(e){console.error("Failed to load artifacts:",e)}finally{y(!1)}};if(!e)return null;let F=(e,t)=>{try{let t=JSON.parse(e);if(0===Object.keys(t).length)return null;return t}catch(e){throw Error(`Invalid JSON in ${t}: ${e.message}`)}},U=async()=>{if(!w.trim())return void g("Contract name is required");let e=w.trim().toLowerCase().replace(/[^a-z0-9_]/g,"_");try{(0,eF.validateName)(e,"Contract name")}catch(e){g(`Invalid contract name format: ${e.message||"Contract name must contain only lowercase letters, numbers, and underscores"}`);return}if(!k.trim())return void g("Version is required");if("new"===_.schema)try{if(!F(S.schema,"schema"))return void g("Schema is required and cannot be empty")}catch(e){g(e.message);return}else if(!L.schema_title||!L.schema_version)return void g("Schema title and version are required");f(!0),g(null),v(!1);try{let t={name:e,version:k,status:"active",description:void 0};if("new"===_.schema){let e=F(S.schema,"schema");e.version||(e.version=k),e.title&&"string"==typeof e.title&&(e.title=e.title.toLowerCase().replace(/[^a-z0-9_]/g,"_")),t.schema=e}else t.schema_title=L.schema_title,t.schema_version=L.schema_version;if("new"===_.coercion){let e=F(S.coercion,"coercion rules");e&&(t.coercion_rules=e)}else L.coercion_rules_title&&L.coercion_rules_version&&(t.coercion_rules_title=L.coercion_rules_title,t.coercion_rules_version=L.coercion_rules_version);if("new"===_.validation){let e=F(S.validation,"validation rules");e&&(t.validation_rules=e)}else L.validation_rules_title&&L.validation_rules_version&&(t.validation_rules_title=L.validation_rules_title,t.validation_rules_version=L.validation_rules_version);if("new"===_.metadata){let e=F(S.metadata,"metadata");e&&(t.metadata=e)}else L.metadata_title&&L.metadata_version&&(t.metadata_title=L.metadata_title,t.metadata_version=L.metadata_version);await c.api.contracts.createMixed(t),v(!0),setTimeout(()=>{a(),D()},1500)}catch(t){let e="Failed to create contract";t instanceof Error?e=t.message:t.response?.detail?e=t.response.detail:t.response?.details?e=t.response.details.map(e=>{let t=e.loc?.join(".")||e.field||"field",n=e.msg||e.message||"validation error";return`${t}: ${n}`}).join("; ")||e:t.message&&(e=t.message),g(e),console.error("Create contract error:",t)}finally{f(!1)}},D=()=>{g(null),v(!1),N(""),C("1.0.0"),O({schema:"new",coercion:"new",validation:"new",metadata:"new"}),A({schema:'{\n "type": "object",\n "version": "1.0.0",\n "properties": {}\n}',coercion:"{}",validation:"{}",metadata:"{}"}),T({}),p("schema"),i()},J=S[m],B=_[m],z="schema"===m,R=e=>{switch(e){case"schema":return"schemas";case"coercion":return"coercion_rules";case"validation":return"validation_rules";case"metadata":return"metadata"}},$=e=>{switch(e){case"schema":return"schema_title";case"coercion":return"coercion_rules_title";case"validation":return"validation_rules_title";case"metadata":return"metadata_title"}},P=e=>{switch(e){case"schema":return"schema_version";case"coercion":return"coercion_rules_version";case"validation":return"validation_rules_version";case"metadata":return"metadata_version"}};return(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:D,children:(0,t.jsxs)("div",{className:"bg-background rounded-lg shadow-lg max-w-4xl w-full mx-4 max-h-[90vh] overflow-hidden flex flex-col",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex justify-between items-center p-6 border-b",children:[(0,t.jsx)("h2",{className:"text-2xl font-bold",children:"Create New Contract"}),(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",onClick:D,children:(0,t.jsx)(s.X,{className:"h-4 w-4"})})]}),(0,t.jsxs)("div",{className:"p-6 border-b grid grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-sm font-medium mb-2",children:"Contract Name *"}),(0,t.jsx)("input",{type:"text",value:w,onChange:e=>N(e.target.value),placeholder:"e.g., user_contract",className:"w-full px-3 py-2 border border-input rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-ring"}),w&&(0,t.jsxs)("p",{className:"text-xs text-muted-foreground mt-1",children:["Will be normalized to: ",(0,t.jsx)("code",{className:"bg-muted px-1 rounded",children:w.trim().toLowerCase().replace(/[^a-z0-9_]/g,"_")})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Use lowercase letters, numbers, and underscores only"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-sm font-medium mb-2",children:"Contract Version *"}),(0,t.jsx)("input",{type:"text",value:k,onChange:e=>C(e.target.value),placeholder:"e.g., 1.0.0",className:"w-full px-3 py-2 border border-input rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-ring"}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Contract version (independent of artifact versions)"}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Same contract name can have multiple versions"})]})]}),(0,t.jsx)("div",{className:"flex border-b px-6",children:eU.map(e=>(0,t.jsxs)("button",{onClick:()=>p(e.id),className:`px-4 py-3 text-sm font-medium flex items-center gap-2 border-b-2 transition-colors ${m===e.id?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"}`,children:[e.icon,e.label,"schema"===e.id&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:"*"})]},e.id))}),(0,t.jsx)("div",{className:"p-4 border-b bg-muted/30",children:(0,t.jsxs)("div",{className:"flex gap-4",children:[(0,t.jsxs)("button",{onClick:()=>O(e=>({...e,[m]:"new"})),className:`flex items-center gap-2 px-4 py-2 rounded-md border transition-colors ${"new"===B?"border-primary bg-primary/10 text-primary":"border-input hover:bg-muted"}`,children:[(0,t.jsx)(eL.Plus,{className:"h-4 w-4"}),"Create New"]}),(0,t.jsxs)("button",{onClick:()=>O(e=>({...e,[m]:"existing"})),className:`flex items-center gap-2 px-4 py-2 rounded-md border transition-colors ${"existing"===B?"border-primary bg-primary/10 text-primary":"border-input hover:bg-muted"}`,children:[(0,t.jsx)(eM,{className:"h-4 w-4"}),"Use Existing"]})]})}),(0,t.jsx)("div",{className:"flex-1 overflow-hidden",children:"new"===B?(0,t.jsxs)("div",{className:"h-full p-6 flex flex-col",children:["schema"===m&&(0,t.jsx)("div",{className:"mb-3 p-3 bg-blue-50 dark:bg-blue-950 border border-blue-200 dark:border-blue-800 rounded-md text-sm",children:(0,t.jsxs)("p",{className:"text-blue-800 dark:text-blue-200",children:[(0,t.jsx)("strong",{children:"Important:"})," The ",(0,t.jsx)("code",{className:"bg-blue-100 dark:bg-blue-900 px-1 rounded",children:"version"})," field in your schema JSON is the ",(0,t.jsx)("em",{children:"artifact version"}),' (not the contract version). Each schema artifact must have a unique title + version combination. If this schema already exists, use "Use Existing" instead.']})}),(0,t.jsx)("textarea",{value:J,onChange:e=>{var t;return t=e.target.value,void A(e=>({...e,[m]:t}))},className:"w-full flex-1 p-4 font-mono text-sm bg-muted rounded-md resize-none outline-none focus:ring-2 focus:ring-ring",placeholder:`Enter ${eU.find(e=>e.id===m)?.label.toLowerCase()} as JSON...`,spellCheck:!1})]}):(0,t.jsx)("div",{className:"h-full overflow-y-auto p-6",children:j?(0,t.jsx)("div",{className:"flex items-center justify-center h-64",children:(0,t.jsx)("p",{className:"text-muted-foreground",children:"Loading available artifacts..."})}):(0,t.jsx)("div",{className:"space-y-4",children:(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"block text-sm font-medium mb-2",children:[eU.find(e=>e.id===m)?.label," ",z&&"*"]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,t.jsxs)("select",{value:L[$(m)]||"",onChange:e=>{let t=$(m),n=P(m);T(i=>({...i,[t]:e.target.value||void 0,[n]:void 0}))},className:"w-full px-3 py-2 border border-input rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-ring",children:[(0,t.jsxs)("option",{value:"",children:["Select ",eU.find(e=>e.id===m)?.label.toLowerCase()," title..."]}),Array.from(new Set(I[R(m)].map(e=>e.title))).sort().map(e=>(0,t.jsx)("option",{value:e,children:e},e))]}),(0,t.jsxs)("select",{value:L[P(m)]||"",onChange:e=>{let t=P(m);T(n=>({...n,[t]:e.target.value||void 0}))},disabled:!L[$(m)],className:"w-full px-3 py-2 border border-input rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-ring disabled:opacity-50 disabled:cursor-not-allowed",children:[(0,t.jsx)("option",{value:"",children:"Select version..."}),L[$(m)]&&(d=I[R(m)],u=L[$(m)],Array.from(new Set(d.filter(e=>e.title===u).map(e=>e.version))).sort()).map(e=>(0,t.jsx)("option",{value:e,children:e},e))]})]})]})})})}),(0,t.jsxs)("div",{className:"p-6 border-t flex justify-between items-center",children:[(0,t.jsxs)("div",{className:"flex-1",children:[x&&(0,t.jsxs)("div",{className:"flex items-start gap-2 text-sm text-destructive",children:[(0,t.jsx)(l.AlertCircle,{className:"h-5 w-5 flex-shrink-0 mt-0.5"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"font-medium",children:"Error"}),(0,t.jsx)("p",{className:"mt-1",children:x})]})]}),b&&(0,t.jsxs)("div",{className:"flex items-start gap-2 text-sm text-green-600 dark:text-green-400",children:[(0,t.jsx)(o.CheckCircle2,{className:"h-5 w-5 flex-shrink-0 mt-0.5"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"font-medium",children:"Success!"}),(0,t.jsx)("p",{className:"mt-1",children:"Contract created successfully."})]})]})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(r.Button,{variant:"outline",onClick:D,disabled:h,children:"Cancel"}),(0,t.jsxs)(r.Button,{onClick:U,disabled:h||!w.trim()||!k.trim()||"existing"===_.schema&&(!L.schema_title||!L.schema_version),children:[(0,t.jsx)(eA.Save,{className:"h-4 w-4 mr-2"}),h?"Creating...":"Create Contract"]})]})]})]})})}var eJ=e.i(61246);function eB({isOpen:e,contract:i,onClose:a,onSuccess:d}){let[u,m]=(0,n.useState)(null),[p,h]=(0,n.useState)(!1),[f,x]=(0,n.useState)(!1),[g,b]=(0,n.useState)(null),[v,j]=(0,n.useState)(!1),[y,w]=(0,n.useState)("overview"),[N,k]=(0,n.useState)(""),[C,S]=(0,n.useState)(""),[A,_]=(0,n.useState)(""),[O,I]=(0,n.useState)(""),[E,L]=(0,n.useState)(""),[T,M]=(0,n.useState)(""),[F,U]=(0,n.useState)(""),[D,J]=(0,n.useState)("");(0,n.useEffect)(()=>{i&&e&&B()},[i,e]),(0,n.useEffect)(()=>{i&&(k(i.name||""),S(i.version||""),_(i.status||""),I(i.description||""))},[i]),(0,n.useEffect)(()=>{if(u){u.schema&&L(JSON.stringify(u.schema,null,2));let e={};u.metadata&&Object.assign(e,u.metadata),u.ownership&&Object.assign(e,u.ownership),u.governance_rules&&(e.governance_rules=u.governance_rules),Object.keys(e).length>0&&M(JSON.stringify(e,null,2)),u.coercion_rules&&U(JSON.stringify(u.coercion_rules,null,2)),u.validation_rules&&J(JSON.stringify(u.validation_rules,null,2))}},[u]);let B=async()=>{if(i)try{h(!0),b(null);let e=await c.api.contracts.buildFromId(i.id,{include_metadata:!0,include_ownership:!0,include_governance:!0});m(e.contract)}catch(e){b(e.response?.detail||e.message||"Failed to load contract details"),console.error("Error loading contract details:",e)}finally{h(!1)}},z=async()=>{if(i&&u)try{x(!0),b(null),j(!1);let e=[],t={};N!==i.name&&(t.name=N),C!==i.version&&(t.version=C),A!==i.status&&(t.status=A),O!==i.description&&(t.description=O),Object.keys(t).length>0&&(await c.api.contracts.update(i.id,t),e.push("Contract metadata"));let n=i.schema_id;if(!n)throw Error("Contract does not have an associated schema");if(E)try{let t=JSON.parse(E),n=u.schema;if(JSON.stringify(t)!==JSON.stringify(n)){let n=u.versions?.schema||i.version;try{await c.api.metadata.storeSchema({schema_name:N,schema:t,version:n}),e.push("Schema")}catch(e){if(e.response?.detail?.includes("already exists")||e.response?.detail?.includes("duplicate"))throw Error(`Schema update failed: A schema with version '${n}' already exists. Please update the contract version to create a new schema version, or modify the schema version.`);throw e}}}catch(e){throw Error(`Invalid schema JSON: ${e instanceof Error?e.message:"Parse error"}`)}if(T)try{let t=JSON.parse(T),r=u.metadata,a=u.ownership,s=u.governance_rules,o={};if(r&&Object.assign(o,r),a&&Object.assign(o,a),s&&(o.governance_rules=s),JSON.stringify(t)!==JSON.stringify(o)){let r=u.versions?.metadata||i.version;await c.api.metadata.storeMetadata({schema_id:n,metadata:t,version:r}),e.push("Metadata")}}catch(e){throw Error(`Invalid metadata JSON: ${e instanceof Error?e.message:"Parse error"}`)}if(F)try{let t=JSON.parse(F),r=u.coercion_rules;if(JSON.stringify(t)!==JSON.stringify(r)){let r=u.versions?.coercion_rules||i.version;await c.api.metadata.storeCoercionRules({schema_id:n,coercion_rules:t,version:r}),e.push("Coercion rules")}}catch(e){throw Error(`Invalid coercion rules JSON: ${e instanceof Error?e.message:"Parse error"}`)}if(D)try{let t=JSON.parse(D),r=u.validation_rules;if(JSON.stringify(t)!==JSON.stringify(r)){let r=u.versions?.validation_rules||i.version;await c.api.metadata.storeValidationRules({schema_id:n,validation_rules:t,version:r}),e.push("Validation rules")}}catch(e){throw Error(`Invalid validation rules JSON: ${e instanceof Error?e.message:"Parse error"}`)}if(0===e.length)return void b("No changes to save");j(!0),setTimeout(()=>{d(),R()},1500)}catch(e){b(e.response?.detail||e.message||"Failed to update contract"),console.error("Update error:",e)}finally{x(!1)}},R=()=>{b(null),j(!1),m(null),a()};return e&&i?(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:R,children:(0,t.jsxs)("div",{className:"bg-background rounded-lg shadow-lg max-w-4xl w-full mx-4 p-6 max-h-[90vh] overflow-hidden flex flex-col",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,t.jsxs)("h2",{className:"text-2xl font-bold",children:["Edit Contract: ",i.name]}),(0,t.jsx)("div",{className:"flex gap-2",children:(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",onClick:R,children:(0,t.jsx)(s.X,{className:"h-4 w-4"})})})]}),(0,t.jsx)("div",{className:"flex gap-2 mb-4 border-b",children:["overview","metadata","schema","coercion","validation"].map(e=>(0,t.jsx)("button",{onClick:()=>w(e),className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${y===e?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"}`,children:"coercion"===e?"Coercion Rules":"validation"===e?"Validation Rules":e.charAt(0).toUpperCase()+e.slice(1)},e))}),(0,t.jsxs)("div",{className:"flex-1 overflow-y-auto",children:[p&&(0,t.jsx)("div",{className:"flex justify-center items-center py-12",children:(0,t.jsx)(eJ.PageLoading,{message:"Loading contract details..."})}),g&&!p&&(0,t.jsx)("div",{className:"mb-4",children:(0,t.jsxs)("div",{className:"flex items-start gap-2 p-3 bg-destructive/10 border border-destructive/50 rounded-md",children:[(0,t.jsx)(l.AlertCircle,{className:"h-5 w-5 text-destructive flex-shrink-0 mt-0.5"}),(0,t.jsxs)("div",{className:"text-sm text-destructive",children:[(0,t.jsx)("p",{className:"font-medium",children:"Error"}),(0,t.jsx)("p",{className:"mt-1",children:g})]})]})}),v&&(0,t.jsx)("div",{className:"mb-4",children:(0,t.jsxs)("div",{className:"flex items-start gap-2 p-3 bg-green-50 dark:bg-green-900/20 border border-green-200 dark:border-green-800 rounded-md",children:[(0,t.jsx)(o.CheckCircle2,{className:"h-5 w-5 text-green-600 dark:text-green-400 flex-shrink-0 mt-0.5"}),(0,t.jsxs)("div",{className:"text-sm text-green-800 dark:text-green-200",children:[(0,t.jsx)("p",{className:"font-medium",children:"Update successful!"}),(0,t.jsx)("p",{className:"mt-1",children:"Contract has been updated successfully."})]})]})}),!p&&(0,t.jsxs)(t.Fragment,{children:["overview"===y&&(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"block text-sm font-medium mb-2",children:["Name ",(0,t.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,t.jsx)("input",{type:"text",value:N,onChange:e=>k(e.target.value),disabled:f,className:"w-full px-3 py-2 border border-input rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-ring disabled:opacity-50",required:!0})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"block text-sm font-medium mb-2",children:["Version ",(0,t.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,t.jsx)("input",{type:"text",value:C,onChange:e=>S(e.target.value),disabled:f,className:"w-full px-3 py-2 border border-input rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-ring disabled:opacity-50",required:!0})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-sm font-medium mb-2",children:"Status"}),(0,t.jsxs)("select",{value:A,onChange:e=>_(e.target.value),disabled:f,className:"w-full px-3 py-2 border border-input rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-ring disabled:opacity-50",children:[(0,t.jsx)("option",{value:"",children:"None"}),(0,t.jsx)("option",{value:"active",children:"Active"}),(0,t.jsx)("option",{value:"draft",children:"Draft"}),(0,t.jsx)("option",{value:"deprecated",children:"Deprecated"})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-sm font-medium mb-2",children:"Description"}),(0,t.jsx)("textarea",{value:O,onChange:e=>I(e.target.value),disabled:f,rows:4,className:"w-full px-3 py-2 border border-input rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-ring disabled:opacity-50 resize-none"})]}),i.id&&(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-sm font-medium mb-2",children:"Contract ID"}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground font-mono break-all",children:i.id})]})]}),"metadata"===y&&u&&(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-sm font-medium mb-2",children:"Metadata (JSON/YAML)"}),(0,t.jsx)("textarea",{value:T,onChange:e=>M(e.target.value),disabled:f,rows:24,className:"w-full px-3 py-2 border border-input rounded-md bg-background text-foreground font-mono text-sm focus:outline-none focus:ring-2 focus:ring-ring disabled:opacity-50 resize-none",placeholder:'{"title": "Contract Title", "version": "1.0.0", "business_owners": [...], "governance_rules": {...}, ...}'}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Enter valid JSON for metadata. This includes all metadata fields including ownership and governance rules."})]}),"schema"===y&&u&&(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-sm font-medium mb-2",children:"Schema Definition (JSON)"}),(0,t.jsx)("textarea",{value:E,onChange:e=>L(e.target.value),disabled:f,rows:20,className:"w-full px-3 py-2 border border-input rounded-md bg-background text-foreground font-mono text-sm focus:outline-none focus:ring-2 focus:ring-ring disabled:opacity-50 resize-none",placeholder:'{"type": "object", "properties": {...}, ...}'}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Enter valid JSON Schema"})]}),"coercion"===y&&u&&(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-sm font-medium mb-2",children:"Coercion Rules (JSON)"}),(0,t.jsx)("textarea",{value:F,onChange:e=>U(e.target.value),disabled:f,rows:20,className:"w-full px-3 py-2 border border-input rounded-md bg-background text-foreground font-mono text-sm focus:outline-none focus:ring-2 focus:ring-ring disabled:opacity-50 resize-none",placeholder:'{"field_name": "coercion_function", ...}'}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Enter valid JSON for coercion rules"})]}),"validation"===y&&u&&(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-sm font-medium mb-2",children:"Validation Rules (JSON)"}),(0,t.jsx)("textarea",{value:D,onChange:e=>J(e.target.value),disabled:f,rows:20,className:"w-full px-3 py-2 border border-input rounded-md bg-background text-foreground font-mono text-sm focus:outline-none focus:ring-2 focus:ring-ring disabled:opacity-50 resize-none",placeholder:'{"field_name": {"validator_name": config, ...}, ...}'}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Enter valid JSON for validation rules"})]})]})]}),(0,t.jsxs)("div",{className:"flex justify-end gap-2 pt-4 border-t mt-4",children:[(0,t.jsx)(r.Button,{variant:"outline",onClick:R,disabled:f,children:"Cancel"}),(0,t.jsxs)(r.Button,{onClick:z,disabled:f||!N||!C||p,children:[(0,t.jsx)(eA.Save,{className:"h-4 w-4 mr-2"}),f?"Saving...":"Save Changes"]})]})]})}):null}var ez=e.i(40160),eR=e.i(88511);function e$({contracts:e,onViewDetails:i,onEdit:a}){let[s,o]=(0,n.useState)(null),l=async e=>{try{o(e.id);let t=(await c.api.contracts.buildFromId(e.id,{include_metadata:!0,include_ownership:!0,include_governance:!0})).contract,n=JSON.stringify(t,null,2),i=new Blob([n],{type:"application/json"}),r=URL.createObjectURL(i),a=document.createElement("a");a.href=r,a.download=`${e.name}_v${e.version}.json`,document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(r)}catch(e){console.error("Error downloading contract:",e),alert("Failed to download contract. Please try again.")}finally{o(null)}};return(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:"min-w-full divide-y divide-border",children:[(0,t.jsx)("thead",{className:"bg-muted/50",children:(0,t.jsxs)("tr",{children:[(0,t.jsx)("th",{className:"px-6 py-3 text-left text-xs font-medium text-muted-foreground uppercase tracking-wider",children:"Name"}),(0,t.jsx)("th",{className:"px-6 py-3 text-left text-xs font-medium text-muted-foreground uppercase tracking-wider hidden md:table-cell",children:"Version"}),(0,t.jsx)("th",{className:"px-6 py-3 text-left text-xs font-medium text-muted-foreground uppercase tracking-wider hidden lg:table-cell",children:"Status"}),(0,t.jsx)("th",{className:"px-6 py-3 text-left text-xs font-medium text-muted-foreground uppercase tracking-wider hidden xl:table-cell",children:"ID"}),(0,t.jsx)("th",{className:"px-6 py-3 text-left text-xs font-medium text-muted-foreground uppercase tracking-wider hidden lg:table-cell",children:"Created"}),(0,t.jsx)("th",{className:"px-6 py-3 text-left text-xs font-medium text-muted-foreground uppercase tracking-wider hidden xl:table-cell",children:"Updated"}),(0,t.jsx)("th",{className:"px-6 py-3 text-right text-xs font-medium text-muted-foreground uppercase tracking-wider",children:"Actions"})]})}),(0,t.jsx)("tbody",{className:"bg-background divide-y divide-border",children:0===e.length?(0,t.jsx)("tr",{children:(0,t.jsx)("td",{colSpan:7,className:"px-6 py-8 text-center text-muted-foreground",children:"No contracts found"})}):e.map(e=>(0,t.jsxs)("tr",{className:"hover:bg-muted/50",children:[(0,t.jsxs)("td",{className:"px-6 py-4 whitespace-nowrap",children:[(0,t.jsx)("div",{className:"text-sm font-medium text-foreground",children:e.name}),e.description&&(0,t.jsx)("div",{className:"text-sm text-muted-foreground hidden sm:block",children:(0,eF.truncate)(e.description,50)})]}),(0,t.jsx)("td",{className:"px-6 py-4 whitespace-nowrap text-sm text-muted-foreground hidden md:table-cell",children:e.version}),(0,t.jsx)("td",{className:"px-6 py-4 whitespace-nowrap hidden lg:table-cell",children:(e=>{if(!e)return null;let n={active:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200",deprecated:"bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200",draft:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200"}[e]||"bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-200";return(0,t.jsx)("span",{className:`px-2 py-1 rounded text-xs font-medium ${n}`,children:e})})(e.status)}),(0,t.jsx)("td",{className:"px-6 py-4 whitespace-nowrap text-sm text-muted-foreground hidden xl:table-cell",children:(0,eF.truncate)(e.id,8)}),(0,t.jsx)("td",{className:"px-6 py-4 whitespace-nowrap text-sm text-muted-foreground hidden lg:table-cell",children:(0,eF.formatDateShort)(e.created_at)}),(0,t.jsx)("td",{className:"px-6 py-4 whitespace-nowrap text-sm text-muted-foreground hidden xl:table-cell",children:(0,eF.formatDateTimeShort)(e.updated_at)}),(0,t.jsx)("td",{className:"px-6 py-4 whitespace-nowrap text-right text-sm font-medium",children:(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",onClick:()=>i(e),className:"h-8",children:"View Details"}),(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",onClick:()=>a(e),className:"h-8",title:"Edit contract",children:(0,t.jsx)(eR.Edit,{className:"h-4 w-4"})}),(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",onClick:()=>l(e),disabled:s===e.id,className:"h-8",title:"Download contract",children:(0,t.jsx)(ez.Download,{className:`h-4 w-4 ${s===e.id?"animate-pulse":""}`})})]})})]},e.id))})]})})}var eP=e.i(58041),eq=e.i(95113);let eV=[{id:"overview",label:"Overview",icon:(0,t.jsx)(eP.Database,{className:"h-4 w-4"})},{id:"metadata",label:"Metadata",icon:(0,t.jsx)(eE.Info,{className:"h-4 w-4"})},{id:"schema",label:"Schema",icon:(0,t.jsx)(e_.FileText,{className:"h-4 w-4"})},{id:"coercion",label:"Coercion Rules",icon:(0,t.jsx)(eO.Settings,{className:"h-4 w-4"})},{id:"validation",label:"Validation Rules",icon:(0,t.jsx)(eI.Shield,{className:"h-4 w-4"})}];function eY({contract:e,onClose:a}){let[o,l]=(0,n.useState)(null),[d,u]=(0,n.useState)(!1),[m,p]=(0,n.useState)(null),[h,f]=(0,n.useState)("overview");(0,n.useEffect)(()=>{(async()=>{try{u(!0),p(null);let t=await c.api.contracts.buildFromId(e.id,{include_metadata:!0,include_ownership:!0,include_governance:!0});l(t.contract)}catch(e){p(e.response?.detail||e.message||"Failed to load contract details"),console.error("Error loading contract details:",e)}finally{u(!1)}})()},[e]);let x=(e,n=0)=>{if(null===e)return(0,t.jsx)("span",{className:"text-muted-foreground",children:"null"});if(void 0===e)return(0,t.jsx)("span",{className:"text-muted-foreground",children:"undefined"});if("string"==typeof e)return(0,t.jsxs)("span",{className:"text-green-600 dark:text-green-400",children:['"',e,'"']});if("number"==typeof e||"boolean"==typeof e)return(0,t.jsx)("span",{className:"text-blue-600 dark:text-blue-400",children:String(e)});if(Array.isArray(e))return 0===e.length?(0,t.jsx)("span",{className:"text-muted-foreground",children:"[]"}):(0,t.jsx)("div",{className:"ml-4 border-l-2 border-border pl-2",children:e.map((e,i)=>(0,t.jsx)("div",{className:"mb-1",children:x(e,n+1)},i))});if("object"==typeof e){let i=Object.entries(e);return 0===i.length?(0,t.jsx)("span",{className:"text-muted-foreground",children:"{}"}):(0,t.jsx)("div",{className:"ml-4 border-l-2 border-border pl-2",children:i.map(([e,i])=>(0,t.jsxs)("div",{className:"mb-2",children:[(0,t.jsxs)("span",{className:"font-semibold text-foreground",children:[e,":"]})," ",x(i,n+1)]},e))})}return(0,t.jsx)("span",{children:String(e)})};return d?(0,t.jsx)("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",children:(0,t.jsx)("div",{className:"bg-background rounded-lg p-6 max-w-2xl w-full mx-4",children:(0,t.jsx)(eJ.PageLoading,{message:"Loading contract details..."})})}):m?(0,t.jsx)("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",children:(0,t.jsxs)("div",{className:"bg-background rounded-lg p-6 max-w-2xl w-full mx-4",children:[(0,t.jsx)(eq.default,{error:Error(m),title:"Failed to load contract details"}),(0,t.jsx)("div",{className:"mt-4 flex justify-end",children:(0,t.jsx)(r.Button,{onClick:a,children:"Close"})})]})}):(0,t.jsx)("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",children:(0,t.jsxs)("div",{className:"bg-background rounded-lg shadow-lg max-w-4xl w-full max-h-[90vh] flex flex-col",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between p-6 border-b",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-2xl font-bold text-foreground",children:e.name}),(0,t.jsxs)("p",{className:"text-sm text-muted-foreground",children:["Version ",e.version]})]}),(0,t.jsx)(r.Button,{variant:"ghost",size:"icon",onClick:a,children:(0,t.jsx)(s.X,{className:"h-4 w-4"})})]}),(0,t.jsx)("div",{className:"flex border-b overflow-x-auto",children:eV.map(e=>(0,t.jsxs)("button",{onClick:()=>f(e.id),className:`flex items-center gap-2 px-4 py-3 border-b-2 transition-colors ${h===e.id?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"}`,children:[e.icon,(0,t.jsx)("span",{children:e.label})]},e.id))}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto p-6",children:(0,t.jsxs)(i.Card,{children:[(0,t.jsx)(i.CardHeader,{children:(0,t.jsx)(i.CardTitle,{className:"capitalize",children:h})}),(0,t.jsx)(i.CardContent,{children:o?(0,t.jsxs)("div",{className:"space-y-4",children:["overview"===h&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("strong",{children:"Name:"})," ",e.name]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("strong",{children:"Version:"})," ",e.version]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("strong",{children:"Status:"})," ",e.status]}),e.description&&(0,t.jsxs)("div",{children:[(0,t.jsx)("strong",{children:"Description:"})," ",e.description]})]}),"metadata"===h&&o.metadata&&(0,t.jsx)("div",{className:"font-mono text-sm",children:x(o.metadata)}),"schema"===h&&o.schema&&(0,t.jsx)("div",{className:"font-mono text-sm",children:x(o.schema)}),"coercion"===h&&o.coercion_rules&&(0,t.jsx)("div",{className:"font-mono text-sm",children:x(o.coercion_rules)}),"validation"===h&&o.validation_rules&&(0,t.jsx)("div",{className:"font-mono text-sm",children:x(o.validation_rules)})]}):(0,t.jsx)("p",{className:"text-muted-foreground",children:"No data available"})})]})})]})})}let eW=(0,eT.default)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]),eG=(0,eT.default)("Table",[["path",{d:"M12 3v18",key:"108xh3"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}]]),eH=(0,eT.default)("LayoutGrid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);function eK(){let{contracts:e,loading:s,error:o,refetch:l}=(0,a.useContracts)(),[d,u]=(0,n.useState)("table"),[m,p]=(0,n.useState)(null),[h,f]=(0,n.useState)(null),[x,g]=(0,n.useState)(!1),[b,v]=(0,n.useState)(!1),[j,y]=(0,n.useState)(null),[w,N]=(0,n.useState)(!1),k=async e=>{try{y(e.id);let t=(await c.api.contracts.buildFromId(e.id,{include_metadata:!0,include_ownership:!0,include_governance:!0})).contract,n=JSON.stringify(t,null,2),i=new Blob([n],{type:"application/json"}),r=URL.createObjectURL(i),a=document.createElement("a");a.href=r,a.download=`${e.name}_v${e.version}.json`,document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(r)}catch(e){console.error("Error downloading contract:",e),alert("Failed to download contract. Please try again.")}finally{y(null)}},C=async()=>{try{N(!0);let e=await c.api.templates.downloadContractArtifacts();(0,eF.downloadBlob)(e,"contract_artifact_templates.zip")}catch(e){console.error("Error downloading contract artifacts:",e),alert(e.message||"Failed to download contract artifact templates")}finally{N(!1)}};return s?(0,t.jsx)(eJ.PageLoading,{message:"Loading contracts..."}):(0,t.jsx)("div",{className:"min-h-screen bg-background",children:(0,t.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-6",children:[(0,t.jsx)("div",{className:"mb-4",children:(0,t.jsxs)("div",{className:"flex justify-between items-center mb-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-2xl font-bold text-foreground mb-1",children:"Contracts"}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"View and manage data contracts stored in the database"})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsxs)(r.Button,{variant:"outline",size:"sm",onClick:C,disabled:w,title:"Download contract artifact templates",children:[(0,t.jsx)(ez.Download,{className:`h-4 w-4 mr-2 ${w?"animate-pulse":""}`}),w?"Downloading...":"Download Templates"]}),(0,t.jsxs)(r.Button,{variant:"default",size:"sm",onClick:()=>v(!0),title:"Create new contract",children:[(0,t.jsx)(eL.Plus,{className:"h-4 w-4 mr-2"}),"Create Contract"]}),(0,t.jsxs)(r.Button,{variant:"outline",size:"sm",onClick:()=>g(!0),title:"Upload contract file",children:[(0,t.jsx)(eL.Plus,{className:"h-4 w-4 mr-2"}),"Upload"]}),(0,t.jsx)(r.Button,{variant:"outline",size:"sm",onClick:l,disabled:s,title:"Refresh contracts",children:(0,t.jsx)(eW,{className:`h-4 w-4 ${s?"animate-spin":""}`})}),(0,t.jsx)(r.Button,{variant:"table"===d?"default":"outline",size:"sm",onClick:()=>u("table"),title:"Table view",children:(0,t.jsx)(eG,{className:"h-4 w-4"})}),(0,t.jsx)(r.Button,{variant:"cards"===d?"default":"outline",size:"sm",onClick:()=>u("cards"),title:"Cards view",children:(0,t.jsx)(eH,{className:"h-4 w-4"})})]})]})}),o&&(0,t.jsxs)("div",{className:"mb-4",children:[(0,t.jsx)(eq.default,{error:Error(o),title:"Failed to load contracts"}),(0,t.jsx)(r.Button,{onClick:l,variant:"outline",className:"mt-4",children:"Retry"})]}),!o&&(0,t.jsx)(t.Fragment,{children:0===e.length?(0,t.jsxs)(i.Card,{children:[(0,t.jsxs)(i.CardHeader,{children:[(0,t.jsx)(i.CardTitle,{children:"No Contracts Found"}),(0,t.jsx)(i.CardDescription,{children:"No data contracts are currently stored in the database."})]}),(0,t.jsx)(i.CardContent,{children:(0,t.jsxs)(r.Button,{onClick:()=>g(!0),children:[(0,t.jsx)(eL.Plus,{className:"h-4 w-4 mr-2"}),"Upload Your First Contract"]})})]}):(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)("div",{className:"flex justify-between items-center",children:(0,t.jsxs)("p",{className:"text-sm text-muted-foreground",children:[e.length," contract",1!==e.length?"s":""," found"]})}),"table"===d?(0,t.jsx)(i.Card,{children:(0,t.jsx)(i.CardContent,{className:"p-0",children:(0,t.jsx)(e$,{contracts:e,onViewDetails:p,onEdit:f})})}):(0,t.jsx)("div",{className:"grid gap-4 md:grid-cols-2 lg:grid-cols-3",children:e.map(e=>(0,t.jsxs)(i.Card,{className:"hover:shadow-md transition-shadow",children:[(0,t.jsxs)(i.CardHeader,{children:[(0,t.jsx)(i.CardTitle,{className:"text-lg",children:e.name}),(0,t.jsxs)(i.CardDescription,{children:["Version ",e.version,e.status&&` • ${e.status}`]})]}),(0,t.jsxs)(i.CardContent,{children:[e.description&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground mb-4 line-clamp-2",children:e.description}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(r.Button,{variant:"outline",size:"sm",className:"flex-1",onClick:()=>p(e),children:"View Details"}),(0,t.jsx)(r.Button,{variant:"outline",size:"sm",onClick:()=>k(e),disabled:j===e.id,title:"Download contract",children:(0,t.jsx)(ez.Download,{className:`h-4 w-4 ${j===e.id?"animate-pulse":""}`})})]})]})]},e.id))})]})}),m&&(0,t.jsx)(eY,{contract:m,onClose:()=>p(null)}),(0,t.jsx)(eD,{isOpen:b,onClose:()=>v(!1),onSuccess:l}),(0,t.jsx)(eS,{isOpen:x,onClose:()=>g(!1),onSuccess:l}),(0,t.jsx)(eB,{isOpen:null!==h,contract:h,onClose:()=>f(null),onSuccess:l})]})})}e.s(["default",()=>eK],65870)}]);
|