sqrlly 0.1.0__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.
- sqrlly-0.1.0/.env.example +44 -0
- sqrlly-0.1.0/.gitignore +20 -0
- sqrlly-0.1.0/CHANGELOG.md +865 -0
- sqrlly-0.1.0/LICENSE +201 -0
- sqrlly-0.1.0/PKG-INFO +182 -0
- sqrlly-0.1.0/README.md +142 -0
- sqrlly-0.1.0/SKILLS.md +108 -0
- sqrlly-0.1.0/TECHNICAL.md +668 -0
- sqrlly-0.1.0/docs/backlog-adapter-inspiration.md +117 -0
- sqrlly-0.1.0/docs/plans/stage-5a-route-node.md +330 -0
- sqrlly-0.1.0/docs/plans/stage-5b-execute-url.md +429 -0
- sqrlly-0.1.0/docs/schema-reference.md +453 -0
- sqrlly-0.1.0/docs/test-audit-verification.md +168 -0
- sqrlly-0.1.0/docs/test-audit.md +98 -0
- sqrlly-0.1.0/examples/absurd-paper/gates/abstract_multi_dim.md +25 -0
- sqrlly-0.1.0/examples/absurd-paper/gates/choose_topic_eval.md +29 -0
- sqrlly-0.1.0/examples/absurd-paper/gates/outline_json.py +83 -0
- sqrlly-0.1.0/examples/absurd-paper/gates/publish_verdict.md +21 -0
- sqrlly-0.1.0/examples/absurd-paper/gates/review_quality.py +55 -0
- sqrlly-0.1.0/examples/absurd-paper/gates/submission_check.py +89 -0
- sqrlly-0.1.0/examples/absurd-paper/preamble.md +12 -0
- sqrlly-0.1.0/examples/absurd-paper/prompts/abstract.md +27 -0
- sqrlly-0.1.0/examples/absurd-paper/prompts/choose_topic.md +36 -0
- sqrlly-0.1.0/examples/absurd-paper/prompts/critique_review.md +50 -0
- sqrlly-0.1.0/examples/absurd-paper/prompts/discussion.md +29 -0
- sqrlly-0.1.0/examples/absurd-paper/prompts/intro.md +28 -0
- sqrlly-0.1.0/examples/absurd-paper/prompts/methods.md +29 -0
- sqrlly-0.1.0/examples/absurd-paper/prompts/outline.md +28 -0
- sqrlly-0.1.0/examples/absurd-paper/prompts/publish_verdict.md +25 -0
- sqrlly-0.1.0/examples/absurd-paper/prompts/reconcile.md +75 -0
- sqrlly-0.1.0/examples/absurd-paper/prompts/results.md +29 -0
- sqrlly-0.1.0/examples/absurd-paper/prompts/reviewer_pool.md +46 -0
- sqrlly-0.1.0/examples/absurd-paper/prompts/reviewer_review.md +21 -0
- sqrlly-0.1.0/examples/absurd-paper/reference-output/paper.md +114 -0
- sqrlly-0.1.0/examples/absurd-paper/reference-output/paper.pdf +0 -0
- sqrlly-0.1.0/examples/absurd-paper/reference-output/run.jsonl +24 -0
- sqrlly-0.1.0/examples/absurd-paper/scripts/persist_paper.py +28 -0
- sqrlly-0.1.0/examples/absurd-paper/scripts/pick_topic.py +92 -0
- sqrlly-0.1.0/examples/absurd-paper/scripts/render_pdf.py +105 -0
- sqrlly-0.1.0/examples/absurd-paper/subgraphs/compose_and_validate.yaml +49 -0
- sqrlly-0.1.0/examples/absurd-paper/subgraphs/single_review.yaml +36 -0
- sqrlly-0.1.0/examples/absurd-paper/view.html +673 -0
- sqrlly-0.1.0/examples/absurd-paper/workflow.yaml +179 -0
- sqrlly-0.1.0/examples/command_preset/scripts/report.py +5 -0
- sqrlly-0.1.0/examples/command_preset/workflow.yaml +24 -0
- sqrlly-0.1.0/examples/explicit_join.yaml +46 -0
- sqrlly-0.1.0/examples/jokes/gates/validate_jokes.py +27 -0
- sqrlly-0.1.0/examples/jokes/generate.md +5 -0
- sqrlly-0.1.0/examples/jokes/run.py +52 -0
- sqrlly-0.1.0/examples/jokes/select.md +5 -0
- sqrlly-0.1.0/examples/jokes/view.html +355 -0
- sqrlly-0.1.0/examples/jokes/workflow.yaml +27 -0
- sqrlly-0.1.0/examples/pipeline_style/reference-run.jsonl +5 -0
- sqrlly-0.1.0/examples/pipeline_style/view-debug.html +406 -0
- sqrlly-0.1.0/examples/pipeline_style/view.html +388 -0
- sqrlly-0.1.0/examples/pipeline_style/workflow.yaml +44 -0
- sqrlly-0.1.0/examples/prompts/hello.md +1 -0
- sqrlly-0.1.0/examples/regenerate_views.sh +88 -0
- sqrlly-0.1.0/examples/route_classify/reference-run.jsonl +4 -0
- sqrlly-0.1.0/examples/route_classify/scripts/triage.py +39 -0
- sqrlly-0.1.0/examples/route_classify/view-debug.html +496 -0
- sqrlly-0.1.0/examples/route_classify/view.html +484 -0
- sqrlly-0.1.0/examples/route_classify/workflow.yaml +73 -0
- sqrlly-0.1.0/examples/run_all_examples.yaml +59 -0
- sqrlly-0.1.0/examples/smoke_test.yaml +15 -0
- sqrlly-0.1.0/examples/wave_planner/README.md +119 -0
- sqrlly-0.1.0/examples/wave_planner/reference-run.jsonl +10 -0
- sqrlly-0.1.0/examples/wave_planner/scripts/dispatcher.py +24 -0
- sqrlly-0.1.0/examples/wave_planner/scripts/planner.py +33 -0
- sqrlly-0.1.0/examples/wave_planner/scripts/reconcile.py +39 -0
- sqrlly-0.1.0/examples/wave_planner/scripts/worker.py +40 -0
- sqrlly-0.1.0/examples/wave_planner/view-debug.html +479 -0
- sqrlly-0.1.0/examples/wave_planner/view.html +412 -0
- sqrlly-0.1.0/examples/wave_planner/workflow.yaml +112 -0
- sqrlly-0.1.0/pyproject.toml +99 -0
- sqrlly-0.1.0/scripts/migrate_legacy_executor_to_presets.py +341 -0
- sqrlly-0.1.0/src/sqrlly/__init__.py +0 -0
- sqrlly-0.1.0/src/sqrlly/cli/__init__.py +0 -0
- sqrlly-0.1.0/src/sqrlly/cli/main.py +440 -0
- sqrlly-0.1.0/src/sqrlly/cli/migrate.py +455 -0
- sqrlly-0.1.0/src/sqrlly/cli/templates/view.html.j2 +263 -0
- sqrlly-0.1.0/src/sqrlly/cli/view.py +474 -0
- sqrlly-0.1.0/src/sqrlly/compile/__init__.py +0 -0
- sqrlly-0.1.0/src/sqrlly/compile/_manifest.py +67 -0
- sqrlly-0.1.0/src/sqrlly/compile/dynamic.py +350 -0
- sqrlly-0.1.0/src/sqrlly/compile/evaluation.py +180 -0
- sqrlly-0.1.0/src/sqrlly/compile/graph.py +617 -0
- sqrlly-0.1.0/src/sqrlly/compile/lint.py +47 -0
- sqrlly-0.1.0/src/sqrlly/compile/nodes.py +898 -0
- sqrlly-0.1.0/src/sqrlly/compile/route.py +117 -0
- sqrlly-0.1.0/src/sqrlly/compile/subgraph.py +333 -0
- sqrlly-0.1.0/src/sqrlly/py.typed +0 -0
- sqrlly-0.1.0/src/sqrlly/runtime/__init__.py +0 -0
- sqrlly-0.1.0/src/sqrlly/runtime/executor/__init__.py +0 -0
- sqrlly-0.1.0/src/sqrlly/runtime/executor/backends/__init__.py +0 -0
- sqrlly-0.1.0/src/sqrlly/runtime/executor/backends/_lazy_client.py +64 -0
- sqrlly-0.1.0/src/sqrlly/runtime/executor/backends/_overload.py +79 -0
- sqrlly-0.1.0/src/sqrlly/runtime/executor/backends/acp.py +213 -0
- sqrlly-0.1.0/src/sqrlly/runtime/executor/backends/anthropic.py +135 -0
- sqrlly-0.1.0/src/sqrlly/runtime/executor/backends/factory.py +108 -0
- sqrlly-0.1.0/src/sqrlly/runtime/executor/backends/openai.py +83 -0
- sqrlly-0.1.0/src/sqrlly/runtime/executor/dispatch.py +415 -0
- sqrlly-0.1.0/src/sqrlly/runtime/executor/preset.py +166 -0
- sqrlly-0.1.0/src/sqrlly/runtime/executor/prompt.py +150 -0
- sqrlly-0.1.0/src/sqrlly/runtime/foreman.py +219 -0
- sqrlly-0.1.0/src/sqrlly/runtime/gates.py +439 -0
- sqrlly-0.1.0/src/sqrlly/runtime/logging.py +121 -0
- sqrlly-0.1.0/src/sqrlly/runtime/result.py +46 -0
- sqrlly-0.1.0/src/sqrlly/runtime/runner.py +81 -0
- sqrlly-0.1.0/src/sqrlly/runtime/secrets.py +108 -0
- sqrlly-0.1.0/src/sqrlly/runtime/settings_merge.py +49 -0
- sqrlly-0.1.0/src/sqrlly/runtime/state.py +114 -0
- sqrlly-0.1.0/src/sqrlly/runtime/url.py +215 -0
- sqrlly-0.1.0/src/sqrlly/schema/__init__.py +0 -0
- sqrlly-0.1.0/src/sqrlly/schema/models.py +575 -0
- sqrlly-0.1.0/src/sqrlly/schema/params.py +107 -0
- sqrlly-0.1.0/tests/acp/test_acp_backend.py +185 -0
- sqrlly-0.1.0/tests/acp/test_acp_cleanup.py +125 -0
- sqrlly-0.1.0/tests/acp/test_concurrency.py +45 -0
- sqrlly-0.1.0/tests/acp/test_gates_llm.py +60 -0
- sqrlly-0.1.0/tests/acp/test_joke_workflow.py +102 -0
- sqrlly-0.1.0/tests/architecture/test_layers.py +160 -0
- sqrlly-0.1.0/tests/builder/test_graph_shape.py +404 -0
- sqrlly-0.1.0/tests/conftest.py +125 -0
- sqrlly-0.1.0/tests/e2e/test_dynamic.py +656 -0
- sqrlly-0.1.0/tests/e2e/test_fan_out_subgraph.py +228 -0
- sqrlly-0.1.0/tests/e2e/test_gates_dep_access.py +86 -0
- sqrlly-0.1.0/tests/e2e/test_inline_route_with_eval.py +170 -0
- sqrlly-0.1.0/tests/e2e/test_join_node.py +167 -0
- sqrlly-0.1.0/tests/e2e/test_live_backend_roundtrip.py +161 -0
- sqrlly-0.1.0/tests/e2e/test_orchestrator.py +776 -0
- sqrlly-0.1.0/tests/e2e/test_recursive_subgraph.py +349 -0
- sqrlly-0.1.0/tests/e2e/test_resume_fan_out.py +197 -0
- sqrlly-0.1.0/tests/e2e/test_route_node.py +242 -0
- sqrlly-0.1.0/tests/e2e/test_subgraph_settings_inheritance.py +267 -0
- sqrlly-0.1.0/tests/e2e/test_timeout.py +232 -0
- sqrlly-0.1.0/tests/e2e/test_wave_pattern.py +238 -0
- sqrlly-0.1.0/tests/fixtures/route/flow_a_score.yaml +43 -0
- sqrlly-0.1.0/tests/fixtures/route/score_by_attempt.py +16 -0
- sqrlly-0.1.0/tests/fixtures/route/score_high.py +10 -0
- sqrlly-0.1.0/tests/fixtures/route/score_low.py +7 -0
- sqrlly-0.1.0/tests/helpers.py +57 -0
- sqrlly-0.1.0/tests/mock_executor.py +39 -0
- sqrlly-0.1.0/tests/scripts/test_migrate_legacy_executor_to_presets.py +162 -0
- sqrlly-0.1.0/tests/unit/cli/test_cli.py +343 -0
- sqrlly-0.1.0/tests/unit/cli/test_migrate.py +517 -0
- sqrlly-0.1.0/tests/unit/cli/test_view.py +460 -0
- sqrlly-0.1.0/tests/unit/compile/test_decision_node.py +273 -0
- sqrlly-0.1.0/tests/unit/compile/test_evaluation.py +225 -0
- sqrlly-0.1.0/tests/unit/compile/test_evaluation_node.py +280 -0
- sqrlly-0.1.0/tests/unit/compile/test_execute_dispatch.py +232 -0
- sqrlly-0.1.0/tests/unit/compile/test_execution_node.py +189 -0
- sqrlly-0.1.0/tests/unit/compile/test_lint.py +56 -0
- sqrlly-0.1.0/tests/unit/compile/test_manifest.py +117 -0
- sqrlly-0.1.0/tests/unit/compile/test_node_helpers.py +666 -0
- sqrlly-0.1.0/tests/unit/compile/test_route.py +233 -0
- sqrlly-0.1.0/tests/unit/compile/test_subgraph.py +132 -0
- sqrlly-0.1.0/tests/unit/runtime/test_acp_helpers.py +102 -0
- sqrlly-0.1.0/tests/unit/runtime/test_anthropic_backend.py +373 -0
- sqrlly-0.1.0/tests/unit/runtime/test_command_preset.py +197 -0
- sqrlly-0.1.0/tests/unit/runtime/test_contracts.py +56 -0
- sqrlly-0.1.0/tests/unit/runtime/test_dispatch.py +269 -0
- sqrlly-0.1.0/tests/unit/runtime/test_dispatch_presets.py +149 -0
- sqrlly-0.1.0/tests/unit/runtime/test_factory.py +61 -0
- sqrlly-0.1.0/tests/unit/runtime/test_foreman.py +652 -0
- sqrlly-0.1.0/tests/unit/runtime/test_gates.py +1186 -0
- sqrlly-0.1.0/tests/unit/runtime/test_openai_backend.py +230 -0
- sqrlly-0.1.0/tests/unit/runtime/test_preset.py +234 -0
- sqrlly-0.1.0/tests/unit/runtime/test_prompt.py +774 -0
- sqrlly-0.1.0/tests/unit/runtime/test_scaffolding.py +123 -0
- sqrlly-0.1.0/tests/unit/runtime/test_secrets.py +151 -0
- sqrlly-0.1.0/tests/unit/runtime/test_settings_merge.py +159 -0
- sqrlly-0.1.0/tests/unit/runtime/test_state.py +70 -0
- sqrlly-0.1.0/tests/unit/runtime/test_url.py +293 -0
- sqrlly-0.1.0/tests/unit/schema/test_execute_schema.py +176 -0
- sqrlly-0.1.0/tests/unit/schema/test_join_execution.py +110 -0
- sqrlly-0.1.0/tests/unit/schema/test_params.py +143 -0
- sqrlly-0.1.0/tests/unit/schema/test_route_schema.py +173 -0
- sqrlly-0.1.0/tests/unit/schema/test_schema.py +776 -0
- sqrlly-0.1.0/tests/unit/workflow/test_logging.py +435 -0
- sqrlly-0.1.0/uv.lock +1310 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Load via:
|
|
2
|
+
# uv run --env-file .env abe-froman run <config.yaml>
|
|
3
|
+
# Or in shell:
|
|
4
|
+
# set -a; source .env; set +a
|
|
5
|
+
#
|
|
6
|
+
# Auto-detect order when `--executor` flag and `settings.executor`
|
|
7
|
+
# are both absent: Anthropic key → DeepSeek key → ACP via `npx`.
|
|
8
|
+
# `custom` and `openai` never auto-detect — they require explicit
|
|
9
|
+
# `--executor` selection.
|
|
10
|
+
|
|
11
|
+
# --- Anthropic (native AnthropicBackend) ----------------------------
|
|
12
|
+
# Used by `--executor anthropic`. Auto-detect picks this first when set.
|
|
13
|
+
# ANTHROPIC_API_KEY=sk-ant-...
|
|
14
|
+
|
|
15
|
+
# --- DeepSeek (OpenAIBackend with DeepSeek base_url baked in) -------
|
|
16
|
+
# Used by `--executor deepseek`. Auto-detect picks this second.
|
|
17
|
+
# DEEPSEEK_API_KEY=sk-...
|
|
18
|
+
|
|
19
|
+
# --- OpenAI (real openai.com) ---------------------------------------
|
|
20
|
+
# Used by `--executor openai`. Reserved for the actual OpenAI service.
|
|
21
|
+
# OPENAI_API_KEY=sk-...
|
|
22
|
+
|
|
23
|
+
# --- Custom OpenAI-compatible providers -----------------------------
|
|
24
|
+
# Used by `--executor custom`. Catch-all for the OpenAI-protocol
|
|
25
|
+
# ecosystem: any service that speaks the chat-completions API at a
|
|
26
|
+
# configurable endpoint. Both vars are required when this executor
|
|
27
|
+
# is selected.
|
|
28
|
+
#
|
|
29
|
+
# Example endpoints:
|
|
30
|
+
# OpenRouter: https://openrouter.ai/api/v1
|
|
31
|
+
# Ollama: http://localhost:11434/v1
|
|
32
|
+
# LM Studio: http://localhost:1234/v1
|
|
33
|
+
# LiteLLM: http://localhost:4000
|
|
34
|
+
# Azure OAI: https://<resource>.openai.azure.com/openai/deployments/<deployment>
|
|
35
|
+
# vLLM: http://localhost:8000/v1
|
|
36
|
+
#
|
|
37
|
+
# CUSTOM_API_KEY=sk-or-v1-...
|
|
38
|
+
# CUSTOM_API_BASE_URL=https://openrouter.ai/api/v1
|
|
39
|
+
|
|
40
|
+
# --- Resolution order ------------------------------------------------
|
|
41
|
+
# 1. workflow YAML setting (when a binding for a particular key exists)
|
|
42
|
+
# 2. process env (`os.environ`) — set by your shell or `uv run --env-file`
|
|
43
|
+
# 3. this `.env` file, auto-discovered by walking up from CWD
|
|
44
|
+
# abe-froman does NOT read from machine-global keystores.
|
sqrlly-0.1.0/.gitignore
ADDED