Skip to content

nullapt/sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nullapt SDK

Language SDKs for building nullapt WASM skills.

Packages

Language Package Status
Rust nullapt-sdk (crates.io) stable
TypeScript/Node @nullapt/sdk (npm) stable
Go github.com/nullapt/sdk/go (pkg.go.dev) beta

Rust

# Cargo.toml
[dependencies]
nullapt-sdk = "0.1"
extism-pdk = "1"
use nullapt_sdk::prelude::*;

#[derive(Deserialize)]
struct Input { query: String }

#[derive(Serialize)]
struct Output { result: String }

#[plugin_fn]
pub fn my_tool(input: Json<Input>) -> FnResult<Json<Output>> {
    Ok(Json(Output { result: format!("got: {}", input.query) }))
}

Build:

cargo build --target wasm32-wasip1 --release
cp target/wasm32-wasip1/release/my_skill.wasm skill.wasm

TypeScript

npm install @nullapt/sdk
import { validateManifest } from '@nullapt/sdk';
import skillJson from './SKILL.json';

validateManifest(skillJson); // throws if invalid

Go (TinyGo)

go get github.com/nullapt/sdk/go
package main

import "github.com/nullapt/sdk/go/pdk"

//export my_tool
func myTool() int32 {
    input := pdk.Input()
    pdk.Output([]byte("result: " + string(input)))
    return 0
}

Build:

tinygo build -o skill.wasm -target wasi .

Contributing

See CONTRIBUTING.md.

About

Language SDKs for building nullapt WASM skills — Rust, TypeScript, Go

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors