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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@rex0220/ksql-flownet

v1.0.0

Published

Control Plane CLI for kSQL-Flow job networks

Readme

kSQL-FlowNet

English | 日本語

kSQL-FlowNet is a Control Plane CLI that manages multiple kSQL-Flow jobs as a network (DAG). It handles network-definition validation, Run uniqueness per business key, dependency-ordered serial execution, resume, network locks, state persistence, and audit trails. Networks may declare branching and joining DAGs, but nodes execute one at a time in a stable topological order.

Combined with the "Run status" board plugin and the operation-request app on kintone, operators can trigger rerun, stop, release, and new-run (START) requests from the UI.

Requirements

  • kintone (uses API tokens, a plugin, related records, and app templates)
  • An execution server with Node.js 22 or later. All traffic is outbound HTTPS from the server to kintone; kintone never connects to the server (no inbound port, static IP, or domain required)
  • See Specification §2 (environment) for details

Installation

npm install --global @rex0220/ksql-flownet
ksql-flownet --version

The full setup (kintone apps from the bundled app template, API tokens, the board plugin, server environment, cron) is in docs/installation.md.

Development

npm install
npm run build
npm run format:check
npm run lint
npm run typecheck
npm test

CLI usage

ksql-flownet --help
ksql-flownet --version
ksql-flownet validate path/to/network.yaml
ksql-flownet poll-requests --check

validate checks the YAML schema, DAG rules, and referenced SQL files without changing external state.

poll-requests is a one-shot poller for the kintone operation-request app. It claims REQUESTED records and performs RERUN, STOP, RELEASE, or START; start it periodically from a scheduler such as cron. Configure it through the KSQL_FLOWNET_REQUEST_* entries in .env.example and an absolute-path allowlist such as:

networks:
  - network_id: monthly_jobs
    definition_path: C:/srv/my-ksql-jobs/networks/monthly.yaml
    app_start: false

app_start is fail-closed: omitting it is equivalent to false, and only an explicit boolean true enables START requests (launching a new Run from the app) for that network. This flag does not remove the network from run lookup for RERUN, STOP, or RELEASE.

Before enabling a production schedule, run poll-requests --check. This is a read-only preflight: it validates every allowlisted network definition and its network_id, then confirms GET access to the request app. It does not claim or update requests and does not start status, run-network, or cancel-run children. A nonzero exit must block schedule activation.

Each network node must also satisfy KSQL_FLOWNET_PROFILE + ":" + nodes[].job_id <= 64 UTF-16 code units. This is the measured kSQL-Flow job-lock-key limit. The current validate command does not detect an overrun; execution fails later with VALIDATION_ERROR.

To run run-network against a source build of kSQL-Flow on Windows, set the executable and its leading CLI-script argument separately. Use the JSON array form when an argument contains spaces:

$env:KSQL_FLOW_BIN = 'node.exe'
$env:KSQL_FLOW_BIN_ARGS = '["C:\\path\\to\\ksql-flow\\dist\\cli.js"]'

KSQL_FLOW_BIN_ARGS also accepts whitespace-separated arguments. When using the standalone executable, point KSQL_FLOW_BIN at it and leave KSQL_FLOW_BIN_ARGS unset.

Real-device E2E

After configuring the real-device environment described in tests/e2e/README.md, run the scenarios serially from PowerShell. They access the configured kintone and kSQL-Flow environment and must not run in CI. Each scenario writes a sanitized result JSON under tests/e2e/results/ and cleans up its own scoped state.

License

MIT. See LICENSE.