Skip to main content
Home
This release is a pre-release — the latest non-prerelease version of @fathym/synaptic is 0.0.297. Jump to this version

@fathym/synaptic@0.0.319-hmis
Built and signed on GitHub Actions

It is unknown whether this package works with Cloudflare Workers, Node.js, Deno, Bun, Browsers
It is unknown whether this package works with Cloudflare Workers
It is unknown whether this package works with Node.js
It is unknown whether this package works with Deno
It is unknown whether this package works with Bun
It is unknown whether this package works with Browsers
JSR Score
52%
Published
a week ago (0.0.319-hmis)

FrontmatterVersion: 1 DocumentType: Guide Title: Fathym Synaptic Summary: Deno-first micro-framework for building AI agents and circuits with fluent builders and Everything-as-Code output. Created: 2025-11-20 Updated: 2025-11-20 Owners:

  • fathym References:
  • Label: Micro-Frameworks README Path: ../README.md
  • Label: Micro-Frameworks AGENTS Path: ../AGENTS.md
  • Label: Micro-Frameworks GUIDE Path: ../GUIDE.md
  • Label: Workspace README Path: ../../README.md
  • Label: Workspace AGENTS Path: ../../AGENTS.md
  • Label: Workspace GUIDE Path: ../../WORKSPACE_GUIDE.md
  • Label: Project AGENTS Guide Path: ./AGENTS.md
  • Label: Project GUIDE Path: ./GUIDE.md

Synaptic Cover

Synaptic

Deno-first framework for building AI agents as composable circuits with strong typing, Everything-as-Code (EaC), and a fluent builder API.

  • Goal: let you compose neurons, tools, memory, and state into repeatable circuits that run across runtimes.
  • Outputs: fluent builders, EaC artifacts, examples, and supporting runtime notes.
  • Status: early preview—APIs may change.

Why Synaptic

  • Strong typing and fluent builders (circuits, neurons, resources).
  • Everything-as-Code for portable artifacts.
  • Deno-first with npm interop; extensible with tools, personalities, retrievers, vector stores.

Quick Start (Fluent API)

import {
  ChatPromptNeuronBuilder,
  LinearCircuitBuilder,
} from "jsr:@fathym/synaptic/fluent";

const prep = new ChatPromptNeuronBuilder("prep", {
  Instructions: ["Summarize the user input in one short sentence."],
  Messages: [{ role: "user", content: "{input}" }],
});

const agent = new ChatPromptNeuronBuilder("agent", {
  Instructions: ["Answer like a pirate. Keep it concise."],
});

const circuit = new LinearCircuitBuilder()
  .Neuron(prep)
  .Neuron(agent)
  .Chain(prep, agent)
  .Build();

export const eac = {
  Circuits: {
    "quick-start": { Details: circuit },
  },
};

See docs/fluent/quick-start.mdx and docs/fluent/migration-guide.mdx for more patterns.

Features

  • Fluent circuit builders (LinearCircuitBuilder, GraphCircuitBuilder).
  • Prompt neurons and agent neurons with tool calling.
  • Resource builders (personalities, embeddings, retrievers, vector stores).
  • Typed state and portable EaC output for runtimes.

Runtimes

This package models and builds circuits; use a compatible runtime to execute them (runtime/ contains notes and pointers).

Development

  • Format: deno fmt
  • Lint: deno lint
  • Type check: deno check **/*.ts and deno check **/*.tsx
  • Full build: deno task build
  • Tests: deno task test

Project Structure

  • src/fluent/: fluent builders for circuits, neurons, state, resources.
  • src/eac/: Everything-as-Code types/validators.
  • src/circuits/, src/runnables/, src/memory/: building blocks and utilities.
  • docs/fluent/: quick start and migration guides.
  • docs/reference/: builder references (circuits, neurons, tools, persistence, state, retrievers, vector stores).
  • runtime/: notes for runtime packages consuming Synaptic.

We welcome feedback and issues as the API stabilizes.

Built and signed on
GitHub Actions

New Ticket: Report package

Please provide a reason for reporting this package. We will review your report and take appropriate action.

Please review the JSR usage policy before submitting a report.

Add Package

deno add jsr:@fathym/synaptic

Import symbol

import * as synaptic from "@fathym/synaptic";
or

Import directly with a jsr specifier

import * as synaptic from "jsr:@fathym/synaptic";

Add Package

pnpm i jsr:@fathym/synaptic
or (using pnpm 10.8 or older)
pnpm dlx jsr add @fathym/synaptic

Import symbol

import * as synaptic from "@fathym/synaptic";

Add Package

yarn add jsr:@fathym/synaptic
or (using Yarn 4.8 or older)
yarn dlx jsr add @fathym/synaptic

Import symbol

import * as synaptic from "@fathym/synaptic";

Add Package

vlt install jsr:@fathym/synaptic

Import symbol

import * as synaptic from "@fathym/synaptic";

Add Package

npx jsr add @fathym/synaptic

Import symbol

import * as synaptic from "@fathym/synaptic";

Add Package

bunx jsr add @fathym/synaptic

Import symbol

import * as synaptic from "@fathym/synaptic";