npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

bflow-sdk

v1.0.0

Published

SDK for creating and executing bflow workflows

Readme

BFlow SDK

A lightweight SDK for creating and executing BFlow workflows.

Installation

npm install bflow-sdk
# or
yarn add bflow-sdk
# or
bun add bflow-sdk

Usage

Initializing the client

import BFlow from "bflow-sdk";

// Initialize with your API key
const bflow = new BFlow("your-api-key");

Creating workflows

// Create a workflow with multiple actions
const workflowInput = {
  name: "My Workflow",
  actions: [
    {
      type: ActionType.METEORA,
      name: "Meteora LP Action",
      node: meteoraNode // Node configuration object
    },
    {
      type: ActionType.JUPITER,
      name: "Jupiter Swap Action",
      node: jupiterNode // Node configuration object
    },
    {
      type: ActionType.TRANSFER,
      name: "Transfer Action",
      node: transferNode // Node configuration object
    }
  ]
};

const createdWorkflow = await bflow.createWorkflow(workflowInput);

Working with workflows

// Get all workflows
const allWorkflows = await bflow.getWorkflows();

// Get specific workflows by name
const transferWorkflow = await bflow.getWorkflows(["transfer workflow"]);

// Execute a workflow
const result = await transferWorkflow[0].execute();

// Execute a workflow directly with custom nodes
const customResult = await bflow.executeWorkflow(customNodes);

// Get workflow instructions (nodes)
const instructions = await transferWorkflow[0].instructions();

API Reference

BFlow Class

constructor(apiKey: string)

Creates a new BFlow client instance with the provided API key.

async getWorkflows(workflowNames?: string[]): Promise<Workflow[]>

Fetches workflows from the API.

  • workflowNames: Optional array of workflow names to filter by.
  • Returns: Array of workflow objects with methods for execution and instruction retrieval.

async createWorkflow(input: CreateWorkflowInput): Promise<any>

Creates a new workflow with the specified name and actions.

  • input: Object containing workflow name and actions.
  • Returns: The created workflow data.

async executeWorkflow(nodes: WorkflowAction[]): Promise<any>

Executes a workflow with the provided nodes.

  • nodes: Array of workflow action nodes.
  • Returns: Execution result from the transaction API.

Workflow Object

Each workflow object has the following properties and methods:

  • id: Unique identifier (UUID)
  • name: Workflow name
  • actions: Array of workflow actions

async instructions(): Promise<WorkflowAction[]>

Returns the parsed node instructions for the workflow.

async execute(customPublicKey?: string): Promise<any>

Executes the workflow by sending instructions to the transaction API.

License

MIT