ai-agent-book 精选快照(<2MB 代码与文档,来自 github.com/bojieli/ai-agent-book)
Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s

This commit is contained in:
2026-08-20 13:12:50 +00:00
commit b119135836
10275 changed files with 3284984 additions and 0 deletions
@@ -0,0 +1,22 @@
"""Regression: one-person puzzles must not IndexError in _random_stmt."""
import random
import sys
import types
sys.modules.setdefault("constraint", types.ModuleType("constraint"))
sys.modules["constraint"].Problem = object
cs = types.ModuleType("csp_solver")
cs.render_nl = lambda *a, **k: ""
cs.solve = lambda *a, **k: [{}]
cs.solve_labeled = lambda *a, **k: {}
sys.modules["csp_solver"] = cs
from build_puzzles import _random_stmt # noqa: E402
def test_random_stmt_one_person_returns_count():
rng = random.Random(0)
for _ in range(20):
stmt = _random_stmt("A", ["A"], rng)
assert stmt[0] == "count"
assert stmt[1] in ("knight", "knave")