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

@autoschedule/queries-scheduler

v3.2.3

Published

Queries scheduler

Readme

Queries Scheduler

Place queries on a timeline.

Build Status Maintainability Test Coverage code style: prettier semantic-release Commitizen friendly Greenkeeper badge npm version

workflow: queries -> schedule

needs:

  • once material is placed, don't replace it. Causes loops. Temporary query instead. (Current behavior is different: potentials and materials streams are re-compute after each mutation and we check for stability. Cause issue: updatePP isn't accurate. Stick to first strategy)

operations:

  • place potentials with most pressure.
  • When all possible queries are placed and some potentials are left, throw exception. New provider query is pushed (send needer id so provider query can have a direct dependency). Can now be placed thanks to user state potential.
  • Temp Queries: fixes from agent feedback, placeholder, content with transforms.
  • two ways to provide: provider depends on needed task; needed task depends on provider.
  • tasks with zero potential have pressure of -1 instead of +Infinity.
  • task potential = intersection of query potential (internal constraints) + query dependencies + user state potential + materials.
  • impossible to place (material time) => throw exception. (conflict)
  • query that occurs x time before/after state: Link to material that update state -> link field, queries-scheduler module.
  • How to allow link to a material from another agent ? Could be after the second phase, when agent receive queries's context. (Link to an ID)
  • Only one exception is permitted: conflict error that needs user. Others are caught (from userstate) with conflict-resolver
  • providers handle is complex. Use priority list. Can cause side-effect conflict. How to go back to the source of conflict ? How to switch from 1st priority to another ? Simulation with satisfaction threshold for all materials ? heavy cost (recursive and exponential, due to provider sub-dependance to other providers).
  • Agents -> queries ; conflict-resolver (error): query -> agent ; manage agents as a stream

when the stream complete without error, it should be the final timeline.

schedule (tasks (materials)):

  • tasks (potentials)

tasks (potentials):

  • queries
  • tasks (potentials)
  • tasks (materials)
  • user state (potentials)
  • user state (materials)

tasks with needs:

  • tasks (materials)
  • agent service

Stream:

  1. agent queries
  2. user interaction
  3. [1, 2] queries
  4. [3, 5] queries with temp
  5. [4, 5, 7] tasks (potential) - use user-state function on tasks (potential & material)
  6. [5] tasks (material)
  7. [7] needs and fixes, placeholder fill or validate

a. Catch errors from [7] => generate new queries at [1].

Module: [1] queries-fn [2, 3] main app [4, 5, 7] queries-scheduler userstate-manager [a] conflic-resolver [b] agent-relay

Module a: if provider is impossible to place, either there is no need for it, or there is a conflict. Use user-state to determine. userstate-manager: query + (potential/material) with needs + config + base needs => ranges of possibilities

Queries restrictions:

  • provider (insert/update with 'wait: true' can't specify start/end) -> will prevent correct material placement order.