agentglow 0.2.2__tar.gz → 0.2.4__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.
- {agentglow-0.2.2 → agentglow-0.2.4}/PKG-INFO +2 -2
- {agentglow-0.2.2 → agentglow-0.2.4}/README.md +1 -1
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/claude_code.py +16 -5
- {agentglow-0.2.2 → agentglow-0.2.4}/pyproject.toml +1 -1
- {agentglow-0.2.2 → agentglow-0.2.4}/.gitignore +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/__init__.py +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/auth.py +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/cli.py +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/manual.py +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/mapper.py +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/otel.py +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/scope.py +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/scrub.py +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/server.py +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/state.py +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/Gallery-CQEYu2WV.css +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/Gallery-CsryKBMI.js +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/Grid-5PzIAfc4.js +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/KitScene-5RjK9pDR.css +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/KitScene-CQD6w-MD.js +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/Sparkles-CMBkdFW5.js +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/Stars-98BZejLh.js +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/Trail-DeOXiGv0.js +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/index-B-2100Nj.js +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/index-BIYiiB0W.js +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/index-BK7G8ymO.js +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/index-BTejmghk.js +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/index-B_Ox3Guu.css +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/index-CIbdJsCm.css +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/index-ClBn3rum.js +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/index-Czy7obCa.js +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/index-D7lvbCdW.js +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/index-D9wBYbu3.css +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/index-DAoQnlbr.js +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/index-DBpni2J9.js +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/index-DManaqvd.css +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/index-DO0CsRmC.js +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/index-DQcTs4wk.js +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/index-DzAyw_k4.js +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/index-F2LPkZZY.js +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/index-FwcKcxcF.js +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/index-HnuICwcD.css +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/index-O1uZvCR6.js +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/index-OzIlQ9lY.js +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/inter-latin-500-normal-BL9OpVg8.woff +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/index.html +0 -0
- {agentglow-0.2.2 → agentglow-0.2.4}/agentglow/watch.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: agentglow
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.4
|
|
4
4
|
Summary: Live 3D views of agent systems, driven only by OpenTelemetry spans
|
|
5
5
|
Project-URL: Homepage, https://github.com/Nideesh1/agentglow
|
|
6
6
|
License: MIT
|
|
@@ -29,7 +29,7 @@ born when its span starts, pulses on each LLM call, fires tool/MCP/graph packets
|
|
|
29
29
|
when its span ends. Works with LangChain, LangGraph (incl. `langgraph-supervisor`), deepagents, the OpenAI Agents SDK
|
|
30
30
|
(`agentglow[openai-agents]`), Hatchet workflows, Claude Code (via hooks), and any agent framework that emits OTel spans.
|
|
31
31
|
|
|
32
|
-

|
|
33
33
|
|
|
34
34
|
15 themes:
|
|
35
35
|
|
|
@@ -5,7 +5,7 @@ born when its span starts, pulses on each LLM call, fires tool/MCP/graph packets
|
|
|
5
5
|
when its span ends. Works with LangChain, LangGraph (incl. `langgraph-supervisor`), deepagents, the OpenAI Agents SDK
|
|
6
6
|
(`agentglow[openai-agents]`), Hatchet workflows, Claude Code (via hooks), and any agent framework that emits OTel spans.
|
|
7
7
|
|
|
8
|
-

|
|
9
9
|
|
|
10
10
|
15 themes:
|
|
11
11
|
|
|
@@ -4,7 +4,7 @@ Point Claude Code's `"type": "http"` hooks at `POST /v1/claude-code` (see exampl
|
|
|
4
4
|
becomes `{"kind": "start"|"end", "span": {...}}` items (the `/v1/live` shape), shaped to hit the mapper's rules:
|
|
5
5
|
|
|
6
6
|
- One user prompt = one run (`agentglow.run.id` = `<session>:<n>`, workflow `claude-code`). The topic is the neutral
|
|
7
|
-
label `Claude Code · <cwd basename>`, never the prompt: payloads go through `scrub.scrub_hook` first (no prompt,
|
|
7
|
+
label `Claude Code · <cwd basename> · <session id> · <HH:MM>`, never the prompt: payloads go through `scrub.scrub_hook` first (no prompt,
|
|
8
8
|
no identity keys, secrets redacted).
|
|
9
9
|
- Main agent = agent span `claude` (`agentglow.agent`), opened on UserPromptSubmit, closed on Stop
|
|
10
10
|
(`last_assistant_message` → `agentglow.final`).
|
|
@@ -36,6 +36,7 @@ from __future__ import annotations
|
|
|
36
36
|
import json
|
|
37
37
|
import os
|
|
38
38
|
import re
|
|
39
|
+
import time
|
|
39
40
|
from collections import OrderedDict
|
|
40
41
|
from dataclasses import dataclass, field
|
|
41
42
|
from typing import Any
|
|
@@ -53,9 +54,19 @@ GRACE_MS = 8000 # main agent outlives its Stop while background subagents run,
|
|
|
53
54
|
SOURCE_RE = re.compile(r"^agent\.(?:builtin|custom|plugin)\.(.+)$")
|
|
54
55
|
|
|
55
56
|
|
|
56
|
-
def run_label(cwd: Any) -> str:
|
|
57
|
+
def run_label(cwd: Any, session: Any = "", ts_ms: int = 0) -> str:
|
|
58
|
+
"""Neutral run topic, never the prompt: `Claude Code · <cwd basename> · <session short id> · <HH:MM>`, so several
|
|
59
|
+
concurrent sessions in the same folder stay distinguishable."""
|
|
57
60
|
base = os.path.basename(str(cwd or "").rstrip("/\\"))
|
|
58
|
-
|
|
61
|
+
parts = ["Claude Code"]
|
|
62
|
+
if base:
|
|
63
|
+
parts.append(base)
|
|
64
|
+
sid = re.sub(r"[^0-9A-Za-z]", "", str(session or ""))[:4]
|
|
65
|
+
if sid:
|
|
66
|
+
parts.append(sid)
|
|
67
|
+
if ts_ms:
|
|
68
|
+
parts.append(time.strftime("%H:%M", time.localtime(ts_ms / 1000)))
|
|
69
|
+
return " · ".join(parts)
|
|
59
70
|
|
|
60
71
|
|
|
61
72
|
def _hex(n: int) -> str:
|
|
@@ -381,7 +392,7 @@ class ClaudeCodeAdapter:
|
|
|
381
392
|
s.n += 1
|
|
382
393
|
turn = s.turn = _Turn(f"{s.id}:{s.n}", _hex(16), start=now, traced=s.traces)
|
|
383
394
|
s.turns = (s.turns + [turn])[-8:]
|
|
384
|
-
topic = run_label(s.cwd)
|
|
395
|
+
topic = run_label(s.cwd, s.id, now)
|
|
385
396
|
span = self._span(turn, None, "claude", now, {
|
|
386
397
|
"agentglow.agent": "claude", "agentglow.run.id": turn.run_id, "agentglow.run.topic": topic,
|
|
387
398
|
"agentglow.run.workflow": "claude-code", "agentglow.claude_code.session": s.id})
|
|
@@ -566,7 +577,7 @@ class ClaudeCodeAdapter:
|
|
|
566
577
|
if ct is None:
|
|
567
578
|
run_id = f"{sid}:{tr[:8]}" if sid else tr
|
|
568
579
|
main = self._live(out, tr, _hex(8), None, "claude", t0, None, {
|
|
569
|
-
"agentglow.agent": "claude", "agentglow.run.id": run_id, "agentglow.run.topic": run_label(""),
|
|
580
|
+
"agentglow.agent": "claude", "agentglow.run.id": run_id, "agentglow.run.topic": run_label("", sid, t0),
|
|
570
581
|
"agentglow.run.workflow": "claude-code", "agentglow.claude_code.session": sid})
|
|
571
582
|
ct = self.ctraces[tr] = _CT(run_id, main, now)
|
|
572
583
|
ct.last = now
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentglow-0.2.2 → agentglow-0.2.4}/agentglow/static/assets/inter-latin-500-normal-BL9OpVg8.woff
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|