@peakinfer/cli 1.0.133
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.
- package/.claude/settings.local.json +8 -0
- package/.env.example +6 -0
- package/.github/workflows/peakinfer.yml +64 -0
- package/CHANGELOG.md +31 -0
- package/LICENSE +190 -0
- package/README.md +335 -0
- package/data/inferencemax.json +274 -0
- package/dist/agent-analyzer.d.ts +45 -0
- package/dist/agent-analyzer.d.ts.map +1 -0
- package/dist/agent-analyzer.js +374 -0
- package/dist/agent-analyzer.js.map +1 -0
- package/dist/agent.d.ts +76 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +965 -0
- package/dist/agent.js.map +1 -0
- package/dist/agents/correlation-analyzer.d.ts +34 -0
- package/dist/agents/correlation-analyzer.d.ts.map +1 -0
- package/dist/agents/correlation-analyzer.js +261 -0
- package/dist/agents/correlation-analyzer.js.map +1 -0
- package/dist/agents/index.d.ts +91 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +111 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/runtime-analyzer.d.ts +38 -0
- package/dist/agents/runtime-analyzer.d.ts.map +1 -0
- package/dist/agents/runtime-analyzer.js +244 -0
- package/dist/agents/runtime-analyzer.js.map +1 -0
- package/dist/analysis-types.d.ts +500 -0
- package/dist/analysis-types.d.ts.map +1 -0
- package/dist/analysis-types.js +11 -0
- package/dist/analysis-types.js.map +1 -0
- package/dist/analytics.d.ts +25 -0
- package/dist/analytics.d.ts.map +1 -0
- package/dist/analytics.js +94 -0
- package/dist/analytics.js.map +1 -0
- package/dist/analyzer.d.ts +48 -0
- package/dist/analyzer.d.ts.map +1 -0
- package/dist/analyzer.js +547 -0
- package/dist/analyzer.js.map +1 -0
- package/dist/artifacts.d.ts +44 -0
- package/dist/artifacts.d.ts.map +1 -0
- package/dist/artifacts.js +165 -0
- package/dist/artifacts.js.map +1 -0
- package/dist/benchmarks/index.d.ts +88 -0
- package/dist/benchmarks/index.d.ts.map +1 -0
- package/dist/benchmarks/index.js +205 -0
- package/dist/benchmarks/index.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +427 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/ci.d.ts +19 -0
- package/dist/commands/ci.d.ts.map +1 -0
- package/dist/commands/ci.js +253 -0
- package/dist/commands/ci.js.map +1 -0
- package/dist/commands/config.d.ts +16 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +249 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/demo.d.ts +15 -0
- package/dist/commands/demo.d.ts.map +1 -0
- package/dist/commands/demo.js +106 -0
- package/dist/commands/demo.js.map +1 -0
- package/dist/commands/export.d.ts +14 -0
- package/dist/commands/export.d.ts.map +1 -0
- package/dist/commands/export.js +209 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/history.d.ts +15 -0
- package/dist/commands/history.d.ts.map +1 -0
- package/dist/commands/history.js +389 -0
- package/dist/commands/history.js.map +1 -0
- package/dist/commands/template.d.ts +14 -0
- package/dist/commands/template.d.ts.map +1 -0
- package/dist/commands/template.js +341 -0
- package/dist/commands/template.js.map +1 -0
- package/dist/commands/validate-map.d.ts +12 -0
- package/dist/commands/validate-map.d.ts.map +1 -0
- package/dist/commands/validate-map.js +274 -0
- package/dist/commands/validate-map.js.map +1 -0
- package/dist/commands/whatif.d.ts +17 -0
- package/dist/commands/whatif.d.ts.map +1 -0
- package/dist/commands/whatif.js +206 -0
- package/dist/commands/whatif.js.map +1 -0
- package/dist/comparison.d.ts +38 -0
- package/dist/comparison.d.ts.map +1 -0
- package/dist/comparison.js +223 -0
- package/dist/comparison.js.map +1 -0
- package/dist/config.d.ts +42 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +158 -0
- package/dist/config.js.map +1 -0
- package/dist/connectors/helicone.d.ts +9 -0
- package/dist/connectors/helicone.d.ts.map +1 -0
- package/dist/connectors/helicone.js +106 -0
- package/dist/connectors/helicone.js.map +1 -0
- package/dist/connectors/index.d.ts +37 -0
- package/dist/connectors/index.d.ts.map +1 -0
- package/dist/connectors/index.js +65 -0
- package/dist/connectors/index.js.map +1 -0
- package/dist/connectors/langsmith.d.ts +9 -0
- package/dist/connectors/langsmith.d.ts.map +1 -0
- package/dist/connectors/langsmith.js +122 -0
- package/dist/connectors/langsmith.js.map +1 -0
- package/dist/connectors/types.d.ts +83 -0
- package/dist/connectors/types.d.ts.map +1 -0
- package/dist/connectors/types.js +98 -0
- package/dist/connectors/types.js.map +1 -0
- package/dist/cost-estimator.d.ts +46 -0
- package/dist/cost-estimator.d.ts.map +1 -0
- package/dist/cost-estimator.js +104 -0
- package/dist/cost-estimator.js.map +1 -0
- package/dist/costs.d.ts +57 -0
- package/dist/costs.d.ts.map +1 -0
- package/dist/costs.js +251 -0
- package/dist/costs.js.map +1 -0
- package/dist/counterfactuals.d.ts +29 -0
- package/dist/counterfactuals.d.ts.map +1 -0
- package/dist/counterfactuals.js +448 -0
- package/dist/counterfactuals.js.map +1 -0
- package/dist/enhancement-prompts.d.ts +41 -0
- package/dist/enhancement-prompts.d.ts.map +1 -0
- package/dist/enhancement-prompts.js +88 -0
- package/dist/enhancement-prompts.js.map +1 -0
- package/dist/envelopes.d.ts +20 -0
- package/dist/envelopes.d.ts.map +1 -0
- package/dist/envelopes.js +790 -0
- package/dist/envelopes.js.map +1 -0
- package/dist/format-normalizer.d.ts +71 -0
- package/dist/format-normalizer.d.ts.map +1 -0
- package/dist/format-normalizer.js +1331 -0
- package/dist/format-normalizer.js.map +1 -0
- package/dist/history.d.ts +79 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +313 -0
- package/dist/history.js.map +1 -0
- package/dist/html.d.ts +11 -0
- package/dist/html.d.ts.map +1 -0
- package/dist/html.js +463 -0
- package/dist/html.js.map +1 -0
- package/dist/impact.d.ts +42 -0
- package/dist/impact.d.ts.map +1 -0
- package/dist/impact.js +443 -0
- package/dist/impact.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -0
- package/dist/insights.d.ts +5 -0
- package/dist/insights.d.ts.map +1 -0
- package/dist/insights.js +271 -0
- package/dist/insights.js.map +1 -0
- package/dist/joiner.d.ts +9 -0
- package/dist/joiner.d.ts.map +1 -0
- package/dist/joiner.js +247 -0
- package/dist/joiner.js.map +1 -0
- package/dist/orchestrator.d.ts +34 -0
- package/dist/orchestrator.d.ts.map +1 -0
- package/dist/orchestrator.js +827 -0
- package/dist/orchestrator.js.map +1 -0
- package/dist/pdf.d.ts +26 -0
- package/dist/pdf.d.ts.map +1 -0
- package/dist/pdf.js +84 -0
- package/dist/pdf.js.map +1 -0
- package/dist/prediction.d.ts +33 -0
- package/dist/prediction.d.ts.map +1 -0
- package/dist/prediction.js +316 -0
- package/dist/prediction.js.map +1 -0
- package/dist/prompts/loader.d.ts +38 -0
- package/dist/prompts/loader.d.ts.map +1 -0
- package/dist/prompts/loader.js +60 -0
- package/dist/prompts/loader.js.map +1 -0
- package/dist/renderer.d.ts +64 -0
- package/dist/renderer.d.ts.map +1 -0
- package/dist/renderer.js +923 -0
- package/dist/renderer.js.map +1 -0
- package/dist/runid.d.ts +57 -0
- package/dist/runid.d.ts.map +1 -0
- package/dist/runid.js +199 -0
- package/dist/runid.js.map +1 -0
- package/dist/runtime.d.ts +29 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +366 -0
- package/dist/runtime.js.map +1 -0
- package/dist/scanner.d.ts +11 -0
- package/dist/scanner.d.ts.map +1 -0
- package/dist/scanner.js +426 -0
- package/dist/scanner.js.map +1 -0
- package/dist/templates.d.ts +120 -0
- package/dist/templates.d.ts.map +1 -0
- package/dist/templates.js +429 -0
- package/dist/templates.js.map +1 -0
- package/dist/tools/index.d.ts +153 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +177 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/types.d.ts +3647 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +703 -0
- package/dist/types.js.map +1 -0
- package/dist/version.d.ts +7 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +23 -0
- package/dist/version.js.map +1 -0
- package/docs/demo-guide.md +423 -0
- package/docs/events-format.md +295 -0
- package/docs/inferencemap-spec.md +344 -0
- package/docs/migration-v2.md +293 -0
- package/fixtures/demo/precomputed.json +142 -0
- package/fixtures/demo-project/README.md +52 -0
- package/fixtures/demo-project/ai-service.ts +65 -0
- package/fixtures/demo-project/sample-events.jsonl +15 -0
- package/fixtures/demo-project/src/ai-service.ts +128 -0
- package/fixtures/demo-project/src/llm-client.ts +155 -0
- package/package.json +65 -0
- package/prompts/agent-analyzer.yaml +47 -0
- package/prompts/ci-gate.yaml +98 -0
- package/prompts/correlation-analyzer.yaml +178 -0
- package/prompts/format-normalizer.yaml +46 -0
- package/prompts/peak-performance.yaml +180 -0
- package/prompts/pr-comment.yaml +111 -0
- package/prompts/runtime-analyzer.yaml +189 -0
- package/prompts/unified-analyzer.yaml +241 -0
- package/schemas/inference-map.v0.1.json +215 -0
- package/scripts/benchmark.ts +394 -0
- package/scripts/demo-v1.5.sh +158 -0
- package/scripts/sync-from-site.sh +197 -0
- package/scripts/validate-sync.sh +178 -0
- package/src/agent-analyzer.ts +481 -0
- package/src/agent.ts +1232 -0
- package/src/agents/correlation-analyzer.ts +353 -0
- package/src/agents/index.ts +235 -0
- package/src/agents/runtime-analyzer.ts +343 -0
- package/src/analysis-types.ts +558 -0
- package/src/analytics.ts +100 -0
- package/src/analyzer.ts +692 -0
- package/src/artifacts.ts +218 -0
- package/src/benchmarks/index.ts +309 -0
- package/src/cli.ts +503 -0
- package/src/commands/ci.ts +336 -0
- package/src/commands/config.ts +288 -0
- package/src/commands/demo.ts +175 -0
- package/src/commands/export.ts +297 -0
- package/src/commands/history.ts +425 -0
- package/src/commands/template.ts +385 -0
- package/src/commands/validate-map.ts +324 -0
- package/src/commands/whatif.ts +272 -0
- package/src/comparison.ts +283 -0
- package/src/config.ts +188 -0
- package/src/connectors/helicone.ts +164 -0
- package/src/connectors/index.ts +93 -0
- package/src/connectors/langsmith.ts +179 -0
- package/src/connectors/types.ts +180 -0
- package/src/cost-estimator.ts +146 -0
- package/src/costs.ts +347 -0
- package/src/counterfactuals.ts +516 -0
- package/src/enhancement-prompts.ts +118 -0
- package/src/envelopes.ts +814 -0
- package/src/format-normalizer.ts +1486 -0
- package/src/history.ts +400 -0
- package/src/html.ts +512 -0
- package/src/impact.ts +522 -0
- package/src/index.ts +83 -0
- package/src/insights.ts +341 -0
- package/src/joiner.ts +289 -0
- package/src/orchestrator.ts +1015 -0
- package/src/pdf.ts +110 -0
- package/src/prediction.ts +392 -0
- package/src/prompts/loader.ts +88 -0
- package/src/renderer.ts +1045 -0
- package/src/runid.ts +261 -0
- package/src/runtime.ts +450 -0
- package/src/scanner.ts +508 -0
- package/src/templates.ts +561 -0
- package/src/tools/index.ts +214 -0
- package/src/types.ts +873 -0
- package/src/version.ts +24 -0
- package/templates/context-accumulation.yaml +23 -0
- package/templates/cost-concentration.yaml +20 -0
- package/templates/dead-code.yaml +20 -0
- package/templates/latency-explainer.yaml +23 -0
- package/templates/optimizations/ab-testing-framework.yaml +74 -0
- package/templates/optimizations/api-gateway-optimization.yaml +81 -0
- package/templates/optimizations/api-model-routing-strategy.yaml +126 -0
- package/templates/optimizations/auto-scaling-optimization.yaml +85 -0
- package/templates/optimizations/batch-utilization-diagnostic.yaml +142 -0
- package/templates/optimizations/comprehensive-apm.yaml +76 -0
- package/templates/optimizations/context-window-optimization.yaml +91 -0
- package/templates/optimizations/cost-sensitive-batch-processing.yaml +77 -0
- package/templates/optimizations/distributed-training-optimization.yaml +77 -0
- package/templates/optimizations/document-analysis-edge.yaml +77 -0
- package/templates/optimizations/document-pipeline-optimization.yaml +78 -0
- package/templates/optimizations/domain-specific-distillation.yaml +78 -0
- package/templates/optimizations/error-handling-optimization.yaml +76 -0
- package/templates/optimizations/gptq-4bit-quantization.yaml +96 -0
- package/templates/optimizations/long-context-memory-management.yaml +78 -0
- package/templates/optimizations/max-tokens-optimization.yaml +76 -0
- package/templates/optimizations/memory-bandwidth-optimization.yaml +73 -0
- package/templates/optimizations/multi-framework-resilience.yaml +75 -0
- package/templates/optimizations/multi-tenant-optimization.yaml +75 -0
- package/templates/optimizations/prompt-caching-optimization.yaml +143 -0
- package/templates/optimizations/pytorch-to-onnx-migration.yaml +109 -0
- package/templates/optimizations/quality-monitoring.yaml +74 -0
- package/templates/optimizations/realtime-budget-controls.yaml +74 -0
- package/templates/optimizations/realtime-latency-optimization.yaml +74 -0
- package/templates/optimizations/sglang-concurrency-optimization.yaml +78 -0
- package/templates/optimizations/smart-model-routing.yaml +96 -0
- package/templates/optimizations/streaming-batch-selection.yaml +167 -0
- package/templates/optimizations/system-prompt-optimization.yaml +75 -0
- package/templates/optimizations/tensorrt-llm-performance.yaml +77 -0
- package/templates/optimizations/vllm-high-throughput-optimization.yaml +93 -0
- package/templates/optimizations/vllm-migration-memory-bound.yaml +78 -0
- package/templates/overpowered-extraction.yaml +32 -0
- package/templates/overpowered-model.yaml +31 -0
- package/templates/prompt-bloat.yaml +24 -0
- package/templates/retry-explosion.yaml +28 -0
- package/templates/schema/insight.schema.json +113 -0
- package/templates/schema/optimization.schema.json +180 -0
- package/templates/streaming-drift.yaml +30 -0
- package/templates/throughput-gap.yaml +21 -0
- package/templates/token-underutilization.yaml +28 -0
- package/templates/untested-fallback.yaml +21 -0
- package/tests/accuracy/drift-detection.test.ts +184 -0
- package/tests/accuracy/false-positives.test.ts +166 -0
- package/tests/accuracy/templates.test.ts +205 -0
- package/tests/action/commands.test.ts +125 -0
- package/tests/action/comments.test.ts +347 -0
- package/tests/cli.test.ts +203 -0
- package/tests/comparison.test.ts +309 -0
- package/tests/correlation-analyzer.test.ts +534 -0
- package/tests/counterfactuals.test.ts +347 -0
- package/tests/fixtures/events/missing-id.jsonl +1 -0
- package/tests/fixtures/events/missing-input.jsonl +1 -0
- package/tests/fixtures/events/missing-latency.jsonl +1 -0
- package/tests/fixtures/events/missing-model.jsonl +1 -0
- package/tests/fixtures/events/missing-output.jsonl +1 -0
- package/tests/fixtures/events/missing-provider.jsonl +1 -0
- package/tests/fixtures/events/missing-ts.jsonl +1 -0
- package/tests/fixtures/events/valid.csv +3 -0
- package/tests/fixtures/events/valid.json +1 -0
- package/tests/fixtures/events/valid.jsonl +2 -0
- package/tests/fixtures/events/with-callsite.jsonl +1 -0
- package/tests/fixtures/events/with-intent.jsonl +1 -0
- package/tests/fixtures/events/wrong-type.jsonl +1 -0
- package/tests/fixtures/repos/empty/.gitkeep +0 -0
- package/tests/fixtures/repos/hybrid-router/router.py +35 -0
- package/tests/fixtures/repos/saas-anthropic/agent.ts +27 -0
- package/tests/fixtures/repos/saas-openai/assistant.js +33 -0
- package/tests/fixtures/repos/saas-openai/client.py +26 -0
- package/tests/fixtures/repos/self-hosted-vllm/inference.py +22 -0
- package/tests/github-action.test.ts +292 -0
- package/tests/insights.test.ts +878 -0
- package/tests/joiner.test.ts +168 -0
- package/tests/performance/action-latency.test.ts +132 -0
- package/tests/performance/benchmark.test.ts +189 -0
- package/tests/performance/cli-latency.test.ts +102 -0
- package/tests/pr-comment.test.ts +313 -0
- package/tests/prediction.test.ts +296 -0
- package/tests/runtime-analyzer.test.ts +375 -0
- package/tests/runtime.test.ts +205 -0
- package/tests/scanner.test.ts +122 -0
- package/tests/template-conformance.test.ts +526 -0
- package/tests/unit/cost-calculator.test.ts +303 -0
- package/tests/unit/credits.test.ts +180 -0
- package/tests/unit/inference-map.test.ts +276 -0
- package/tests/unit/schema.test.ts +300 -0
- package/tsconfig.json +20 -0
- package/vitest.config.ts +14 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAmBH,eAAO,MAAM,OAAO,QAAsB,CAAC;AAC3C,eAAO,MAAM,eAAe,QAA0B,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single source of truth for version
|
|
3
|
+
* Auto-bumped on each build via npm version patch
|
|
4
|
+
*/
|
|
5
|
+
import { readFileSync } from 'fs';
|
|
6
|
+
import { join, dirname } from 'path';
|
|
7
|
+
import { fileURLToPath } from 'url';
|
|
8
|
+
// Read version from package.json at runtime
|
|
9
|
+
function getPackageVersion() {
|
|
10
|
+
try {
|
|
11
|
+
// Handle both development (src/) and production (dist/) paths
|
|
12
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
13
|
+
const packagePath = join(__dirname, '..', 'package.json');
|
|
14
|
+
const pkg = JSON.parse(readFileSync(packagePath, 'utf-8'));
|
|
15
|
+
return pkg.version || '1.0.0';
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
return '1.0.0';
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export const VERSION = getPackageVersion();
|
|
22
|
+
export const VERSION_DISPLAY = `PeakInfer v${VERSION}`;
|
|
23
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,4CAA4C;AAC5C,SAAS,iBAAiB;IACxB,IAAI,CAAC;QACH,8DAA8D;QAC9D,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;AAC3C,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,423 @@
|
|
|
1
|
+
# PeakInfer Demo Guide
|
|
2
|
+
|
|
3
|
+
This guide demonstrates all PeakInfer features for analyzing LLM inference in your codebase.
|
|
4
|
+
|
|
5
|
+
> **v2.0 Update**: PeakInfer now uses a unified prompt-based analysis approach for faster, more accurate results.
|
|
6
|
+
|
|
7
|
+
## Quick Start
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Install/update peakinfer
|
|
11
|
+
npm install -g @kalmantic/peakinfer
|
|
12
|
+
|
|
13
|
+
# Verify version
|
|
14
|
+
peakinfer --version
|
|
15
|
+
|
|
16
|
+
# Set your Anthropic API key (BYOK mode)
|
|
17
|
+
export ANTHROPIC_API_KEY=sk-ant-...
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Try PeakInfer with Sample Code
|
|
23
|
+
|
|
24
|
+
Create a sample project to see PeakInfer in action:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# Create a test project with LLM calls
|
|
28
|
+
mkdir -p /tmp/peakinfer-demo/src
|
|
29
|
+
cat > /tmp/peakinfer-demo/src/chat.ts << 'EOF'
|
|
30
|
+
import Anthropic from '@anthropic-ai/sdk';
|
|
31
|
+
|
|
32
|
+
const client = new Anthropic();
|
|
33
|
+
|
|
34
|
+
// No error handling - PeakInfer will flag this
|
|
35
|
+
export async function chat(prompt: string): Promise<string> {
|
|
36
|
+
const response = await client.messages.create({
|
|
37
|
+
model: 'claude-sonnet-4-20250514',
|
|
38
|
+
max_tokens: 2000,
|
|
39
|
+
messages: [{ role: 'user', content: prompt }],
|
|
40
|
+
});
|
|
41
|
+
return response.content[0].type === 'text' ? response.content[0].text : '';
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Using expensive model for simple task - PeakInfer will suggest downgrade
|
|
45
|
+
export async function classify(text: string): Promise<string> {
|
|
46
|
+
const response = await client.messages.create({
|
|
47
|
+
model: 'claude-sonnet-4-20250514',
|
|
48
|
+
max_tokens: 100,
|
|
49
|
+
messages: [{ role: 'user', content: `Classify: ${text}` }],
|
|
50
|
+
});
|
|
51
|
+
return response.content[0].type === 'text' ? response.content[0].text : '';
|
|
52
|
+
}
|
|
53
|
+
EOF
|
|
54
|
+
|
|
55
|
+
# Analyze it with fix suggestions
|
|
56
|
+
peakinfer analyze /tmp/peakinfer-demo --fixes
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
PeakInfer will find:
|
|
60
|
+
- **2 inference points** (chat and classify functions)
|
|
61
|
+
- **Missing error handling** (critical issue)
|
|
62
|
+
- **Model downgrade opportunity** for the classify function
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Feature 1: History Storage
|
|
67
|
+
|
|
68
|
+
History is automatically saved after each analysis run (unless `--no-history` is used).
|
|
69
|
+
|
|
70
|
+
### Basic Analysis (saves to history)
|
|
71
|
+
```bash
|
|
72
|
+
# Analyze a codebase - this saves to history automatically
|
|
73
|
+
peakinfer analyze /path/to/your/project
|
|
74
|
+
|
|
75
|
+
# Check history directory
|
|
76
|
+
ls -la /path/to/your/project/.peakinfer/history/
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Skip History Storage
|
|
80
|
+
```bash
|
|
81
|
+
# Run analysis without saving to history (useful for quick checks)
|
|
82
|
+
peakinfer analyze /path/to/your/project --no-history
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Feature 2: Historical Comparison (`--compare`)
|
|
88
|
+
|
|
89
|
+
Compare current analysis with a previous run to see what changed.
|
|
90
|
+
|
|
91
|
+
### Compare with Latest Run
|
|
92
|
+
```bash
|
|
93
|
+
# Run analysis and compare with the most recent previous run
|
|
94
|
+
peakinfer analyze /path/to/your/project --compare
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Compare with Specific Run
|
|
98
|
+
```bash
|
|
99
|
+
# First, list available runs (check .peakinfer/history/)
|
|
100
|
+
ls /path/to/your/project/.peakinfer/history/
|
|
101
|
+
|
|
102
|
+
# Then compare with a specific run ID
|
|
103
|
+
peakinfer analyze /path/to/your/project --compare abc123def
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Expected Output
|
|
107
|
+
```
|
|
108
|
+
Changes since last run (12/15/2024)
|
|
109
|
+
|
|
110
|
+
Inference points: 4 → 6 (+2)
|
|
111
|
+
|
|
112
|
+
+ 2 new inference points
|
|
113
|
+
src/api/chat.ts:45
|
|
114
|
+
src/api/embed.ts:23
|
|
115
|
+
|
|
116
|
+
~ 1 modified inference point
|
|
117
|
+
src/llm/client.ts:89 (model)
|
|
118
|
+
|
|
119
|
+
Issue changes
|
|
120
|
+
[!] 1 new critical issue
|
|
121
|
+
[✓] 2 warnings resolved
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Feature 3: Deploy-Time Prediction (`--predict`)
|
|
127
|
+
|
|
128
|
+
Generate latency predictions before deployment to surface performance risks.
|
|
129
|
+
|
|
130
|
+
### Basic Prediction
|
|
131
|
+
```bash
|
|
132
|
+
# Analyze with latency predictions
|
|
133
|
+
peakinfer analyze /path/to/your/project --predict
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Prediction with Latency Budget
|
|
137
|
+
```bash
|
|
138
|
+
# Set a target p95 latency budget (in milliseconds)
|
|
139
|
+
peakinfer analyze /path/to/your/project --predict --target-p95 2000
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Expected Output
|
|
143
|
+
```
|
|
144
|
+
Deploy-time Prediction
|
|
145
|
+
|
|
146
|
+
[!] 2 high-risk inference points (p95 > 5000ms)
|
|
147
|
+
[*] 1 medium-risk inference point (p95 > 2000ms)
|
|
148
|
+
[-] 3 low-risk inference points
|
|
149
|
+
|
|
150
|
+
Top latency risks
|
|
151
|
+
[!] src/api/summarize.ts:34 (gpt-4)
|
|
152
|
+
p95: 5000ms | p99: 8000ms
|
|
153
|
+
|
|
154
|
+
[!] src/api/analyze.ts:78 (claude-3-opus)
|
|
155
|
+
p95: 8000ms | p99: 15000ms
|
|
156
|
+
|
|
157
|
+
[*] src/api/chat.ts:45 (gpt-4-turbo)
|
|
158
|
+
p95: 4000ms | p99: 6000ms
|
|
159
|
+
|
|
160
|
+
[!] Budget exceeded: worst p95 8000ms > target 2000ms
|
|
161
|
+
|
|
162
|
+
Latency estimates
|
|
163
|
+
Average p95: 4500ms
|
|
164
|
+
Worst p95: 8000ms
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Feature 4: Counterfactual Insights (Always On)
|
|
170
|
+
|
|
171
|
+
Counterfactual "what-if" scenarios are always generated to show optimization opportunities.
|
|
172
|
+
|
|
173
|
+
### Expected Output
|
|
174
|
+
```
|
|
175
|
+
Optimization Opportunities
|
|
176
|
+
|
|
177
|
+
8 opportunities: up to 80% latency reduction, up to 90% cost savings
|
|
178
|
+
|
|
179
|
+
Switch from gpt-4 to gpt-4o-mini [easy]
|
|
180
|
+
Impact: -75% latency, -90% cost
|
|
181
|
+
Tradeoff: Good for simpler tasks, May reduce quality on complex reasoning
|
|
182
|
+
|
|
183
|
+
Switch from claude-3-opus to claude-3.5-sonnet [easy]
|
|
184
|
+
Impact: -60% latency, -67% cost
|
|
185
|
+
Tradeoff: Often matches Opus quality at lower cost
|
|
186
|
+
|
|
187
|
+
Enable response streaming [easy]
|
|
188
|
+
Impact: -80% latency
|
|
189
|
+
Tradeoff: Total response time unchanged, but first token arrives faster
|
|
190
|
+
|
|
191
|
+
Add semantic caching layer [complex]
|
|
192
|
+
Impact: -50% latency, -50% cost
|
|
193
|
+
Tradeoff: Assumes ~50% cache hit rate (varies by use case)
|
|
194
|
+
|
|
195
|
+
Enable batching for gpt-4 [moderate]
|
|
196
|
+
Impact: -20% latency, -10% cost
|
|
197
|
+
Tradeoff: Requires collecting requests before processing
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## Feature 5: Updated Output Order
|
|
203
|
+
|
|
204
|
+
The output now prioritizes decision-relevant information first:
|
|
205
|
+
|
|
206
|
+
1. **Historical Comparison** - What changed since last run
|
|
207
|
+
2. **Deploy-Time Prediction** - Latency risks before deploy
|
|
208
|
+
3. **Counterfactual Insights** - Optimization opportunities
|
|
209
|
+
4. **Code-Runtime Drift** - Code/runtime mismatches
|
|
210
|
+
5. **BLUF Summary** - Bottom line up front
|
|
211
|
+
6. **Details** - Scope, Performance Profile, Runtime, Findings
|
|
212
|
+
7. **Next Steps** - What to do next
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## Combined Examples
|
|
217
|
+
|
|
218
|
+
### Full Analysis with All Features
|
|
219
|
+
```bash
|
|
220
|
+
# Complete analysis with comparison and prediction
|
|
221
|
+
peakinfer analyze /path/to/your/project \
|
|
222
|
+
--compare \
|
|
223
|
+
--predict \
|
|
224
|
+
--target-p95 3000 \
|
|
225
|
+
--html \
|
|
226
|
+
--open
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### Combined Static + Runtime Analysis
|
|
230
|
+
```bash
|
|
231
|
+
# Analyze code and runtime events together
|
|
232
|
+
peakinfer analyze /path/to/your/project \
|
|
233
|
+
--events /path/to/runtime-logs.jsonl \
|
|
234
|
+
--compare \
|
|
235
|
+
--predict \
|
|
236
|
+
--html
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### Expected Combined Output
|
|
240
|
+
```
|
|
241
|
+
peakinfer v1.5.x
|
|
242
|
+
|
|
243
|
+
Changes since last run (12/15/2024)
|
|
244
|
+
|
|
245
|
+
Inference points: 4 → 6 (+2)
|
|
246
|
+
|
|
247
|
+
+ 2 new inference points
|
|
248
|
+
src/api/chat.ts:45
|
|
249
|
+
src/api/embed.ts:23
|
|
250
|
+
|
|
251
|
+
Deploy-time Prediction
|
|
252
|
+
|
|
253
|
+
[!] 2 high-risk inference points (p95 > 5000ms)
|
|
254
|
+
[*] 1 medium-risk inference point (p95 > 2000ms)
|
|
255
|
+
[✓] 3 within acceptable latency
|
|
256
|
+
|
|
257
|
+
[!] Budget exceeded: worst p95 8000ms > target 3000ms
|
|
258
|
+
|
|
259
|
+
Latency estimates
|
|
260
|
+
Average p95: 3200ms
|
|
261
|
+
Worst p95: 8000ms
|
|
262
|
+
|
|
263
|
+
Optimization Opportunities
|
|
264
|
+
|
|
265
|
+
5 opportunities: up to 75% latency reduction, up to 90% cost savings
|
|
266
|
+
|
|
267
|
+
Switch from gpt-4 to gpt-4o-mini [easy]
|
|
268
|
+
Impact: -75% latency, -90% cost
|
|
269
|
+
Tradeoff: Good for simpler tasks
|
|
270
|
+
|
|
271
|
+
Enable response streaming [easy]
|
|
272
|
+
Impact: -80% latency
|
|
273
|
+
|
|
274
|
+
Code-Runtime Drift
|
|
275
|
+
|
|
276
|
+
[*] 2 inference points in code but not in runtime
|
|
277
|
+
(dead code? not yet deployed?)
|
|
278
|
+
[!] 1 runtime event not mapped to code
|
|
279
|
+
(dynamic calls? wrapper functions?)
|
|
280
|
+
|
|
281
|
+
Potential Performance Improvement across 6 inference points
|
|
282
|
+
-45% cost | -30% latency | +20% throughput
|
|
283
|
+
|
|
284
|
+
...
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## Demo Script (Copy-Paste Ready)
|
|
290
|
+
|
|
291
|
+
```bash
|
|
292
|
+
#!/bin/bash
|
|
293
|
+
# PeakInfer v1.5 Feature Demo Script
|
|
294
|
+
|
|
295
|
+
PROJECT_PATH="." # Change to your project path
|
|
296
|
+
|
|
297
|
+
echo "=== PeakInfer v1.5 Demo ==="
|
|
298
|
+
echo ""
|
|
299
|
+
|
|
300
|
+
# Step 1: Basic analysis (creates history)
|
|
301
|
+
echo "Step 1: Running basic analysis..."
|
|
302
|
+
peakinfer analyze $PROJECT_PATH
|
|
303
|
+
echo ""
|
|
304
|
+
|
|
305
|
+
# Step 2: Make a code change, then compare
|
|
306
|
+
echo "Step 2: Running with comparison..."
|
|
307
|
+
peakinfer analyze $PROJECT_PATH --compare
|
|
308
|
+
echo ""
|
|
309
|
+
|
|
310
|
+
# Step 3: Check predictions before deploy
|
|
311
|
+
echo "Step 3: Running with predictions..."
|
|
312
|
+
peakinfer analyze $PROJECT_PATH --predict --target-p95 2000
|
|
313
|
+
echo ""
|
|
314
|
+
|
|
315
|
+
# Step 4: Full analysis with all features
|
|
316
|
+
echo "Step 4: Full analysis with HTML report..."
|
|
317
|
+
peakinfer analyze $PROJECT_PATH \
|
|
318
|
+
--compare \
|
|
319
|
+
--predict \
|
|
320
|
+
--target-p95 3000 \
|
|
321
|
+
--html \
|
|
322
|
+
--open
|
|
323
|
+
|
|
324
|
+
echo ""
|
|
325
|
+
echo "=== Demo Complete ==="
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
---
|
|
329
|
+
|
|
330
|
+
## Testing with Sample Projects
|
|
331
|
+
|
|
332
|
+
### Create a Test Project
|
|
333
|
+
```bash
|
|
334
|
+
# Create a minimal test project
|
|
335
|
+
mkdir -p /tmp/peakinfer-test/src
|
|
336
|
+
cd /tmp/peakinfer-test
|
|
337
|
+
|
|
338
|
+
# Create a simple file with LLM calls
|
|
339
|
+
cat > src/app.ts << 'EOF'
|
|
340
|
+
import OpenAI from 'openai';
|
|
341
|
+
|
|
342
|
+
const client = new OpenAI();
|
|
343
|
+
|
|
344
|
+
async function chat(prompt: string) {
|
|
345
|
+
const response = await client.chat.completions.create({
|
|
346
|
+
model: 'gpt-4',
|
|
347
|
+
messages: [{ role: 'user', content: prompt }],
|
|
348
|
+
});
|
|
349
|
+
return response.choices[0].message.content;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
async function embed(text: string) {
|
|
353
|
+
const response = await client.embeddings.create({
|
|
354
|
+
model: 'text-embedding-ada-002',
|
|
355
|
+
input: text,
|
|
356
|
+
});
|
|
357
|
+
return response.data[0].embedding;
|
|
358
|
+
}
|
|
359
|
+
EOF
|
|
360
|
+
|
|
361
|
+
# Run first analysis
|
|
362
|
+
peakinfer analyze .
|
|
363
|
+
|
|
364
|
+
# Add another LLM call
|
|
365
|
+
cat >> src/app.ts << 'EOF'
|
|
366
|
+
|
|
367
|
+
async function summarize(text: string) {
|
|
368
|
+
const response = await client.chat.completions.create({
|
|
369
|
+
model: 'gpt-4-turbo',
|
|
370
|
+
messages: [{ role: 'user', content: `Summarize: ${text}` }],
|
|
371
|
+
stream: true,
|
|
372
|
+
});
|
|
373
|
+
return response;
|
|
374
|
+
}
|
|
375
|
+
EOF
|
|
376
|
+
|
|
377
|
+
# Run comparison
|
|
378
|
+
peakinfer analyze . --compare --predict --target-p95 2000
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
---
|
|
382
|
+
|
|
383
|
+
## CLI Reference
|
|
384
|
+
|
|
385
|
+
```
|
|
386
|
+
peakinfer analyze [path] [options]
|
|
387
|
+
|
|
388
|
+
History Options (v1.5):
|
|
389
|
+
--no-history Skip saving run to history
|
|
390
|
+
--compare [runId] Compare with previous run (default: latest)
|
|
391
|
+
--predict Generate deploy-time latency predictions
|
|
392
|
+
--target-p95 <ms> Target p95 latency for budget calculation
|
|
393
|
+
|
|
394
|
+
Other Options:
|
|
395
|
+
--events <file> Add runtime telemetry to static analysis
|
|
396
|
+
--html Generate HTML report
|
|
397
|
+
--pdf Generate PDF report
|
|
398
|
+
--open Open report in browser/viewer
|
|
399
|
+
--verbose Show detailed task progress
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
---
|
|
403
|
+
|
|
404
|
+
## Troubleshooting
|
|
405
|
+
|
|
406
|
+
### No History Found for Comparison
|
|
407
|
+
```
|
|
408
|
+
Comparison skipped: no previous runs found
|
|
409
|
+
```
|
|
410
|
+
**Solution**: Run analysis at least once without `--no-history` before using `--compare`.
|
|
411
|
+
|
|
412
|
+
### Prediction Shows All Low Risk
|
|
413
|
+
This means your models and patterns are well-optimized. The prediction uses heuristic estimates based on model characteristics.
|
|
414
|
+
|
|
415
|
+
### Counterfactuals Not Showing
|
|
416
|
+
Counterfactuals require at least one inference point to be detected. Ensure your code contains LLM API calls.
|
|
417
|
+
|
|
418
|
+
---
|
|
419
|
+
|
|
420
|
+
## Questions?
|
|
421
|
+
|
|
422
|
+
- GitHub Issues: https://github.com/Kalmantic/peakinfer/issues
|
|
423
|
+
- Documentation: See `design/` folder for PRD, TDD, and DD documents
|