New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@casual-simulation/causal-tree-client-socketio

Package Overview
Dependencies
Maintainers
2
Versions
105
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@casual-simulation/causal-tree-client-socketio - npm Package Versions

1
11

1.1.18

Diff

Changelog

Source

V1.1.18

Date: 7/10/2020

Changes:

  • :rocket: Improvements

    • Improved the player.run() function to return a promise that can be awaited to get the result of the script (or wait until the script has been executed).
    • Improved the server.loadErrors() function to return a promise that can be awaited to get the list of bots that were loaded.
    • Improved the server.destroyErrors() function to return a promise that resolves once the error bots are destroyed.
    • Improved the server.loadFile() function to return a promise that resolves once the file is loaded.
    • Improved the server.saveFile() function to return a promise that resolves once the file is saved.
    • Improved the server.setupStory() function to return a promise that resolves once the story is setup.
    • Improved the server.browseHistory() function to return a promise that resolves once the history is loaded.
    • Improved the server.markHistory() function to return a promise that resolves once the history is saved.
    • Improved the server.restoreHistoryMark() function to return a promise that resolves once the history is restored.
    • Improved the server.restoreHistoryMarkToStory() function to return a promise that resolves once the history is restored.
    • Added the @onBotAdded and @onAnyBotsAdded listen tags.
      • These are triggered whenever a bot is added to the local story.
      • Note that this is different from @onCreate because you will be notified whenever a bot is added to the state even if it has already been created.
      • An example of this are bots in the otherPlayers space. You cannot create bots in this space but you will be notified via @onBotAdded and @onAnyBotsAdded.
      • @onBotAdded is triggered on the bot that was added. There is no that.
      • @onAnyBotsAdded is triggered on every bot whenever one or more bots are added.
        • that is an object with the following properties:
          • bots - The array of bots that were added.
    • Added the @onAnyBotsRemoved listen tags.
      • These are triggered whenever a a bot is removed from the local story.
      • Note that this is different from @onDestroy because you will be notified whenever a bot is removed from the state even if it has not been explicitly destroyed.
      • An example of this are bots in the otherPlayers space. When another player disconnects no @onDestroy is fired but you will get a @onAnyBotsRemoved.
      • @onAnyBotsRemoved is triggered on every bot whenever one or more bots are removed.
        • that is an object with the following properties:
          • botIDs - The array of bot IDs that were removed.
    • Added the @onBotChanged and @onAnyBotsChanged listen tags.
      • These are triggered whenever a bot is changed in the local story.
      • Note that you will be notified whenever a bot is changed in the state even if it was changed by another player.
      • An example of this are bots in the otherPlayers space. You cannot update bots in this space but you will be notified via @onBotChanged and @onAnyBotsChanged.
      • @onBotChanged is triggered on the bot that was changed.
        • that is an object with the following properties:
          • tags - The list of tags that were changed on the bot.
      • @onAnyBotsAdded is triggered on every bot whenever one or more bots are added.
        • that is an array containing objects with the following properties:
          • bot - The bot that was updated.
          • tags - The tags that were changed on the bot.
    • Added several tags to the player bot:
      • These tags are updated by CasualOS and can be used to query the current state of the input system.
      • Camera Tags
        • These tags contain the position and rotation of the player's camera.
        • You can use this to communicate where the player is to other players.
        • pageCameraPositionX
        • pageCameraPositionY
        • pageCameraPositionZ
        • inventoryCameraPositionX
        • inventoryCameraPositionY
        • inventoryCameraPositionZ
        • pageCameraRotationX
        • pageCameraRotationY
        • pageCameraRotationZ
        • inventoryCameraRotationX
        • inventoryCameraRotationY
        • inventoryCameraRotationZ
      • Pointer Tags
        • These tags contain the position and rotation of the player's pointers.
        • You can use this to tell where the VR controllers are or where the mouse is pointing.
        • mousePointerPositionX
        • mousePointerPositionY
        • mousePointerPositionZ
        • mousePointerRotationX
        • mousePointerRotationY
        • mousePointerRotationZ
        • mousePointerPortal
        • rightPointerPositionX
        • rightPointerPositionY
        • rightPointerPositionZ
        • rightPointerRotationX
        • rightPointerRotationY
        • rightPointerRotationZ
        • rightPointerPortal
        • leftPointerPositionX
        • leftPointerPositionY
        • leftPointerPositionZ
        • leftPointerRotationX
        • leftPointerRotationY
        • leftPointerRotationZ
        • leftPointerPortal
      • Button Tags
        • These tags contain the state of the different buttons.
        • Possible values are:
          • null - Button is not pressed.
          • down - Button was just pressed.
          • held - Button is being held down.
        • mousePointer_left
        • mousePointer_right
        • mousePointer_middle
        • leftPointer_primary
        • leftPointer_squeeze
        • rightPointer_primary
        • rightPointer_squeeze
        • keyboard_[key]
          • Replace [key] with the key that you want the state of.
          • For example use keyboard_a to get the state of the a key.
    • Added the player.getCameraPosition(portal?) function.
      • portal is optional and is the portal (page or inventory) that the camera position should be retrieved for.
      • Returns an object with the following properties:
        • x
        • y
        • z
    • Added the player.getCameraRotation(portal?) function.
      • portal is optional and is the portal (page or inventory) that the camera rotation should be retrieved for.
      • Returns an object with the following properties:
        • x
        • y
        • z
    • Added the player.getPointerPosition(pointer?) function.
      • pointer is optional and is the pointer (mouse, left or right) that the position should be retrieved for.
      • Returns an object with the following properties:
        • x
        • y
        • z
    • Added the player.getPointerRotation(pointer?) function.
      • pointer is optional and is the pointer (mouse, left or right) that the rotation should be retrieved for.
      • Returns an object with the following properties:
        • x
        • y
        • z
    • Added the player.getInputState(controller, button) function.
      • controller is the controller (mousePointer, leftPointer, rightPointer, keyboard or touch) that the button state should be retrieved from.
      • button is the name of the button that should be retrieved.
      • Returns a string containing the state of the button or null if the button is not pressed.
        • "down" means that the button just started to be pressed.
        • "held" means that the button is being held down.
        • null means that the button is not pressed.
    • Added the player.getInputList() function.
      • Returns a list of available inputs that can be used by the player.getInputState() function.
  • :bug: Bug Fixes

    • Fixed an issue where toasting recursive objects could break CasualOS.
      • Fixed by storing a map of previously converted objects to avoid reconverting them infinitely.
      • Also improved to gracefully handle objects that are nested too deeply.
    • Fixed an issue with the show input modal where it incorrectly errored sometimes.
kallyngowdyyeti
published 1.1.15 •

Changelog

Source

V1.1.15

Date: 7/2/2020

Changes:

  • :rocket: Improvements

    • Added player space to the server.
      • This lets you send remote whispers to the server player.
    • Added the server.storyStatuses() function.
      • Returns a promise that resolves with a list of stories and the last time each story was updated.
    • Added the @onRemotePlayerSubscribed and @onRemotePlayerUnsubscribed listen tags.
      • They are triggered on every other player when a player joins or leaves the story.
      • Additionally, they are triggered whenever connection to the other players is lost.
      • that is an object with the following properties:
        • playerId - The ID of the player that joined/left the story.
    • Added the uuid() function.
      • This function generates and returns a random UUID.
      • Useful for creating unique identifiers.
  • Bug Fixes

    • Fixed an issue where remote shouts would be sent to yourself twice.
    • Fixed an issue where labels would not always follow the labelAlignment tag when the text in the label was small enough to fit within the bot.
kallyngowdyyeti
published 1.1.14 •

Changelog

Source

V1.1.14

Date: 6/29/2020

Changes:

  • :rocket: Improvements

    • Improved how the meet portal, page portal, and sheet portal work together to make space for each other.
    • Added the left and right options for meetPortalAnchorPoint.
    • Changed the top and bottom options for meetPortalAnchorPoint to occupy half of the screen.
    • Added the server.players() function to get the list of player IDs that are connected to the current story.
      • Returns a promise that resolves with the list of player IDs.
    • Added the remoteWhisper(players, name, arg) function to make sending messages to other players easy.
      • Takes the following arguments:
        • players is the player ID or list of player IDs that should receive the shout.
        • name is the name of the message.
        • arg is the data that should be included.
      • This will trigger a @onRemoteWhisper shout on all the specified players.
    • Added the remoteShout(name, arg) function to make sending messages to all players easy.
      • Takes the following arguments:
        • name is the name of the message.
        • arg is the data that should be included.
    • Added the @onRemoteWhisper listen tag that is shouted when a remoteWhisper() or remoteShout() is sent to the local player.
      • that is an object with the following properties:
        • name - The name of the shout that was sent.
        • that - The data which was sent.
        • playerId - The ID of the player that sent the shout.
  • Bug Fixes

    • Fixed an issue that prevented using lineStyle in place of auxLineStyle.
kallyngowdyyeti
published 1.1.11 •

Changelog

Source

V1.1.11

Date: 6/18/2020

Changes:

  • :rocket: Improvements

    • Added a reflog and sitelog for stories so that it is possible to track the history of a story branch and which sites have connected to it.
      • This will make it easier for us to recover from data loss issues in the future since we'll be able to lookup data like the last commit that a branch pointed at or which atoms were added to a branch.
  • :bug: Bug Fixes

    • Fixed an issue where all bots would appear to be in the shared space even though they were not.
    • Fixed issues with loading on Servo-based browsers.
      • The issues were mostly related to Servo having not implemented IndexedDB yet.
    • Fixed an issue where some temporary branches would show up in server.stories().
kallyngowdyyeti
published 1.1.10 •

Changelog

Source

V1.1.10

Date: 6/16/2020

Changes:

  • :bug: Bug Fixes

    • Fixed an issue where an incorrectly formatted event would crash the server.
    • Fixed an issue where the server would incorrectly store atoms added to a temporary branch.
kallyngowdyyeti
published 1.1.9 •

Changelog

Source

V1.1.9

Date: 6/16/2020

Changes:

  • :rocket: Improvements

    • Added the player and otherPlayers spaces.
      • These spaces are special and interact with each other.
      • Both the player space and otherPlayers space are shared but the lifetime of the bots is temporary. In this sense, the bots act like temporary shared bots.
      • However, bots created in the player space will show up in the otherPlayers space to other players and vice versa.
      • This means you can share temporary bots with other players by using the player space and see the temporary bots shared by other players by inspecting the otherPlayers space.
      • Important Notes:
        • The player space only contains bots that you create while otherPlayers contains bots that other players have created.
        • You can create, edit, and destroy bots in the player space, but not in the otherPlayers space.
        • When you close your session (exit the browser or close the tab), all of your player bots will be automatically destroyed. This will also automatically remove them from any otherPlayers spaces that they may be in.
  • :bug: Bug Fixes

    • Fixed an issue where using a single minus sign in a tag would be interpreted as a number.
    • Fixed an issue where some tags would not be included in the JSON output of a bot.
kallyngowdyyeti
published 1.1.6 •

Changelog

Source

V1.1.6

Date: 6/11/2020

Changes:

  • :boom: Breaking Changes

    • Renamed all the history tags to not have the aux prefix.
  • :rocket: Improvements

    • Added the server.storyPlayerCount() function.
      • Returns a promise that resolves with the number of players currently connected to the current story.
      • Optionally accepts a parameter which indicates the story to check.
    • Added the server.totalPlayerCount() function.
      • Returns a promise that resolves with the total number of players connected to the server.
    • Added the server.stories() function.
      • Returns a promise that resolves with the list of stories that are on the server.
  • :bug: Bug Fixes

    • Removed the globals bot tags from the documentation since they no longer exist.
kallyngowdyyeti
published 1.1.5 •

Changelog

Source

V1.1.5

Date: 6/9/2020

Changes:

  • :boom: Breaking Changes

    • The following tags have been renamed:
      • Renamed all the tags so that they no longer have the aux prefix. However, any tag not listed below should continue to work with the aux prefix without any changes.
      • Renamed auxUniverse to story.
      • Renamed auxCreator to creator.
        • Note that the creator variable in scripts remains the same.
      • Renamed auxConfigBot to configBot.
        • Note that the config variable in scripts remains the same.
      • Renamed auxGLTFVersion to gltfVersion.
      • Renamed auxPagePortal to pagePortal.
      • Renamed auxSheetPortal to sheetPortal.
      • Renamed auxInventoryPortal to inventoryPortal.
      • Renamed auxMenuPortal to menuPortal.
      • Renamed auxLeftWristPortal to leftWristPortal.
      • Renamed auxRightWristPortal to rightWristPortal.
      • Renamed auxPagePortalConfigBot to pagePortalConfigBot.
      • Renamed auxSheetPortalConfigBot to sheetPortalConfigBot.
      • Renamed auxInventoryPortalConfigBot to inventoryPortalConfigBot.
      • Renamed auxMenuPortalConfigBot to menuPortalConfigBot.
      • Renamed auxLeftWristPortalConfigBot to leftWristPortalConfigBot.
      • Renamed auxRightWristPortalConfigBot to rightWristPortalConfigBot.
      • Renamed _auxEditingBot to _editingBot.
    • Renamed "universe" to "story". The following tags and functions have been affected:
      • auxUniverse -> story
      • onUniverseAction -> onStoryAction
      • onUniverseStreaming -> onStoryStreaming
        • The universe property has been renamed to story
      • onUniverseStreamLost -> onStoryStreamLost
        • The universe property has been renamed to story
      • onUniverseSubscribed -> onStorySubscribed
        • The universe property has been renamed to story
      • onUniverseUnsubscribed -> onStoryUnsubscribed
        • The universe property has been renamed to story
      • player.downloadUniverse() -> player.downloadStory()
      • player.loadUniverse() -> player.loadStory()
        • The action type has been renamed from load_universe to load_story.
      • player.unloadUniverse() -> player.unloadStory()
        • The action type has been renamed from unload_universe to unload_story.
      • player.getCurrentUniverse() -> player.getCurrentStory()
      • player.checkout()
        • The processingUniverse property has been renamed to processingStory.
      • player.showJoinCode()
        • The universe property on the show_join_code action has been renamed to story
      • server.restoreHistoryMark()
        • The universe property on the restore_history_mark action has been renamed to story.
      • server.restoryHistoryMarkToUniverse() -> server.restoreHistoryMarkToStory()
      • server.setupUniverse() -> server.setupStory()
        • The action type has been renamed from setup_universe to setup_story.
  • :rocket: Improvements

    • Improved MongoDB to store all atoms for a commit inside the same document. This should improve loading performance since MongoDB will only need to make 1 lookup per universe instead of 1 lookup per atom per universe.
    • Added admin space.
      • Admin space is a space that is shared between all universes on the same auxPlayer.
      • It is locked by default, which means that bots that are in it cannot be created, updated, or destroyed.
      • You can unlock admin space by using the adminSpace.unlock(password) function.
        • It returns a Promise that resolves once the space is unlocked. If the space was unable to be unlocked, then the promise will reject with an error.
        • password is the password that should be used to unlock the admin space. If incorrect, admin space will remain locked.
    • Removed the CasualOS tagline from the loading popup.
    • Improved the webhook() and webhook.post() functions to return promises.
      • The promise can be awaited and resolves with the an an object with the following properties:
        • data - The data returned from the webhook. If the returned data was JSON, then this will be an object. Otherwise, it will be a string.
        • status - The numerical HTTP status code that was returned.
        • statusText - The name of the HTTP status code that was returned.
        • headers - The HTTP headers that were included in the response.
    • Improved the neighboring() function to allow omitting the direction parameter.
      • When omitted, all supported directions will be included.
      • Currently, the supported directions are front, right, back, and left.
      • If an unsupported direction is given, then no bots will be included.
    • Updated the Documentation website to the latest version of Docusaurus.
    • Added the renameTag(bot, originalTag, newTag) function which makes it easy to rename a tag on a bot or list of bots.
      • bot is the bot or list of bots that should have the tag renamed.
      • originalTag is the name of the tag that should be renamed.
      • newTag is the new name that the tag should have.
  • :bug: Bug Fixes

    • Fixed an issue where destroying an already destroyed bot would incorrectly destroy an unrelated bot.
    • Fixed an issue where using player.run() to execute an invalid script would cause other actions to fail.
    • Added some extra spacing to labels to help prevent Z-fighting.
    • Fixed toasting bots by converting them to copiable values. This will also allow toasting unconventional arguments like function and error objects.
    • Fixed an issue where the menu would stop repositioning after the inventory portal had been hidden.
    • Fixed an issue where tapping on the screen while in AR would crash the session.
    • Fixed an issue where labels would be positioned incorrectly if #anchorPoint was set to something other than bottom.
kallyngowdyyeti
published 1.1.1 •

Changelog

Source

V1.1.18

Date: 7/10/2020

Changes:

  • :rocket: Improvements

    • Improved the player.run() function to return a promise that can be awaited to get the result of the script (or wait until the script has been executed).
    • Improved the server.loadErrors() function to return a promise that can be awaited to get the list of bots that were loaded.
    • Improved the server.destroyErrors() function to return a promise that resolves once the error bots are destroyed.
    • Improved the server.loadFile() function to return a promise that resolves once the file is loaded.
    • Improved the server.saveFile() function to return a promise that resolves once the file is saved.
    • Improved the server.setupStory() function to return a promise that resolves once the story is setup.
    • Improved the server.browseHistory() function to return a promise that resolves once the history is loaded.
    • Improved the server.markHistory() function to return a promise that resolves once the history is saved.
    • Improved the server.restoreHistoryMark() function to return a promise that resolves once the history is restored.
    • Improved the server.restoreHistoryMarkToStory() function to return a promise that resolves once the history is restored.
    • Added the @onBotAdded and @onAnyBotsAdded listen tags.
      • These are triggered whenever a bot is added to the local story.
      • Note that this is different from @onCreate because you will be notified whenever a bot is added to the state even if it has already been created.
      • An example of this are bots in the otherPlayers space. You cannot create bots in this space but you will be notified via @onBotAdded and @onAnyBotsAdded.
      • @onBotAdded is triggered on the bot that was added. There is no that.
      • @onAnyBotsAdded is triggered on every bot whenever one or more bots are added.
        • that is an object with the following properties:
          • bots - The array of bots that were added.
    • Added the @onAnyBotsRemoved listen tags.
      • These are triggered whenever a a bot is removed from the local story.
      • Note that this is different from @onDestroy because you will be notified whenever a bot is removed from the state even if it has not been explicitly destroyed.
      • An example of this are bots in the otherPlayers space. When another player disconnects no @onDestroy is fired but you will get a @onAnyBotsRemoved.
      • @onAnyBotsRemoved is triggered on every bot whenever one or more bots are removed.
        • that is an object with the following properties:
          • botIDs - The array of bot IDs that were removed.
    • Added the @onBotChanged and @onAnyBotsChanged listen tags.
      • These are triggered whenever a bot is changed in the local story.
      • Note that you will be notified whenever a bot is changed in the state even if it was changed by another player.
      • An example of this are bots in the otherPlayers space. You cannot update bots in this space but you will be notified via @onBotChanged and @onAnyBotsChanged.
      • @onBotChanged is triggered on the bot that was changed.
        • that is an object with the following properties:
          • tags - The list of tags that were changed on the bot.
      • @onAnyBotsAdded is triggered on every bot whenever one or more bots are added.
        • that is an array containing objects with the following properties:
          • bot - The bot that was updated.
          • tags - The tags that were changed on the bot.
    • Added several tags to the player bot:
      • These tags are updated by CasualOS and can be used to query the current state of the input system.
      • Camera Tags
        • These tags contain the position and rotation of the player's camera.
        • You can use this to communicate where the player is to other players.
        • pageCameraPositionX
        • pageCameraPositionY
        • pageCameraPositionZ
        • inventoryCameraPositionX
        • inventoryCameraPositionY
        • inventoryCameraPositionZ
        • pageCameraRotationX
        • pageCameraRotationY
        • pageCameraRotationZ
        • inventoryCameraRotationX
        • inventoryCameraRotationY
        • inventoryCameraRotationZ
      • Pointer Tags
        • These tags contain the position and rotation of the player's pointers.
        • You can use this to tell where the VR controllers are or where the mouse is pointing.
        • mousePointerPositionX
        • mousePointerPositionY
        • mousePointerPositionZ
        • mousePointerRotationX
        • mousePointerRotationY
        • mousePointerRotationZ
        • mousePointerPortal
        • rightPointerPositionX
        • rightPointerPositionY
        • rightPointerPositionZ
        • rightPointerRotationX
        • rightPointerRotationY
        • rightPointerRotationZ
        • rightPointerPortal
        • leftPointerPositionX
        • leftPointerPositionY
        • leftPointerPositionZ
        • leftPointerRotationX
        • leftPointerRotationY
        • leftPointerRotationZ
        • leftPointerPortal
      • Button Tags
        • These tags contain the state of the different buttons.
        • Possible values are:
          • null - Button is not pressed.
          • down - Button was just pressed.
          • held - Button is being held down.
        • mousePointer_left
        • mousePointer_right
        • mousePointer_middle
        • leftPointer_primary
        • leftPointer_squeeze
        • rightPointer_primary
        • rightPointer_squeeze
        • keyboard_[key]
          • Replace [key] with the key that you want the state of.
          • For example use keyboard_a to get the state of the a key.
    • Added the player.getCameraPosition(portal?) function.
      • portal is optional and is the portal (page or inventory) that the camera position should be retrieved for.
      • Returns an object with the following properties:
        • x
        • y
        • z
    • Added the player.getCameraRotation(portal?) function.
      • portal is optional and is the portal (page or inventory) that the camera rotation should be retrieved for.
      • Returns an object with the following properties:
        • x
        • y
        • z
    • Added the player.getPointerPosition(pointer?) function.
      • pointer is optional and is the pointer (mouse, left or right) that the position should be retrieved for.
      • Returns an object with the following properties:
        • x
        • y
        • z
    • Added the player.getPointerRotation(pointer?) function.
      • pointer is optional and is the pointer (mouse, left or right) that the rotation should be retrieved for.
      • Returns an object with the following properties:
        • x
        • y
        • z
    • Added the player.getInputState(controller, button) function.
      • controller is the controller (mousePointer, leftPointer, rightPointer, keyboard or touch) that the button state should be retrieved from.
      • button is the name of the button that should be retrieved.
      • Returns a string containing the state of the button or null if the button is not pressed.
        • "down" means that the button just started to be pressed.
        • "held" means that the button is being held down.
        • null means that the button is not pressed.
    • Added the player.getInputList() function.
      • Returns a list of available inputs that can be used by the player.getInputState() function.
  • :bug: Bug Fixes

    • Fixed an issue where toasting recursive objects could break CasualOS.
      • Fixed by storing a map of previously converted objects to avoid reconverting them infinitely.
      • Also improved to gracefully handle objects that are nested too deeply.
    • Fixed an issue with the show input modal where it incorrectly errored sometimes.
kallyngowdyyeti
published 1.0.26 •

Changelog

Source

V1.0.26

Date: 4/21/2020

Changes:

  • :boom: Breaking Changes

    • Changed how universes from other auxPlayers are specified.
      • This affects the player.loadUniverse() function and the BotManager API.
      • Previously, you could load a universe from a different auxPlayer by using a universe ID like:
        • otherAuxPlayer.com/*/universeToLoad
      • Now, you can load a universe by simply using its full URL. Like this:
        • https://otherAuxPlayer.com?auxUniverse=universeToLoad
      • Note that this does not affect loading universes from the same auxPlayer. If you pass a universe ID that is not a URL then it will load that particular universe from same auxPlayer.
        • e.g. player.loadUniverse("myUniverse")
  • :rocket: Improvements

    • Improved the player.showInputForTag() modal.
      • Removed the "Save" and "Cancel" buttons. The tag will be saved automatically.
      • Hid the modal title when none is provided in the options.
      • Made the text box in the modal auto-focus.
      • Made the show/hide animations happen quicker.
    • Added the player.showInput(value, options) function.
      • Shows an input modal but without requiring a bot and a tag.
      • Returns a Promise that resolves with the final value when the input modal is closed.
      • The function accepts two arguments:
        • value is a string containing the value that should
        • options is an object that takes the same properties that the options for player.showInputForTag() takes.
    • Added the ability to use the await keyword in scripts.
      • await tells the system to wait for a promise to finish before continuing.
      • This makes it easier to write scripts which deal with tasks that take a while to complete.
    • Improved Builder to support opening a single bot in a new tab and changed its hover label from "menu" to "|||".
  • :bug: Bug Fixes

    • Fixed an issue where it was impossible to load an AUX over HTTPS from a UI that was loaded over HTTP.
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc