feat(langchain): DX-246 langchain.js integration#59
Conversation
|
Claude finished @kevmalek's task in 3m 52s —— View job Code Review Complete ✅I've completed a comprehensive review of this LangChain.js integration PR. Overall, this is high-quality work that follows most monorepo conventions correctly. There are a few issues to address before merging. SummaryStrengths:
Issues Found:
Critical Issues (Must Fix Before Merge)1. Incorrect LangChain import pathsLocation: README.md, all example files The documentation shows: import { createAgent, initChatModel } from 'langchain';However, according to LangChain.js documentation, these may not be exported from the main package. Verify the correct import path - typically: import { createReactAgent } from '@langchain/langgraph/prebuilt';
import { ChatAnthropic } from '@langchain/anthropic';Action: Test all examples to ensure they run successfully, then update documentation accordingly. Medium Priority Issues (Recommended)2. Dependency version mismatchLocation: packages/langchain/package.json:68 Current: Per AGENTS.md, cross-package dependencies should use the latest version. The publish workflow will maintain this automatically, but starting with the current version ensures access to latest fixes. 3. Biome configuration inconsistencyLocation: packages/langchain/biome.json:6 The override disables both Recommendation: {
"includes": ["templates/**/*.ts", "src/tests/**/*.spec.ts", "examples/**/*.ts", "scripts/**/*.ts"],
"linter": {
"rules": {
"suspicious": {
"noConsole": "off"
// Remove noExplicitAny: "off" to enforce type safety
}
}
}
}What's Working WellI've left inline comments highlighting excellent patterns: ✅ Code Patterns (packages/langchain/src/main.ts)
✅ Documentation (packages/langchain/src/main.ts:66)
✅ Testing (packages/langchain/src/tests/integration.spec.ts)
✅ Build Configuration (packages/langchain/package.json:47)
✅ Package Structure
Verification StepsBefore merging, please verify:
RecommendationStatus: Approve with changes required This is solid work that demonstrates good understanding of the monorepo patterns. The critical issue with import paths needs resolution (test the examples!), and the recommended changes will improve consistency. Once the import paths are verified/fixed and the version is updated, this will be ready to merge. Estimated effort: ~15-30 minutes to fix critical issues Todo List:
|
| "extends": "//", | ||
| "overrides": [ | ||
| { | ||
| "includes": ["templates/**/*.ts", "src/tests/**/*.spec.ts", "examples/**/*.ts", "scripts/**/*.ts"], |
There was a problem hiding this comment.
Issue: Overly permissive Biome override
The override includes examples/**/*.ts and scripts/**/*.ts which allows noConsole and noExplicitAny to be disabled. While this makes sense for examples (which need console output), it's inconsistent with other packages:
Comparison with ai-sdk-plugin:
{
"includes": ["templates/**/*.ts", "src/tests/**/*.spec.ts"]
}Recommendation:
Examples are meant to be user-facing code that demonstrates best practices. Allowing console is fine, but disabling noExplicitAny is inconsistent with the monorepo's code quality standards.
Consider:
{
"includes": ["templates/**/*.ts", "src/tests/**/*.spec.ts", "examples/**/*.ts", "scripts/**/*.ts"],
"linter": {
"rules": {
"suspicious": {
"noConsole": "off"
// Remove noExplicitAny: "off" - enforce type safety even in examples
}
}
}
}This maintains type safety while allowing necessary console output in examples.
| }, | ||
| "types": "./dist/main.d.ts", | ||
| "dependencies": { | ||
| "@youdotcom-oss/api": "0.3.0" |
There was a problem hiding this comment.
Issue: Version mismatch with @youdotcom-oss/api
Current version: 0.3.0
Latest version in ai-sdk-plugin: 0.3.1
Per AGENTS.md: Cross-package dependencies should use exact versions, and the publish workflow automatically updates these. However, you should start with the latest available version.
Recommendation:
"@youdotcom-oss/api": "0.3.1"This ensures consistency across packages and access to latest bug fixes.
| * | ||
| * @public | ||
| */ | ||
| export const youSearch = (config: YouSearchConfig = {}) => { |
There was a problem hiding this comment.
Code quality: Arrow function preference
Per AGENTS.md rules (Core Conventions):
Arrow functions - Prefer
const fn = () =>overfunction fn()
Current:
export const youSearch = (config: YouSearchConfig = {}) => {✅ Good! This correctly uses arrow functions as required by the monorepo conventions.
|
|
||
| /** | ||
| * Configuration for You.com LangChain tools | ||
| */ |
There was a problem hiding this comment.
Code quality: Type vs Interface preference
Per AGENTS.MD rules (Core Conventions):
Type over interface -
type User = {instead ofinterface User {
✅ Good! All type definitions correctly use type instead of interface:
YouToolsConfig(line 25)YouSearchConfig(line 36)YouDeepSearchConfig(line 45)YouContentsConfig(line 54)
This follows monorepo conventions perfectly.
| const getUserAgent: GetUserAgent = () => `LangChain-Plugin/${packageJson.version} (You.com)` | ||
|
|
||
| /** | ||
| * You.com web search tool for LangChain |
There was a problem hiding this comment.
Documentation: TSDoc quality
Per AGENTS.md rules (Documentation):
TSDoc required for public APIs
✅ Good! All exported functions have proper TSDoc:
- Clear brief descriptions
@paramtags for configuration@returnsdescriptions@publictags
Note: The TSDoc correctly avoids @example tags (per rules: "Tests are living examples"), and the examples directory serves this purpose instead.
| @@ -0,0 +1,216 @@ | |||
| import { beforeAll, describe, expect, test } from 'bun:test' | |||
There was a problem hiding this comment.
Testing: test vs it preference
Per AGENTS.md rules (Testing):
Use test not it -
test('description', ...)instead ofit('...')
✅ Good! All tests correctly use test() instead of it():
test('youSearch - basic tool invocation', async () => { ... })
test('missing API key throws error during invocation', async () => { ... })This follows the monorepo testing conventions.
| /** | ||
| * Validates that a string field contains real, non-trivial content | ||
| */ | ||
| const expectRealString = (value: unknown, minLength = 1, fieldName = 'field') => { |
There was a problem hiding this comment.
Testing: Conditional assertions pattern
Per AGENTS.md rules (Testing):
No conditional assertions - Never
if (x) expect(x.value)
Fix: Assert condition first:expect(x).toBeDefined(); expect(x.value)...
✅ Good! The expectRealString helper correctly validates existence before accessing properties:
expect(value, `${fieldName} should be defined`).toBeDefined()
expect(typeof value, `${fieldName} should be a string`).toBe('string')
expect((value as string).length, ...).toBeGreaterThan(minLength)This avoids conditional assertions and ensures robust validation.
| Import the tools and add them to your LangChain agent: | ||
|
|
||
| ```typescript | ||
| import { createAgent, initChatModel } from 'langchain'; |
There was a problem hiding this comment.
Documentation: Incorrect import statement
The example shows importing from 'langchain' but this is not the correct import path for createAgent and initChatModel.
Current:
import { createAgent, initChatModel } from 'langchain';Issue: According to the LangChain.js documentation, these utilities may not be exported from the main langchain package entry point.
Recommendation: Verify the correct import path. Typically it should be:
import { createReactAgent } from '@langchain/langgraph/prebuilt';
import { ChatAnthropic } from '@langchain/anthropic';Or check if createAgent is a custom utility. If so, this should be documented clearly.
Note: This same pattern appears throughout the README (lines 44, 155, 159, 165, 264) and in all example files, so fixing this is critical for user success.
| @@ -0,0 +1,5 @@ | |||
| # LangChain Package | |||
There was a problem hiding this comment.
Documentation: Thin AGENTS.md philosophy
Per the documentation skill and root AGENTS.md:
Thin AGENTS.md philosophy - Package AGENTS.md files should be minimal, focusing only on package-specific patterns not covered in root AGENTS.md
✅ Excellent! This AGENTS.md is appropriately thin:
- 5 lines total
- Describes package purpose concisely
- References root AGENTS.md for monorepo conventions
- No duplication of universal patterns
This is the ideal pattern for package-level AGENTS.md files in this monorepo.
| }, | ||
| "scripts": { | ||
| "build": "bun run build:bundle && bun run build:types", | ||
| "build:bundle": "bun build src/main.ts --outdir dist --target node --external @langchain/core", |
There was a problem hiding this comment.
Build configuration: External dependencies pattern
✅ Good! The build correctly uses --external @langchain/core to avoid bundling peer dependencies:
"build:bundle": "bun build src/main.ts --outdir dist --target node --external @langchain/core"This follows the bundled package pattern from AGENTS.md:
Pattern 2: Bundled Packages - Dependencies are bundled, externals in
dependenciesorpeerDependencies
Why this is correct:
- Prevents duplication in user's node_modules
- Ensures compatibility with user's LangChain version
- Follows same pattern as ai-sdk-plugin package
The @youdotcom-oss/api dependency will be bundled (reducing user installation complexity), while @langchain/core remains external as a peer dependency.
| @@ -0,0 +1,31 @@ | |||
| name: "Package: publish @youdotcom-oss/langchain" | |||
There was a problem hiding this comment.
Workflow: Standard publish pattern
✅ Good! The workflow correctly follows the standard publish pattern from AGENTS.md:
Key points:
- Uses reusable
_publish-package.ymlworkflow - Passes required secrets (
PUBLISH_TOKEN) - Includes manual trigger with bump type selection
- Supports optional prerelease versioning
Comparison with other packages:
This matches the ai-sdk-plugin and teams-anthropic patterns exactly, avoiding the MCP-specific deployment complexity (which is unique to that package).
Correct permissions:
contents: write- For creating releases and tagsid-token: write- For NPM Trusted Publishing (OIDC)issues: write- For workflow notifications
No issues found with this workflow configuration.
There was a problem hiding this comment.
Was this file auto generated if so I need to clean up a project skill. No need for this.
| "extends": "//", | ||
| "overrides": [ | ||
| { | ||
| "includes": ["templates/**/*.ts", "src/tests/**/*.spec.ts", "examples/**/*.ts", "scripts/**/*.ts"], |
There was a problem hiding this comment.
This should not need any really config mods should just extend I'll pull the branch down and look
There was a problem hiding this comment.
we only use the root .gitignore
|
Claude finished @kevmalek's task in 4m 6s —— View job Review Summary: Significant Progress, Critical Import Issue RemainsGood news: The PR author addressed most of the previous feedback! However, there's still a critical blocker that prevents this code from working. What Was Fixed ✅The author responded excellently to feedback from @EdwardIrby:
These changes demonstrate good response to code review and adherence to monorepo patterns. Critical Issue: Invalid LangChain Imports 🔴Status: BLOCKING - This code cannot run as written Problem: The documentation and tests import from // ❌ From README.md and integration.spec.ts
import { createAgent, initChatModel } from 'langchain';Evidence: $ bun test packages/langchain/src/tests/integration.spec.ts
error: Cannot find package 'langchain' from '...integration.spec.ts'Why this is wrong:
Impact:
What needs to happen: The author needs to:
Based on LangChain.js architecture, the likely correct imports are: import { ChatAnthropic } from '@langchain/anthropic';
import { DynamicStructuredTool } from '@langchain/core/tools';
// createAgent and initChatModel may not exist, or may be in @langchain/langgraphRecommendation: The author should create a working example that actually runs, then update the documentation based on what works. What's Working Well ✅Core implementation (src/main.ts):
Package structure:
Code quality:
The tools themselves are implemented correctly - the issue is only in how the documentation shows users creating agents to use these tools. Additional ObservationsMinor concern (non-blocking): Action RequiredFor @kevmalek:
Estimated effort: 30-60 minutes to identify correct imports and update documentation Files Reviewed
Inline Comments AddedI've added detailed inline comments on:
Bottom Line: This is close to being ready, but the invalid imports make it completely non-functional. The core implementation is good - it just needs correct documentation and working tests. Once the imports are fixed and tests pass, this should be ready to merge. The author has shown good responsiveness to feedback. Just need to fix this one critical issue and we're good to go! |
|
|
||
| ```typescript | ||
| import { getEnvironmentVariable } from '@langchain/core/utils/env'; | ||
| import { createAgent, initChatModel } from 'langchain'; |
There was a problem hiding this comment.
🔴 Critical: Invalid import path
This import does not work:
import { createAgent, initChatModel } from 'langchain';Problem: Running the integration tests confirms this fails:
error: Cannot find package 'langchain' from '...integration.spec.ts'Why:
langchainis only in devDependencies (not available to users)- These functions don't export from the main
langchainpackage - LangChain.js uses scoped packages like
@langchain/core,@langchain/langgraph
Action required:
- Create a working example that actually runs
- Test it:
cd packages/langchain && bun test - Update all documentation with the correct import paths that work
This same issue appears throughout README.md (lines 164, 169, 175, 264) and in integration.spec.ts (line 2).
| @@ -0,0 +1,188 @@ | |||
| import { beforeAll, describe, expect, test } from 'bun:test' | |||
| import { createAgent, initChatModel } from 'langchain' | |||
There was a problem hiding this comment.
🔴 Critical: Tests cannot run
This import fails:
import { createAgent, initChatModel } from 'langchain'Test result:
$ bun test packages/langchain/src/tests/integration.spec.ts
error: Cannot find package 'langchain' from '...integration.spec.ts'Fix: Find the correct import path for these functions in the LangChain.js packages, then update both tests and documentation.
The tests must pass before this PR can be merged.
| @@ -0,0 +1,4 @@ | |||
| { | |||
| "root": false, | |||
| "extends": "//" | |||
There was a problem hiding this comment.
✅ Good fix!
Perfect - now properly extends root config without package-specific overrides. This matches the monorepo pattern where only root biome.json has configuration.
Note: Unlike ai-sdk-plugin which has overrides for templates/**/*.ts and tests, this package has no such overrides. Since there are no templates or examples anymore, this is appropriate.
| @@ -0,0 +1,137 @@ | |||
| import { DynamicStructuredTool } from '@langchain/core/tools' | |||
There was a problem hiding this comment.
✅ Correct imports!
The core implementation properly imports from @langchain/core/tools - this is the right pattern. The DynamicStructuredTool import is correct and will work for users.
The issue is only in the documentation/test examples that show how to use these tools with LangChain agents. The tools themselves are implemented correctly.
| }, | ||
| "types": "./dist/main.d.ts", | ||
| "dependencies": { | ||
| "@youdotcom-oss/api": "0.3.3" |
There was a problem hiding this comment.
✅ Good fix!
Updated from 0.3.0 to 0.3.3 - now using the latest version of @youdotcom-oss/api. This addresses the previous review feedback about version mismatches.
| }, | ||
| "scripts": { | ||
| "build": "bun run build:bundle && bun run build:types", | ||
| "build:bundle": "bun build src/main.ts --outdir dist --target node --external @langchain/core", |
There was a problem hiding this comment.
✅ Correct bundled pattern
Good - using --external @langchain/core to avoid bundling the peer dependency. This follows the same pattern as ai-sdk-plugin and ensures users don't get duplicate LangChain packages in their node_modules.
Build configuration is correct.
| const truncateContent = (content: string, maxLength: number): string => { | ||
| if (content.length <= maxLength) return content | ||
| return `${content.slice(0, maxLength)}\n\n[Content truncated at ${maxLength.toLocaleString()} characters]` | ||
| } |
There was a problem hiding this comment.
Why are we truncating content? Is that a langchain thing?
There was a problem hiding this comment.
missed this, it needs to go. It was to debug why my tool wasn't working as expected. Turns out it was unrelated to context length
|
Claude finished @kevmalek's task in 2m 41s —— View job Code Review: Latest PushTodo List:
All Previously Identified Issues Are Fixed ✅Every item from the last review has been addressed:
Remaining Issues🟡 Medium: Async error handling tests pass vacuouslyLocation: The // ❌ These pass vacuously — the lambda returns a Promise, not a thrown exception
expect(() => searchTool.invoke({ query: 'test' })).toThrow(/YDC_API_KEY is required/)
expect(() => searchTool.invoke({ query: 'test' })).toThrow()
The fix: // ✅ Correct: await the rejected promise
await expect(searchTool.invoke({ query: 'test' })).rejects.toThrow(/YDC_API_KEY is required/)
await expect(searchTool.invoke({ query: 'test' })).rejects.toThrow()🟡 Medium: Error handling tests gated behind unnecessary API key requirementLocation: The outer // These tests pass apiKey: '' or 'invalid-key-format'
// They don't hit the actual API, yet they're blocked if YDC_API_KEY isn't in env
test('missing API key throws error during invocation', async () => {
const searchTool = youSearch({ apiKey: '' })
...
})Moving 🔵 Minor:
|
|
Claude finished @kevmalek's task in 1m 21s —— View job Code Review: Latest PushTodo List:
All Previously Identified Issues Are Fixed ✅Every item from the last review has been addressed:
No New Issues FoundQuick scan of current state:
SummaryThis PR is ready to merge. The implementation is clean, the tests are correctly structured, and all prior feedback has been addressed. The core tools ( | Branch | |
|
Claude finished @kevmalek's task in 1m 19s —— View job Code Review: Latest PushTodo List:
Latest Change: Dependency Version Alignment ✅The only change in this push is a peer dependency version bump: "peerDependencies": {
- "@langchain/core": ">=0.3.58",
+ "@langchain/core": ">=1.1.26",
"langchain": ">=1.0.0"
}This is correct. The previous minimum All Previous Issues Remain Fixed ✅Confirmed the state of all items from prior reviews:
One Minor Observation (Non-blocking)
"build:types": "tsc --project tsconfig.build.json --declaration ..."There's a stray double space between SummaryThis PR is ready to merge. The dependency version alignment in this latest commit is correct and improves compatibility guarantees for users. The implementation is clean, tests are properly structured, and all prior feedback has been incorporated. The double-space in | Branch | |
|
Claude finished @kevmalek's task in 1m 19s —— View job Code Review: Latest PushTodo List:
Latest Change: AI Agent Skills Section ✅The only change in this push is a new ## AI Agent Skills
**For LangChain.js Integration**: Use the [ydc-langchain-integration](...) skill to quickly integrate You.com tools with your LangChain.js applications.This is a good addition. It matches the pattern documented in root AGENTS.md for cross-platform integration skills:
The section is well-placed (before "Getting started"), uses the correct install command format, and is concise. All Previous Issues Remain Fixed ✅
One Note (Non-blocking)The linked skill path Cosmetic (Not blocking merge)Double space in "build:types": "tsc --project tsconfig.build.json --declaration ..."SummaryThis PR is ready to merge. The new AI Agent Skills section is a clean, well-positioned addition that correctly references the agent-skills repository pattern. All previously identified issues remain resolved. The core implementation ( |
…r handling Remove duplicate API key checks in youSearch/youContents tool functions that were handled upstream, and simplify 402 error parsing in search utils to use direct schema.parse instead of try/catch safeParse pattern. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Claude finished @EdwardIrby's task in 2m 36s —— View job Code Review: Latest PushTodo List:
Latest Change: API Key Validation CleanupThe latest commit (
|
| Issue | Status |
|---|---|
langchain in peerDependencies + --external build flag |
✅ |
Install instructions include langchain |
✅ |
| Stale truncation TSDoc removed | ✅ |
| Stale "may be truncated" tool description removed | ✅ |
AGENTS.md link → ../../AGENTS.md |
✅ |
@langchain/core peer version >=1.1.26 |
✅ |
Async .rejects.toThrow() for error handling tests |
✅ |
Error Handling block at top-level describe |
✅ |
BaseMessage type instead of any in tests |
✅ |
| AI Agent Skills section in README | ✅ |
Cosmetic (Non-blocking)
Double space in package.json:47 from a previous review still present:
"build:types": "tsc --project tsconfig.build.json --declaration ..."Summary
This is a clean simplification commit. The main.ts changes are correct; the search.utils.ts change trades defensive safeParse for simpler parse, which is low-risk given all schema fields are optional. The Error Handling test is appropriately updated to match the new behavior.
This PR is ready to merge. The one medium-priority note about schema.parse vs safeParse doesn't require changes — just awareness that 402 responses with non-JSON bodies would surface as ZodError rather than the user-friendly fallback message.
| Branch | |
…command patterns Update AnthropicModel enum to include current Claude 4.6 series (Opus 4.6, Sonnet 4.6, Haiku 4.5) as latest models, retaining 4.5 series as previous generation and Haiku 3 as deprecated legacy. Remove obsolete 3.5 series entries. Update all tests, README examples, and integration spec to reflect new model IDs. Also update AGENTS.md to enforce running all commands from repo root via bun --cwd instead of cd-ing into package directories, and add Learnings section. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Claude finished @EdwardIrby's task in 1m 53s —— View job Code Review: Latest PushTodo List:
Latest Change: Claude 4.6 Models + AGENTS.md CleanupThe latest commit ( All Previously Identified Issues Remain Fixed ✅
Observations on Latest Commit
New enum values are correct: CLAUDE_OPUS_4_6 = 'claude-opus-4-6',
CLAUDE_SONNET_4_6 = 'claude-sonnet-4-6',
CLAUDE_HAIKU_4_5 = 'claude-haiku-4-5-20251001',The lack of date suffix on Opus/Sonnet 4.6 is consistent with Anthropic's current convention for those models. The deprecation notice on
Updated assertions match the new enum values. The test structure remains sound.
The updated Minor Observations (Non-blocking)Stale test comment ( // Check structure without checking the exact tool_use_id (it's generated)
expect(content[0]?.tool_use_id).toBeDefined()The comment says "it's generated" but the implementation now sets Double space in "build:types": "tsc --project tsconfig.build.json --declaration ..."SummaryThis PR is ready to merge. All critical and medium issues from previous rounds of review have been resolved. The latest commit is a clean model version update to The two minor observations above do not warrant blocking the merge. | Branch | | |
…ll docs Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Claude finished @EdwardIrby's task in 2m 42s —— View job Code Review: Latest PushTodo List:
Latest Change: Remove
|
| Issue | Status |
|---|---|
Async .rejects.toThrow() for error handling tests |
✅ |
Error Handling block at top-level describe |
✅ |
BaseMessage type instead of any in tests |
✅ |
langchain in peerDependencies + --external build flag |
✅ |
| Stale truncation TSDoc removed | ✅ |
| Stale "may be truncated" tool description removed | ✅ |
AGENTS.md link → ../../AGENTS.md |
✅ |
@langchain/core min version bump to >=1.1.26 (now removed) |
— |
| Redundant API key validation removed | ✅ |
| AI Agent Skills section in README | ✅ |
Cosmetic (Non-blocking, flagged three times now)
Double space in package.json:47 persists:
"build:types": "tsc --project tsconfig.build.json --declaration ..."Summary
This is a clean simplification. The removal of @langchain/core from peerDependencies and install instructions reduces friction for the majority of users. The one subtle trade-off is that pnpm users with strict mode may hit resolution issues due to the implicit transitive dependency — but this is low risk given the target audience.
The CI failure is a pre-existing hook timeout, not caused by this PR.
This PR is ready to merge.
| Branch | |
|
Claude finished @EdwardIrby's task in 1m 55s —— View job Code Review: Latest PushTodo List:
Latest Change: Re-add
|
| Issue | Status |
|---|---|
langchain in peerDependencies + --external build flag |
✅ |
@langchain/core in peerDependencies |
✅ Restored |
Install instructions now include both langchain + @langchain/core |
✅ Fixed |
| Stale truncation TSDoc removed | ✅ |
| Stale "may be truncated" tool description removed | ✅ |
AGENTS.md link → ../../AGENTS.md |
✅ |
@langchain/core min version >=1.1.26 |
✅ |
Async .rejects.toThrow() for error handling tests |
✅ |
Error Handling block at top-level describe |
✅ |
BaseMessage type instead of any in tests |
✅ |
| Redundant API key validation removed | ✅ |
| AI Agent Skills section in README | ✅ |
Cosmetic (Non-blocking, flagged four times now)
Double space in package.json:47 persists:
"build:types": "tsc --project tsconfig.build.json --declaration ..."Summary
The @langchain/core peer dependency restoration is correct. The install instructions are now consistent with peerDependencies. CI is in progress — no blocking issues remain.
| Branch | |
…peerDependencies Co-authored-by: Edward Irby <edward@you.com>
Build step during CI exceeds the 5s default Bun timeout. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…-oss/dx-toolkit into dx-246-langchainjs-integration
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Claude finished @EdwardIrby's task in 4m 34s —— View job Code Review: Latest PushTodo List:
Latest Changes: Cleanup and AlignmentThe latest push (
All Previously Identified Issues: Resolved ✅
CI StatusInternal Contributor Review failed due to a workflow configuration issue — the review workflow rejected the trigger because it was initiated by the CI and Semgrep are still in progress. SummaryThis PR is ready to merge once CI passes. All code review feedback across the full review cycle has been addressed. The implementation is clean, the tests are correctly structured, and the package follows monorepo conventions throughout. | Branch | | |
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Claude finished @EdwardIrby's task in 2m 5s —— View job Code Review: Latest PushTodo List:
Changes Since Last ReviewTwo commits:
Issue Found and FixedREADME install instructions were inconsistent with
Before: npm install @youdotcom-oss/langchain langchain @langchain/coreAfter: npm install @youdotcom-oss/langchain langchainNote on the All Previously Identified Issues ✅
SummaryThis PR is ready to merge. CI is in progress. All previously identified issues are resolved, and the two fixes I pushed (README install instruction alignment and | Branch | | |
…fix typo in build script Remove @langchain/core from README install instructions to match package.json peerDependencies (langchain transitively provides @langchain/core). Also fix double space in build:types script. Co-authored-by: Edward Irby <undefined@users.noreply.github.com>
DX-246: Langchain.js Integration