agentic-dev-loop 0.13.0__py3-none-any.whl → 0.14.2__py3-none-any.whl

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.
@@ -37,6 +37,14 @@ if ! agentic-dev-loop doctor --fast; then
37
37
  echo "error: doctor --fast still fails after upgrading the engine" >&2
38
38
  exit 1
39
39
  fi
40
+ # The upgrade rewrites the project pin; commit the bump (only when dirty) so
41
+ # the tooling integrity check passes on the next run instead of failing on
42
+ # an uncommitted pin. Skipped when git is unavailable or the pin is clean.
43
+ if git rev-parse --is-inside-work-tree >/dev/null 2>&1 \
44
+ && [[ -n "$(git status --porcelain -- agentic-dev-loop/.engine-version)" ]]; then
45
+ git add agentic-dev-loop/.engine-version
46
+ git commit -m "Upgrade engine"
47
+ fi
40
48
  fi
41
49
 
42
50
  # Document loader selection - exactly one of:
@@ -1,13 +1,16 @@
1
- """The live-graph visualiser."""
1
+ """The live-graph visualiser and the historical runs view."""
2
2
 
3
3
  import time # noqa: F401 - re-exported so tests can pin NodeWatch's clock
4
4
 
5
- from .server import (MAX_LINE, PAGE, ConsoleCapture, HeartbeatThread,
6
- NodeWatch, VizBus, _ReuseSafeServer, _Tee,
7
- _handler_class, serve_viz, topology_graph, topology_mermaid, translate)
5
+ from . import runs_view
6
+ from .server import (MAX_LINE, PAGE, RUNS_PAGE, ConsoleCapture,
7
+ HeartbeatThread, NodeWatch, VizBus, _ReuseSafeServer,
8
+ _Tee, _handler_class, serve_history, serve_viz,
9
+ topology_graph, topology_mermaid, translate)
8
10
 
9
11
  __all__ = [
10
- "MAX_LINE", "PAGE", "ConsoleCapture", "HeartbeatThread", "NodeWatch",
11
- "VizBus", "_ReuseSafeServer", "_Tee", "_handler_class", "serve_viz",
12
- "topology_graph", "topology_mermaid", "translate",
12
+ "MAX_LINE", "PAGE", "RUNS_PAGE", "ConsoleCapture", "HeartbeatThread",
13
+ "NodeWatch", "VizBus", "_ReuseSafeServer", "_Tee", "_handler_class",
14
+ "runs_view", "serve_history", "serve_viz", "topology_graph",
15
+ "topology_mermaid", "translate",
13
16
  ]
@@ -1,5 +1,9 @@
1
- """Standalone viz launcher: `python -m agentic_dev_loop.viz --pipeline
2
- <pipeline.yaml>` serves the live graph on localhost."""
1
+ """Standalone viz launcher.
2
+
3
+ ``python -m agentic_dev_loop.viz --pipeline <pipeline.yaml>`` serves the
4
+ live graph on localhost; ``--history`` serves the historical runs view with
5
+ no pipeline file.
6
+ """
3
7
 
4
8
  from __future__ import annotations
5
9
 
@@ -8,29 +12,40 @@ import sys
8
12
 
9
13
  from agentic_dev_loop.core.config import load_config
10
14
 
11
- from . import VizBus, serve_viz, topology_graph
15
+ from . import VizBus, serve_history, serve_viz, topology_graph
12
16
 
13
17
 
14
18
  def main(argv: list[str] | None = None) -> int:
15
19
  parser = argparse.ArgumentParser(
16
20
  prog="agentic-dev-loop-viz",
17
- description="Serve the agentic-dev-loop live graph for a pipeline.")
18
- parser.add_argument("--pipeline", default="pipeline.yaml",
19
- help="pipeline YAML for the flowchart topology")
21
+ description="Serve the agentic-dev-loop live graph or run history.")
22
+ parser.add_argument("--pipeline",
23
+ help="pipeline YAML for the flowchart topology "
24
+ "(required unless --history)")
25
+ parser.add_argument("--history", action="store_true",
26
+ help="serve the historical runs view without a "
27
+ "pipeline file")
20
28
  parser.add_argument("--port", type=int, default=8321,
21
29
  help="preferred port (default 8321; free-port "
22
30
  "fallback when busy)")
23
31
  args = parser.parse_args(argv)
24
32
 
25
- cfg = load_config(args.pipeline)
26
- topology = topology_graph(cfg)
27
- bus = VizBus()
28
- httpd, _thread = serve_viz(bus, topology["mermaid"], cfg.name, args.port,
29
- topology["nodes"], topology["flow"],
30
- topology["edges"])
33
+ if args.history:
34
+ httpd, _thread = serve_history(args.port)
35
+ label = "Run history viz"
36
+ else:
37
+ pipeline = args.pipeline or "pipeline.yaml"
38
+ cfg = load_config(pipeline)
39
+ topology = topology_graph(cfg)
40
+ bus = VizBus()
41
+ httpd, _thread = serve_viz(bus, topology["mermaid"], cfg.name,
42
+ args.port, topology["nodes"],
43
+ topology["flow"], topology["edges"])
44
+ label = "Live graph viz"
45
+
31
46
  bound = httpd.server_address[1]
32
47
  url = f"http://127.0.0.1:{bound}"
33
- print(f"Live graph viz: {url}", flush=True)
48
+ print(f"{label}: {url}", flush=True)
34
49
  if args.port and bound != args.port:
35
50
  print(f"viz port {args.port} busy - serving on {url}", flush=True)
36
51
  try: