docs: salvage focused stale PR contributions

- add Vite and Redis pattern skills from closed stale PRs

- add frontend-slides support assets

- port skill-comply runner fixes and LLM prompt/provider regressions

- harden agent frontmatter validation and sync catalog counts
This commit is contained in:
Affaan Mustafa
2026-05-11 05:18:18 -04:00
committed by Affaan Mustafa
parent d8f879e671
commit b39d2244cf
28 changed files with 2653 additions and 59 deletions

View File

@@ -1,13 +1,23 @@
"""Prompt module for prompt building and normalization."""
from llm.prompt.builder import PromptBuilder, adapt_messages_for_provider, get_provider_builder
from llm.prompt.templates import TEMPLATES, get_template, get_template_or_default
from llm.prompt.templates import (
TEMPLATES,
clear_templates,
deregister_template,
get_template,
get_template_or_default,
register_template,
)
__all__ = (
"PromptBuilder",
"TEMPLATES",
"clear_templates",
"deregister_template",
"adapt_messages_for_provider",
"get_provider_builder",
"get_template",
"get_template_or_default",
"register_template",
)

View File

@@ -19,9 +19,32 @@ class PromptConfig:
tool_format: str = "native"
class PromptBuilder:
def __init__(self, config: PromptConfig | None = None) -> None:
self.config = config or PromptConfig()
class PromptBuilder:
def __init__(
self,
config: PromptConfig | None = None,
*,
system_template: str | None = None,
user_template: str | None = None,
include_tools_in_system: bool | None = None,
tool_format: str | None = None,
) -> None:
if config is not None and any(
value is not None
for value in (system_template, user_template, include_tools_in_system, tool_format)
):
raise ValueError("Pass either config or PromptBuilder keyword options, not both")
if config is None:
overrides = {
"system_template": system_template,
"user_template": user_template,
"include_tools_in_system": include_tools_in_system,
"tool_format": tool_format,
}
config = PromptConfig(**{key: value for key, value in overrides.items() if value is not None})
self.config = config
def build(self, messages: list[Message], tools: list[ToolDefinition] | None = None) -> list[Message]:
if not messages:

View File

@@ -1 +1,41 @@
# Templates module for provider-specific prompt templates
"""Provider-specific prompt template helpers."""
from __future__ import annotations
_TEMPLATE_REGISTRY: dict[str, str] = {}
TEMPLATES = _TEMPLATE_REGISTRY
def _validate_template_input(name: str, template: str | None = None) -> None:
"""Validate template registry inputs before mutating the registry."""
if not isinstance(name, str) or not name.strip():
raise ValueError("Template name must be a non-empty string")
if template is not None and (not isinstance(template, str) or not template.strip()):
raise ValueError("Template content must be a non-empty string")
def register_template(name: str, template: str) -> None:
"""Register or replace a named prompt template."""
_validate_template_input(name, template)
_TEMPLATE_REGISTRY[name] = template
def deregister_template(name: str) -> None:
"""Remove a named prompt template if it is registered."""
_validate_template_input(name)
_TEMPLATE_REGISTRY.pop(name, None)
def clear_templates() -> None:
"""Remove all registered prompt templates."""
_TEMPLATE_REGISTRY.clear()
def get_template(name: str) -> str | None:
"""Return a named prompt template when one is registered."""
return _TEMPLATE_REGISTRY.get(name)
def get_template_or_default(name: str, default: str = "") -> str:
"""Return a named prompt template or a caller-provided default."""
return _TEMPLATE_REGISTRY.get(name, default)