Commit Graph

24 Commits

Author SHA1 Message Date
Vectry
5b388484f8 feat: syntax highlighting with shiki and copy-to-clipboard for all docs code blocks 2026-02-10 04:01:59 +00:00
Vectry
42b5379ce1 feat: coding agent tab in trace detail view
- Add conditional 'Agent' tab for traces tagged 'opencode'
- Tool usage breakdown: horizontal bar chart by tool category (file/search/shell/LSP)
- File changes timeline: chronological view of file reads, edits, and creates
- Pure CSS charts, no external dependencies
2026-02-10 03:49:12 +00:00
Vectry
f0ce0f7884 feat: SEO improvements and npm publish prep
- Expand sitemap from 2 to 13 URLs (all docs pages)
- Update JSON-LD featureList with Anthropic, OpenCode, TypeScript SDK
- Update llms.txt with docs links, TS SDK, OpenCode plugin sections
- Add READMEs for agentlens-sdk and opencode-agentlens packages
- Add repository, homepage, author, bugs fields to both package.json
2026-02-10 03:43:04 +00:00
Vectry
434e68991d fix: include SDK and plugin workspace packages in Docker deps stage 2026-02-10 03:30:34 +00:00
Vectry
5256bf005b feat: documentation pages and updated model pricing
- Add 13 documentation pages under /docs (getting-started, concepts, SDK refs, integrations, API reference, self-hosting, OpenCode plugin)
- Shared docs layout with collapsible sidebar navigation
- Update model pricing across all SDKs: add GPT-5.x, GPT-4.1, o3/o4-mini, Claude 4.5 series, claude-opus-4-6
- Update trace-analytics context window lookup with current models
2026-02-10 03:27:11 +00:00
Vectry
6bed493275 feat: TypeScript SDK (agentlens-sdk) and OpenCode plugin (opencode-agentlens)
- packages/sdk-ts: BatchTransport, TraceBuilder, models, decision helpers
  Zero external deps, native fetch, ESM+CJS output
- packages/opencode-plugin: OpenCode plugin with hooks for:
  - Session lifecycle (create/idle/error/delete/diff)
  - Tool execution capture (before/after -> TOOL_CALL spans + TOOL_SELECTION decisions)
  - LLM call tracking (chat.message -> LLM_CALL spans with model/provider)
  - Permission flow (permission.ask -> ESCALATION decisions)
  - File edit events
  - Model cost estimation (Claude, GPT-4o, o3-mini pricing)
2026-02-10 03:08:51 +00:00
Vectry
0149e0a6f4 feat: Settings page, DELETE traces endpoint, Anthropic SDK, dashboard bug fixes
- Add /dashboard/settings with SDK connection details, data stats, purge
- Add DELETE /api/traces/[id] with cascade deletion
- Add Anthropic integration (wrap_anthropic) for Python SDK
- Fix missing root duration (totalDuration -> durationMs mapping)
- Fix truncated JSON in decision tree nodes (extract readable labels)
- Fix hardcoded 128K maxTokens in token gauge (model-aware context windows)
- Enable Settings nav item in sidebar
2026-02-10 02:35:50 +00:00
Vectry
4f7719eace fix: copy public dir in Dockerfile for llms.txt and static assets 2026-02-10 02:26:20 +00:00
Vectry
92b98f2d6f feat: Decisions page — aggregated view of all decision points across traces
Adds /dashboard/decisions page with colored type badges, search,
filters (by type), sort (newest/oldest/costliest), pagination,
and links to parent traces. New /api/decisions endpoint with
Prisma queries. Removes 'Soon' badge from sidebar nav.
2026-02-10 02:24:00 +00:00
Vectry
145b1669e7 feat: comprehensive SEO — meta tags, OG, Twitter cards, JSON-LD, sitemap, robots, llms.txt
Adds metadataBase, full OpenGraph + Twitter card tags, keywords,
JSON-LD structured data (SoftwareApplication + Organization),
sitemap.ts, robots.ts with AI crawler directives, and llms.txt
for AI agent discoverability.
2026-02-10 02:21:16 +00:00
Vectry
d91fdfc81a fix: trace ingest FK violation on tool-call decisions
Spans must be inserted before decision points due to
DecisionPoint.parentSpanId FK referencing Span.id. Switched from
nested Prisma create to interactive transaction with topological
span ordering. Also adds real MoonshotAI LLM test script.
2026-02-10 02:16:10 +00:00
Vectry
98bfa968ce feat: Day 13 - root README, example agent scripts, and demo seed script v0.1.0 2026-02-10 01:48:47 +00:00
Vectry
e0f13cdaa6 fix: healthcheck uses 127.0.0.1 instead of localhost to avoid IPv6 resolution issue 2026-02-10 01:36:42 +00:00
Vectry
3163deb0c9 chore: harden docker-compose with healthchecks, memory limits, and log rotation 2026-02-10 01:31:47 +00:00
Vectry
0cd242447c feat: Day 11 - landing page polish, SDK README, PyPI publish as vectry-agentlens
- Landing page: pip install snippet, How it Works section, dual code examples (decorator + OpenAI wrapper), Integrations section, Open Source badge
- SDK README: quickstart, OpenAI/LangChain/Custom integrations, API reference, architecture diagram
- Published vectry-agentlens v0.1.0 to PyPI (import as agentlens)
- Fixed pyproject.toml: hatchling.build backend, wheel package mapping
2026-02-10 01:27:00 +00:00
Vectry
93e69105ea fix: wrap TraceList in Suspense boundary and mark dashboard as dynamic route
Next.js 15 requires useSearchParams() to be within a Suspense boundary for production builds
2026-02-10 00:51:22 +00:00
Vectry
1989366844 fix: OpenAI wrapper - remove duplicate span block, fix tool call extraction, fix cost model matching
- Remove duplicate span append + tool call decision logging block (lines 328-426)
- Fix _extract_tool_calls_from_response to use getattr() instead of .get() on objects
- Fix _calculate_cost to use exact match first, then longest-prefix match (prevents gpt-4o-mini matching gpt-4 pricing)
- Fix test mock setup: set return_value BEFORE wrap_openai() so wrapper captures correct original
- All 11 OpenAI integration tests + 8 SDK tests passing (19/19)
2026-02-10 00:48:48 +00:00
Vectry
47ef3dcbe6 feat: SSE real-time trace streaming + advanced search/filter with URL sync 2026-02-10 00:12:32 +00:00
Vectry
5bb75433aa feat: analytics tab with timeline waterfall, cost breakdown, token gauge 2026-02-10 00:06:01 +00:00
Vectry
867e1e9eb1 feat: decision tree visualization with React Flow + Dagre auto-layout 2026-02-09 23:58:41 +00:00
Vectry
21b4f9f316 feat: LangChain auto-instrumentation + dashboard UI
- LangChain: AgentLensCallbackHandler with auto-span creation for
  LLM calls, tool calls, chains, and agent decision logging
- Dashboard: trace list with search, status filters, pagination
- Dashboard: trace detail with Decision/Span/Event tabs
- Dashboard: sidebar layout, responsive design, dark theme
2026-02-09 23:36:28 +00:00
Vectry
3fe9013838 feat: Python SDK real implementation + API ingestion routes
- SDK: client with BatchTransport, trace decorator/context manager,
  log_decision, thread-local context stack, nested trace→span support
- API: POST /api/traces (batch ingest), GET /api/traces (paginated list),
  GET /api/traces/[id] (full trace with relations), GET /api/health
- Tests: 8 unit tests for SDK (all passing)
- Transport: thread-safe buffer with background flush thread
2026-02-09 23:25:34 +00:00
Vectry
9264866d1f feat: initial monorepo scaffold - Next.js 15 + Prisma + Python SDK stubs
- Turborepo monorepo with apps/web and packages/database, sdk-python
- Next.js 15 app with professional landing page (dark theme, emerald accent)
- Prisma schema: Trace, DecisionPoint, Span, Event models with full indexing
- Docker Compose: web (port 4200), postgres:16, redis:7, migrate service
- Python SDK package stubs: init, trace decorator, log_decision, integrations
- Multi-stage Dockerfile for standalone Next.js production build
2026-02-09 22:46:16 +00:00
572fd7e234 Initial commit 2026-02-09 22:27:42 +00:00