@ai-sdk/devtools
Advanced tools
+9
-2
@@ -22,2 +22,9 @@ import { LanguageModelV4Middleware } from '@ai-sdk/provider'; | ||
| interface DevToolsTelemetryOptions { | ||
| /** | ||
| * Identifier used to group multiple AI SDK calls into one DevTools run. | ||
| * Reuse the same value when resuming an interrupted interaction. | ||
| */ | ||
| runId?: string; | ||
| } | ||
| /** | ||
@@ -38,4 +45,4 @@ * Creates a devtools telemetry integration that logs all AI SDK operations | ||
| */ | ||
| declare function DevToolsTelemetry(): Telemetry; | ||
| declare function DevToolsTelemetry(options?: DevToolsTelemetryOptions): Telemetry; | ||
| export { DevToolsTelemetry, devToolsMiddleware }; | ||
| export { DevToolsTelemetry, type DevToolsTelemetryOptions, devToolsMiddleware }; |
+13
-4
@@ -120,2 +120,6 @@ // src/db.ts | ||
| }; | ||
| var getStepsForRun = async (runId) => { | ||
| const db = getDb(); | ||
| return db.steps.filter((s) => s.run_id === runId).sort((a, b) => a.step_number - b.step_number); | ||
| }; | ||
@@ -437,3 +441,3 @@ // src/middleware.ts | ||
| } | ||
| function DevToolsTelemetry() { | ||
| function DevToolsTelemetry(options = {}) { | ||
| if (process.env.NODE_ENV === "production") { | ||
@@ -481,3 +485,4 @@ throw new Error( | ||
| }, | ||
| stepStates: /* @__PURE__ */ new Map() | ||
| stepStates: /* @__PURE__ */ new Map(), | ||
| stepNumberOffset: 0 | ||
| }; | ||
@@ -500,2 +505,6 @@ callStates.set(callId, state); | ||
| ); | ||
| if (options.runId != null) { | ||
| state.runId = options.runId; | ||
| state.stepNumberOffset = (await getStepsForRun(options.runId)).length; | ||
| } | ||
| await createRun(state.runId, parentInfo, state.functionId); | ||
@@ -520,3 +529,3 @@ }, | ||
| run_id: state.runId, | ||
| step_number: stepNumber + 1, | ||
| step_number: state.stepNumberOffset + stepNumber + 1, | ||
| type: state.operationType, | ||
@@ -560,3 +569,3 @@ model_id: stepStartEvent.modelId, | ||
| run_id: state.runId, | ||
| step_number: stepStartEvent.stepNumber + 1, | ||
| step_number: state.stepNumberOffset + stepStartEvent.stepNumber + 1, | ||
| type: state.operationType, | ||
@@ -563,0 +572,0 @@ model_id: stepStartEvent.modelId, |
+2
-2
| { | ||
| "name": "@ai-sdk/devtools", | ||
| "version": "1.0.4", | ||
| "version": "1.0.5", | ||
| "type": "module", | ||
@@ -58,3 +58,3 @@ "main": "./dist/index.js", | ||
| "zod": "3.25.76", | ||
| "ai": "7.0.20" | ||
| "ai": "7.0.26" | ||
| }, | ||
@@ -61,0 +61,0 @@ "publishConfig": { |
+4
-1
| export { devToolsMiddleware } from './middleware.js'; | ||
| export { DevToolsTelemetry } from './integration.js'; | ||
| export { | ||
| DevToolsTelemetry, | ||
| type DevToolsTelemetryOptions, | ||
| } from './integration.js'; |
+21
-3
@@ -14,2 +14,3 @@ import type { | ||
| createStep, | ||
| getStepsForRun, | ||
| updateStepResult, | ||
@@ -32,4 +33,13 @@ notifyServerAsync, | ||
| stepStates: Map<number, StepState>; | ||
| stepNumberOffset: number; | ||
| } | ||
| export interface DevToolsTelemetryOptions { | ||
| /** | ||
| * Identifier used to group multiple AI SDK calls into one DevTools run. | ||
| * Reuse the same value when resuming an interrupted interaction. | ||
| */ | ||
| runId?: string; | ||
| } | ||
| const activeSteps = new Map<string, StepState>(); | ||
@@ -104,3 +114,5 @@ | ||
| */ | ||
| export function DevToolsTelemetry(): Telemetry { | ||
| export function DevToolsTelemetry( | ||
| options: DevToolsTelemetryOptions = {}, | ||
| ): Telemetry { | ||
| if (process.env.NODE_ENV === 'production') { | ||
@@ -185,2 +197,3 @@ throw new Error( | ||
| stepStates: new Map(), | ||
| stepNumberOffset: 0, | ||
| }; | ||
@@ -218,2 +231,7 @@ callStates.set(callId, state); | ||
| if (options.runId != null) { | ||
| state.runId = options.runId; | ||
| state.stepNumberOffset = (await getStepsForRun(options.runId)).length; | ||
| } | ||
| await createRun(state.runId, parentInfo, state.functionId); | ||
@@ -246,3 +264,3 @@ }, | ||
| run_id: state.runId, | ||
| step_number: stepNumber + 1, | ||
| step_number: state.stepNumberOffset + stepNumber + 1, | ||
| type: state.operationType, | ||
@@ -297,3 +315,3 @@ model_id: stepStartEvent.modelId, | ||
| run_id: state.runId, | ||
| step_number: stepStartEvent.stepNumber + 1, | ||
| step_number: state.stepNumberOffset + stepStartEvent.stepNumber + 1, | ||
| type: state.operationType, | ||
@@ -300,0 +318,0 @@ model_id: stepStartEvent.modelId, |
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
672139
0.19%8259
0.43%