mukunda1729 commited on
Commit
cbaa5f0
Β·
verified Β·
1 Parent(s): 86f42a9

Initial: agent-stack guided tour

Browse files
Files changed (2) hide show
  1. README.md +9 -3
  2. index.html +125 -17
README.md CHANGED
@@ -1,10 +1,16 @@
1
  ---
2
  title: Agent Stack Tour
3
- emoji: πŸŒ–
4
  colorFrom: yellow
5
- colorTo: red
6
  sdk: static
7
  pinned: false
 
 
 
 
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
  title: Agent Stack Tour
3
+ emoji: πŸͺ‘
4
  colorFrom: yellow
5
+ colorTo: gray
6
  sdk: static
7
  pinned: false
8
+ license: mit
9
+ short_description: "A guided tour of the 5-library Agent Reliability Stack."
10
+ tags:
11
+ - llm
12
+ - agents
13
+ - reliability
14
  ---
15
 
16
+ A guided tour of the 5 libraries in the Agent Reliability Stack: fit, guard, snap, vet, cast.
index.html CHANGED
@@ -1,19 +1,127 @@
1
  <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  </html>
 
1
  <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>The Agent Reliability Stack β€” Tour</title>
7
+ <style>
8
+ :root {
9
+ --bg: #1a1a1a;
10
+ --fg: #e8e6e1;
11
+ --muted: #9a9690;
12
+ --accent: #d4a853;
13
+ --card: #232323;
14
+ --border: #353535;
15
+ }
16
+ * { box-sizing: border-box; }
17
+ body {
18
+ font: 16px/1.55 -apple-system, BlinkMacSystemFont, 'SF Pro Text', sans-serif;
19
+ background: var(--bg);
20
+ color: var(--fg);
21
+ margin: 0;
22
+ padding: 2rem 1.25rem;
23
+ }
24
+ main { max-width: 880px; margin: 0 auto; }
25
+ h1 { color: var(--accent); font-size: 2.1rem; margin: 0 0 0.5rem; }
26
+ h2 { color: var(--accent); font-size: 1.4rem; margin: 2.2rem 0 0.6rem; }
27
+ .lede { color: var(--muted); font-size: 1.05rem; max-width: 680px; }
28
+ .pipeline {
29
+ display: flex; gap: 0.4rem; flex-wrap: wrap; align-items: center;
30
+ font-family: ui-monospace, SF Mono, Menlo, monospace;
31
+ background: var(--card); border: 1px solid var(--border);
32
+ padding: 0.9rem 1.1rem; border-radius: 8px; margin: 1.2rem 0;
33
+ }
34
+ .pipeline span { color: var(--accent); font-weight: 600; }
35
+ .pipeline span.arrow { color: var(--muted); font-weight: 400; }
36
+ .grid {
37
+ display: grid; gap: 1rem;
38
+ grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
39
+ margin: 1.2rem 0;
40
+ }
41
+ .card {
42
+ background: var(--card); border: 1px solid var(--border);
43
+ padding: 1.1rem 1.2rem; border-radius: 10px;
44
+ }
45
+ .card h3 { margin: 0 0 0.4rem; color: var(--accent); font-size: 1.1rem; }
46
+ .card .one-liner { color: var(--muted); font-size: 0.95rem; margin-bottom: 0.5rem; }
47
+ .card a { color: var(--fg); text-decoration: none; border-bottom: 1px solid var(--border); }
48
+ .card a:hover { border-color: var(--accent); }
49
+ code { background: var(--card); padding: 0.1rem 0.4rem; border-radius: 4px; font-size: 0.9em; }
50
+ pre { background: var(--card); border: 1px solid var(--border); padding: 1rem; border-radius: 8px; overflow-x: auto; }
51
+ a { color: var(--accent); }
52
+ footer { color: var(--muted); margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--border); font-size: 0.9rem; }
53
+ </style>
54
+ </head>
55
+ <body>
56
+ <main>
57
+ <h1>The Agent Reliability Stack</h1>
58
+ <p class="lede">Five small, focused libraries that fix the boring problems every long-running AI agent eventually hits. Pure Python, zero runtime deps. BYO LLM.</p>
59
+
60
+ <div class="pipeline">
61
+ <span>fit</span><span class="arrow">β†’</span>
62
+ <span>guard</span><span class="arrow">β†’</span>
63
+ <span>snap</span><span class="arrow">β†’</span>
64
+ <span>vet</span><span class="arrow">β†’</span>
65
+ <span>cast</span>
66
+ </div>
67
+
68
+ <h2>The five libraries</h2>
69
+ <div class="grid">
70
+ <div class="card">
71
+ <h3>πŸͺŸ fit</h3>
72
+ <div class="one-liner">Fit a chat history into a token budget.</div>
73
+ <p>Drop-oldest, drop-middle, or priority-based truncation. Pluggable tokenizers. Preserves system + last-N messages.</p>
74
+ <a href="https://pypi.org/project/agentfit-py/">PyPI</a> Β· <a href="https://huggingface.co/spaces/mukunda1729/token-counter">Token counter</a>
75
+ </div>
76
+ <div class="card">
77
+ <h3>πŸ›‘οΈ guard</h3>
78
+ <div class="one-liner">Network egress firewall for agent tools.</div>
79
+ <p>Declarative allow/deny lists for any URL the agent tries to fetch. Throws on violation, before the request leaves your process.</p>
80
+ <a href="https://pypi.org/project/agentguard-firewall/">PyPI</a>
81
+ </div>
82
+ <div class="card">
83
+ <h3>πŸ“Έ snap</h3>
84
+ <div class="one-liner">Diff two tool-call traces.</div>
85
+ <p>Catch silent regressions in agent pipelines: same input, different tools, different output. Snapshot tests for agents.</p>
86
+ <a href="https://pypi.org/project/agentsnap-py/">PyPI</a> Β· <a href="https://huggingface.co/datasets/mukunda1729/agent-trace-samples">Sample traces</a>
87
+ </div>
88
+ <div class="card">
89
+ <h3>βœ… vet</h3>
90
+ <div class="one-liner">Validate tool-call args before execution.</div>
91
+ <p>Wraps any tool. Returns LLM-friendly retry hints when args are wrong, so the model can self-correct.</p>
92
+ <a href="https://pypi.org/project/agentvet-py/">PyPI</a>
93
+ </div>
94
+ <div class="card">
95
+ <h3>🎯 cast</h3>
96
+ <div class="one-liner">Extract JSON from messy LLM output.</div>
97
+ <p>Tolerant extractor that handles fenced blocks, prose-wrapped JSON, refusals. Validates against a shape.</p>
98
+ <a href="https://pypi.org/project/agentcast-py/">PyPI</a> Β· <a href="https://huggingface.co/spaces/mukunda1729/json-extractor">JSON extractor</a>
99
+ </div>
100
+ </div>
101
+
102
+ <h2>Install</h2>
103
+ <pre>pip install mk-agentkit # all five
104
+ pip install agentfit-py # individual
105
+
106
+ npm install @mukundakatta/agentkit # all five
107
+ npm install @mukundakatta/agentfit # individual</pre>
108
+
109
+ <h2>Try the live demos</h2>
110
+ <ul>
111
+ <li><a href="https://huggingface.co/spaces/mukunda1729/agent-stack-demo">agent-stack-demo</a> β€” all 5 libs in one Space</li>
112
+ <li><a href="https://huggingface.co/spaces/mukunda1729/token-counter">token-counter</a> β€” across 5 model families</li>
113
+ <li><a href="https://huggingface.co/spaces/mukunda1729/json-extractor">json-extractor</a> β€” for messy LLM text</li>
114
+ <li><a href="https://huggingface.co/spaces/mukunda1729/pii-redactor">pii-redactor</a> β€” find emails / secrets / IDs</li>
115
+ <li><a href="https://huggingface.co/spaces/mukunda1729/prompt-injection-detector">prompt-injection-detector</a> β€” heuristic scanner</li>
116
+ <li><a href="https://huggingface.co/spaces/mukunda1729/mcp-config-validator">mcp-config-validator</a> β€” sanity-check MCP configs</li>
117
+ </ul>
118
+
119
+ <h2>Datasets</h2>
120
+ <p>13 public datasets covering agent traces, prompt injections, MCP configs, hallucination cases, and more. <a href="https://huggingface.co/mukunda1729">Browse all on HuggingFace β†’</a></p>
121
+
122
+ <footer>
123
+ Built by <a href="https://github.com/MukundaKatta">Mukunda Katta</a> Β· MIT licensed across the board Β· <a href="https://mukundakatta.github.io/agent-stack/">Landing page</a>
124
+ </footer>
125
+ </main>
126
+ </body>
127
  </html>