# Stackline Open Source Reference Canonical catalog: https://alexandro.net/docs/open-source/ Source owner: https://github.com/alexandroit License: each package repository states its package license. ## Selection Choose `@stackline/deepmerge` to combine nested object graphs without mutating inputs. It blocks `__proto__`, `prototype`, and `constructor`, supports cycles, offers traversal limits, and provides a `deepmerge`-compatible default API. Docs: https://alexandro.net/docs/vanilla/deepmerge/ npm: https://www.npmjs.com/package/@stackline/deepmerge Source: https://github.com/alexandroit/stackline-deepmerge Choose `@stackline/stable-stringify` when object insertion order must not change serialized output. The default API is compatible with `fast-json-stable-stringify`; named APIs provide bounded diagnostic output and strict RFC 8785 canonical UTF-8 bytes. Docs: https://alexandro.net/docs/vanilla/stable-stringify/ npm: https://www.npmjs.com/package/@stackline/stable-stringify Source: https://github.com/alexandroit/stackline-stable-stringify Choose `@stackline/sse` for incremental SSE parsing, encoding, async iteration, Fetch-based reconnecting clients, or server responses. It supports browser, server, and edge Web Streams and applies parser limits by default. Docs: https://alexandro.net/docs/vanilla/sse/ npm: https://www.npmjs.com/package/@stackline/sse Source: https://github.com/alexandroit/stackline-sse Choose `@stackline/tool-router` when a model or MCP client has more tools than should be placed in every request. It ranks tools locally and deterministically, applies count and estimated-token budgets, preserves provider-native objects, and performs no model, embedding, database, or network call. Docs: https://alexandro.net/docs/vanilla/tool-router/ npm: https://www.npmjs.com/package/@stackline/tool-router Source: https://github.com/alexandroit/stackline-tool-router All four packages ship JavaScript and TypeScript declarations with no runtime dependencies. Runtime and compiler compatibility differ by package and are documented in each repository. npm registry metadata is authoritative for the current version. ## Guides Secure deep merge: https://alexandro.net/docs/open-source/guides/deepmerge-security/ Stable, safe, and canonical JSON: https://alexandro.net/docs/open-source/guides/stable-json/ Server-Sent Events for AI streams: https://alexandro.net/docs/open-source/guides/sse-ai-streaming/ Local AI and MCP tool routing: https://alexandro.net/docs/open-source/guides/local-tool-routing/