@agent-inspect/langchain 1.0.3

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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/metadata.ts","../src/agent-inspect-callback.ts"],"names":["BaseCallbackHandler","Redactor"],"mappings":"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","file":"index.cjs","sourcesContent":["export interface TokenUsage {\n input?: number;\n output?: number;\n total?: number;\n}\n\nfunction isRecord(v: unknown): v is Record<string, unknown> {\n return typeof v === \"object\" && v !== null && !Array.isArray(v);\n}\n\nfunction num(v: unknown): number | undefined {\n if (typeof v === \"number\" && Number.isFinite(v)) return v;\n if (typeof v === \"string\" && v.trim() !== \"\") {\n const n = Number(v);\n if (Number.isFinite(n)) return n;\n }\n return undefined;\n}\n\nfunction normalizeTokenShape(raw: Record<string, unknown>): TokenUsage | undefined {\n const input =\n num(raw.promptTokens) ??\n num(raw.inputTokens) ??\n num(raw.input_tokens) ??\n num(raw.prompt_tokens);\n const output =\n num(raw.completionTokens) ??\n num(raw.outputTokens) ??\n num(raw.output_tokens) ??\n num(raw.completion_tokens);\n let total = num(raw.totalTokens) ?? num(raw.total_tokens);\n\n if (total === undefined && input !== undefined && output !== undefined) {\n total = input + output;\n }\n\n if (input === undefined && output === undefined && total === undefined) {\n return undefined;\n }\n\n const out: TokenUsage = {};\n if (input !== undefined) out.input = input;\n if (output !== undefined) out.output = output;\n if (total !== undefined) out.total = total;\n return out;\n}\n\n/** Extract token usage from LangChain / provider-shaped LLM outputs. Never throws. */\nexport function extractTokenUsage(output: unknown): TokenUsage | undefined {\n try {\n if (!isRecord(output)) return undefined;\n\n const candidates: unknown[] = [\n isRecord(output.llmOutput) ? output.llmOutput.tokenUsage : undefined,\n isRecord(output.llmOutput) ? output.llmOutput.estimatedTokenUsage : undefined,\n output.usage_metadata,\n isRecord(output.response_metadata) ? output.response_metadata.tokenUsage : undefined,\n isRecord(output.response_metadata) ? output.response_metadata.token_usage : undefined,\n ];\n\n for (const c of candidates) {\n if (!isRecord(c)) continue;\n const norm = normalizeTokenShape(c);\n if (norm) return norm;\n }\n\n return undefined;\n } catch {\n return undefined;\n }\n}\n\nfunction readLcKwargs(serializedOrOutput: unknown): Record<string, unknown> | undefined {\n if (!isRecord(serializedOrOutput)) return undefined;\n const lc = serializedOrOutput.lc_kwargs ?? serializedOrOutput.kwargs;\n return isRecord(lc) ? lc : undefined;\n}\n\n/** Best-effort model name from serialized LLM / chat model or provider metadata. */\nexport function extractModelName(serializedOrOutput: unknown): string | undefined {\n try {\n const lc = readLcKwargs(serializedOrOutput);\n const fromLc =\n (lc?.model as string | undefined) ??\n (lc?.modelName as string | undefined) ??\n (lc?.model_name as string | undefined);\n\n if (typeof fromLc === \"string\" && fromLc.trim()) return fromLc;\n\n if (isRecord(serializedOrOutput)) {\n for (const k of [\"model\", \"modelName\", \"model_name\"] as const) {\n const v = serializedOrOutput[k];\n if (typeof v === \"string\" && v.trim()) return v;\n }\n const rm = serializedOrOutput.response_metadata;\n if (isRecord(rm)) {\n const m = rm.model_name ?? rm.model;\n if (typeof m === \"string\" && m.trim()) return m;\n }\n const lo = serializedOrOutput.llmOutput;\n if (isRecord(lo)) {\n const m = lo.model_name;\n if (typeof m === \"string\" && m.trim()) return m;\n }\n }\n return undefined;\n } catch {\n return undefined;\n }\n}\n\n/** Safe truncated string preview for logging-style fields. */\nexport function safePreview(value: unknown, maxChars: number): string | undefined {\n try {\n if (maxChars <= 0) return undefined;\n const seen = new WeakSet<object>();\n const json = JSON.stringify(value, (_k, v) => {\n if (typeof v === \"bigint\") return v.toString();\n if (typeof v === \"function\" || typeof v === \"symbol\") return undefined;\n if (typeof v === \"object\" && v !== null) {\n if (seen.has(v)) return \"[Circular]\";\n seen.add(v);\n }\n return v;\n });\n if (json === undefined) return undefined;\n if (json.length <= maxChars) return json;\n return `${json.slice(0, maxChars)}…`;\n } catch {\n try {\n const s = String(value);\n if (s.length <= maxChars) return s;\n return `${s.slice(0, maxChars)}…`;\n } catch {\n return undefined;\n }\n }\n}\n\nconst MAX_METADATA_KEYS = 40;\n\n/** Shallow plain metadata: drops functions/symbols; avoids deep nesting. Never throws. */\nexport function toPlainMetadata(value: unknown): Record<string, unknown> {\n try {\n if (!isRecord(value)) return {};\n const out: Record<string, unknown> = {};\n let n = 0;\n for (const [k, v] of Object.entries(value)) {\n if (n >= MAX_METADATA_KEYS) break;\n if (typeof v === \"function\" || typeof v === \"symbol\") continue;\n if (v === null || typeof v === \"string\" || typeof v === \"number\" || typeof v === \"boolean\") {\n out[k] = v;\n n++;\n continue;\n }\n if (typeof v === \"bigint\") {\n out[k] = v.toString();\n n++;\n continue;\n }\n if (Array.isArray(v)) {\n out[k] = `array(${v.length})`;\n n++;\n continue;\n }\n if (isRecord(v)) {\n out[k] = \"[object]\";\n n++;\n continue;\n }\n out[k] = String(v);\n n++;\n }\n return out;\n } catch {\n return {};\n }\n}\n","import type { AgentAction, AgentFinish } from \"@langchain/core/agents\";\nimport { BaseCallbackHandler } from \"@langchain/core/callbacks/base\";\nimport type { Serialized } from \"@langchain/core/load/serializable\";\nimport type { LLMResult } from \"@langchain/core/outputs\";\nimport type { ChainValues } from \"@langchain/core/utils/types\";\n\n/** Subpaths like `@langchain/core/messages/base` are not package exports; derive from the handler contract. */\ntype ChatModelMessages = Parameters<\n NonNullable<BaseCallbackHandler[\"handleChatModelStart\"]>\n>[1];\ntype RetrieverDocuments = Parameters<\n NonNullable<BaseCallbackHandler[\"handleRetrieverEnd\"]>\n>[0];\nimport { Redactor, type InspectEvent, type InspectKind } from \"agent-inspect\";\n\nimport {\n extractModelName,\n extractTokenUsage,\n safePreview,\n toPlainMetadata,\n} from \"./metadata.js\";\nimport type { AgentInspectCallbackOptions } from \"./types.js\";\n\ntype StartEntry = { ts: number; kind: InspectKind };\n\nfunction serializedLabel(s: Serialized): string | undefined {\n if (typeof s.name === \"string\" && s.name.trim()) return s.name;\n if (Array.isArray(s.id) && s.id.length > 0) return s.id[s.id.length - 1];\n return s.type;\n}\n\nfunction errorShape(err: unknown): { errorName?: string; errorMessage: string } {\n if (err instanceof Error) {\n return { errorName: err.name, errorMessage: err.message };\n }\n return { errorMessage: String(err) };\n}\n\nexport class AgentInspectCallback extends BaseCallbackHandler {\n name = \"agent-inspect\";\n\n readonly #opts: Required<\n Pick<AgentInspectCallbackOptions, \"capture\" | \"silent\" | \"maxPreviewChars\">\n > &\n AgentInspectCallbackOptions;\n\n readonly #redactor: Redactor;\n #events: InspectEvent[] = [];\n readonly #starts = new Map<string, StartEntry>();\n #rootRunId?: string;\n\n constructor(options: AgentInspectCallbackOptions = {}) {\n super({});\n this.#opts = {\n capture: options.capture ?? \"metadata-only\",\n silent: options.silent ?? false,\n maxPreviewChars: options.maxPreviewChars ?? 200,\n ...options,\n };\n this.#redactor = new Redactor({ rules: this.#opts.redact });\n }\n\n getEvents(): InspectEvent[] {\n return this.#events.map((e) => ({\n ...e,\n attributes: e.attributes ? { ...e.attributes } : undefined,\n source: { ...e.source },\n }));\n }\n\n clear(): void {\n this.#events = [];\n this.#starts.clear();\n this.#rootRunId = undefined;\n }\n\n #ensureRoot(lcRunId: string, parentRunId?: string): void {\n if (parentRunId) return;\n if (!this.#rootRunId) this.#rootRunId = lcRunId;\n }\n\n #traceRunId(lcRunId: string): string {\n return this.#rootRunId ?? lcRunId;\n }\n\n #durationFor(lcRunId: string): number | undefined {\n const s = this.#starts.get(lcRunId);\n if (!s) return undefined;\n return Date.now() - s.ts;\n }\n\n #rememberStart(lcRunId: string, kind: InspectKind): void {\n this.#starts.set(lcRunId, { ts: Date.now(), kind });\n }\n\n #clearStart(lcRunId: string): void {\n this.#starts.delete(lcRunId);\n }\n\n #baseAttrs(\n lcRunId: string,\n parentRunId: string | undefined,\n tags: string[] | undefined,\n runNameArg: string | undefined,\n ): Record<string, unknown> {\n const out: Record<string, unknown> = {\n langchainRunId: lcRunId,\n };\n if (parentRunId) out.parentRunId = parentRunId;\n if (this.#opts.runName) out.adapterRunName = this.#opts.runName;\n if (runNameArg) out.runName = runNameArg;\n if (this.#opts.traceDir) out.traceDir = this.#opts.traceDir;\n const cap = this.#opts.capture;\n if (cap !== \"none\" && tags?.length) out.tags = [...tags];\n return out;\n }\n\n #mergeMetadata(\n attrs: Record<string, unknown>,\n metadata: Record<string, unknown> | undefined,\n ): void {\n if (this.#opts.capture === \"none\" || !metadata) return;\n attrs.metadata = this.#redactor.redactRecord(toPlainMetadata(metadata));\n }\n\n #applyPreview(attrs: Record<string, unknown>, previews: Record<string, unknown>): void {\n if (this.#opts.capture !== \"preview\") return;\n const max = this.#opts.maxPreviewChars;\n for (const [k, v] of Object.entries(previews)) {\n const p = safePreview(v, max);\n if (p !== undefined) attrs[k] = p;\n }\n }\n\n #pushEvent(ev: InspectEvent): void {\n try {\n const attributes = ev.attributes\n ? this.#redactor.redactRecord({ ...ev.attributes })\n : undefined;\n this.#events.push({ ...ev, attributes });\n } catch (err) {\n if (!this.#opts.silent) {\n console.error(\"[agent-inspect:langchain]\", err);\n }\n }\n }\n\n override async handleChainStart(\n chain: Serialized,\n inputs: ChainValues,\n runId: string,\n runType?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n runName?: string,\n parentRunId?: string,\n _extra?: Record<string, unknown>,\n ): Promise<void> {\n void runType;\n this.#ensureRoot(runId, parentRunId);\n this.#rememberStart(runId, \"CHAIN\");\n const label = serializedLabel(chain) ?? \"chain\";\n const previews: Record<string, unknown> = {};\n if (this.#opts.capture === \"preview\") previews.inputPreview = inputs;\n const attrs: Record<string, unknown> = {\n ...this.#baseAttrs(runId, parentRunId, tags, runName),\n };\n this.#mergeMetadata(attrs, metadata);\n this.#applyPreview(attrs, previews);\n this.#pushEvent({\n eventId: `${runId}:CHAIN:start`,\n runId: this.#traceRunId(runId),\n parentId: parentRunId,\n name: `chain:${runName ?? label}`,\n kind: \"CHAIN\",\n timestamp: Date.now(),\n status: \"running\",\n attributes: attrs,\n confidence: \"explicit\",\n source: { type: \"adapter\" },\n });\n }\n\n override async handleChainEnd(\n outputs: ChainValues,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n _kwargs?: { inputs?: Record<string, unknown> },\n ): Promise<void> {\n this.#ensureRoot(runId, parentRunId);\n const durationMs = this.#durationFor(runId);\n this.#clearStart(runId);\n const previews: Record<string, unknown> = {};\n if (this.#opts.capture === \"preview\") previews.outputPreview = outputs;\n const attrs: Record<string, unknown> = {\n ...this.#baseAttrs(runId, parentRunId, tags, undefined),\n };\n this.#applyPreview(attrs, previews);\n this.#pushEvent({\n eventId: `${runId}:CHAIN:end`,\n runId: this.#traceRunId(runId),\n parentId: parentRunId,\n name: \"chain:end\",\n kind: \"CHAIN\",\n timestamp: Date.now(),\n status: \"ok\",\n durationMs,\n attributes: attrs,\n confidence: \"explicit\",\n source: { type: \"adapter\" },\n });\n }\n\n override async handleChainError(\n err: unknown,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n _kwargs?: { inputs?: Record<string, unknown> },\n ): Promise<void> {\n this.#ensureRoot(runId, parentRunId);\n const durationMs = this.#durationFor(runId);\n this.#clearStart(runId);\n const { errorName, errorMessage } = errorShape(err);\n const attrs: Record<string, unknown> = {\n ...this.#baseAttrs(runId, parentRunId, tags, undefined),\n errorName,\n errorMessage,\n };\n this.#pushEvent({\n eventId: `${runId}:CHAIN:error`,\n runId: this.#traceRunId(runId),\n parentId: parentRunId,\n name: \"chain:error\",\n kind: \"CHAIN\",\n timestamp: Date.now(),\n status: \"error\",\n durationMs,\n attributes: attrs,\n confidence: \"explicit\",\n source: { type: \"adapter\" },\n });\n }\n\n override async handleLLMStart(\n llm: Serialized,\n prompts: string[],\n runId: string,\n parentRunId?: string,\n _extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n runName?: string,\n ): Promise<void> {\n this.#ensureRoot(runId, parentRunId);\n this.#rememberStart(runId, \"LLM\");\n const model = extractModelName(llm);\n const previews: Record<string, unknown> = {};\n if (this.#opts.capture === \"preview\") {\n previews.promptPreview = prompts.length === 1 ? prompts[0] : prompts;\n }\n const attrs: Record<string, unknown> = {\n ...this.#baseAttrs(runId, parentRunId, tags, runName),\n };\n if (model && this.#opts.capture !== \"none\") attrs.model = model;\n this.#mergeMetadata(attrs, metadata);\n this.#applyPreview(attrs, previews);\n this.#pushEvent({\n eventId: `${runId}:LLM:start`,\n runId: this.#traceRunId(runId),\n parentId: parentRunId,\n name: `llm:${model ?? \"llm\"}`,\n kind: \"LLM\",\n timestamp: Date.now(),\n status: \"running\",\n attributes: attrs,\n confidence: \"explicit\",\n source: { type: \"adapter\" },\n });\n }\n\n override async handleChatModelStart(\n llm: Serialized,\n messages: ChatModelMessages,\n runId: string,\n parentRunId?: string,\n _extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n runName?: string,\n ): Promise<void> {\n this.#ensureRoot(runId, parentRunId);\n this.#rememberStart(runId, \"LLM\");\n const model = extractModelName(llm);\n const previews: Record<string, unknown> = {};\n if (this.#opts.capture === \"preview\") previews.inputPreview = messages;\n const attrs: Record<string, unknown> = {\n ...this.#baseAttrs(runId, parentRunId, tags, runName),\n };\n if (model && this.#opts.capture !== \"none\") attrs.model = model;\n this.#mergeMetadata(attrs, metadata);\n this.#applyPreview(attrs, previews);\n this.#pushEvent({\n eventId: `${runId}:CHAT:start`,\n runId: this.#traceRunId(runId),\n parentId: parentRunId,\n name: `llm:${model ?? \"llm\"}`,\n kind: \"LLM\",\n timestamp: Date.now(),\n status: \"running\",\n attributes: attrs,\n confidence: \"explicit\",\n source: { type: \"adapter\" },\n });\n }\n\n override async handleLLMEnd(\n output: LLMResult,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n _extraParams?: Record<string, unknown>,\n ): Promise<void> {\n this.#ensureRoot(runId, parentRunId);\n const durationMs = this.#durationFor(runId);\n this.#clearStart(runId);\n const tokens = extractTokenUsage(output);\n const model = extractModelName(output);\n const previews: Record<string, unknown> = {};\n if (this.#opts.capture === \"preview\") previews.outputPreview = output;\n const attrs: Record<string, unknown> = {\n ...this.#baseAttrs(runId, parentRunId, tags, undefined),\n };\n if (model && this.#opts.capture !== \"none\") attrs.model = model;\n if (tokens && this.#opts.capture !== \"none\") attrs.tokens = tokens;\n this.#applyPreview(attrs, previews);\n this.#pushEvent({\n eventId: `${runId}:LLM:end`,\n runId: this.#traceRunId(runId),\n parentId: parentRunId,\n name: `llm:${model ?? \"llm\"}`,\n kind: \"LLM\",\n timestamp: Date.now(),\n status: \"ok\",\n durationMs,\n attributes: attrs,\n confidence: \"explicit\",\n source: { type: \"adapter\" },\n });\n }\n\n override async handleLLMError(\n err: unknown,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n _extraParams?: Record<string, unknown>,\n ): Promise<void> {\n this.#ensureRoot(runId, parentRunId);\n const durationMs = this.#durationFor(runId);\n this.#clearStart(runId);\n const { errorName, errorMessage } = errorShape(err);\n const attrs: Record<string, unknown> = {\n ...this.#baseAttrs(runId, parentRunId, tags, undefined),\n errorName,\n errorMessage,\n };\n this.#pushEvent({\n eventId: `${runId}:LLM:error`,\n runId: this.#traceRunId(runId),\n parentId: parentRunId,\n name: \"llm:error\",\n kind: \"LLM\",\n timestamp: Date.now(),\n status: \"error\",\n durationMs,\n attributes: attrs,\n confidence: \"explicit\",\n source: { type: \"adapter\" },\n });\n }\n\n override async handleToolStart(\n tool: Serialized,\n input: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n runName?: string,\n _toolCallId?: string,\n ): Promise<void> {\n this.#ensureRoot(runId, parentRunId);\n this.#rememberStart(runId, \"TOOL\");\n const toolName = serializedLabel(tool) ?? \"tool\";\n const previews: Record<string, unknown> = {};\n if (this.#opts.capture === \"preview\") previews.inputPreview = input;\n const attrs: Record<string, unknown> = {\n ...this.#baseAttrs(runId, parentRunId, tags, runName),\n tool: toolName,\n };\n this.#mergeMetadata(attrs, metadata);\n this.#applyPreview(attrs, previews);\n this.#pushEvent({\n eventId: `${runId}:TOOL:start`,\n runId: this.#traceRunId(runId),\n parentId: parentRunId,\n name: `tool:${toolName}`,\n kind: \"TOOL\",\n timestamp: Date.now(),\n status: \"running\",\n attributes: attrs,\n confidence: \"explicit\",\n source: { type: \"adapter\" },\n });\n }\n\n override async handleToolEnd(\n output: unknown,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n ): Promise<void> {\n this.#ensureRoot(runId, parentRunId);\n const durationMs = this.#durationFor(runId);\n this.#clearStart(runId);\n const previews: Record<string, unknown> = {};\n if (this.#opts.capture === \"preview\") previews.outputPreview = output;\n const attrs: Record<string, unknown> = {\n ...this.#baseAttrs(runId, parentRunId, tags, undefined),\n };\n this.#applyPreview(attrs, previews);\n this.#pushEvent({\n eventId: `${runId}:TOOL:end`,\n runId: this.#traceRunId(runId),\n parentId: parentRunId,\n name: \"tool:end\",\n kind: \"TOOL\",\n timestamp: Date.now(),\n status: \"ok\",\n durationMs,\n attributes: attrs,\n confidence: \"explicit\",\n source: { type: \"adapter\" },\n });\n }\n\n override async handleToolError(\n err: unknown,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n ): Promise<void> {\n this.#ensureRoot(runId, parentRunId);\n const durationMs = this.#durationFor(runId);\n this.#clearStart(runId);\n const { errorName, errorMessage } = errorShape(err);\n const attrs: Record<string, unknown> = {\n ...this.#baseAttrs(runId, parentRunId, tags, undefined),\n errorName,\n errorMessage,\n };\n this.#pushEvent({\n eventId: `${runId}:TOOL:error`,\n runId: this.#traceRunId(runId),\n parentId: parentRunId,\n name: \"tool:error\",\n kind: \"TOOL\",\n timestamp: Date.now(),\n status: \"error\",\n durationMs,\n attributes: attrs,\n confidence: \"explicit\",\n source: { type: \"adapter\" },\n });\n }\n\n override async handleRetrieverStart(\n retriever: Serialized,\n _query: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string,\n ): Promise<void> {\n void _query;\n this.#ensureRoot(runId, parentRunId);\n this.#rememberStart(runId, \"RETRIEVER\");\n const rname = name ?? serializedLabel(retriever) ?? \"retriever\";\n const attrs: Record<string, unknown> = {\n ...this.#baseAttrs(runId, parentRunId, tags, undefined),\n retriever: rname,\n };\n this.#mergeMetadata(attrs, metadata);\n this.#pushEvent({\n eventId: `${runId}:RETRIEVER:start`,\n runId: this.#traceRunId(runId),\n parentId: parentRunId,\n name: `retriever:${rname}`,\n kind: \"RETRIEVER\",\n timestamp: Date.now(),\n status: \"running\",\n attributes: attrs,\n confidence: \"explicit\",\n source: { type: \"adapter\" },\n });\n }\n\n override async handleRetrieverEnd(\n documents: RetrieverDocuments,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n ): Promise<void> {\n this.#ensureRoot(runId, parentRunId);\n const durationMs = this.#durationFor(runId);\n this.#clearStart(runId);\n const previews: Record<string, unknown> = {};\n if (this.#opts.capture === \"preview\" && documents.length > 0) {\n previews.documentPreview = documents.slice(0, 3);\n }\n const attrs: Record<string, unknown> = {\n ...this.#baseAttrs(runId, parentRunId, tags, undefined),\n documentCount: documents.length,\n };\n this.#applyPreview(attrs, previews);\n this.#pushEvent({\n eventId: `${runId}:RETRIEVER:end`,\n runId: this.#traceRunId(runId),\n parentId: parentRunId,\n name: \"retriever:end\",\n kind: \"RETRIEVER\",\n timestamp: Date.now(),\n status: \"ok\",\n durationMs,\n attributes: attrs,\n confidence: \"explicit\",\n source: { type: \"adapter\" },\n });\n }\n\n override async handleRetrieverError(\n err: unknown,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n ): Promise<void> {\n this.#ensureRoot(runId, parentRunId);\n const durationMs = this.#durationFor(runId);\n this.#clearStart(runId);\n const { errorName, errorMessage } = errorShape(err);\n const attrs: Record<string, unknown> = {\n ...this.#baseAttrs(runId, parentRunId, tags, undefined),\n errorName,\n errorMessage,\n };\n this.#pushEvent({\n eventId: `${runId}:RETRIEVER:error`,\n runId: this.#traceRunId(runId),\n parentId: parentRunId,\n name: \"retriever:error\",\n kind: \"RETRIEVER\",\n timestamp: Date.now(),\n status: \"error\",\n durationMs,\n attributes: attrs,\n confidence: \"explicit\",\n source: { type: \"adapter\" },\n });\n }\n\n override async handleAgentAction(\n action: AgentAction,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n ): Promise<void> {\n this.#ensureRoot(runId, parentRunId);\n const attrs: Record<string, unknown> = {\n ...this.#baseAttrs(runId, parentRunId, tags, undefined),\n tool: action.tool,\n };\n if (this.#opts.capture === \"preview\") {\n this.#applyPreview(attrs, {\n toolInputPreview: action.toolInput,\n logPreview: action.log,\n });\n }\n this.#pushEvent({\n eventId: `${runId}:AGENT:action:${Date.now()}`,\n runId: this.#traceRunId(runId),\n parentId: parentRunId,\n name: \"agent:action\",\n kind: \"DECISION\",\n timestamp: Date.now(),\n status: \"ok\",\n attributes: attrs,\n confidence: \"explicit\",\n source: { type: \"adapter\" },\n });\n }\n\n override async handleAgentEnd(\n finish: AgentFinish,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n ): Promise<void> {\n this.#ensureRoot(runId, parentRunId);\n const attrs: Record<string, unknown> = {\n ...this.#baseAttrs(runId, parentRunId, tags, undefined),\n };\n if (this.#opts.capture === \"preview\") {\n this.#applyPreview(attrs, {\n outputPreview: finish.returnValues,\n logPreview: finish.log,\n });\n }\n this.#pushEvent({\n eventId: `${runId}:AGENT:end:${Date.now()}`,\n runId: this.#traceRunId(runId),\n parentId: parentRunId,\n name: \"agent:end\",\n kind: \"AGENT\",\n timestamp: Date.now(),\n status: \"ok\",\n attributes: attrs,\n confidence: \"explicit\",\n source: { type: \"adapter\" },\n });\n }\n}\n"]}
@@ -0,0 +1,70 @@
1
+ import { AgentAction, AgentFinish } from '@langchain/core/agents';
2
+ import { BaseCallbackHandler } from '@langchain/core/callbacks/base';
3
+ import { Serialized } from '@langchain/core/load/serializable';
4
+ import { LLMResult } from '@langchain/core/outputs';
5
+ import { ChainValues } from '@langchain/core/utils/types';
6
+ import { RedactionRule, InspectEvent } from 'agent-inspect';
7
+
8
+ type CaptureMode = "none" | "metadata-only" | "preview";
9
+ interface AgentInspectCallbackOptions {
10
+ runName?: string;
11
+ traceDir?: string;
12
+ silent?: boolean;
13
+ capture?: CaptureMode;
14
+ redact?: RedactionRule[];
15
+ maxPreviewChars?: number;
16
+ }
17
+ interface LangChainRunMetadata {
18
+ runId: string;
19
+ parentRunId?: string;
20
+ runName?: string;
21
+ tags?: string[];
22
+ metadata?: Record<string, unknown>;
23
+ }
24
+
25
+ /** Subpaths like `@langchain/core/messages/base` are not package exports; derive from the handler contract. */
26
+ type ChatModelMessages = Parameters<NonNullable<BaseCallbackHandler["handleChatModelStart"]>>[1];
27
+ type RetrieverDocuments = Parameters<NonNullable<BaseCallbackHandler["handleRetrieverEnd"]>>[0];
28
+
29
+ declare class AgentInspectCallback extends BaseCallbackHandler {
30
+ #private;
31
+ name: string;
32
+ constructor(options?: AgentInspectCallbackOptions);
33
+ getEvents(): InspectEvent[];
34
+ clear(): void;
35
+ handleChainStart(chain: Serialized, inputs: ChainValues, runId: string, runType?: string, tags?: string[], metadata?: Record<string, unknown>, runName?: string, parentRunId?: string, _extra?: Record<string, unknown>): Promise<void>;
36
+ handleChainEnd(outputs: ChainValues, runId: string, parentRunId?: string, tags?: string[], _kwargs?: {
37
+ inputs?: Record<string, unknown>;
38
+ }): Promise<void>;
39
+ handleChainError(err: unknown, runId: string, parentRunId?: string, tags?: string[], _kwargs?: {
40
+ inputs?: Record<string, unknown>;
41
+ }): Promise<void>;
42
+ handleLLMStart(llm: Serialized, prompts: string[], runId: string, parentRunId?: string, _extraParams?: Record<string, unknown>, tags?: string[], metadata?: Record<string, unknown>, runName?: string): Promise<void>;
43
+ handleChatModelStart(llm: Serialized, messages: ChatModelMessages, runId: string, parentRunId?: string, _extraParams?: Record<string, unknown>, tags?: string[], metadata?: Record<string, unknown>, runName?: string): Promise<void>;
44
+ handleLLMEnd(output: LLMResult, runId: string, parentRunId?: string, tags?: string[], _extraParams?: Record<string, unknown>): Promise<void>;
45
+ handleLLMError(err: unknown, runId: string, parentRunId?: string, tags?: string[], _extraParams?: Record<string, unknown>): Promise<void>;
46
+ handleToolStart(tool: Serialized, input: string, runId: string, parentRunId?: string, tags?: string[], metadata?: Record<string, unknown>, runName?: string, _toolCallId?: string): Promise<void>;
47
+ handleToolEnd(output: unknown, runId: string, parentRunId?: string, tags?: string[]): Promise<void>;
48
+ handleToolError(err: unknown, runId: string, parentRunId?: string, tags?: string[]): Promise<void>;
49
+ handleRetrieverStart(retriever: Serialized, _query: string, runId: string, parentRunId?: string, tags?: string[], metadata?: Record<string, unknown>, name?: string): Promise<void>;
50
+ handleRetrieverEnd(documents: RetrieverDocuments, runId: string, parentRunId?: string, tags?: string[]): Promise<void>;
51
+ handleRetrieverError(err: unknown, runId: string, parentRunId?: string, tags?: string[]): Promise<void>;
52
+ handleAgentAction(action: AgentAction, runId: string, parentRunId?: string, tags?: string[]): Promise<void>;
53
+ handleAgentEnd(finish: AgentFinish, runId: string, parentRunId?: string, tags?: string[]): Promise<void>;
54
+ }
55
+
56
+ interface TokenUsage {
57
+ input?: number;
58
+ output?: number;
59
+ total?: number;
60
+ }
61
+ /** Extract token usage from LangChain / provider-shaped LLM outputs. Never throws. */
62
+ declare function extractTokenUsage(output: unknown): TokenUsage | undefined;
63
+ /** Best-effort model name from serialized LLM / chat model or provider metadata. */
64
+ declare function extractModelName(serializedOrOutput: unknown): string | undefined;
65
+ /** Safe truncated string preview for logging-style fields. */
66
+ declare function safePreview(value: unknown, maxChars: number): string | undefined;
67
+ /** Shallow plain metadata: drops functions/symbols; avoids deep nesting. Never throws. */
68
+ declare function toPlainMetadata(value: unknown): Record<string, unknown>;
69
+
70
+ export { AgentInspectCallback, type AgentInspectCallbackOptions, type CaptureMode, type LangChainRunMetadata, type TokenUsage, extractModelName, extractTokenUsage, safePreview, toPlainMetadata };
@@ -0,0 +1,70 @@
1
+ import { AgentAction, AgentFinish } from '@langchain/core/agents';
2
+ import { BaseCallbackHandler } from '@langchain/core/callbacks/base';
3
+ import { Serialized } from '@langchain/core/load/serializable';
4
+ import { LLMResult } from '@langchain/core/outputs';
5
+ import { ChainValues } from '@langchain/core/utils/types';
6
+ import { RedactionRule, InspectEvent } from 'agent-inspect';
7
+
8
+ type CaptureMode = "none" | "metadata-only" | "preview";
9
+ interface AgentInspectCallbackOptions {
10
+ runName?: string;
11
+ traceDir?: string;
12
+ silent?: boolean;
13
+ capture?: CaptureMode;
14
+ redact?: RedactionRule[];
15
+ maxPreviewChars?: number;
16
+ }
17
+ interface LangChainRunMetadata {
18
+ runId: string;
19
+ parentRunId?: string;
20
+ runName?: string;
21
+ tags?: string[];
22
+ metadata?: Record<string, unknown>;
23
+ }
24
+
25
+ /** Subpaths like `@langchain/core/messages/base` are not package exports; derive from the handler contract. */
26
+ type ChatModelMessages = Parameters<NonNullable<BaseCallbackHandler["handleChatModelStart"]>>[1];
27
+ type RetrieverDocuments = Parameters<NonNullable<BaseCallbackHandler["handleRetrieverEnd"]>>[0];
28
+
29
+ declare class AgentInspectCallback extends BaseCallbackHandler {
30
+ #private;
31
+ name: string;
32
+ constructor(options?: AgentInspectCallbackOptions);
33
+ getEvents(): InspectEvent[];
34
+ clear(): void;
35
+ handleChainStart(chain: Serialized, inputs: ChainValues, runId: string, runType?: string, tags?: string[], metadata?: Record<string, unknown>, runName?: string, parentRunId?: string, _extra?: Record<string, unknown>): Promise<void>;
36
+ handleChainEnd(outputs: ChainValues, runId: string, parentRunId?: string, tags?: string[], _kwargs?: {
37
+ inputs?: Record<string, unknown>;
38
+ }): Promise<void>;
39
+ handleChainError(err: unknown, runId: string, parentRunId?: string, tags?: string[], _kwargs?: {
40
+ inputs?: Record<string, unknown>;
41
+ }): Promise<void>;
42
+ handleLLMStart(llm: Serialized, prompts: string[], runId: string, parentRunId?: string, _extraParams?: Record<string, unknown>, tags?: string[], metadata?: Record<string, unknown>, runName?: string): Promise<void>;
43
+ handleChatModelStart(llm: Serialized, messages: ChatModelMessages, runId: string, parentRunId?: string, _extraParams?: Record<string, unknown>, tags?: string[], metadata?: Record<string, unknown>, runName?: string): Promise<void>;
44
+ handleLLMEnd(output: LLMResult, runId: string, parentRunId?: string, tags?: string[], _extraParams?: Record<string, unknown>): Promise<void>;
45
+ handleLLMError(err: unknown, runId: string, parentRunId?: string, tags?: string[], _extraParams?: Record<string, unknown>): Promise<void>;
46
+ handleToolStart(tool: Serialized, input: string, runId: string, parentRunId?: string, tags?: string[], metadata?: Record<string, unknown>, runName?: string, _toolCallId?: string): Promise<void>;
47
+ handleToolEnd(output: unknown, runId: string, parentRunId?: string, tags?: string[]): Promise<void>;
48
+ handleToolError(err: unknown, runId: string, parentRunId?: string, tags?: string[]): Promise<void>;
49
+ handleRetrieverStart(retriever: Serialized, _query: string, runId: string, parentRunId?: string, tags?: string[], metadata?: Record<string, unknown>, name?: string): Promise<void>;
50
+ handleRetrieverEnd(documents: RetrieverDocuments, runId: string, parentRunId?: string, tags?: string[]): Promise<void>;
51
+ handleRetrieverError(err: unknown, runId: string, parentRunId?: string, tags?: string[]): Promise<void>;
52
+ handleAgentAction(action: AgentAction, runId: string, parentRunId?: string, tags?: string[]): Promise<void>;
53
+ handleAgentEnd(finish: AgentFinish, runId: string, parentRunId?: string, tags?: string[]): Promise<void>;
54
+ }
55
+
56
+ interface TokenUsage {
57
+ input?: number;
58
+ output?: number;
59
+ total?: number;
60
+ }
61
+ /** Extract token usage from LangChain / provider-shaped LLM outputs. Never throws. */
62
+ declare function extractTokenUsage(output: unknown): TokenUsage | undefined;
63
+ /** Best-effort model name from serialized LLM / chat model or provider metadata. */
64
+ declare function extractModelName(serializedOrOutput: unknown): string | undefined;
65
+ /** Safe truncated string preview for logging-style fields. */
66
+ declare function safePreview(value: unknown, maxChars: number): string | undefined;
67
+ /** Shallow plain metadata: drops functions/symbols; avoids deep nesting. Never throws. */
68
+ declare function toPlainMetadata(value: unknown): Record<string, unknown>;
69
+
70
+ export { AgentInspectCallback, type AgentInspectCallbackOptions, type CaptureMode, type LangChainRunMetadata, type TokenUsage, extractModelName, extractTokenUsage, safePreview, toPlainMetadata };