langgraph-api 0.4.39__tar.gz → 0.4.40__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.
Potentially problematic release.
This version of langgraph-api might be problematic. Click here for more details.
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/PKG-INFO +1 -1
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/benchmark/capacity_k6.js +4 -21
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/benchmark/capacity_runner.mjs +7 -2
- langgraph_api-0.4.40/benchmark/capacity_urls.mjs +18 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/benchmark/reporting/dd_reporting.py +6 -4
- langgraph_api-0.4.40/langgraph_api/__init__.py +1 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/cli.py +1 -1
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/server.py +1 -1
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/openapi.json +1 -1
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/uv.lock +15 -15
- langgraph_api-0.4.39/langgraph_api/__init__.py +0 -1
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/.gitignore +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/LICENSE +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/Makefile +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/README.md +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/benchmark/.gitignore +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/benchmark/Makefile +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/benchmark/README.md +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/benchmark/burst.js +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/benchmark/clean.js +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/benchmark/graphs.js +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/benchmark/package.json +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/benchmark/ramp.js +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/benchmark/update-revision.js +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/benchmark/weather.js +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/constraints.txt +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/forbidden.txt +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/healthcheck.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/api/__init__.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/api/a2a.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/api/assistants.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/api/mcp.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/api/meta.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/api/openapi.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/api/runs.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/api/store.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/api/threads.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/api/ui.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/asgi_transport.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/asyncio.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/auth/__init__.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/auth/custom.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/auth/langsmith/__init__.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/auth/langsmith/backend.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/auth/langsmith/client.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/auth/middleware.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/auth/noop.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/auth/studio_user.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/command.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/config.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/cron_scheduler.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/errors.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/executor_entrypoint.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/feature_flags.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/graph.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/grpc_ops/__init__.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/grpc_ops/client.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/grpc_ops/generated/__init__.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/grpc_ops/generated/core_api_pb2.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/grpc_ops/generated/core_api_pb2.pyi +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/grpc_ops/generated/core_api_pb2_grpc.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/grpc_ops/ops.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/http.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/http_metrics.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/http_metrics_utils.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/js/.gitignore +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/js/.prettierrc +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/js/__init__.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/js/base.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/js/build.mts +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/js/client.http.mts +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/js/client.mts +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/js/errors.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/js/global.d.ts +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/js/package.json +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/js/remote.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/js/schema.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/js/src/graph.mts +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/js/src/load.hooks.mjs +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/js/src/preload.mjs +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/js/src/utils/files.mts +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/js/src/utils/importMap.mts +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/js/src/utils/serde.mts +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/js/sse.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/js/traceblock.mts +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/js/tsconfig.json +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/js/ui.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/js/yarn.lock +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/logging.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/metadata.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/middleware/__init__.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/middleware/http_logger.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/middleware/private_network.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/middleware/request_id.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/models/__init__.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/models/run.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/patch.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/queue_entrypoint.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/route.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/schema.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/self_hosted_logs.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/self_hosted_metrics.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/serde.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/sse.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/state.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/store.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/stream.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/thread_ttl.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/traceblock.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/tunneling/cloudflare.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/utils/__init__.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/utils/cache.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/utils/config.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/utils/errors.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/utils/future.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/utils/headers.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/utils/retriable_client.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/utils/stream_codec.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/utils/uuids.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/validation.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/webhook.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/worker.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_license/__init__.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_license/validation.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_runtime/__init__.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_runtime/checkpoint.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_runtime/database.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_runtime/lifespan.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_runtime/metrics.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_runtime/ops.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_runtime/queue.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_runtime/retry.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_runtime/store.py +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/logging.json +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/pyproject.toml +0 -0
- {langgraph_api-0.4.39 → langgraph_api-0.4.40}/scripts/create_license.py +0 -0
|
@@ -1,27 +1,7 @@
|
|
|
1
1
|
import http from 'k6/http';
|
|
2
2
|
import { sleep } from 'k6';
|
|
3
3
|
import { Trend, Counter, Rate } from 'k6/metrics';
|
|
4
|
-
|
|
5
|
-
// Mao
|
|
6
|
-
|
|
7
|
-
const baseUrlToBaseUrlName = {
|
|
8
|
-
'https://ifh-core-api-dr-benchmark-048d364b548f5d9790082d8ba4fb44d8.us.langgraph.app': 'DRC,API S,OPS S',
|
|
9
|
-
'https://ifh-benchmarks-ba3f7d811fb6564ebe5248bcd7a0a662.us.langgraph.app': 'API S, OPS S',
|
|
10
|
-
'https://wfh-benchmark-distributed-r-1603f73b1a175234b9b0fb1f9beea4f1.us.langgraph.app': 'DR,API S,OPS S',
|
|
11
|
-
"https://benchmark-api-m-ops-s-81bb8ca883ce54438fcb9027877be8e7.us.langgraph.app": "API M, OPS S",
|
|
12
|
-
"https://benchmark-api-s-ops-m-32baf0b195b7589eb77ce06c373f0886.us.langgraph.app": "API S, OPS M",
|
|
13
|
-
"https://benchmark-api-m-ops-m-2c4ecc0e7f6a526fac98db7068092d5a.us.langgraph.app": "API M, OPS M",
|
|
14
|
-
"https://benchmark-dr-api-m-ops-s-d3bfd55b7b065af5a89d3b15edd99500.us.langgraph.app": "DR, API M, OPS S",
|
|
15
|
-
"https://benchmark-dr-api-s-ops-m-7f98f893140257b7869cbe00a93ecb71.us.langgraph.app": "DR, API S, OPS M",
|
|
16
|
-
"https://benchmark-dr-api-m-ops-m-22b1c77d9f175160b226090601add28a.us.langgraph.app": "DR, API M, OPS M",
|
|
17
|
-
"https://benchmark-drc-api-m-ops-s-9a7d59e246d95b5bad994c7ea269c460.us.langgraph.app": "DRC, API M, OPS S",
|
|
18
|
-
"https://benchmark-drc-api-s-ops-m-d54e214bd0fd5c9db1f44b80065f7b9a.us.langgraph.app": "DRC, API S, OPS M",
|
|
19
|
-
"https://benchmark-drc-api-m-ops-m-caa32d5c7e945a15a3818aa7a941b1bd.us.langgraph.app": "DRC, API M, OPS M",
|
|
20
|
-
"https://benchmark-dr-api-s-ops-s-db-b8ba0253c7a65ace836c0662f22c530d.us.langgraph.app": "DR, API S, OPS S, DB M",
|
|
21
|
-
"https://benchmark-api-s-ops-s-db-m-4e3d4e6f27d35555b7f3955c3a4c301a.us.langgraph.app": "API S, OPS S, DB M",
|
|
22
|
-
"https://benchmark-dr-api-s-ops-s-re-423b90208677556e86eced49b27a73a0.us.langgraph.app": "DR, API S, OPS S, Redis M",
|
|
23
|
-
"https://benchmark-api-s-ops-s-redis-91911734773c51e292ecb2b15fa015e5.us.langgraph.app": "API S, OPS S, Redis M"
|
|
24
|
-
}
|
|
4
|
+
import { baseUrlToBaseUrlName } from './capacity_urls.mjs';
|
|
25
5
|
|
|
26
6
|
// Metrics
|
|
27
7
|
const runDuration = new Trend('run_duration'); // ms for successful runs
|
|
@@ -207,12 +187,15 @@ export function handleSummary(data) {
|
|
|
207
187
|
baseUrl: BASE_URL,
|
|
208
188
|
baseUrlName: baseUrlToBaseUrlName[BASE_URL],
|
|
209
189
|
target: TARGET,
|
|
190
|
+
},
|
|
191
|
+
config: {
|
|
210
192
|
waitSeconds: WAIT_SECONDS,
|
|
211
193
|
dataSize: DATA_SIZE,
|
|
212
194
|
delay: DELAY,
|
|
213
195
|
expand: EXPAND,
|
|
214
196
|
steps: STEPS,
|
|
215
197
|
},
|
|
198
|
+
config_key: `wait:${WAIT_SECONDS}_dataSize:${DATA_SIZE}_delay:${DELAY}_expand:${EXPAND}_steps:${STEPS}`,
|
|
216
199
|
metrics: {
|
|
217
200
|
totalRuns: total,
|
|
218
201
|
successfulRuns: succ,
|
|
@@ -10,6 +10,7 @@ import { readdirSync, readFileSync, writeFileSync, createReadStream } from 'node
|
|
|
10
10
|
import { join } from 'node:path';
|
|
11
11
|
import readline from 'node:readline';
|
|
12
12
|
import QuickChart from 'quickchart-js';
|
|
13
|
+
import { baseUrlToBaseUrlName } from './capacity_urls.mjs';
|
|
13
14
|
|
|
14
15
|
function envBool(name, def = false) {
|
|
15
16
|
const v = process.env[name];
|
|
@@ -167,7 +168,7 @@ async function main() {
|
|
|
167
168
|
const summary = loadSummaryForTarget(n);
|
|
168
169
|
const s = summary?.metrics?.successRate; // percent
|
|
169
170
|
successRate = Number.isFinite(s) ? s / 100 : 0;
|
|
170
|
-
avgDurationSeconds = summary?.metrics?.
|
|
171
|
+
avgDurationSeconds = summary?.metrics?.runDuration?.avg ?? null;
|
|
171
172
|
console.log(`Step N=${n} successRate=${(successRate * 100).toFixed(2)}% avgDur=${avgDurationSeconds ?? 'n/a'}s`);
|
|
172
173
|
} catch (e) {
|
|
173
174
|
console.error(`Failed to read summary for N=${n}:`, e?.message || e);
|
|
@@ -183,13 +184,15 @@ async function main() {
|
|
|
183
184
|
}
|
|
184
185
|
n = next;
|
|
185
186
|
} else {
|
|
186
|
-
failedStep = { target: n, successRate };
|
|
187
|
+
failedStep = { target: n, avgDurationSeconds, successRate };
|
|
187
188
|
break;
|
|
188
189
|
}
|
|
189
190
|
}
|
|
190
191
|
|
|
191
192
|
const ts = new Date().toISOString().replace(/:/g, '-').replace(/\..+/, '');
|
|
192
193
|
const report = {
|
|
194
|
+
baseUrl: BASE_URL,
|
|
195
|
+
baseUrlName: baseUrlToBaseUrlName[BASE_URL],
|
|
193
196
|
timestamp: ts,
|
|
194
197
|
ramp: { start: RAMP_START, end: RAMP_END, multiplier: RAMP_MULTIPLIER },
|
|
195
198
|
waitSeconds: WAIT_SECONDS,
|
|
@@ -199,6 +202,7 @@ async function main() {
|
|
|
199
202
|
last_success_rate: lastSuccess?.successRate ?? null,
|
|
200
203
|
failed_target: failedStep?.target ?? null,
|
|
201
204
|
failed_success_rate: failedStep?.successRate ?? null,
|
|
205
|
+
failed_avg_duration_seconds: failedStep?.avgDurationSeconds ?? null,
|
|
202
206
|
};
|
|
203
207
|
const fname = `capacity_report_${ts}.json`;
|
|
204
208
|
writeFileSync(join(process.cwd(), fname), JSON.stringify(report, null, 2));
|
|
@@ -210,6 +214,7 @@ async function main() {
|
|
|
210
214
|
`last_success_avg_duration_seconds=${report.last_success_avg_duration_seconds}`,
|
|
211
215
|
`failed_target=${report.failed_target}`,
|
|
212
216
|
`failed_success_rate=${report.failed_success_rate}`,
|
|
217
|
+
`failed_avg_duration_seconds=${report.failed_avg_duration_seconds}`,
|
|
213
218
|
].join('\n');
|
|
214
219
|
writeFileSync(process.env.GITHUB_OUTPUT, `${out}\n`, { flag: 'a' });
|
|
215
220
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export const baseUrlToBaseUrlName = {
|
|
2
|
+
'https://ifh-core-api-dr-benchmark-048d364b548f5d9790082d8ba4fb44d8.us.langgraph.app': 'DRC,API S,OPS S',
|
|
3
|
+
'https://ifh-benchmarks-ba3f7d811fb6564ebe5248bcd7a0a662.us.langgraph.app': 'API S, OPS S',
|
|
4
|
+
'https://wfh-benchmark-distributed-r-1603f73b1a175234b9b0fb1f9beea4f1.us.langgraph.app': 'DR,API S,OPS S',
|
|
5
|
+
'https://benchmark-api-m-ops-s-81bb8ca883ce54438fcb9027877be8e7.us.langgraph.app': 'API M, OPS S',
|
|
6
|
+
'https://benchmark-api-s-ops-m-32baf0b195b7589eb77ce06c373f0886.us.langgraph.app': 'API S, OPS M',
|
|
7
|
+
'https://benchmark-api-m-ops-m-2c4ecc0e7f6a526fac98db7068092d5a.us.langgraph.app': 'API M, OPS M',
|
|
8
|
+
'https://benchmark-dr-api-m-ops-s-d3bfd55b7b065af5a89d3b15edd99500.us.langgraph.app': 'DR, API M, OPS S',
|
|
9
|
+
'https://benchmark-dr-api-s-ops-m-7f98f893140257b7869cbe00a93ecb71.us.langgraph.app': 'DR, API S, OPS M',
|
|
10
|
+
'https://benchmark-dr-api-m-ops-m-22b1c77d9f175160b226090601add28a.us.langgraph.app': 'DR, API M, OPS M',
|
|
11
|
+
'https://benchmark-drc-api-m-ops-s-9a7d59e246d95b5bad994c7ea269c460.us.langgraph.app': 'DRC, API M, OPS S',
|
|
12
|
+
'https://benchmark-drc-api-s-ops-m-d54e214bd0fd5c9db1f44b80065f7b9a.us.langgraph.app': 'DRC, API S, OPS M',
|
|
13
|
+
'https://benchmark-drc-api-m-ops-m-caa32d5c7e945a15a3818aa7a941b1bd.us.langgraph.app': 'DRC, API M, OPS M',
|
|
14
|
+
'https://benchmark-dr-api-s-ops-s-db-b8ba0253c7a65ace836c0662f22c530d.us.langgraph.app': 'DR, API S, OPS S, DB M',
|
|
15
|
+
'https://benchmark-api-s-ops-s-db-m-4e3d4e6f27d35555b7f3955c3a4c301a.us.langgraph.app': 'API S, OPS S, DB M',
|
|
16
|
+
'https://benchmark-dr-api-s-ops-s-re-423b90208677556e86eced49b27a73a0.us.langgraph.app': 'DR, API S, OPS S, Redis M',
|
|
17
|
+
'https://benchmark-api-s-ops-s-redis-91911734773c51e292ecb2b15fa015e5.us.langgraph.app': 'API S, OPS S, Redis M',
|
|
18
|
+
};
|
|
@@ -34,10 +34,8 @@ def send_benchmark_results(
|
|
|
34
34
|
benchmark_data["labels"] = common_labels
|
|
35
35
|
|
|
36
36
|
log_item = HTTPLogItem(
|
|
37
|
-
ddsource="benchmark",
|
|
38
|
-
ddtags=
|
|
39
|
-
if common_labels
|
|
40
|
-
else "env:benchmarking",
|
|
37
|
+
ddsource="benchmark-3",
|
|
38
|
+
ddtags="env:benchmarking" if common_labels else "env:benchmarking",
|
|
41
39
|
hostname=os.getenv("HOSTNAME", "localhost"),
|
|
42
40
|
message=json.dumps(benchmark_data),
|
|
43
41
|
service="benchmark-results",
|
|
@@ -80,6 +78,10 @@ if __name__ == "__main__":
|
|
|
80
78
|
DD_SITE = os.getenv("DD_SITE", "us5.datadoghq.com")
|
|
81
79
|
|
|
82
80
|
common_labels = {"base_url": os.getenv("BASE_URL")}
|
|
81
|
+
if "report" in args.benchmark_file:
|
|
82
|
+
common_labels["type"] = "summary"
|
|
83
|
+
else:
|
|
84
|
+
common_labels["type"] = "individual_run"
|
|
83
85
|
|
|
84
86
|
for file in glob.glob(args.benchmark_file):
|
|
85
87
|
process_benchmark_file(file, common_labels, DD_SITE, DD_API_KEY)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.4.40"
|
|
@@ -321,7 +321,7 @@ def run_server(
|
|
|
321
321
|
- 📚 API Docs: \033[36m{local_url}/docs\033[0m
|
|
322
322
|
|
|
323
323
|
This in-memory server is designed for development and testing.
|
|
324
|
-
For production use, please use
|
|
324
|
+
For production use, please use LangSmith Deployment.
|
|
325
325
|
|
|
326
326
|
"""
|
|
327
327
|
logger.info(welcome)
|
|
@@ -117,7 +117,7 @@ def update_openapi_spec(app):
|
|
|
117
117
|
schemas = SchemaGenerator(
|
|
118
118
|
{
|
|
119
119
|
"openapi": "3.1.0",
|
|
120
|
-
"info": {"title": "
|
|
120
|
+
"info": {"title": "LangSmith Deployment", "version": "0.1.0"},
|
|
121
121
|
}
|
|
122
122
|
)
|
|
123
123
|
spec = schemas.get_schema(routes=app.routes)
|
|
@@ -278,16 +278,16 @@ wheels = [
|
|
|
278
278
|
|
|
279
279
|
[[package]]
|
|
280
280
|
name = "fastapi"
|
|
281
|
-
version = "0.
|
|
281
|
+
version = "0.119.0"
|
|
282
282
|
source = { registry = "https://pypi.org/simple" }
|
|
283
283
|
dependencies = [
|
|
284
284
|
{ name = "pydantic" },
|
|
285
285
|
{ name = "starlette" },
|
|
286
286
|
{ name = "typing-extensions" },
|
|
287
287
|
]
|
|
288
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
288
|
+
sdist = { url = "https://files.pythonhosted.org/packages/0a/f9/5c5bcce82a7997cc0eb8c47b7800f862f6b56adc40486ed246e5010d443b/fastapi-0.119.0.tar.gz", hash = "sha256:451082403a2c1f0b99c6bd57c09110ed5463856804c8078d38e5a1f1035dbbb7", size = 336756, upload-time = "2025-10-11T17:13:40.53Z" }
|
|
289
289
|
wheels = [
|
|
290
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
290
|
+
{ url = "https://files.pythonhosted.org/packages/ce/70/584c4d7cad80f5e833715c0a29962d7c93b4d18eed522a02981a6d1b6ee5/fastapi-0.119.0-py3-none-any.whl", hash = "sha256:90a2e49ed19515320abb864df570dd766be0662c5d577688f1600170f7f73cf2", size = 107095, upload-time = "2025-10-11T17:13:39.048Z" },
|
|
291
291
|
]
|
|
292
292
|
|
|
293
293
|
[[package]]
|
|
@@ -451,11 +451,11 @@ wheels = [
|
|
|
451
451
|
|
|
452
452
|
[[package]]
|
|
453
453
|
name = "idna"
|
|
454
|
-
version = "3.
|
|
454
|
+
version = "3.11"
|
|
455
455
|
source = { registry = "https://pypi.org/simple" }
|
|
456
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
456
|
+
sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582, upload-time = "2025-10-12T14:55:20.501Z" }
|
|
457
457
|
wheels = [
|
|
458
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
458
|
+
{ url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" },
|
|
459
459
|
]
|
|
460
460
|
|
|
461
461
|
[[package]]
|
|
@@ -531,7 +531,7 @@ wheels = [
|
|
|
531
531
|
|
|
532
532
|
[[package]]
|
|
533
533
|
name = "langchain-core"
|
|
534
|
-
version = "0.3.
|
|
534
|
+
version = "0.3.79"
|
|
535
535
|
source = { registry = "https://pypi.org/simple" }
|
|
536
536
|
dependencies = [
|
|
537
537
|
{ name = "jsonpatch" },
|
|
@@ -542,14 +542,14 @@ dependencies = [
|
|
|
542
542
|
{ name = "tenacity" },
|
|
543
543
|
{ name = "typing-extensions" },
|
|
544
544
|
]
|
|
545
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
545
|
+
sdist = { url = "https://files.pythonhosted.org/packages/c8/99/f926495f467e0f43289f12e951655d267d1eddc1136c3cf4dd907794a9a7/langchain_core-0.3.79.tar.gz", hash = "sha256:024ba54a346dd9b13fb8b2342e0c83d0111e7f26fa01f545ada23ad772b55a60", size = 580895, upload-time = "2025-10-09T21:59:08.359Z" }
|
|
546
546
|
wheels = [
|
|
547
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
547
|
+
{ url = "https://files.pythonhosted.org/packages/fc/71/46b0efaf3fc6ad2c2bd600aef500f1cb2b7038a4042f58905805630dd29d/langchain_core-0.3.79-py3-none-any.whl", hash = "sha256:92045bfda3e741f8018e1356f83be203ec601561c6a7becfefe85be5ddc58fdb", size = 449779, upload-time = "2025-10-09T21:59:06.493Z" },
|
|
548
548
|
]
|
|
549
549
|
|
|
550
550
|
[[package]]
|
|
551
551
|
name = "langgraph"
|
|
552
|
-
version = "0.6.
|
|
552
|
+
version = "0.6.10"
|
|
553
553
|
source = { registry = "https://pypi.org/simple" }
|
|
554
554
|
dependencies = [
|
|
555
555
|
{ name = "langchain-core" },
|
|
@@ -559,9 +559,9 @@ dependencies = [
|
|
|
559
559
|
{ name = "pydantic" },
|
|
560
560
|
{ name = "xxhash" },
|
|
561
561
|
]
|
|
562
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
562
|
+
sdist = { url = "https://files.pythonhosted.org/packages/e2/9c/bc34cf47e7a8845f9abe5a09cf6ed892162b899708fae5c59252fa44ed24/langgraph-0.6.10.tar.gz", hash = "sha256:37457595ef3becebca94b3c4711a8bcd539b5eae7560f2cec409eae0d8113c59", size = 492079, upload-time = "2025-10-09T16:45:13.714Z" }
|
|
563
563
|
wheels = [
|
|
564
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
564
|
+
{ url = "https://files.pythonhosted.org/packages/e6/75/c2972a484581389b5c193f16e8e36531e6574b280f23700735b0d6729365/langgraph-0.6.10-py3-none-any.whl", hash = "sha256:b16baacd38895f6f4aa51e03b8a5b5f8695cff96fd0e8b637b725186ea27237c", size = 155422, upload-time = "2025-10-09T16:45:12.033Z" },
|
|
565
565
|
]
|
|
566
566
|
|
|
567
567
|
[[package]]
|
|
@@ -765,7 +765,7 @@ wheels = [
|
|
|
765
765
|
|
|
766
766
|
[[package]]
|
|
767
767
|
name = "langsmith"
|
|
768
|
-
version = "0.4.
|
|
768
|
+
version = "0.4.34"
|
|
769
769
|
source = { registry = "https://pypi.org/simple" }
|
|
770
770
|
dependencies = [
|
|
771
771
|
{ name = "httpx" },
|
|
@@ -776,9 +776,9 @@ dependencies = [
|
|
|
776
776
|
{ name = "requests-toolbelt" },
|
|
777
777
|
{ name = "zstandard" },
|
|
778
778
|
]
|
|
779
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
779
|
+
sdist = { url = "https://files.pythonhosted.org/packages/e2/5d/38887a18b68aa7acbac040c1fad2f2217c55d3eef7784d0412261fe37513/langsmith-0.4.34.tar.gz", hash = "sha256:5b90c0b49ab03f78331005df1591abd86b41afceda6ac7144ad7d23693c62f31", size = 964392, upload-time = "2025-10-09T23:34:26.359Z" }
|
|
780
780
|
wheels = [
|
|
781
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
781
|
+
{ url = "https://files.pythonhosted.org/packages/8e/a4/db5903757d710c4c401e7a87f6ba53a8242c580e8c1df5869b7acb949b2d/langsmith-0.4.34-py3-none-any.whl", hash = "sha256:3b83b2544f99bb8f6fca2681ee80fe6a44b0578c29e809e5a4e72fdee4db9146", size = 386981, upload-time = "2025-10-09T23:34:24.386Z" },
|
|
782
782
|
]
|
|
783
783
|
|
|
784
784
|
[[package]]
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.4.39"
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/grpc_ops/generated/core_api_pb2.py
RENAMED
|
File without changes
|
{langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/grpc_ops/generated/core_api_pb2.pyi
RENAMED
|
File without changes
|
{langgraph_api-0.4.39 → langgraph_api-0.4.40}/langgraph_api/grpc_ops/generated/core_api_pb2_grpc.py
RENAMED
|
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
|
|
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
|