dh-cli 0.17.1__tar.gz → 0.17.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {dh_cli-0.17.1 → dh_cli-0.17.3}/PKG-INFO +1 -1
- {dh_cli-0.17.1 → dh_cli-0.17.3}/pyproject.toml +1 -1
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/bedrock/cost_report.py +3 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/bedrock/pricing.yaml +19 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/bedrock/test_resolve_base_model.py +34 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/.gitignore +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/LICENSE +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/README.md +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/__init__.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/_identity.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/__init__.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/aws_batch.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/commands/__init__.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/commands/boltz.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/commands/cancel.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/commands/clean.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/commands/cost.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/commands/disco.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/commands/embed_esmc.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/commands/embed_t5.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/commands/equilibrator.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/commands/esmfold2.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/commands/finalize.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/commands/list_jobs.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/commands/local.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/commands/logs.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/commands/orca.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/commands/protmpnn.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/commands/protmpnn_to_boltz.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/commands/retry.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/commands/rfd3.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/commands/status.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/commands/submit.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/commands/wait_for.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/cost_report.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/fasta_utils.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/h5_utils.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/job_id.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/manifest.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/batch/s3_transport.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/bedrock/__init__.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/bedrock/commands.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/cloud_commands.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/codeartifact.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/engines_studios/__init__.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/engines_studios/api_client.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/engines_studios/auth.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/engines_studios/engine_commands.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/engines_studios/progress.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/engines_studios/retry.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/engines_studios/ssh_config.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/engines_studios/studio_commands.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/engines_studios/studio_resolve.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/github_commands.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/hz/__init__.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/hz/auth.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/hz/deploy.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/hz/local.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/hz/mcp_server.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/hz/test.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/hz/tf.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/hz/users.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/main.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/sweep.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/src/dh_cli/warehouse.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/batch/__init__.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/batch/cur_fixtures.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/batch/test_aws_batch_resources.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/batch/test_batch_cost_command.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/batch/test_batch_cost_filters.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/batch/test_batch_cost_reader.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/batch/test_batch_cost_reconcile.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/batch/test_batch_cost_report.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/batch/test_image_override.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/batch/test_import_without_pandas.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/batch/test_no_train_command.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/batch/test_submit_cpu_only.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/batch/test_submit_image_validation.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/batch/test_submit_job_tags.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/batch/test_submit_merge.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/batch/test_submit_mlflow_env.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/bedrock/conftest.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/bedrock/fixtures/A_cache_write.json +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/bedrock/fixtures/B_cache_read.json +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/bedrock/fixtures/C_plain.json +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/bedrock/fixtures/D_cursor_user.json +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/bedrock/fixtures/E_service_role.json +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/bedrock/fixtures/F_legacy_shared.json +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/bedrock/fixtures/G_unknown_model.json +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/bedrock/test_build_report.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/bedrock/test_classify_arn.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/bedrock/test_cli_exit_codes.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/bedrock/test_cost_calc.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/bedrock/test_cost_command.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/bedrock/test_cur_reconciliation.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/bedrock/test_key_command.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/bedrock/test_render_formats.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/bedrock/test_rotate.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/bedrock/test_s3_walker.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/engines_studios/__init__.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/engines_studios/test_engine_retry_commands.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/engines_studios/test_retry.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/engines_studios/test_ssh_config.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/engines_studios/test_studio_resolution_commands.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/engines_studios/test_studio_resolve.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/github/__init__.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/github/conftest.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/github/test_engine_role_cannot_read_github_pat.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/github/test_identity.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/github/test_login.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/github/test_login_error_paths.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/github/test_login_security.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/github/test_logout.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/github/test_rotate.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/github/test_status.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/hz/live_smoke.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/hz/test_auth.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/hz/test_init.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/hz/test_mcp_server.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/hz/test_suites.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/hz/test_users.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/test_aws_status.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/test_cloud_gcp.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/test_disco_command.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/test_disco_jobdef.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/test_embed_esmc_cli.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/test_equilibrator_command.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/test_esmfold2_cli.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/test_finalize_boltz_tar.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/test_finalize_disco.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/test_finalize_disco_dispatch.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/test_finalize_equilibrator.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/test_finalize_esmfold2.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/test_finalize_protmpnn.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/test_finalize_rfd3.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/test_rfd3_command.py +0 -0
- {dh_cli-0.17.1 → dh_cli-0.17.3}/tests/test_sweep.py +0 -0
|
@@ -111,6 +111,7 @@ _BASE_MODELS = (
|
|
|
111
111
|
"opus-4-8",
|
|
112
112
|
"opus-4-7",
|
|
113
113
|
"opus-4-6",
|
|
114
|
+
"sonnet-5-5",
|
|
114
115
|
"sonnet-5",
|
|
115
116
|
"sonnet-4-6",
|
|
116
117
|
"sonnet-4-5",
|
|
@@ -118,6 +119,8 @@ _BASE_MODELS = (
|
|
|
118
119
|
"fable-5",
|
|
119
120
|
"fable-5-1",
|
|
120
121
|
"gpt-6-astra",
|
|
122
|
+
"gpt-6-sol",
|
|
123
|
+
"gpt-6-luna",
|
|
121
124
|
"gpt-5.6-sol",
|
|
122
125
|
"gpt-5.6-terra",
|
|
123
126
|
"gpt-5.6-luna",
|
|
@@ -37,6 +37,13 @@ models:
|
|
|
37
37
|
cache_write_per_1m: 12.50
|
|
38
38
|
# Fable 5.1 cut cache reads 75% vs Fable 5; the only rate that differs.
|
|
39
39
|
cache_read_per_1m: 0.25
|
|
40
|
+
# Sonnet 5.5: Marketplace rate card `*_global_standard`, 2026-09-29; same
|
|
41
|
+
# rates as Sonnet 5.
|
|
42
|
+
sonnet-5-5:
|
|
43
|
+
input_per_1m: 2.00
|
|
44
|
+
output_per_1m: 10.00
|
|
45
|
+
cache_write_per_1m: 2.50
|
|
46
|
+
cache_read_per_1m: 0.20
|
|
40
47
|
sonnet-5:
|
|
41
48
|
input_per_1m: 2.00
|
|
42
49
|
output_per_1m: 10.00
|
|
@@ -65,6 +72,18 @@ models:
|
|
|
65
72
|
output_per_1m: 50.00
|
|
66
73
|
cache_write_per_1m: 12.50
|
|
67
74
|
cache_read_per_1m: 1.00
|
|
75
|
+
# GPT-6 Sol/Luna: Marketplace rate card `*_global_standard`, 2026-09-25;
|
|
76
|
+
# cache write is the 30-minute tier.
|
|
77
|
+
gpt-6-sol:
|
|
78
|
+
input_per_1m: 2.00
|
|
79
|
+
output_per_1m: 10.00
|
|
80
|
+
cache_write_per_1m: 2.50
|
|
81
|
+
cache_read_per_1m: 0.20
|
|
82
|
+
gpt-6-luna:
|
|
83
|
+
input_per_1m: 0.10
|
|
84
|
+
output_per_1m: 0.50
|
|
85
|
+
cache_write_per_1m: 0.125
|
|
86
|
+
cache_read_per_1m: 0.01
|
|
68
87
|
gpt-5.6-sol:
|
|
69
88
|
input_per_1m: 4.00
|
|
70
89
|
output_per_1m: 20.00
|
|
@@ -52,6 +52,14 @@ import pytest
|
|
|
52
52
|
("anthropic.claude-opus-5-5", "opus-5-5"),
|
|
53
53
|
("us.anthropic.claude-opus-5-5", "opus-5-5"),
|
|
54
54
|
("global.anthropic.claude-opus-5-5", "opus-5-5"),
|
|
55
|
+
# Third occurrence: `sonnet-5` is a substring of `claude-sonnet-5-5`.
|
|
56
|
+
# Rates are identical, so a collapse leaves totals right but merges the
|
|
57
|
+
# two models in any per-model breakdown.
|
|
58
|
+
("anthropic.claude-sonnet-5", "sonnet-5"),
|
|
59
|
+
("us.anthropic.claude-sonnet-5", "sonnet-5"),
|
|
60
|
+
("global.anthropic.claude-sonnet-5", "sonnet-5"),
|
|
61
|
+
("anthropic.claude-sonnet-5-5", "sonnet-5-5"),
|
|
62
|
+
("global.anthropic.claude-sonnet-5-5", "sonnet-5-5"),
|
|
55
63
|
# OpenAI models on `bedrock-runtime` do write invocation logs (only
|
|
56
64
|
# mantle traffic doesn't). Seen in the dev bucket 2026-09, in both the
|
|
57
65
|
# bare and inference-profile-ARN shapes.
|
|
@@ -67,6 +75,14 @@ import pytest
|
|
|
67
75
|
"arn:aws:bedrock:us-east-1:074735440724:inference-profile/global.openai.gpt-6-astra",
|
|
68
76
|
"gpt-6-astra",
|
|
69
77
|
),
|
|
78
|
+
("global.openai.gpt-6-sol", "gpt-6-sol"),
|
|
79
|
+
("us.openai.gpt-6-sol", "gpt-6-sol"),
|
|
80
|
+
("openai.gpt-6-sol", "gpt-6-sol"),
|
|
81
|
+
("global.openai.gpt-6-luna", "gpt-6-luna"),
|
|
82
|
+
(
|
|
83
|
+
"arn:aws:bedrock:us-east-1:074735440724:inference-profile/global.openai.gpt-6-luna",
|
|
84
|
+
"gpt-6-luna",
|
|
85
|
+
),
|
|
70
86
|
],
|
|
71
87
|
)
|
|
72
88
|
def test_resolve_base_model_known(model_id: str, expected_base: str):
|
|
@@ -89,6 +105,7 @@ def test_resolve_prefers_the_most_specific_base():
|
|
|
89
105
|
assert cost_report.resolve_base_model("global.anthropic.claude-fable-5") == "fable-5"
|
|
90
106
|
assert cost_report.resolve_base_model("global.anthropic.claude-opus-5-5") == "opus-5-5"
|
|
91
107
|
assert cost_report.resolve_base_model("global.anthropic.claude-opus-5") == "opus-5"
|
|
108
|
+
assert cost_report.resolve_base_model("global.anthropic.claude-sonnet-5-5") == "sonnet-5-5"
|
|
92
109
|
finally:
|
|
93
110
|
cost_report._BASE_MODELS = original
|
|
94
111
|
|
|
@@ -132,6 +149,19 @@ def test_opus_55_is_priced_below_opus_5():
|
|
|
132
149
|
assert pricing["opus-5-5"][rate] < pricing["opus-5"][rate]
|
|
133
150
|
|
|
134
151
|
|
|
152
|
+
def test_sonnet_55_rates_match_marketplace_card():
|
|
153
|
+
"""Marketplace `offer-5fu2rhus3byrs`, `*_global_standard`, 2026-09-29."""
|
|
154
|
+
from dh_cli.bedrock.cost_report import default_pricing_path, load_pricing
|
|
155
|
+
|
|
156
|
+
pricing = load_pricing(default_pricing_path())
|
|
157
|
+
assert pricing["sonnet-5-5"] == {
|
|
158
|
+
"input_per_1m": 2.00,
|
|
159
|
+
"output_per_1m": 10.00,
|
|
160
|
+
"cache_write_per_1m": 2.50,
|
|
161
|
+
"cache_read_per_1m": 0.20,
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
|
|
135
165
|
@pytest.mark.parametrize(
|
|
136
166
|
"base, rates",
|
|
137
167
|
[
|
|
@@ -139,6 +169,10 @@ def test_opus_55_is_priced_below_opus_5():
|
|
|
139
169
|
# (`USE1-MP:USE1_*_global_standard` unit cost). Sol's regional rate
|
|
140
170
|
# fell from $5.50/$33 in Aug to $4.40/$22 in Sep; Sep is current.
|
|
141
171
|
("gpt-6-astra", (10.00, 50.00, 12.50, 1.00)),
|
|
172
|
+
# GPT-6 Sol/Luna: Marketplace rate card, `*_global_standard`,
|
|
173
|
+
# 2026-09-25 (cache write is the 30-minute tier).
|
|
174
|
+
("gpt-6-sol", (2.00, 10.00, 2.50, 0.20)),
|
|
175
|
+
("gpt-6-luna", (0.10, 0.50, 0.125, 0.01)),
|
|
142
176
|
("gpt-5.6-sol", (4.00, 20.00, 5.00, 0.40)),
|
|
143
177
|
("gpt-5.6-terra", (2.00, 12.00, 2.50, 0.20)),
|
|
144
178
|
("gpt-5.6-luna", (0.20, 1.20, 0.25, 0.02)),
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|