J.A.R.V.I.S-rust/resources/commands/unit_convert/command.toml
Bossiara13 84d3b57ddc feat: unit conversion + random generators packs (7 new commands)
Two pure-Lua packs that don't need network or LLM — pure offline utilities.

unit_convert (resources/commands/unit_convert/, 4 commands)
  - convert.length      "переведи 100 метров в футы" / "сколько 5 миль в км"
                        meters↔feet, km↔miles. Pluralises russian unit names.
  - convert.weight      "переведи 70 кг в фунты"
                        kg↔lbs.
  - convert.temperature "переведи 100 цельсий в фаренгейт" / "минус 40 в цельсий"
                        Handles negative numbers. C↔F formulas inline.
  - convert.speed       "переведи 100 км в час в мили в час"
                        km/h↔mph.
  - All round results to 1-2 decimal places, speak with proper Russian
    grammatical number (фут/фута/футов).

generators (resources/commands/generators/, 3 commands)
  - gen.coin       "подбрось монету" / "орёл или решка"
                   → "Орёл!" or "Решка!" (math.random with time+minute seed)
  - gen.password   "сгенерируй пароль 16 символов"
                   → cryptographically-ish 6..64-char password,
                   alphanumeric + !@#$%^&*-_=+, copies to clipboard,
                   SPEAKS LENGTH ONLY (never echoes the password).
                   Default 16 chars if no number in phrase.
  - gen.uuid       "сгенерируй uuid" / "юид"
                   → v4 UUID, copies to clipboard, speaks last 4 chars
                   (confirmation without 32-char monologue).

Tests: 112/112 pass (commands::tests auto-validates).
Pack count: 62 → 64.
2026-05-15 18:41:44 +03:00

82 lines
2.2 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Unit conversion — length, weight, temperature, speed, volume.
# Pure Lua, no external API.
[[commands]]
id = "convert.length"
type = "lua"
script = "length.lua"
sandbox = "minimal"
timeout = 2000
[commands.phrases]
ru = [
"переведи метры в футы",
"переведи футы в метры",
"сколько метров",
"сколько футов",
"сколько километров",
"сколько миль",
"переведи в метры",
"переведи в футы",
"переведи в км",
"переведи в мили",
]
en = ["convert meters to feet", "convert feet to meters", "how many meters", "how many feet"]
ua = ["переведи метри у фути"]
[[commands]]
id = "convert.weight"
type = "lua"
script = "weight.lua"
sandbox = "minimal"
timeout = 2000
[commands.phrases]
ru = [
"переведи килограммы в фунты",
"переведи фунты в килограммы",
"сколько кг в фунтах",
"сколько фунтов",
"сколько килограммов",
]
en = ["convert kg to pounds", "how many pounds", "how many kg"]
ua = ["переведи кг у фунти"]
[[commands]]
id = "convert.temperature"
type = "lua"
script = "temperature.lua"
sandbox = "minimal"
timeout = 2000
[commands.phrases]
ru = [
"переведи цельсий в фаренгейт",
"переведи фаренгейт в цельсий",
"сколько по фаренгейту",
"сколько по цельсию",
"сколько градусов в фаренгейтах",
]
en = ["convert celsius to fahrenheit", "celsius to fahrenheit", "fahrenheit to celsius"]
ua = ["переведи цельсій у фаренгейт"]
[[commands]]
id = "convert.speed"
type = "lua"
script = "speed.lua"
sandbox = "minimal"
timeout = 2000
[commands.phrases]
ru = [
"переведи километры в час в мили в час",
"переведи в кмч",
"переведи в мили в час",
"сколько миль в час",
"сколько км в час",
]
en = ["convert kmh to mph", "kmh to mph", "mph to kmh"]
ua = ["переведи кмг у миль на годину"]