agentcrumbs

child()

Create child trails with inherited context

crumb.child(context)

Create a child trail with inherited context data. Context is merged and propagated through all crumbs.

import { trail } from "agentcrumbs"; // @crumbs
const crumb = trail("api-gateway"); // @crumbs

function handleRequest(req: Request) {
  const reqCrumb = crumb.child({ requestId: req.id, userId: user.id }); // @crumbs
  reqCrumb("handling request", { path: req.path }); // @crumbs
  // crumb output includes ctx: { requestId: "abc", userId: "123" }
}

Parameters

ParameterTypeDescription
contextRecord<string, unknown>Context data to merge into all crumbs from this child

Return value

Returns a new trail function with the same API. All crumbs emitted include the merged context.

Nesting children

Children can have children. Context merges at each level:

const reqCrumb = crumb.child({ requestId: "abc" }); // @crumbs
const dbCrumb = reqCrumb.child({ database: "primary" }); // @crumbs
dbCrumb("running query"); // @crumbs
// ctx: { requestId: "abc", database: "primary" }

When disabled

child() returns the same frozen noop object. No allocation occurs.

On this page