Add DAG, Web, CLI modules and barrel export for TypeScript package#10
Open
Add DAG, Web, CLI modules and barrel export for TypeScript package#10
Conversation
Create ts/ directory with: - package.json with npm config, dependencies, and scripts - tsconfig.json with strict TypeScript configuration - vitest.config.ts for test runner - Source directories: instrumentation, storage, evals, dataset, cli, dag, web - tests/ directory for test files Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: yiouli <3508494+yiouli@users.noreply.github.com>
Agent-Logs-Url: https://github.com/yiouli/pixie-qa/sessions/211cdef7-77c2-49a1-952d-7e839fbf7130 Co-authored-by: yiouli <3508494+yiouli@users.noreply.github.com>
Agent-Logs-Url: https://github.com/yiouli/pixie-qa/sessions/7eb59954-353e-4621-9bd6-866d349ba094 Co-authored-by: yiouli <3508494+yiouli@users.noreply.github.com>
Create TypeScript equivalents of the following Python modules: - pixie/config.py → ts/src/config.ts - pixie/instrumentation/spans.py → ts/src/instrumentation/spans.ts - pixie/instrumentation/handler.py → ts/src/instrumentation/handler.ts - pixie/instrumentation/queue.py → ts/src/instrumentation/queue.ts - pixie/instrumentation/context.py → ts/src/instrumentation/context.ts - pixie/instrumentation/processor.py → ts/src/instrumentation/processor.ts - pixie/instrumentation/instrumentors.py → ts/src/instrumentation/instrumentors.ts - pixie/instrumentation/observation.py → ts/src/instrumentation/observation.ts - pixie/instrumentation/handlers.py → ts/src/instrumentation/handlers.ts - pixie/storage/evaluable.py → ts/src/storage/evaluable.ts - ts/src/instrumentation/index.ts (barrel re-exports) Remove .gitkeep placeholder files from src subdirectories. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: yiouli <3508494+yiouli@users.noreply.github.com>
… constant - NoOpObservationContext._snapshot() now throws instead of returning null cast - observe() wrapper passes args/return values directly without JSON round-trip - Extract NULL_SPAN_ID constant for magic span ID checks Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: yiouli <3508494+yiouli@users.noreply.github.com>
Port the Python storage, dataset, and evals packages to TypeScript: Storage module: - serialization.ts: serializeSpan/deserializeSpan for DB storage - tree.ts: ObservationNode class with find/findByType/toText + buildTree - store.ts: ObservationStore using better-sqlite3 (sync API) - index.ts: barrel export Dataset module: - models.ts: Dataset interface - store.ts: DatasetStore with JSON file-backed CRUD - index.ts: barrel export Evals module: - evaluation.ts: Evaluation interface, Evaluator type, evaluate() - criteria.ts: ScoreThreshold pass criteria - scorers.ts: AutoevalsAdapter + 21 factory functions for autoevals - llmEvaluator.ts: createLlmEvaluator() factory using OpenAI - rateLimiter.ts: EvalRateLimiter with sliding window rate limiting - traceCapture.ts: MemoryTraceHandler + captureTraces() - traceHelpers.ts: lastLlmCall(), root() trace extractors - evalUtils.ts: assertPass, assertDatasetPass, runAndEvaluate - testResult.ts: EvaluationResult, EntryResult, RunResult models - scorecard.ts: DatasetScorecard types + HTML generation - datasetRunner.ts: BUILTIN_EVALUATOR_NAMES, resolveEvaluatorName, etc. - index.ts: barrel export Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: yiouli <3508494+yiouli@users.noreply.github.com>
- Improve error message in parseDate with expected format hint - Document token estimation approximation in EvalRateLimiter - Reduce unnecessary allocation in assertPass default criteria Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: yiouli <3508494+yiouli@users.noreply.github.com>
Port Python modules to TypeScript: - dag/index.ts: DAG parsing, validation, Mermaid generation - dag/traceCheck.ts: trace validation against DAG - web/app.ts: Express app with SSE, artifact API endpoints - web/server.ts: HTTP server with lock file management - web/watcher.ts: chokidar file watcher for live updates - web/index.ts: barrel export - cli/main.ts: commander-based CLI entry point with all subcommands - cli/testCommand.ts: dataset-driven test runner - cli/initCommand.ts: directory scaffolding - cli/datasetCommand.ts: dataset CRUD operations - cli/traceCommand.ts: trace inspection commands - cli/analyzeCommand.ts: OpenAI-powered test analysis - cli/startCommand.ts: web UI launcher - cli/dagCommand.ts: DAG validation and trace checking - index.ts: main package barrel export Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: yiouli <3508494+yiouli@users.noreply.github.com>
- Use named constants for Unicode marks in testCommand.ts - Use fd 0 instead of /dev/stdin for cross-platform stdin reading Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: yiouli <3508494+yiouli@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: yiouli <3508494+yiouli@users.noreply.github.com>
Agent-Logs-Url: https://github.com/yiouli/pixie-qa/sessions/7eb59954-353e-4621-9bd6-866d349ba094 Co-authored-by: yiouli <3508494+yiouli@users.noreply.github.com>
Copilot created this pull request from a session on behalf of
yiouli
April 4, 2026 15:04
View session
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.