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

@awarevue/agent-sdk

v2.0.29

Published

SDK for building Agent implementations that speak the Aware protocol.

Downloads

2,679

Readme

Agent Typescript SDK

An SDK that helps build an agent in Javascript / Typescript. An agent is a process written in any programming language, responsible for connecting devices of partner technologies in the area of perimeter security.

Agent Responsibilities and Guidelines

AWARE platform is a one-stop shop for monitoring and controlling perimeter security equipment including but limited to, CCTV cameras, electronic door locks, motion sensors, IO boards ... etc. This is all achieved by agents where each agent specializes in one technology and connects to devices of that technology to source state updates, events and run commands forwarded by AWARE platform. Also, it is responsible for updating access control policies based on the master policies defined in AWARE.

State, Events and Commands

The general mental model / abstraction of a device in AWARE deals with 3 concepts:

  • State Updates: For each device, there is an object of certain shape that describes the current state of a device. Agents are expected to continuously emit those state updates once they're started
  • Events: For each device, there are types of events that can take place and the agent's responsibility is to communicate those with low latency to AWARE adhering to the structure of these standard events per device type
  • Commands: Depending on device type (camera, door ... etc), platform users can issues commands to run on devices. Those commands are executed by an agent responsible for that particular tehchnology / partner system.

Access Control

Another area that an agent deals with is access control policies. Access control policies are about which person can access which resource at what time. Those access policies are defined in AWARE platform but they're distributed to partner systems via agents. When a user changes an access policy. Access control policies are stored and managed according to the following object model:

  • Persons: Persons are people who are expected to be relevant in a facility
  • Schedules: Weekly time tables that specify include time ranges. Typically, schedules are used by access rules to set when a collection of people can access a collection of resources (devices)
  • Access Rules: Each access rule contains info about which collection of people can access which collection of resources at certain time schedules
  • Zones: a zone is a non-overlapping physical grouping of resources

AWARE platform will propagate those changes to agents on two phases:

  • Validation phase: AWARE will send a message mentioning all the changes (mutations) of access control objects. Mutations are either merges or deletes
  • Apply Phase: Upon successful validation, the agent will be sent a message to apply the changes on the partner system. Applying the changes MUST be idempotent. That includes adding, updating or removing. Operations must always be able to recover if the partner system access objects have been manipulated outside AWARE platform. Taht includes cases like assigning a token to a person where the token has been assigned to someone else on the partner system, or update an object that no more exists in the partner system.

In both, validation and apply phases, the platform will send along all the reference translations for all objects mentioned in change descriptions. It is expected that the agent will inspect the shared references to makes sure they are still valid and to complain if there are objects that do not have needed references.