TypeScript · LangChain · Stage 3 decorators

Typed tools.
Explicit boundaries.

Published @theorvane/type-chain@0.1.1 makes LangChain JS tools and agents easier to author without hiding schemas, policy, or application ownership.

@Tool({ name: "find_product",
  description: "Find a product.",
  schema: z.object({ id: z.string() })
})
findProduct({ id }: { id: string }) {
  return catalog.get(id);
}

Ownership map

Tools that fit.
Ownership stays.

Integration is explicit without transferring runtime authority from your application.

01

Declare

Use Stage 3 decorators to place names, descriptions, and schemas beside real methods.

02

Define

Read immutable, receiver-bound definitions without hiding the contract.

03

Adapt

Create LangChain tools or use the in-process TypeMCP bridge through focused adapters.

04

Own

Keep models, credentials, authorization, policy, state, hosting, and deployment in the application.

Runtime boundary

Metadata in.
Ownership stays out.

  1. 01DeclareUse Stage 3 decorators to place names, descriptions, and schemas beside real methods.
  2. 02DefineRead immutable, receiver-bound definitions without hiding the contract.
  3. 03AdaptCreate LangChain tools or use the in-process TypeMCP bridge through focused adapters.
  4. 04OwnKeep models, credentials, authorization, policy, state, hosting, and deployment in the application.

Get started

Start with a tool.
Keep the system yours.