mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-12-03 01:48:05 +00:00
precommit
This commit is contained in:
parent
b40a0c5151
commit
fa43b3c545
2 changed files with 19 additions and 13 deletions
|
|
@ -1,2 +1,7 @@
|
||||||
# Package marker for Stainless config generation.
|
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# This source code is licensed under the terms described in the LICENSE file in
|
||||||
|
# the root directory of this source tree.
|
||||||
|
|
||||||
|
# Package marker for Stainless config generation.
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,18 @@
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# This source code is licensed under the terms described in the LICENSE file in
|
||||||
|
# the root directory of this source tree.
|
||||||
|
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
|
from collections.abc import Iterator
|
||||||
from dataclasses import dataclass, field
|
from dataclasses import dataclass, field
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Any, Iterator
|
from typing import Any
|
||||||
|
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
|
|
@ -602,7 +609,7 @@ class Endpoint:
|
||||||
extra: dict[str, Any] = field(default_factory=dict)
|
extra: dict[str, Any] = field(default_factory=dict)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def from_config(cls, value: Any) -> "Endpoint":
|
def from_config(cls, value: Any) -> Endpoint:
|
||||||
if isinstance(value, str):
|
if isinstance(value, str):
|
||||||
method, _, path = value.partition(" ")
|
method, _, path = value.partition(" ")
|
||||||
return cls._from_parts(method, path)
|
return cls._from_parts(method, path)
|
||||||
|
|
@ -615,7 +622,7 @@ class Endpoint:
|
||||||
raise ValueError(f"Unsupported endpoint value: {value!r}")
|
raise ValueError(f"Unsupported endpoint value: {value!r}")
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _from_parts(cls, method: str, path: str) -> "Endpoint":
|
def _from_parts(cls, method: str, path: str) -> Endpoint:
|
||||||
method = method.strip().lower()
|
method = method.strip().lower()
|
||||||
path = path.strip()
|
path = path.strip()
|
||||||
if method not in HTTP_METHODS:
|
if method not in HTTP_METHODS:
|
||||||
|
|
@ -754,8 +761,7 @@ class StainlessConfig:
|
||||||
duplicates[route] = labels
|
duplicates[route] = labels
|
||||||
if duplicates:
|
if duplicates:
|
||||||
formatted = "\n".join(
|
formatted = "\n".join(
|
||||||
f" - {route} defined in: {', '.join(sorted(labels))}"
|
f" - {route} defined in: {', '.join(sorted(labels))}" for route, labels in sorted(duplicates.items())
|
||||||
for route, labels in sorted(duplicates.items())
|
|
||||||
)
|
)
|
||||||
raise ValueError("Duplicate endpoints found across resources:\n" + formatted)
|
raise ValueError("Duplicate endpoints found across resources:\n" + formatted)
|
||||||
|
|
||||||
|
|
@ -763,15 +769,10 @@ class StainlessConfig:
|
||||||
resource_paths: set[str] = set()
|
resource_paths: set[str] = set()
|
||||||
for resource in self.resources.values():
|
for resource in self.resources.values():
|
||||||
resource_paths.update(resource.collect_endpoint_paths())
|
resource_paths.update(resource.collect_endpoint_paths())
|
||||||
missing = sorted(
|
missing = sorted(path for path in self.readme_endpoint_paths() if path not in resource_paths)
|
||||||
path for path in self.readme_endpoint_paths() if path not in resource_paths
|
|
||||||
)
|
|
||||||
if missing:
|
if missing:
|
||||||
formatted = "\n".join(f" - {path}" for path in missing)
|
formatted = "\n".join(f" - {path}" for path in missing)
|
||||||
raise ValueError(
|
raise ValueError("README example endpoints are not present in Stainless resources:\n" + formatted)
|
||||||
"README example endpoints are not present in Stainless resources:\n"
|
|
||||||
+ formatted
|
|
||||||
)
|
|
||||||
|
|
||||||
def to_dict(self) -> dict[str, Any]:
|
def to_dict(self) -> dict[str, Any]:
|
||||||
cfg: dict[str, Any] = {}
|
cfg: dict[str, Any] = {}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue