Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Native In-Memory SDKs (TypeScript & Rust) to Eliminate sam-node Sidecar

Open
#480 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
ai-infra-agents, android, ar-vr-xr, audio-video-rtc, autonomous-driving, aws, azure, backend-api-design, bioinformatics, blender, blockchain, build-system, cli, cloud, compilers, computer-graphics, computer-vision, content, cryptography, cypress, data-engineering, data-visualization, databases, design, desktop-dev, devops, devtools, distributed-systems, docker, documentation, drupal, embedded-iot, eslint, figma, fintech-quant, firebase, game-dev, gcp, git, github, github-actions, gitlab, go, graphql, gsoc, hacktoberfest, hpc, hugo, internationalization, ios, javascript, jekyll, kubernetes, localization, machine-learning, macos, mobile-dev, neovim, networking, node.js, observability-sre, openapi, operating-systems, performance, playwright, postman, python, release, reverse-engineering, robotics, rust, search, season-of-docs, security, stream-processing, supabase, testing-qa, typescript, vite, vscode, wasm, web-dev, webpack, wordpress

Research direction

The issue proposes building native SDKs in TypeScript and Rust to replace the sam-node sidecar. Start by examining the existing Go implementation (sam-node) to understand the libp2p transport and Biscuit authorization logic. Then, look at the js-libp2p and rust-libp2p libraries, and the Biscuit Datalog engine for WebAssembly compilation. The goal is to create a single-process integration, so explore how to combine these components into an in-memory SDK that exposes a Model Context Protocol (MCP) interface. Check for any existing SDK code or examples in the repository to understand the current architecture.

Written by the indexing model from the issue text.

Description

Currently, integrating an AI agent with the Agent Mesh requires running the sam-node Go binary as a separate background daemon or Kubernetes sidecar. While this successfully isolates the libp2p transport and Biscuit authorization logic, it introduces significant developer friction. It forces developers to manage localhost IPC/ports, breaks lightweight serverless deployments (e.g., Cloud Run, Modal, AWS Lambda), and fragments OpenTelemetry tracing between the agent application and the network layer.

Since libp2p is designed to be embeddable and already has mature implementations in both JavaScript (js-libp2p) and Rust (rust-libp2p), we request native, in-memory SAM SDKs for these languages.

  • ​TypeScript/Node: Combine js-libp2p with a WebAssembly (Wasm) compiled Biscuit Datalog engine so Node/Edge agents can evaluate mesh policies in-memory.
  • ​Rust (and Python via PyO3): Leverage rust-libp2p alongside the native Rust biscuit-auth crate for embedded, high-performance edge agents.

​This SDK-first approach would allow developers to connect to the mesh and expose Model Context Protocol (MCP) tools within a single process space (e.g., const mesh = new AgentMesh(...)), completely eliminating the infrastructure overhead of sidecars.

Idially it should integrate seamless with agentic platforms https://northflank.com/blog/top-fly-io-sprites-alternatives-for-secure-ai-code-execution-and-sandboxed-environments and allow platform teams that use kubernetes or other self managed platform to integrate easily.

Dominant language
Go
Stars
926
Forks
138
Avg merge
11h 34m
Merged PRs (30d)
117

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from google/sam

All issues in google/sam

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.