
Research
/Security News
9 Malicious NuGet Packages Deliver Time-Delayed Destructive Payloads
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.
@mauna/sdk
Advanced tools
npm install @mauna/sdk
This package ships with a CLI-based playground for quickly trying out queries and APIs.
You can call it directly if installed globally. You need to set MAUNA_DEVELOPER_ID and MAUNA_API_KEY environment variables for authentication.
npm i -g @mauna/sdk
# Or if using yarn:
# yarn global add @mauna/sdk
# Set auth variables; see the Developers section on the dashboard for this
export MAUNA_DEVELOPER_ID=<developer_id>
export MAUNA_API_KEY="<developer_api_key>"
mauna-playground

const { Mauna } = require("@mauna/sdk");
// If using esm:
// import Mauna from "@mauna/sdk/esm";
// Check the Developers section on the dashboard for this.
const developerId = 999;
const apiKey = "<64 letter api key from your mauna dashboard>";
const client = new Mauna: ({ developerId, apiKey });
// Start async block
(async () => {
await client.initialize();
// See API list for more info
const result = await client.api.chitchat({ input, history });
console.log(result);
// Do something with the result
})().then(
console.log,
console.error
);
Takes a list of turns ({ content: string }) and parses them to produce a semantic frames-based context object.
api.parseContext: (turns: [{ content: string }]) => {
context {
mentions [
{
evokes,
phrase
}
]
}
}
Takes an english sentence and produces paraphrased versions of it that retain the semantic meaning of the original.
api.paraphraseSentence: (sentence: string, count: Int = 3) => {
paraphrases
}
Takes a list of utterances as history and a list of possible alternatives that can be replied with. Returns the most likely alternative and confidence in that prediction.
api.predictNextTurn: (history: [string], alternatives: [string]) => {
nextTurn,
confidence
}
Takes a list of intents (with slots) and a user input. Performs structured information extraction to find the correct intent and fill the corresponding slots.
api.matchIntent: (
input: string,
intent: [string],
threshold: Float = 0.7
) => {
matches [
{
intent,
confidence,
slots: [
{
slot,
value,
match_type,
confidence
}
]
}
]
}
Takes a target sentence and a list of other sentences to compare with for similarity. Returns an array of pairwise similarity scores.
api.measureSimilarity: (sentence: string, compareWith: [string]) => {
result {
score,
sentencePair
}
}
api.resolveCoreferences: (text: string) => {
coref: {
detected,
resolvedOutput, // Rewritten input with all the coreferences resolved
clusters: [
{
mention, // token(s) detected as a mention of an entity
references: [
{
match,
score
}
]
}
]
}
}
Takes an English text as an input and returns vector representation for passage, its sentences and entities if found.
api.toVec: (text: string) => {
has_vector,
vector,
vector_norm,
sentences: {
has_vector,
vector_norm,
vector,
text
}
entities: {
text,
has_vector,
vector_norm,
vector
}
}
Takes plain English input and returns overall and sentence-level sentiment information. Represents positivity or negativity of the passage as a floating point value.
api.getSentiment: (text: string) => {
sentiment,
sentences: {
text,
sentiment,
}
}
Takes some plain English input and returns parsed categories, entities and sentences.
api.parseText: (text: string) => {
categories: {
label,
score
},
entities: {
label,
lemma,
text
},
sentences: {
text,
label,
lemma
}
}
Takes some text and extracts numeric references as a list of tokens with numeric annotations.
api.extractNumericData: (text: string) => {
tokens: [
{
numeric_analysis: {
data, // numeric data
has_numeric // does this token have numeric info?
}
}
]
}
Takes some plain English string as input and returns a list of its tokens annotated with linguistic information.
api.parseTextTokens: (text: string) => {
tokens: [
{
dependency, // Type of dependency: PNP, VB ...
entity_type, // Type of entity: PERSON ...
is_alpha,
is_currency,
is_digit,
is_oov, // is out of vocabulary
is_sent_start,
is_stop,
is_title,
lemma,
like_email,
like_num,
like_url,
part_of_speech, // verb, noun ...
prob,
tag,
text
}
]
}
Takes ssml and corresponding styles as a css string. Returns base64 encoded audio.
api.renderCSS: (ssml: string, css: string) => {
result // base64 encoded audio
}
Takes base64 encoded audio as input and returns a list of possible transcripts (sorted in order of decreasing confidence).
api.speechToText: (audio: string) => {
transcript: [
{
text
}
]
}
Takes text (string) as input and returns audio encoded as a base64 string.
api.textToSpeech: (text: string) => {
audio // base64 encoded audio
}
esm/ directory is marked as a nodejs-native ES module using esm/package.jsonsrc/ directorynpm run buildtests/ directory. File names need to start with test_.export MAUNA_DEVELOPER_ID=XX MAUNA_API_KEY=XXXnpm testnpm run version bump.npm publish --access publicDocs are built using typedoc and published on github pages.
npm run docsgit checkout gh-pages and git merge <original-branch>git push origin gh-pagesNUM=100 npm run load-testFAQs
Code generated from Mauna API schema for CLI, SDK etc
We found that @mauna/sdk demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.

Security News
Socket CTO Ahmad Nassri discusses why supply chain attacks now target developer machines and what AI means for the future of enterprise security.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.