mirror of
https://github.com/nbd-wtf/go-nostr.git
synced 2025-08-03 08:22:12 +02:00
nip90: autogenerated dvm kinds from https://github.com/nostr-protocol/data-vending-machines
This commit is contained in:
1
nip90/.gitignore
vendored
Normal file
1
nip90/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
data-vending-machines
|
90
nip90/justfile
Normal file
90
nip90/justfile
Normal file
@@ -0,0 +1,90 @@
|
||||
generate: dvm_repo
|
||||
#!/usr/bin/env fish
|
||||
echo 'package nip90
|
||||
|
||||
type Job struct {
|
||||
InputKind int
|
||||
OutputKind int
|
||||
Name string
|
||||
Description string
|
||||
InputType string
|
||||
Params []string
|
||||
}
|
||||
' > kinds.go
|
||||
for kindf in (ls data-vending-machines/kinds)
|
||||
set file "data-vending-machines/kinds/$kindf"
|
||||
|
||||
set kind (echo $kindf | ag -o '\d+')
|
||||
set okind (echo $kind | jq -r '. + 1000')
|
||||
set title (ag '^title:' $file | awk '{$1=""; sub(/^ +/, "", $0); print}' | string collect | string trim)
|
||||
set desc (ag '^description:' $file | awk '{$1=""; sub(/^ +/, "", $0); print}' | string collect | string trim)
|
||||
set inputtype (cat $file | ag -o '\["i",[^]]*]' | jq -r '.[2]')
|
||||
|
||||
echo "var Job$kind = Job{
|
||||
InputKind: $kind,
|
||||
OutputKind: $okind,
|
||||
Name: \"$name\",
|
||||
Description: \"$desc\",
|
||||
InputType: \"$inputtype\",
|
||||
Params: []string{" >> kinds.go
|
||||
|
||||
for param in (fq '
|
||||
def drill_to_code:
|
||||
if (type == "object" and .children) then
|
||||
.children
|
||||
| map(drill_to_code)
|
||||
else
|
||||
select
|
||||
( (type == "object") and (.type == "code")
|
||||
)
|
||||
| .literal
|
||||
end
|
||||
;
|
||||
|
||||
.children
|
||||
| . as $sections
|
||||
|
|
||||
( $sections
|
||||
| map(.type == "heading" and .children == ["Params"])
|
||||
| index(true)
|
||||
) as $startParams
|
||||
| if $startParams == null
|
||||
then []
|
||||
else
|
||||
( $sections[($startParams + 1):]
|
||||
| map(.type == "heading" and .level == ($sections[$startParams].level))
|
||||
| index(true)
|
||||
| . + $startParams + 1
|
||||
) as $endParams
|
||||
| ( $sections[($startParams + 1):$endParams]
|
||||
| map
|
||||
( .children
|
||||
| select(.)
|
||||
| map(drill_to_code)
|
||||
)
|
||||
| flatten
|
||||
| select(. | length > 1)
|
||||
| unique
|
||||
)
|
||||
end
|
||||
| .[]
|
||||
' -d markdown -r $file
|
||||
)
|
||||
echo "\"$param\"", >> kinds.go
|
||||
end
|
||||
|
||||
echo "},
|
||||
}
|
||||
" >> kinds.go
|
||||
end
|
||||
|
||||
go fmt kinds.go
|
||||
|
||||
dvm_repo:
|
||||
#!/usr/bin/env fish
|
||||
if [ ! -d data-vending-machines ]
|
||||
git clone https://github.com/nostr-protocol/data-vending-machines.git
|
||||
end
|
||||
cd data-vending-machines
|
||||
git reset --hard HEAD
|
||||
git pull
|
224
nip90/kinds.go
Normal file
224
nip90/kinds.go
Normal file
@@ -0,0 +1,224 @@
|
||||
package nip90
|
||||
|
||||
type Job struct {
|
||||
InputKind int
|
||||
OutputKind int
|
||||
Name string
|
||||
Description string
|
||||
InputType string
|
||||
Params []string
|
||||
}
|
||||
|
||||
var Job5000 = Job{
|
||||
InputKind: 5000,
|
||||
OutputKind: 6000,
|
||||
Name: "",
|
||||
Description: "Job request to extract text from some kind of input.",
|
||||
InputType: "",
|
||||
Params: []string{
|
||||
"alignment",
|
||||
"range",
|
||||
"raw",
|
||||
"segment",
|
||||
"word",
|
||||
},
|
||||
}
|
||||
|
||||
var Job5001 = Job{
|
||||
InputKind: 5001,
|
||||
OutputKind: 6001,
|
||||
Name: "",
|
||||
Description: "Summarize input(s)",
|
||||
InputType: "",
|
||||
Params: []string{
|
||||
"length",
|
||||
"paragraphs",
|
||||
"words",
|
||||
},
|
||||
}
|
||||
|
||||
var Job5002 = Job{
|
||||
InputKind: 5002,
|
||||
OutputKind: 6002,
|
||||
Name: "",
|
||||
Description: "Translate input(s)",
|
||||
InputType: "",
|
||||
Params: []string{},
|
||||
}
|
||||
|
||||
var Job5050 = Job{
|
||||
InputKind: 5050,
|
||||
OutputKind: 6050,
|
||||
Name: "",
|
||||
Description: "Job request to generate text using AI models.",
|
||||
InputType: "",
|
||||
Params: []string{
|
||||
"frequency_penalty",
|
||||
"max_tokens",
|
||||
"model",
|
||||
"temperature",
|
||||
"top_k",
|
||||
"top_p",
|
||||
},
|
||||
}
|
||||
|
||||
var Job5100 = Job{
|
||||
InputKind: 5100,
|
||||
OutputKind: 6100,
|
||||
Name: "",
|
||||
Description: "Job request to generate Images using AI models.",
|
||||
InputType: "",
|
||||
Params: []string{
|
||||
"${width}x${height}",
|
||||
"1024x768",
|
||||
"512x512",
|
||||
"lora",
|
||||
"model",
|
||||
"negative_prompt",
|
||||
"ratio",
|
||||
"size",
|
||||
},
|
||||
}
|
||||
|
||||
var Job5200 = Job{
|
||||
InputKind: 5200,
|
||||
OutputKind: 6200,
|
||||
Name: "",
|
||||
Description: "Job request to convert a Video to another Format.",
|
||||
InputType: "",
|
||||
Params: []string{},
|
||||
}
|
||||
|
||||
var Job5201 = Job{
|
||||
InputKind: 5201,
|
||||
OutputKind: 6201,
|
||||
Name: "",
|
||||
Description: "Job request to translate video audio content into target language with or without subtitles.",
|
||||
InputType: "",
|
||||
Params: []string{
|
||||
"format",
|
||||
"language",
|
||||
"range",
|
||||
"subtitle",
|
||||
},
|
||||
}
|
||||
|
||||
var Job5202 = Job{
|
||||
InputKind: 5202,
|
||||
OutputKind: 6202,
|
||||
Name: "",
|
||||
Description: "Job request to convert a static Image to a a short animated video clip",
|
||||
InputType: "",
|
||||
Params: []string{},
|
||||
}
|
||||
|
||||
var Job5250 = Job{
|
||||
InputKind: 5250,
|
||||
OutputKind: 6250,
|
||||
Name: "",
|
||||
Description: "Job request to convert text input to an audio file.",
|
||||
InputType: "",
|
||||
Params: []string{},
|
||||
}
|
||||
|
||||
var Job5300 = Job{
|
||||
InputKind: 5300,
|
||||
OutputKind: 6300,
|
||||
Name: "",
|
||||
Description: "Job request to discover nostr-native content",
|
||||
InputType: "",
|
||||
Params: []string{},
|
||||
}
|
||||
|
||||
var Job5301 = Job{
|
||||
InputKind: 5301,
|
||||
OutputKind: 6301,
|
||||
Name: "",
|
||||
Description: "Job request to discover nostr pubkeys",
|
||||
InputType: "",
|
||||
Params: []string{},
|
||||
}
|
||||
|
||||
var Job5302 = Job{
|
||||
InputKind: 5302,
|
||||
OutputKind: 6302,
|
||||
Name: "",
|
||||
Description: "Job to search for notes based on a prompt",
|
||||
InputType: "",
|
||||
Params: []string{
|
||||
"max_results",
|
||||
"since",
|
||||
"until",
|
||||
"users",
|
||||
},
|
||||
}
|
||||
|
||||
var Job5303 = Job{
|
||||
InputKind: 5303,
|
||||
OutputKind: 6303,
|
||||
Name: "",
|
||||
Description: "Job to search for profiles based on a prompt",
|
||||
InputType: "",
|
||||
Params: []string{},
|
||||
}
|
||||
|
||||
var Job5400 = Job{
|
||||
InputKind: 5400,
|
||||
OutputKind: 6400,
|
||||
Name: "",
|
||||
Description: "Job request to count matching events",
|
||||
InputType: "",
|
||||
Params: []string{
|
||||
"content",
|
||||
"group",
|
||||
"pubkey",
|
||||
"relay",
|
||||
"reply",
|
||||
"root",
|
||||
},
|
||||
}
|
||||
|
||||
var Job5500 = Job{
|
||||
InputKind: 5500,
|
||||
OutputKind: 6500,
|
||||
Name: "",
|
||||
Description: "Job request to perform a Malware Scan on files.",
|
||||
InputType: "url",
|
||||
Params: []string{},
|
||||
}
|
||||
|
||||
var Job5900 = Job{
|
||||
InputKind: 5900,
|
||||
OutputKind: 6900,
|
||||
Name: "",
|
||||
Description: "NIP-03 Timestamping of nostr events",
|
||||
InputType: "",
|
||||
Params: []string{},
|
||||
}
|
||||
|
||||
var Job5901 = Job{
|
||||
InputKind: 5901,
|
||||
OutputKind: 6901,
|
||||
Name: "",
|
||||
Description: "Create a bitcoin transaction with an OP_RETURN",
|
||||
InputType: "text",
|
||||
Params: []string{},
|
||||
}
|
||||
|
||||
var Job5905 = Job{
|
||||
InputKind: 5905,
|
||||
OutputKind: 6905,
|
||||
Name: "",
|
||||
Description: "Schedule nostr events for future publishing",
|
||||
InputType: "",
|
||||
Params: []string{},
|
||||
}
|
||||
|
||||
var Job5970 = Job{
|
||||
InputKind: 5970,
|
||||
OutputKind: 6970,
|
||||
Name: "",
|
||||
Description: "Delegate PoW of an event to a provider.",
|
||||
InputType: "",
|
||||
Params: []string{},
|
||||
}
|
Reference in New Issue
Block a user