api-create
[api-create name]
Создать рабочее пространство и сгенерировать ключ API.
879 нативных функций · тематические семейства · сгенерировано из стабильного реестра сервера
Загрузка…
api-create[api-create name]
Создать рабочее пространство и сгенерировать ключ API.
clear[clear mode?]
Очистить контекст. Режимы: 'vars', 'macros', 'kb', 'all' (по умолчанию).
file-tree[file-tree path?]
Получить дерево каталогов в формате JSON.
freespace[freespace path?]
JSON {path,total,used,free,total_h,used_h,free_h,percent_used} для диска, на котором находится `path` (по умолчанию: текущий каталог).
log-clear[log-clear file]
Очистить файл журнала.
log-list[log-list]
Список доступных файлов журналов (имя, метка, размер, mtime).
log-tail[log-tail file n]
Прочитать последние n строк журнала.
proadmin[proadmin email pass]
Повысить привилегии.
proai-validator[proai-validator JSON|fichier]
Статически проверяет файл .proai (путь или встроенный JSON). Возвращает отчёт в формате Markdown.
role-define[role-define name cap1 cap2 …]
создать/обновить пользовательскую роль (ROOT). Caps из закрытого словаря.
role-delete[role-delete name]
удалить пользовательскую роль (ROOT). Встроенные роли защищены.
role-list[role-list]
JSON {роль: [caps]} для всех ролей (встроенных и пользовательских).
sys-info[sys-info]
Получить системную информацию (потоки, платформа).
user-add[user-add email pass nom prenom]
Создать пользователя.
user-delete[user-delete email]
Удалить пользователя.
user-list[user-list]
Список всех пользователей (администратор).
user-role[user-role email]
текущая роль | [user-role email роль] назначает роль (ROOT).
user-update[user-update email pass nom prenom]
Обновить пользователя.
webdriver-config[webdriver-config]
Показать отпечаток машины + путь к профилям. [webdriver-config path] -> Задать путь к профилям для этой машины.
workspace[workspace list|login|go ...]
Управление контекстом рабочего пространства.
workspace-set[workspace-set email ws]
Предоставить доступ.
workspace-unset[workspace-unset email ws]
Отозвать доступ.
genetic:add-counter[genetic:add-counter $store $record $expected [$actual] [$weight=5.0]]
$store. Изменяет и возвращает store (допускает цепочку вызовов).
genetic:best[genetic:best $pop]
Особь с наибольшей скалярной приспособленностью.
genetic:counter-size[genetic:counter-size $store]
Целое число сохранённых исправлений.
genetic:counter-store[genetic:counter-store [schema?]]
Пустой CounterStore. Накапливает исправления пользователей; передать в [genetic:fit-with-counter] для включения в fitness spec.
genetic:evolve[genetic:evolve $pop $fitness-spec [opts-json]]
Эволюционировавшая популяция. fitness-spec — словарь JSON {kind, dataset, label_field, ...}; opts-json поддерживает {generations, mutation_rate, crossover_rate, elitism, tournament_k, seed, plateau_window}.
genetic:fit-with-counter[genetic:fit-with-counter $fit-spec-json $store [weight=0.5]]
Обогащённый JSON. Вставляет $store.examples + counter_weight в fitness spec для использования в [genetic:evolve]. Итоговая fitness = (1-w)*holdout + w*counter.
genetic:fitness[genetic:fitness $individual]
Скалярная приспособленность (или список для многоцелевой задачи).
genetic:lineage[genetic:lineage $individual]
JSON {generation, parents, mutation_op}.
genetic:pareto[genetic:pareto $pop]
Список особей на недоминируемом фронте. Используется с многоцелевыми fitness specs (kind: multi_objective) для отображения границы компромисса между целями (например, точность vs. краткость vs. стоимость).
genetic:population[genetic:population genome1 genome2 ...]
Популяция. Каждый аргумент — полный геном (обычно список словарей правил).
approximation:confidence[approximation:confidence $approx]
'exact'|'high'|'moderate'|'low'.
approximation:from-ilp[approximation:from-ilp $learn_result [value?]]
VVL_Approximation. Wraps an ILP LearnResult so its trust level propagates through arithmetic BinOps.
approximation:llm-weight[approximation:llm-weight LOGPROB]
calibrated weight in [0, 1]. Pass an OpenAI top_logprob. Buckets: ≥-0.5 → 0.3, [-2, -0.5) → 0.7, <-2 → 1.0.
approximation:make[approximation:make VALUE ASSUMPTIONS_JSON [QUESTION?]]
VVL_Approximation. Each assumption: {name, value, source: user|fact|LLM|computation, concept?, weight?}.
approximation:range[approximation:range $approx]
'low - high' string sized by Σ weight_llm.
approximation:revise[approximation:revise $approx OVERRIDES_JSON]
new VVL_Approximation. Re-runs the stored code with assumption values overridden. Keys are either bare names or 'Concept.field'. Overridden assumptions are re-tagged source='user' so confidence improves.
approximation:scalars[approximation:scalars $approx]
JSON list of {name, value, range, confidence}. Per-field range estimates for Concept-shaped results.
approximation:sensitivity[approximation:sensitivity $approx [pct=0.10]]
JSON list of records ranked by impact. Each LLM-source numeric assumption is perturbed by ±pct, the stored code is re-run, and the result delta is captured. Tells you which LLM estimates dominate the final answer.
approximation:trace[approximation:trace $approx]
JSON {value, confidence, n_*, w_*, range, assumptions}.
approximation:value[approximation:value $approx]
numeric value (or string if non-numeric).
async[async expression]
Выполнить асинхронно, возвращает Promise
await[await promise] [await promise ms]
Ождать разрешения промиса
channel[channel capacity?] | [channel name capacity?]
Создать канал; без ёмкости канал небуферизован, при capacity>0 коммуникация буферизована
channel-delete[channel-delete name]
Удалить именованный канал из реестра (1/0).
channel-exists[channel-exists name]
Проверить существование именованного канала (1/0).
channel-list[channel-list]
Список всех именованных каналов (по алфавиту).
getTimeout[getTimeout]
Получить текущее значение таймаута в секундах
host-continuation-proxies[host-continuation-proxies]
Осмотр дескрипторов VVL-прокси активных хостовых продолжений.
host-continuation-transfer[host-continuation-transfer proxy_id|proxy]
Вернуть решение ВМ о передаче для прокси хостового продолжения.
host-continuation-vm-proxy[host-continuation-vm-proxy proxy_id vm_task_id resource_kind? operation?]
Построить дескриптор прокси продолжения, управляемого ВМ.
host-continuations[host-continuations]
Осмотр активных хостовых продолжений Python от блокирующих ожиданий.
promise-all[promise-all list ms?]
Ждать выполнения всех промисов (как Promise.all)
promise-race[promise-race list ms?]
Вернуть первый разрешённый промис
promise-state[promise-state promise]
Получить состояние промиса без блокировки
promise-value[promise-value promise]
Получить значение если разрешён, иначе пусто
rwait[rwait ms]
Ждать ms миллисекунд, возвращает сигнал
semaphore[semaphore name? n?]
Создать или получить именованный/анонимный семафор с начальным счётчиком n (по умолчанию: 1)
semaphore-delete[semaphore-delete name]
Удалить именованный семафор из реестра (возвращает 1/0)
semaphore-exists[semaphore-exists name]
Проверить существование именованного семафора (возвращает 1/0)
semaphore-list[semaphore-list]
Список всех именованных семафоров (в алфавитном порядке)
setTimeout[setTimeout ms]
Настроить таймаут для блокирующих операций (0=бесконечно)
signal[signal]
Вернуть сигнал успешного завершения
stop[stop]
Чисто остановить текущую параллельную ветвь
task-async[task-async queue graph params]
Поставить задачу в очередь и вернуть Promise
atom:axes[atom:axes $x]
JSON-словарь осей метаданных (payload_kind, effect_kind, determinism, persistence, trust_level, provenance, cost_hint, latency_hint).
atom:capabilities[atom:capabilities $x]
Список названий протоколов возможностей, которым удовлетворяет атом (Introspectable, Identifiable, Featurizable, LLMRepresentable, Persistable, Callable, Traceable, ...).
atom:family[atom:family $x]
Строковое имя семейства (SymbolicAtom/GroundedAtom/ReifiedAtom) или пустая строка.
atom:trace[atom:trace $x]
JSON {family, class, runtime_id, content_hash, axes, dump, ...} структурированная трассировка любого атома.
policy:check[policy:check $policy $atom]
JSON {allowed, matched_rule, action, axis, op, values, reason}. Обходит правила по порядку; первое совпадение побеждает. По умолчанию отказ при отсутствии совпадения.
policy:define[policy:define [list "allow|deny" AXIS [OP] VALUES...] ...]
Политика. Оси: family, payload_kind, effect_kind, determinism, persistence, trust_level, provenance, cost_hint, latency_hint, capabilities. Операторы: in (по умолчанию), ==, !=, >, <, >=, <=. Действие по умолчанию: deny.
@[@ "Name"]
Реифицирует концепт (бесплатно). [@ "Name" ClassName] -> Реификация с шаблоном класса. [@ "Name" "lazy"] -> Без начальной загрузки.
email[email action ...]
Клиент электронной почты на уровне протокола (SMTP/IMAP/POP3). connect: [email connect name protocol host port user pass] disconnect: [email disconnect name] list: [email list] send: [email send name to subject body] или [email send name <{spec}>] folders: [email folders name] inbox: [email inbox name folder? limit?] search: [email search name criteria folder? limit?] read: [email read name uid folder?] flag: [email flag name uid flag folder?] unflag: [email unflag name uid flag folder?] move: [email move name uid dest source?] delete: [email delete name uid folder?] save: [email save name uid dir folder?] pop-list: [email pop-list name] pop-read: [email pop-read name index] pop-delete: [email pop-delete name index]
getResourceBase64[getResourceBase64 $res]
Возвращает данные PNG в Base64.
getResourceBase64ZIP[getResourceBase64ZIP $res]
Возвращает PNG, сжатый ZIP и закодированный в Base64.
pis[pis url user pass]
Клиент PIS (Partner Information System). Методы: ping, partners, partner, clients, distributors, create_partner, save_partner, search_partner, change_partner, locations, location, create_location, save_location, location_state, location_parts, search_location, parts, part, create_part, create_parts, update_part, search_part, unconfirmed_parts, orders, order, client_orders, create_order, assign_order, set_order_state, search_order, systems, system, client_systems, save_system, copy_system, release_system, search_system, systems_by_parts, contacts, contact, create_contact, save_contact, remove_contact, approve_contact, send_approve_mail, user_exists, search_user, part_types, part_type, search_parttype, templates, template, search_template, countries, has_backup, backups, activate_space, me, raw
tekitisy[tekitisy url login password]
Клиент управления сайтами Tekitisy. Подключение VDOM + автоматическое развёртывание plugin_gateway при его отсутствии. Команды клиента: [$tk "sites"] -> список сайтов/плагинов [$tk "site" "ИмяСайта"] -> выбрать сайт Команды сайта: [$site "pages"] -> список HTML-страниц [$site "upload" "name" $html] -> загрузить страницу [$site "upload-file" "n" "path"] -> загрузить из файла [$site "upload-dir" "path/"] -> загрузить директорию [$site "download" "name"] -> скачать страницу [$site "delete" "name"] -> удалить ресурс [$site "routing"] -> текущий код маршрутизации [$site "set-routing" $code] -> заменить маршрутизацию [$site "add-route" "/url" "f"] -> добавить маршрут [$site "auto-routing"] -> сгенерировать авто-маршрутизацию [$site "inject" "seo" "p" $m] -> внедрить SEO [$site "inject" "cookie" "p"] -> внедрить GDPR cookies [$site "inject" "mobile-menu" "p"] -> мобильное меню [$site "fix-links" "p" $map] -> исправить ссылки [$site "deploy" "dir/" $opts] -> полное развёртывание [$site "macros"] -> список серверных макросов [$site "macro-code" "name"] -> код макроса [$site "set-macro" "n" $code] -> изменить макрос [$site "kv"] -> KV-хранилище [$site "kv-get" "key"] -> прочитать значение [$site "kv-set" "k" "v"] -> записать значение [$site "status"] -> полное резюме
db[db action name args...]
Операции SQLite (open, query, exec, tables).
mssql[mssql action alias ...]
Выполняет операцию SQL Server. Действия: connect/disconnect/list/exec/query/table/begin/commit/rollback/autocommit/tables/schema. См. vvl_mssql.
pg[pg conn_string|action ...]
Выполняет операцию PostgreSQL. См. vvl_pg для синтаксиса подключения и запросов.
CSV[CSV "filename.csv"]
Создаёт или загружает CSV-файл (расширение необязательно).
csv-add[csv-add $csv record]
Добавляет запись в CSV.
csv-all[csv-all $csv]
Возвращает все записи в виде списка.
csv-autosave[csv-autosave $csv enabled]
Переключить автосохранение на каждую мутацию. false для массовых вставок, затем [csv-save].
csv-count[csv-count $csv]
Возвращает количество записей.
csv-create-index[csv-create-index $csv field]
Создаёт индекс по полю для ускорения поиска.
csv-delete[csv-delete $csv key]
Удаляет запись по первичному ключу.
csv-erase[csv-erase $csv]
Очищает все данные и схему.
csv-filter[csv-filter $csv lambda]
Фильтрует записи с помощью функции-предиката.
csv-find[csv-find $csv key]
Находит запись по первичному ключу.
csv-grid[csv-grid $csv field1 val1 [field2 val2 ...] value_field]
Быстрый нативный N-мерный поиск: фильтрует каждую ось по поле>=значение, возвращает value_field строки на наименьшем пороге первой оси.
csv-key[csv-key $csv fieldname]
Задаёт поле первичного ключа.
csv-orderby[csv-orderby $csv fieldname]
Задаёт порядок сортировки и сортирует данные.
csv-reload[csv-reload $csv]
Перезагружает данные с диска.
csv-save[csv-save $csv]
Принудительно сохраняет данные на диск (по умолчанию сохранение автоматическое).
csv-setfield[csv-setfield $csv name type]
Добавляет или изменяет поле в схеме.
csv-update[csv-update $csv key updates]
Обновляет запись по первичному ключу.
csv-where[csv-where $csv field op value]
Быстрая фильтрация без lambda. Операторы: =, !=, >, <, >=, <=, contains, startswith, endswith.
csv-where-indexed[csv-where-indexed $csv field value]
Сверхбыстрый поиск по индексированному полю (O(1)).
proof:auto[proof:auto P]
{status: proved|refuted|unknown, by, justification, counterexample?}.
proof:check[proof:check GOAL TERME]
Проверяет терм доказательства (натуральная дедукция; листья 'auto' разряжаются оракулом).
proof:llm[proof:llm GOAL max?]
LLM предлагает терм доказательства, ядро LCF проверяет и возвращает ошибку (вердикт, проверенный ядром, или честная неудача).
proof:repair[proof:repair GOAL $proposer max?]
цикл ядра породить→проверить→починить (генератор = лямбда [feedback] -> исходник терма доказательства).
symbolic[symbolic x | x y z | EXPR]
Объявляет один или несколько символов, или реифицирует выражение.
symbolic:assume[symbolic:assume x "positive" …]
Символ с предположениями.
symbolic:det[symbolic:det M]
Определитель.
symbolic:diff[symbolic:diff e var n?]
Производная.
symbolic:dsolve[symbolic:dsolve eq func]
Решает дифференциальное уравнение.
symbolic:eq[symbolic:eq lhs rhs]
Уравнение.
symbolic:exact[symbolic:exact EXPR question?]
Точное приближение (результат CAS).
symbolic:expand[symbolic:expand e]
Развёрнутая форма.
symbolic:factor[symbolic:factor e]
Факторизованная форма.
symbolic:fn[symbolic:fn f x [y …]]
Неопределённая функция f(x,…).
symbolic:integrate[symbolic:integrate e var (a b)?]
Первообразная/интеграл.
symbolic:inv[symbolic:inv M]
Обратная матрица.
symbolic:lambda[symbolic:lambda x [y …] body]
Символическая лямбда, применяемая через [$f arg].
symbolic:latex[symbolic:latex e]
Строка LaTeX.
symbolic:limit[symbolic:limit e var to]
Предел.
symbolic:matrix[symbolic:matrix <[[...]]>]
Символическая матрица.
symbolic:numeric[symbolic:numeric e digits?]
Численное вычисление.
symbolic:parse[symbolic:parse "x**2-1"]
Выражение.
symbolic:rational[symbolic:rational p q]
Точное рациональное число.
symbolic:simplify[symbolic:simplify e]
Упрощённая форма.
symbolic:solve[symbolic:solve eq var?]
Решения eq=0.
symbolic:solve-linear[symbolic:solve-linear A b]
Решение A·x=b.
symbolic:solveset[symbolic:solveset eq var]
Множество решений.
symbolic:string[symbolic:string e digits?]
Строка SymPy.
symbolic:subs[symbolic:subs e var val [var val …]]
Подстановка(и).
symbolic:transpose[symbolic:transpose M]
Транспонирование.
generic[generic "question" "name"?]
Обобщает решение в каталог ключевых слов. Режим трассировки следует ctx.trace (REPL :t).
generic:code[generic:code name]
Возвращает исходный VVL-код запомненного ключевого слова.
generic:contract[generic:contract name]
Возвращает параметры и контракт вывода.
generic:evolve[generic:evolve name]
Регенерирует запись generic из исходного вопроса, сохраняя имя.
generic:forget[generic:forget name]
Удаляет запись generic из каталога и все связанные артефакты.
generic:info[generic:info name]
Возвращает полную карточку функции generic.
generic:invoke[generic:invoke "name" ...]
Внутренний вспомогательный элемент для выполнения ключевого слова, сгенерированного generic, с сохранением приближений.
generic:list[generic:list status?]
Перечисляет функции generic в каталоге рабочего пространства.
generic:load[generic:load name]
Загружает запомненное ключевое слово в текущий контекст.
generic:pseudocode[generic:pseudocode name]
Регенерирует псевдокод Markdown из данных каталога.
generic:tests[generic:tests name]
Возвращает запомненные тесты или случаи валидации.
generic:validate[generic:validate name]
Выполняет запомненные тесты и обновляет оценку валидации.
contains[contains collection item]
1 если список/строка содержит элемент.
endsWith[endsWith string suffix]
1 если строка оканчивается суффиксом.
graphemes[graphemes string]
Список кластеров графем Unicode (= String.graphemes/1).
instr[instr needle haystack [start] [compare]]
Находит первое вхождение (нумерация с 1), возвращает позицию или 0.
instrall[instrall needle haystack [compare]]
Находит все вхождения, возвращает список позиций (нумерация с 1).
instrrev[instrrev needle haystack [start] [compare]]
Находит последнее вхождение (нумерация с 1), возвращает позицию или 0.
join[join list separator]
Объединяет элементы списка разделителем (по умолчанию пустой).
lower[lower s]
Нижний регистр (префиксный алиас метода .lower).
mid[mid start length string]
Извлекает подстроку (нумерация с 1, длина=0 означает до конца).
pad-end[pad-end s largeur motif?]
Complete s A DROITE jusqu'a `largeur` grapheme(s) (= padEnd / ljust). Motif par defaut " ".
pad-start[pad-start s largeur motif?]
Complete s A GAUCHE jusqu'a `largeur` grapheme(s) (= padStart / rjust). Motif par defaut " ".
replace[replace regex new string]
Подстановка по регулярному выражению.
sha256[sha256 string]
SHA-256 хеш в нижнем регистре (hex) от UTF-8 байт строки.
split[split sep string]
Список частей.
startsWith[startsWith string prefix]
1 если строка начинается с префикса.
strToLowerCase[strToLowerCase s]
Нижний регистр.
strToUpperCase[strToUpperCase s]
Верхний регистр.
substring[substring s start len?]
Подстрока; start с 1 (отрицательный — с конца), длина необязательна.
trim[trim s]
Убрать пробелы по краям (префиксный алиас .trim).
upper[upper s]
Верхний регистр (префиксный алиас метода .upper).
cluster:audit[cluster:audit filters?]
Упорядоченные JSON-события жизненного цикла заданий.
cluster:await[cluster:await job timeout_seconds?]
Ожидает DONE, FAILED или CANCELED; тайм-аут не удаляет задание.
cluster:backup[cluster:backup]
Согласованный горячий снимок; восстановление — офлайн-операция.
cluster:call[cluster:call function_ref arg...]
Загружает зарегистрированную функцию по её sha256, проверяет арность и выполняет локально в ВМ.
cluster:cancel[cluster:cancel job]
Отменяет задание и его ожидающие или арендованные шарды.
cluster:drain[cluster:drain worker_id enabled?]
На master по умолчанию включает drain (без новых аренд) или возвращает воркер в работу.
cluster:gc[cluster:gc min_age_seconds?]
Удаляет только объекты хранилища без ссылок, старше заданного возраста.
cluster:jobs[cluster:jobs filters?]
Список записей прогресса заданий, от новых к старым.
cluster:map[cluster:map function_ref items options?]
Отправляет непустой список в виде персистентных шардов и возвращает дескриптор задания.
cluster:metrics[cluster:metrics]
JSON метрик: ограниченный снимок заданий, задач, воркеров и слотов.
cluster:register[cluster:register [keyword name `body]]
Компилирует keyword каноническим путём компиляции, проверяет результат и сохраняет его в хранилище с адресацией по содержимому.
cluster:result[cluster:result job pagination?]
Итоговый результат задания согласно стратегии reduce.
cluster:status[cluster:status job]
JSON прогресса для задания, видимого в текущем workspace.
cluster:workers[cluster:workers]
JSON-представление зарегистрированных воркеров.
optimize[optimize "NL description" "name"]
Компилирует запрос на оптимизацию на естественном языке в блок [optimize:problem ...] через LLM, разбирает и регистрирует. Кэшируется в .optimize_nl_cache.json. Проверяйте через [optimize:code name] перед решением.
optimize:code[optimize:code name]
Выводит зарегистрированную задачу в виде строки VVL [optimize:problem ...]. Подходит для проверки и копирования; полезно для задач, сгенерированных из NL через [optimize "..." name].
optimize:explain[optimize:explain name]
Отображение скомпилированной модели CP-SAT в удобочитаемом виде: переменные (с источником), ограничения, целевая функция.
optimize:problem[optimize:problem name (schema class)? body...]
Регистрирует задачу CP-SAT. Схема/класс необязательны: в режиме pure-local переменные решения объявляются через [decision $x Type [min L] [max H]] в теле. Формы тела (Sprint 1): [decision $x Type [min L] [max H]], [maximize expr], [minimize expr], [assert expr].
optimize:report[optimize:report name]
После решения создаёт через LLM удобочитаемую сводку назначения. Объединяет вывод [optimize:code] и последний результат [optimize:solve].
optimize:solve[optimize:solve name [time_limit secs] [backend "cp-sat"]]
Запускает решение и возвращает VVL_OntologyInstance (режим онтологии) или строку результата (локальный режим). В Sprint 1 поддерживается только бэкенд [backend "cp-sat"].
optimize:validate[optimize:validate name]
Структурная диагностика зарегистрированной задачи. Перечисляет каждое некомпилируемое выражение с предложением исправления. Работает даже если [optimize:problem] вернул ошибку.
optimize:why-infeasible[optimize:why-infeasible name]
После того как [optimize:solve] вернул INFEASIBLE, выделяет минимальное множество ограничений [assert], пересечение которых неудовлетворимо, через литералы предположений CP-SAT.
config-cluster[config-cluster <field> <value>] (admin)
записывает <CLUSTER> в vvl.config.
config-cluster-show[config-cluster-show] (admin)
конфигурация кластера, токен скрыт.
config-cluster-worker-token[config-cluster-worker-token <worker-id> <token> [previous-token]] (admin)
настроить секрет, привязанный к воркеру; пустой токен удаляет его.
config-gateway-token[config-gateway-token <token>] (admin)
Записывает <GATEWAY><AUTHTOKEN>.
config-geo-key[config-geo-key <key>] (admin)
Записывает <GEO><GOOGLE-API-KEY>.
config-jev[config-jev <field> <value>] (admin)
записывает <JEV> в vvl.config. Поле: account-id|token|model|provider|threshold|timeout. [config-jev show] (токен скрыт), [config-jev test] (реальный вызов).
config-llm[config-llm <field> <value>] (admin)
Записывает <LLM> в vvl.config. Поле: key|model|agent|max-tokens|provider|endpoint|embedding|image|vision|temperature.
config-rest[config-rest <host> <port>] (admin)
Записывает <REST> (вступает в силу при следующем запуске REST).
config-root-password[config-root-password <pwd> [user]] (admin)
Записывает <SECURITY> (хеш root).
config-show[config-show] (admin)
Сводка конфигурации (секреты скрыты).
setting[setting "nom"]
Текущее значение; [setting "имя" значение] устанавливает его, применяет и записывает в <TUNING> файла vvl.config (постоянно). Заменяет переменные окружения VVL_*.
setting-reset[setting-reset "nom"]
Удаляет значение (runtime + конфигурация), возвращая умолчание.
settings[settings]
Перечень настроек: имя, значение, умолчание, происхождение, документация.
contract[contract [params] [require "…"]… [ensure "…"]… body]
Функция с контрактом (предусловия/постусловия проверяются при вызове).
contract:info[contract:info keyword]
контракт [keyword] в виде JSON (args, require, ensure, returns, mode).
contract:mode[contract:mode] / [contract:mode "enforce"|"warn"|"off"]
режим контрактов keyword на уровне всей сессии.
contract:ontology[contract:ontology [params] [into <abstract>] [satisfies s] [require "…"]… [ensure "…"]… [retry n] [on-fail graceful|raise] [commit] body]
самовосстанавливающийся контрактный LLM-производитель: произвести -> проверить (пороговый satisfies_hybrid + ensure) -> при неудаче вернуть ошибку производителю и повторить.
contract:verify[contract:verify $fn | keyword]
Статически проверяет requires ⟹ ensures (символьное выполнение + [proof:auto]).
contract:warnings[contract:warnings] / [contract:warnings clear]
нарушения, записанные в режиме warn (keyword, вид, сообщение).
verify:approx[verify:approx P]
VVL_Approximation (confidence = провенанс доказательства).
verify:repair[verify:repair $proposer max?]
Цикл генерировать → проверять → исправлять (подключаемый предлагатель).
and[and a b ...]
1, если ВСЕ аргументы истинны, иначе 0.
attempt[attempt expr]
Возвращает JSON {"ok":true,"value":...} или {"ok":false,"error":{type,message}}.
break[break] ou [break valeur]
Выходит из текущего цикла [for] / [while].
continue[continue]
Переходит к следующей итерации цикла [for] / [while].
delay[delay ms]
Приостанавливает выполнение. Кооперативный: проверяет сигнал остановки каждые 100 мс.
do[do expr1 expr2 ...]
Последовательное вычисление. Останавливается по сигналу остановки, возвращает значение последнего выражения.
exit[exit val?]
Поднимает сигнал остановки в данном контексте (возвращая значение).
if[if cond then else?]
Условный оператор. Возвращает ветвь then, если условие истинно, иначе ветвь else (или пустое значение).
not[not val]
1, если val ложно/пусто, иначе 0.
or[or a b ...]
1, если истинен ХОТЯ БЫ один аргумент, иначе 0.
race[race expr1 expr2 ...]
Параллельная гонка: побеждает первое непустое значение, проигравшие ветви отсекаются.
raise[raise "message"] ou [raise "type" "message"]
Возбуждает ошибку, перехватываемую через [try] / [attempt].
silent[silent expr1 expr2 ...]
Выполняет выражения, но всегда возвращает "".
switch[switch val case1 body1 ... _ default?]
Сопоставляет val с вариантами. '_' соответствует любому значению.
timeout[timeout ms expr]
Выполняет с ограничением по времени. При истечении времени поднимает StopBranchException (перехватывается через ~>).
try[try try-body catch-body]
Выполняет тело try; при исключении связывает $__error и выполняет тело catch.
try:json[attempt expr]
Возвращает JSON {"ok":true,"value":...} или {"ok":false,"error":{type,message}}.
when[when cond body]
Выполняет тело только если условие истинно.
while[while body]
Цикл, пока тело истинно. Жёсткое ограничение: 100 000 итераций.
billing-credit[billing-credit ws amount expiry? note?]
Добавляет кредиты; срок — число дней или дата "YYYY-MM-DD", по умолчанию бессрочно (root).
billing-history[billing-history ws limit?]
JSON-журнал, от новых записей к старым (по умолчанию 100 записей) (root).
billing-list[billing-list]
JSON-обзор всех рабочих пространств: режим, баланс, потребление за 30 дней и итоги (root).
billing-mode[billing-mode ws "metered"|"unlimited" low_threshold?]
Переключает режим тарификации рабочего пространства (root).
billing-reset[billing-reset ws note?]
Сброс: баланс рабочего пространства падает до 0 (root).
billing-set[billing-set ws amount expiry? note?]
Принудительно устанавливает баланс в точное значение (root).
billing-status[billing-status ws]
JSON: режим, баланс, партии кредитов (со сроком действия) и потребление рабочего пространства (root).
billing-usage[billing-usage ws days?]
JSON: ежедневное потребление (вызовы, израсходованные кредиты, отклонённые вызовы) за N дней, по умолчанию 30 (root).
diagnose[diagnose kb "obs."]
Абдуктивная диагностика по Райтеру: минимальные конфликты + минимальные множества отзыва, ранжированные по стоимости убеждения.
diagnose:repair[diagnose:repair kb "obs." mode? pick?]
применить диагноз: факты отзываются, у правил бета-убеждение понижается («soft») или они отзываются («hard»).
diagnose:why-not[diagnose:why-not kb "goal." depth?]
положительная абдукция: минимальные множества недостающих фактов для вывода цели (с ограничением глубины).
chr[chr codepoint]
Одиночный символ по кодовой точке Unicode.
guid[guid]
Генерирует UUID (Universally Unique Identifier).
ord[ord char]
Кодовая точка Unicode первого символа.
random[random n]
Случайное целое в [0, n). Аналог Orc Random(n).
timestamp[timestamp]
Возвращает текущую метку времени в миллисекундах (epoch).
Factur-X[Factur-X $pdf <data> "out.pdf" $options?]
VVL_Pdf. Оборачивает PDF в файл Factur-X (PDF/A-3 + CII XML). <data> — это либо DSL-список [Fx-Invoice ...], либо JSON-словарь счёта, либо XML-строка/путь. Профили: MINIMUM, BASIC WL, BASIC, EN 16931, EXTENDED, XRECHNUNG. Опции: profile, lang, auto_profile, check_xsd, additional_attachments.
fiber-alive[fiber-alive $fiber]
Проверяет, активна ли фибра (1) или завершена (0). Альтернатива: $fiber.alive. Пример: [while [fiber-alive $gen] ...]
fiber-load[fiber-load $json]
Восстановить фибру из JSON [fiber-save] и продолжить с места остановки.
fiber-resume[fiber-resume $fiber]
Возобновляет выполнение фибры и возвращает следующее порождённое значение. Возвращает пустую строку, если фибра завершена. Альтернатива: $fiber.resume. Пример: [fiber-resume $gen]
fiber-save[fiber-save $fiber]
Сериализовать ПРИОСТАНОВЛЕННУЮ фибру ВМ в JSON (переносимое продолжение). Возобновляется через [fiber-load].
fiber-to-list[fiber-to-list $fiber]
Собирает все оставшиеся значения фибры в список. Полностью потребляет фибру. Альтернатива: $fiber.to-list. Пример: [fiber-to-list $gen]
session-load[session-load $json]
Восстановить сессию из [session-save] в текущем контексте (переменные + возобновлённые фибры).
session-save[session-save]
Сериализовать ВСЮ сессию (переменные + работающие фибры) в переносимый JSON.
spawn[spawn keyword args...] or [spawn lambda args...]
Создаёт фибру/генератор из ключевого слова или лямбда-выражения. Возвращает объект фибры, лениво порождающий значения. Пример: $gen = [spawn [counter 10]]
stream-pipe[stream-pipe $fiber lambda]
Преобразует значения фибры с помощью лямбда-функции. Возвращает новую фибру с преобразованными значениями. Пример: [stream-pipe $nums [lambda [$x] [* $x 2]]]
yield[yield value]
Приостанавливает выполнение и возвращает значение из фибры. Может вызываться только внутри контекста фибры. Пример: [for $i [range 10] [yield $i]]
file-append-b64[file-append-b64 "path" "base64_content"]
Добавляет двоичные данные (декодированные из base64) в файл (создаёт его при отсутствии).
file-delete[file-delete "path"]
Удаляет файл или каталог (надёжно, с повторными попытками в Windows).
file-read[file-read "path"]
Читает текст из файла в рабочем пространстве (jail).
file-read-b64[file-read-b64 "path"]
Читает двоичный файл и возвращает его содержимое в виде строки base64.
file-rename[file-rename "old_path" "new_name"]
Переименовывает файл или каталог в том же родительском каталоге.
file-write[file-write "path" "content"]
Записывает текст в файл рабочего пространства (jail).
file-write-b64[file-write-b64 "path" "base64_content"]
Записывает двоичный файл из строки base64.
ls[ls "/path"?]
JSON-список {name,type,size,modified} для записей каталога.
calendarCreate[calendarCreate summary startISO endISO desc?]
Создаёт событие.
calendarList[calendarList max]
Список предстоящих событий.
gmailList[gmailList query max]
Список непрочитанных писем (JSON).
gmailSend[gmailSend to subject body]
Отправляет электронное письмо.
geo:coords[geo:coords "city or address"]
{lat, lon, name, source}. source ∈ {offline, google, google-cache}. Сначала автономная база (cities-fr.csv), затем Google Geocoding при наличии GOOGLE_MAPS_API_KEY.
geo:distance[geo:distance "src" "dst"]
Целое число км. Псевдоним для haversine со строковыми входными данными.
geo:haversine[geo:haversine A B]
Целое число км (ортодромия). A/B — либо JSON {lat, lon}, либо строки (разрешаются через [geo:coords]).
geo:store-info[geo:store-info]
{offline_cities, google_api_key_configured}. Полезно для проверки состояния географического бэкенда.
route:matrix[route:matrix [list src...] [list dst...]]
Матрица км между каждой парой (src, dst). Вывод — VVL список-из-списков целых чисел, пригодный для [for] внутри [optimize:problem] как коэффициенты расстояния.
httpDELETE[httpDELETE url headers?]
DELETE; необязательные заголовки (JSON-словарь). Возвращает VVL_String при 2xx, VVL_Json {error,status,body} при >=400.
httpGET[httpGET url headers?]
GET; необязательные заголовки (JSON-словарь). Возвращает VVL_String при 2xx, VVL_Json {error,status,body} при >=400.
httpPATCH[httpPATCH url body headers?]
PATCH с телом text/JSON. Возвращает VVL_String при 2xx, VVL_Json {error,status,body} при >=400.
httpPOST[httpPOST url body headers?]
POST с телом text/JSON и необязательными заголовками.
httpPUT[httpPUT url body headers?]
PUT с телом text/JSON. Возвращает VVL_String при 2xx, VVL_Json {error,status,body} при >=400.
json-rpc[json-rpc url service method args?]
Вызов точки доступа JSON-RPC 2.0. Формирует конверт, отправляет POST, возвращает разобранный результат или {error:msg}.
server[server port host?]
Запускает минимальный HTTP-сервер VVL (только для администратора).
site[site baseUrl domain funcDef1 funcDef2 ...]
Объявляет ключевые слова, маршрутизируемые через HTTP (ODESA).
agent[agent "goal" options?]
Автономный агент ReAct. Генерирует VVL, выполняет его в текущем контексте, получает обратную связь и итерирует. Используйте [§§ "под-вопрос"]/[resolve "..."] внутри цели/кода для специализированного нейро-символического решения (вычисления, оптимизация, извлечение, факты, экспертные системы). Опции: budget (int, по умолчанию 8), tools (list[str], только фильтр документации), model (str), reflect (bool, по умолчанию true — выполняет финальный вызов judge(), который может отклонить и предоставить 1 корректирующий шаг).
agentTrace[agentTrace]
VVL_Json со структурированной трассой выполнения последнего вызова [agent]: {goal, model, steps_used, max_steps, done_signal, return_type, tool_calls[], tool_calls_count, errors[], final_code, usage_total{prompt_tokens,...}, elapsed_ms}. Возвращает <{}>, если в данном контексте не был выполнен ни один вызов [agent].
architect[architect "goal" options?]
Высокоуровневый оркестратор. Генерирует план VVL (однопроходный или с предварительным JSON-планом), проверяет синтаксис, выполняет с автоматическим исправлением LLM при ошибках выполнения. Словарь опций: {model, budget, max_retries (по умолчанию 3), plan_first (bool), session (id), temperature, use_rag}.
architect-resume[architect-resume "session-id"]
Загружает контрольную точку сессии [architect]: восстанавливает результаты фаз в [mem "<sid>"] и возвращает {session_id, phases, plan}.
codegen[codegen "goal"]
VVL_Json {"ok":true,"code":"<VVL код>"} или {"ok":false,"error":...}. Генерирует VVL-код через LLM (тот же движок, что :agent / vvl_codegen). Не изменяет сессию.
intent[intent "NL" "ProblemName"] (post-hoc)
Компилирует намерение на естественном языке в единственную форму тела (soft/assert/maximize/minimize) и добавляет её к существующей задаче. Инлайн-форма: поместите [intent "..."] внутрь тела [optimize:problem ...].
semantic[§ x] aka [semantic x]
VVL_Semantic для текста | VVL_Semantic(описание) для [§ img] (LLM с визуальным восприятием) | VVL_Img для [§ 'desc' IMG 'WxH'] (DALL-E 3). Сгенерированные изображения сохраняются в рабочей области активного пользователя.
semanticCache[semanticCache action ...]
Управление кэшем: 'reset' (очистить всё), 'delete' op left right (удалить одну запись), 'purge' op (удалить все записи оператора), 'list' [op] (показать записи).
semanticMode[semanticmode mode [threshold]]
Задаёт семантический режим: 'normal', 'advanced' (агентная модель для @) или 'jev' (логические операторы решает Jev, при его сомнении — LLM; необязательный порог 0.5..1)
semanticModel[semanticModel] | [semanticModel kind] | [semanticModel kind name] | [semanticModel kind name persist]
Инспектирует или заменяет LLM-модели. Типы: 'model' (базовая, @ normal), 'agent' ([agent]/[architect], @ advanced), 'vision' ([§ img]), 'image' ([§ desc IMG size]). С 'persist' значение также записывается в vvl.config (иначе — локально для процесса).
ilp:bias[ilp:bias BIAS_JSON]
Спецификация смещения. BIAS_JSON: {target, predicates:[{name,modes,role?,is_bk?}], max_body?, max_clauses?, max_vars?, types?, allow_recursion?}.
ilp:constraints[ilp:constraints $result]
Атом ConstraintStore из LearnResult — используйте [atom:trace] для полного журнала ошибок.
ilp:explain[ilp:explain $result]
Строка. Красивый вывод запуска LFF (программа, покрытие, время выполнения, ограничения по категориям).
ilp:induce[ilp:induce DESCRIPTION HEAD_NAME HEAD_ARITY POS NEG [OPTS?] [KB_NAME?]]
LearnResult. Полный конвейер: предложение смещения LLM + начальное заполнение гипотез LLM + уточнение LFF. opts: {n_seeds, max_body, max_iter, beam_width, seed}.
ilp:learn[ilp:learn $bias HEAD_PRED POS_JSON NEG_JSON [BK_JSON] [OPTS_JSON] [KB_NAME]]
Атом LearnResult. Запускает Learning-From-Failures над ограниченным смещением пространством гипотез. opts: {max_body, max_iter, beam_width, seed}.
ilp:learn-with-counter[ilp:learn-with-counter $bias HEAD_NAME POS NEG $store [WEIGHT?] [OPTS?] [KB_NAME?]]
LearnResult. Включает исправления пользователей (из [genetic:counter-store]) в наборы примеров для состязательной реиндукции.
ilp:propose-bias[ilp:propose-bias DESCRIPTION HEAD_NAME HEAD_ARITY POS NEG [KB_NAME?]]
Узел Bias. LLM предлагает объявления режимов + предикаты тела на основе естественного языка + примеров.
ilp:refine-with-ga[ilp:refine-with-ga $result HEAD_NAME POS NEG [OPTS?] [KB_NAME?]]
Уточнённый LearnResult. Стохастическое уточнение победителей LFF-результата через мутации удаления литерала и замены переменной; объединяет новые согласованные клаузы и повторно запускает жадное покрытие множества.
ilp:seed-hypotheses[ilp:seed-hypotheses $bias DESCRIPTION POS NEG [N?]]
Список JSON строк клауз Prolog. LLM предлагает до N кандидатных клауз Хорна для смещения.
ilp:test[ilp:test CLAUSES_JSON HEAD_PRED POS_JSON NEG_JSON [BK_JSON] [KB_NAME]]
Результат теста JSON. Проверяет программу-кандидат на {E+, E-} без обучения.
addImage[addImage $res1 $res2 x y alpha? alphacolor?]
Вставить res2 на res1.
blur[blur $res value]
Применить размытие по Гауссу.
brightness[brightness $res value]
Настроить яркость (1.0 = оригинал).
contrast[contrast $res value]
Настроить контраст (1.0 = оригинал).
createBlackWhite[createBlackWhite $res]
Преобразовать в чёрно-белое.
createGrayScale[createGrayScale $res]
Преобразовать в оттенки серого.
createImage[createImage w h bgcolor? transparency?]
Создать новое изображение (transparency: 0=непрозрачное, 100=прозрачное).
createNegative[createNegative $res]
Инвертировать цвета (негатив).
cropImage[cropImage $res x y w h]
Обрезать область в (x,y) размером w×h.
drawAngleArc[drawAngleArc $res x y radius startAngle endAngle pen fill alpha?]
Нарисовать дугу.
drawBezier[drawBezier $res points pen alpha?]
Нарисовать кривую Безье.
drawEllipse[drawEllipse $res x1 y1 x2 y2 pen fill alpha?]
Нарисовать эллипс.
drawLine[drawLine $res x1 y1 x2 y2 pen alpha?]
Нарисовать линию (pen: '#RRGGBB:width').
drawPolygon[drawPolygon $res points pen fill alpha?]
Нарисовать полигон.
drawRect[drawRect $res x1 y1 x2 y2 pen fill alpha?]
Нарисовать прямоугольник.
drawRoundRect[drawRoundRect $res x1 y1 x2 y2 radius pen fill alpha?]
Нарисовать прямоугольник с округлыми углами.
emboss[emboss $res]
Применить эффект тиснения (emboss).
fillBezier[fillBezier $res points pen fill alpha?]
Нарисовать залитую фигуру Безье.
flipImage[flipImage $res direction]
Отразить 'horizontal' или 'vertical'.
getHeight[getHeight $res]
Вернуть высоту изображения.
getImage[getImage 'path']
Загрузить файл изображения в изменяемый ресурс ImageRes.
getImageURL[getImageURL 'url']
Загрузить изображение по URL в изменяемый ресурс ImageRes.
getPixel[getPixel $res x y]
Вернуть цвет '#RRGGBB' пикселя в заданной позиции.
getPixel32[getPixel32 $res x y]
Вернуть 32-битное целое ARGB пикселя в заданной позиции.
getWidth[getWidth $res]
Вернуть ширину изображения.
imageToBase64[imageToBase64 $res format?]
Кодировать как data URI (png/jpg).
resizeImage[resizeImage $res w h]
Изменить размер с интерполяцией ближайшего соседа.
resizeResampling[resizeResampling $res w h]
Изменить размер с передискретизацией Ланцоша.
rotateImage[rotateImage $res angle bgcolor?]
Повернуть на заданный угол (в градусах).
saturation[saturation $res value]
Настроить насыщенность (1.0 = оригинал).
saveImage[saveImage $res 'path' format?]
Сохранить изображение в файл (формат: png/jpg/bmp).
setPixel[setPixel $res x y color]
Установить цвет пикселя в заданной позиции.
sharpen[sharpen $res value]
Повысить резкость изображения.
bannotate[bannotate kb "clause" p source? label?]
Аннотировать одну клаузу. p — число или "?"; source ∈ {user, fact, LLM, learned}; label разделяет одну случайную переменную между клаузами.
bapprox[bapprox kb "goal" ...]
VVL_Approximation, оборачивающая P[goal], чтобы она проходила через арифметику VVL и [approximation:*].
bbeliefs[bbeliefs kb]
Все убеждения клауз в KB (JSON).
bfacts[bfacts kb "p::fact" ...]
Добавить вероятностные (аннотированные) факты. Использовать "0.8::rain." или "?::rain." (равномерный априорный, для обучения).
blearn[blearn kb OBS_JSON iterations? seed?]
Байесовское (Gibbs) обучение весов клауз на основе наблюдаемых query-atoms. OBS_JSON: [{"goal":"wet(r1)","obs":true}, ...]. Сохраняет апостериорные в KB.
bposterior[bposterior kb "clause"]
Текущее Beta-убеждение клаузы (JSON).
bprob[bprob kb "goal" n_outer? n_inner? seed?]
JSON {value, ci, range, confidence, assumptions}. Предиктивная вероятность с распространением эпистемической неопределённости. Отрицание точное (булево решение по мирам).
brules[brules kb "p::head:-body." ...]
Добавить вероятностные (аннотированные) правила.
parse-statements[parse-statements code]
JSON-список инструкций верхнего уровня {start_line, end_line, text}. Используется отладчиком IDE.
vars[vars all?]
JSON-список переменных сессии {name, type, preview, value}. "all" включает локальные $__.
JSON[JSON s]
Разбирает строку JSON s в объект JSON.
XML[XML s]
Разбирает строку XML.
getXMLValue[getXMLValue xml "xpath"]
Получает текстовое содержимое узла(ов).
json-decode[json-decode string]
Разбирает строку JSON в объект VVL_Json. При ошибке разбора возвращает строку ошибки.
json-encode[json-encode value]
Кодирует значение (строку, число…) как литерал JSON с кавычками и экранированием.
json-get-opt[json-get-opt key json default?]
Читает значение по ключу из объекта JSON. Возвращает значение по умолчанию (или ""), если ключ отсутствует — безопасно для необязательных полей.
json-keys[json-keys json]
Возвращает VVL_List всех имён ключей объекта JSON.
json-path-get[json-path-get json_str path]
Читает вложенное значение по пути с точками и скобками (например 'layout.tabs[0].viewSystem.views.INIT.root'). Возвращает JSON-строку значения или 'null', если не найдено.
json-path-set[json-path-set json_str path new_value]
Устанавливает вложенное значение по пути с точками и скобками. new_value разбирается как JSON, если возможно. Возвращает обновлённую полную строку JSON.
json-set[json-set json_str key value]
Устанавливает ключ верхнего уровня в строке объекта JSON, возвращает обновлённую строку JSON.
jsonGetValue[jsonGetValue key json]
Читает значение по ключу/индексу из JSON. Вызывает KeyError, если отсутствует.
jsonToList[jsonToList jsonArray]
Преобразует массив JSON в список VVL.
object[object [key value ...]]
Лёгкий объект в виде dict VVL_Json; сериализуется через .json.
setXMLValue[setXMLValue value xml "xpath"]
Устанавливает текстовое содержимое узла(ов).
strToJson[JSON s]
Разбирает строку JSON s в объект JSON.
append[append head|tail val list]
Добавить значение в список.
chunk[chunk n list]
Список фрагментов по n элементов; последний может быть короче (= Enum.chunk_every).
collect[collect expr1 expr2 ...]
Вычислить выражения и вернуть значения, сохранённые через [keep].
concat[concat l1 l2 l3...]
Сплющить на один уровень — конкатенировать переданные списки.
count-by[count-by f serie]
paires [cle nombre] (= SELECT cle, COUNT(*) GROUP BY cle).
cycle[cycle serie]
БЕСКОНЕЧНЫЙ поток, повторяющий КОНЕЧНУЮ серию (= cycle в Haskell).
dim[dim $var value]
Присвоить значение переменной (альтернатива $var = value).
drop[drop n list]
Список без первых n элементов; отрицательное n отбрасывает с конца (= Enum.drop).
exist[exist value list]
1 если значение есть в списке, иначе 0.
first[first serie]
Первый элемент списка, первый символ строки ("" если пусто).
getType[getType element]
Строка метки типа VVL ("NUM", "STRING", "LIST", "JSON", ...).
getValue[getValue idx list]
Получить элемент по индексу с основанием 1.
group-by[group-by f serie]
paires [cle elements], dans l'ordre de premiere apparition (= GROUP BY).
index-of[index-of serie valeur]
Позиция значения в списке (или подстроки), начиная с 1; 0, если отсутствует. Тот же порядок аргументов, что у [contains].
insert[insert idx value list]
Вставить значение по индексу с основанием 1.
iterate[iterate f x]
БЕСКОНЕЧНЫЙ поток x, f(x), f(f(x))... (= iterate в Haskell).
keep[keep value]
Добавить значение в буфер текущего [collect] и вернуть его.
last[last serie]
Последний элемент списка, последний символ строки ("" если пусто).
length[length x]
Получить длину списка, строки или JSON (длина массива, количество ключей словаря).
let[let [[$x expr1] [$y expr2] ...] body]
Локальные последовательные привязки (let*), вычислить тело, восстановить предыдущие привязки.
list[list items...]
Вариадический конструктор VVL_List.
listMatch[listMatch list default lambda_cons]
Если пусто — значение по умолчанию; иначе lambda_cons(head, tail).
match[match target pattern1 body1 ... default?]
Сопоставление с образцом с отложенным выполнением тела.
mset[mset [$vars...] $values]
Деструктурирующее присваивание нескольких переменных.
pop[pop head|tail list]
Вернуть значение головы или хвоста списка.
put[put type idx value list]
Вставить/заменить по индексу с основанием 1 с типизацией (NUM/STRING/LIST/JSON).
remove[remove idx list]
Удалить элемент по индексу с основанием 1.
repeat[repeat v]
БЕСКОНЕЧНЫЙ поток одного и того же значения (= repeat в Haskell).
rest[rest serie]
Серия без первого элемента (список или строка).
scan[scan f init serie]
les resultats INTERMEDIAIRES du pli (= scanl / Enum.scan / +\).
slice[slice start stop step? list]
Срез с основанием 1, конец включительно. Отрицательный шаг — обратный порядок.
unique[unique list]
Список без дубликатов, побеждает первое вхождение (= Enum.uniq).
unpack[unpack list $headVar $tailVar]
Деструктурировать список в переменные голова/хвост. Возвращает 1 при успехе, 0 если пуст.
update[update type idx value list]
Обновить значение по индексу с основанием 1 с типизацией.
with[with $source $alias expr1 expr2 ...]
Параллельное вычисление выражений, каждое с $alias = source.
zip[zip a b]
Список пар, останавливается на более коротком списке (= Enum.zip).
zip-with[zip-with f a b]
f применяется к парам, останавливается на более короткой (= zipWith).
expert[expert "NL describing domain AND rules" "ExpertName"]
Инициализирует полную экспертную систему: генерирует онтологию + абстракции через [fuzzy:ontology], генерирует правило диспетчеризации через [fuzzy:rule], затем регистрирует ключевое слово VVL <ExpertName>, принимающее строку на естественном языке и возвращающее классифицированный экземпляр. После этого вызывающий код может использовать [<ExpertName> "произвольный ввод"] без написания какого-либо другого VVL.
expert:active[expert:active]
JSON-список экспертов, зарегистрированных в текущей сессии (доступных для диспетчеризации роутером). Отличается от [expert:list], который перечисляет экспертов, сохранённых на диск через [expert:save]. Используется для проверки ctx._expert_registry — символьный роутер обращается к этому списку при классификации вопроса в семейство expert_system.
expert:list[expert:list]
Возвращает JSON-список всех сохранённых экспертов.
expert:load[expert:load "Name"]
Восстанавливает сохранённого эксперта: схему, абстракции, правила и ключевое слово. Возвращает переменную схемы для дальнейшего использования.
expert:save[expert:save "Name"]
Сохраняет ранее построенного эксперта (схему, абстракции, правила, ключевое слово) для последующей загрузки через [expert:load].
fuzzy:and[fuzzy:and a b ...]
T-норма AND по всем аргументам. Используйте :family <name> для переопределения.
fuzzy:degree[fuzzy:degree [§ x] "spam"]
степень 0..1, в которой описание применимо к x; [fuzzy:degree [§ x] ["низкий" "средний" "высокий"]] -> позиция на шкале, 0..1. Jev в [semanticMode "jev"] (LLM, если Jev сомневается), иначе LLM.
fuzzy:degrees[fuzzy:degrees [§ x] `[name "predicate" name2 ["low" "high"] ...]]
JSON {имя: степень 0..1}, все измерены за ОДИН вызов Jev ([semanticMode "jev"]); LLM берёт только степени, в которых Jev сомневается.
fuzzy:extremely[fuzzy:extremely x]
x**4 (сверх-концентрация).
fuzzy:family[fuzzy:family]
Текущее семейство. [fuzzy:family "name"] -> установить ("zadeh"/"probabilistic"/"lukasiewicz").
fuzzy:few[fuzzy:few values]
Среднее значение нижней половины (квантификатор «немногие являются»).
fuzzy:imp[fuzzy:imp a b]
Нечёткая импликация a→b в рамках активного семейства.
fuzzy:most[fuzzy:most values]
Среднее значение верхней половины (квантификатор «большинство являются»).
fuzzy:not[fuzzy:not x]
1-x.
fuzzy:ontology[fuzzy:ontology "NL description of the domain"]
Генерирует полную онтологию (классы, атрибуты, абстракции, отношения) на основе описания на естественном языке. Сгенерированный VVL разбирается и вычисляется немедленно, так что $<Schema> привязан и готов к использованию с [ontology:fromText], [fuzzy:rule], [ontology:infer] и т.д.
fuzzy:or[fuzzy:or a b ...]
T-конорма OR по всем аргументам. Используйте :family <name> для переопределения.
fuzzy:rule[fuzzy:rule "rule in NL" $schemaVar?]
Преобразует правило на естественном языке в формальную ontology:rule с использованием инфиксных операторов ~&/~|/~!/≈>. Правило затем вычисляется через [ontology:infer ...] без дополнительных вызовов LLM.
fuzzy:slightly[fuzzy:slightly x]
x**(1/3) (сверх-дилатация).
fuzzy:somewhat[fuzzy:somewhat x]
sqrt(x) (дилатация).
fuzzy:very[fuzzy:very x]
x**2 (концентрация).
fuzzy:wmean[fuzzy:wmean values weights]
Взвешенное среднее арифметическое двух VVL-списков одинаковой длины.
proposition[proposition "p & q
r"] -> компилирует читаемую INFIX-пропозицию.
proposition:and[proposition:and P Q …]
конъюнкция.
proposition:entails[proposition:entails [P …] G]
1 если предпосылки влекут G.
proposition:eq[proposition:eq a b]
a = b.
proposition:ge[proposition:ge a b]
a ≥ b.
proposition:gt[proposition:gt a b]
a > b.
proposition:iff[proposition:iff P Q]
эквивалентность P<->Q.
proposition:implies[proposition:implies P Q]
импликация P->Q.
proposition:le[proposition:le a b]
a ≤ b.
proposition:lt[proposition:lt a b]
a < b.
proposition:ne[proposition:ne a b]
a ≠ b.
proposition:not[proposition:not P]
отрицание.
proposition:or[proposition:or P Q …]
дизъюнкция.
proposition:parse[proposition:parse "p & q
r"] -> то же, что [proposition "…"] (пространство имён).
proposition:sat[proposition:sat P]
{sat, model} (выполнимость).
proposition:symbolic[proposition:symbolic p [q …]]
объявляет один или несколько пропозициональных символов.
proposition:valid[proposition:valid P]
1 если тавтология, 0 в противном случае.
proposition:xor[proposition:xor P Q …]
исключающее или.
log[log msg...]
Добавляет запись в файл журнала контекста (и в консоль, если нет рабочего пространства).
logImage[logImage img options?]
Отображает изображение в REPL. Режимы: "image" (по умолчанию, term-image) или "ascii" (Pillow).
logTable[logTable list_of_objects options?]
Отображает таблицу Rich из JSON-списка. Параметры: {box, title, styles}.
print[print arg1 arg2 ...]
Выводит аргументы в консоль.
mcp-call[mcp-call $client tool_name arguments?]
Вызывает инструмент MCP. Возвращает результат в формате JSON.
mcp-close[mcp-close $client]
Закрывает MCP-соединение и завершает серверный процесс.
mcp-connect[mcp-connect name command env?]
Подключается к MCP-серверу через stdio. Возвращает "mcp:<name>".
mcp-list[mcp-list $client]
Перечисляет доступные инструменты на MCP-сервере. Возвращает массив JSON.
mcp-resource[mcp-resource $client uri]
Читает ресурс с MCP-сервера. Возвращает JSON.
mcp-servers[mcp-servers]
Перечисляет все активные MCP-соединения. Возвращает массив JSON.
module:def[module:def name [export a b ...] body...]
Определяет модуль с пространством имён. Builtin RAW. Тело выполняется в изолированном контексте. Экспорты: - значения читаются через [module:get Module name]; - ключевые слова устанавливаются только под квалифицированными именами вида Module:name.
module:get[module:get module export]
Возвращает экспортированное значение модуля. Builtin RAW. `module` и `export` могут быть словами или строками.
module:info[module:info module]
Возвращает метаданные модуля в виде JSON. Builtin RAW. Поля результата: name, exports, keywords, path
module:list[module:list]
Возвращает имена загруженных/определённых модулей.
module:load[module:load "file.vvl"]
Загружает файл модуля VVL один раз. Файл разрешается по правилам пути текущего рабочего пространства и обычно содержит одну или несколько форм [module:def ...]. Использует ctx.module_cache: повторная загрузка того же пути возвращает кэшированный результат. Используйте [module:reload "file.vvl"] для принудительного повторного выполнения.
module:reload[module:reload "file.vvl"]
Принудительно перезагружает файл модуля VVL. Повторно парсит и выполняет файл, заменяя квалифицированные экспорты ключевых слов для модулей, переопределённых этим файлом.
compute[compute stack ops]
Стековый движок в стиле Uiua. Пример: [compute [] [5 "iota" 2 "*"]]
dump[dump value]
Возвращает текстовый дамп VVL вычисленного значения. Полезно для отладки и обратных преобразований значений: $text = [dump `[a b 1]] -> "[a b 1]" [eval [load $text]] -> [a b 1] Обратное преобразование гарантировано для базовых читаемых значений: чисел, строк, списков и JSON. Платформенные ресурсы могут возвращать только диагностические дампы.
eval[eval expr]
Короткий псевдоним для [evaluate]. RAW builtin. Предпочтителен в рабочем процессе code-as-data: $form = [load "[+ 2 3]"] [eval $form] -> 5 Используйте [load] для разбора источника без выполнения, затем [eval] для запуска загруженной формы.
evaluate[evaluate expr]
Вычисляет исходный код VVL или ЭЛЕМЕНТЫ формы. RAW builtin.
execute[execute expr]
ЗАПУСКАЕТ форму, повторяя до стабилизации. RAW builtin. Это «do» языка VVL.
form[form value]
Возвращает текст для отображения человеку для вычисленного значения. В отличие от [mold]/[dump], строки не берутся в кавычки, а списки объединяются в текст: [form "hello"] -> "hello" [form `[a 10 b]] -> "a 10 b" Используйте [mold] или [dump], когда нужно представление для [load].
help[help name?]
Перечисляет builtins или возвращает справку по конкретной команде.
import[import "file.vvl"]
Выполняет внешний файл VVL.
inspectWord[inspectWord name]
Проверяет, является ли слово builtin, ключевым словом или иным.
keyword[keyword name template]
Определяет macro.
lambda[lambda [params] body]
Определяет анонимную функцию.
load[load source]
Разбирает строку источника VVL без выполнения. Возвращает: - единственный разобранный узел, если источник содержит одно выражение верхнего уровня; - список VVL узлов, если источник содержит несколько операторов верхнего уровня.
mem[mem db key val?]
Хранилище ключ-значение (чтение или запись).
memSearch[memSearch db val]
Находит ключи по значению.
mold[mold value]
Возвращает читаемое представление VVL вычисленного значения. `mold` — название в стиле REBOL для текстовой формы, ориентированной на обратное преобразование. В настоящее время намеренно разделяет ту же семантику, что и [dump]: [mold `[a b 1]] -> "[a b 1]" [eval [load [mold `[a b 1]]]] -> [a b 1] Используйте [form], когда нужен текст для человека, а не читаемый источник.
proai-validator-json[proai-validator-json JSON|fichier]
Структурированный отчёт валидации JSON. Возвращает JSON с полями score, valid, hasCritical, hasErrors, summary и entries[], каждый с id/severity/category/title/message/path/fix/expected/actual.
quote[quote expr...]
Возвращает сырое(ые) выражение(я) без вычисления. RAW builtin. - Один аргумент: возвращает это сырое выражение. - Несколько аргументов: возвращает список VVL сырых выражений.
sub[sub "file.vvl" args...] or [sub graphName args...]
Вызывает под-скрипт или под-граф.
type-of[type-of value]
Возвращает стабильное строчное имя типа VVL.
version[version]
JSON {"VAILS", "VVL", "variant"?, "branch"?, "sha"?}. "variant" появляется на экспериментальных сборках; branch/sha когда git доступен.
λ[λ [params] body]
Псевдоним для lambda.
odesa:call[odesa:call URL token fonction [param valeur] …]
внутренний форвардер для ключевых слов от [odesa:site].
odesa:site[odesa:site URL préfixe ?token]
получает манифест сервера ODESA и устанавливает ключевые слова префикс:функция (HTTP-вызов + ре-оценка VVL).
class[class Name : Parent? [field f default :ann?]* [method m [params] body]* [mixin M]* [implements P]*]
class-of[class-of $obj]
Имя класса объекта (или тип Python для не-экземпляров).
implements-of[implements-of $obj ProtocolName]
1, если объект реализует protocol/protocole.
is-a[is-a $obj ClassName]
1, если объект является экземпляром класса, подкласса, mixin-а или реализует protocol/protocole.
method-call[method-call $obj "nom" args...]
вызывает метод по его ИМЕНИ (динамическая отправка).
methods-of[methods-of $obj]
JSON-список имён методов.
new[new ClassName arg1 arg2 ...]
Создаёт экземпляр. Классы VVL: позиционные аргументы передаются в init(). Классы онтологии: передавать именованные пары [attr value] -> VVL_OntologyInstance.
object-class[object-class $obj]
Имя класса (объекта или класса). Иначе ошибка.
object-fields[object-fields $obj]
Имена полей, отсортированные (тот же порядок, что и в VM).
object-get[object-get $obj champ]
Значение поля, "" если отсутствует.
object-has[object-has $obj champ]
1, если поле существует, иначе 0.
object-new[object-new Classe] ou [object-new Classe <{...}>]
Экземпляр с этими полями.
object-set[object-set $obj champ valeur]
НОВЫЙ объект; исходный не затронут.
object-to-json[object-to-json $obj]
JSON {__vvl_object__, fields, …} — форма VM.
protocol[protocol Name [requires methodA] [requires methodB] ...]
Определяет интерфейс.
relation[relation Name [domain Class] [range Class] [cardinality ...] [inverse R] [symmetric true] [transitive true]]
Отношение в стиле OWL.
call[call obj method args...]
Вызов метода.
excel-chart[excel-chart $book spec]
Вставить диаграмму из JSON-спецификации.
excel-formula[excel-formula $book spec]
Вставить формулы из JSON-спецификации.
excel-info[excel-info $book]
Полная структура книги (листы + ячейки) в виде JSON.
excel-pdf[excel-pdf $book path]
Экспортировать книгу в PDF.
excel-style[excel-style $book spec]
Применить стили из JSON-спецификации.
excel-table[excel-table $book spec]
Создать таблицу из JSON-спецификации.
get[get obj prop]
Получить свойство.
office[office app visible?]
Запустить приложение Office (word/excel/outlook/powerpoint).
outlook-folders[outlook-folders $outlook]
Список всех папок Outlook в виде JSON [{name,path,unreadCount,itemCount}...].
outlook-list[outlook-list $outlook folder? max?]
Список последних писем в папке (по умолчанию «Входящие», макс. 50). Возвращает список JSON.
outlook-move[outlook-move $outlook entryId targetFolder]
Переместить письмо в другую папку по пути.
outlook-read[outlook-read $outlook entryId]
Прочитать одно письмо по EntryID. Возвращает JSON {subject,sender,body,attachments...}.
outlook-save[outlook-save $outlook entryId path]
Сохранить письмо как файл .msg на диске.
outlook-search[outlook-search $outlook query folder?]
Поиск писем по запросу (фильтр DASL). Возвращает список JSON.
outlook-send[outlook-send $outlook to subject body cc? bcc? attachments?]
Отправить письмо через Outlook.
ppt-animate[ppt-animate $pres slideIdx shapeIdx effect]
Добавить эффект анимации к фигуре.
ppt-chart[ppt-chart $pres slideIdx spec]
Вставить диаграмму из JSON-спецификации.
ppt-duplicate[ppt-duplicate $pres slideIdx]
Дублировать существующий слайд.
ppt-export[ppt-export $pres path format?]
Экспортировать презентацию (по умолчанию pdf, также pptx, png).
ppt-info[ppt-info $pres]
Полная структура презентации в виде JSON {slides:[{layout,shapes:[...]}]}.
ppt-master[ppt-master $pres action params...]
Управлять образцом слайдов и макетами.
ppt-pdf[ppt-pdf $pres path]
Экспортировать презентацию в файл PDF.
ppt-shape[ppt-shape $pres slideIdx spec]
Создать или изменить фигуру из JSON-спецификации.
ppt-slide[ppt-slide $pres action params...]
Управлять слайдами (добавить, удалить, дублировать, переместить).
ppt-style[ppt-style $pres slideIdx shapeIdx style]
Применить визуальный стиль (заливка, рамка, шрифт) к фигуре.
ppt-text[ppt-text $pres slideIdx shapeIdx text]
Задать текстовое содержимое фигуры.
ppt-transition[ppt-transition $pres slideIdx effect]
Задать эффект перехода слайда.
prop[prop obj path...]
Обход пути свойств на COM-объекте.
quit[quit obj]
Закрыть приложение Office.
set[set obj prop val]
Установить свойство.
word-info[word-info $doc]
Полная структура документа в виде JSON (один вызов).
word-pdf[word-pdf $doc path]
Экспортировать документ Word в файл PDF.
word-table[word-table $doc spec]
Создать таблицу из JSON-спецификации.
word-textbox[word-textbox $doc spec]
Создать текстовое поле из JSON-спецификации.
every[every lambda list]
1, если каждый элемент удовлетворяет предикату (= Enum.all?).
filter[filter lambda list]
Фильтрует список по предикату. Поддерживает VVL_List и VVL_Json.
flat[flat list] or [flat list depth]
Разворачивает вложенный список в одноуровневый список. Необязательная глубина ограничивает разворачивание.
for[for $var list body]
Итерирует по списку или JSON-массиву. Возвращает список результатов тела.
jit[jit]
текущий порог компиляции | [jit N] задаёт его (вызовов до компиляции горячей лямбды; 0 = JIT выключен, 1 = сразу).
map[map lambda list]
Применяет функцию к каждому элементу списка.
pmap[pmap lambda list]
Применяет функцию параллельно к каждому элементу списка.
reduce[reduce lambda init? list]
Свёртка списка в одно значение (лямбда принимает аккумулятор и элемент).
some[some lambda list]
1, если хотя бы один элемент удовлетворяет предикату (= Enum.any?).
take[take n serie]
первые n элементов списка ИЛИ ленивого потока. Приводит поток (даже бесконечный) к n элементам.
vectorize[vectorize]
состояние (1/0) | [vectorize 1|0] включает/выключает векторизующий уровень [map] на лету (на весь процесс).
PDFMake[PDFMake <template> $data "out.pdf" $options?]
VVL_Pdf. Шаблон — это выражение VVL в скобках (DSL) или строка (Markdown); тип определяется автоматически. Опции: pageSize/orientation/margins/defaultStyle/title/author/input.
pdfListKeys[pdfListKeys "users"|"guests"|"all"?]
JSON хранилищ ключей рабочего пространства.
pdfMakeGuestKey[pdfMakeGuestKey "email" "Nom Prénom" days?]
Создаёт гостевой сертификат .p12 (автоматический пароль, зашифрованный).
pdfMakeUserKey[pdfMakeUserKey "password" days?]
Создаёт .p12 для ctx.user в рабочем пространстве.
pdfRevokeKey[pdfRevokeKey "user:email"|"guest:id"]
1/0. Удаляет .p12 и записывает отпечаток.
pdfSign[pdfSign $pdf "out.pdf" "user:email"|"guest:id" password?]
Относительный путь к подписанному PDF.
pdfVerify[pdfVerify "signed.pdf"]
JSON {valid, signers:[{cn,email,trust,fingerprint,revoked,...}]}.
IMG[IMG "path"]
Создаёт VVL_Img и предварительно загружает его base64-представление.
PDF[PDF "path"]
Создаёт VVL_Pdf.
imgToMatrix[imgToMatrix "path" mode?]
JSON-матрица пикселей (режим "RGB" или "L").
matrixToImg[matrixToImg matrix "path"]
Сохраняет матрицу как файл изображения.
pdfMeta[pdfMeta $pdfObj]
JSON {pages, author, ...}.
pdfText[pdfText $pdfObj max_pages?]
Текст, извлечённый из PDF.
pdfToImages[pdfToImages $obj zoom?]
Список VVL_Img (по одному на страницу).
dialect:def[dialect:def name grammar]
Регистрирует именованную грамматику разбора. Builtin RAW. Грамматика сохраняется в текущем контексте под именем `name`. Она не становится builtin-ом, ключевым словом или плагином.
dialect:list[dialect:list]
Возвращает имена зарегистрированных диалектов.
dialect:parse[dialect:parse name input]
Разбирает входные данные с помощью зарегистрированной грамматики. Builtin RAW. `name` может быть словом или строкой. `input` вычисляется. Возвращает ту же структуру JSON, что и [parse].
parse[parse input grammar]
Разбирает строку или список с помощью диалекта разбора VVL. Builtin RAW. `input` вычисляется; `grammar` читается как правила. Возвращает JSON: {ok, position, captures, rest, expected?} Примитивные правила: digit number num letter space string word list any end Комбинаторы: [some rule] одно или более [any rule] ноль или более [opt rule] необязательно [repeat n rule] ровно n раз [repeat min max rule] от min до max раз [alt r1 r2 ...] альтернативы [capture name rule] захватывает потреблённый ввод [literal value] соответствие литералу [to rule] продвигается до rule без потребления [thru rule] продвигается через rule и потребляет его [rule name grammar] определяет локальное подправило [do expr...] выполняет действие VVL в текущей позиции
obj-assert[obj-assert $instance kbname?]
Добавляет факты instance/2 + prop/3 + rel/3 в базу Prolog. Без kbname использует базу по умолчанию (см. [kb default]). Возвращает количество фактов.
obj-delete[obj-delete $instance] or [$instance.delete]
Удаляет экземпляр из SQLite по его UUID.
obj-find[obj-find ClassName field value op?]
Находит экземпляры по значению поля. op: '=' (по умолчанию), '>=', '<=', '>', '<', '!=', 'LIKE'.
obj-join[obj-join FromClass relField ToClass filterField filterValue]
Реляционное объединение между классами через таблицу vvl_relations.
obj-load[obj-load ClassName id]
Загружает экземпляр по UUID из SQLite.
obj-query[obj-query ClassName "SQL WHERE clause"]
Прямой SQL-запрос к vvl_objects. Использовать с осторожностью.
obj-retract[obj-retract $instance kbname?]
Удаляет все факты Prolog для экземпляра из базы. Без kbname использует базу по умолчанию. Возвращает количество удалённых фактов.
obj-save[obj-save $instance] or [$instance.save]
Сохраняет экземпляр в SQLite. Генерирует UUID, индексирует скалярные поля, сохраняет ссылки :ref в vvl_relations.
planning:add-constraint[planning:add-constraint $schema $planning_id $kind <{params}>?]
создаёт и фиксирует новое Ограничение (kind, params), добавляет в C, возвращает идентификатор ограничения.
planning:add-resource[planning:add-resource $schema $planning_id $resource_id]
добавить в R.
planning:add-task[planning:add-task $schema $planning_id $task_id]
добавляет задачу в T (идемпотентно), увеличивает версию, нормализует.
planning:assign[planning:assign $schema $planning_id $task_id $resource_ids $start_ts $end_ts]
создаёт и фиксирует новое Назначение, добавляет его id в A, возвращает идентификатор назначения.
planning:code[planning:code NAME [horizon L H] body...]
возвращает VVL-код [optimize:problem ...], который сгенерировал бы [planning:problem ...], без регистрации. Инструмент инспекции DSL-десахаризатора.
planning:compile[planning:compile $schema $mission_id $h_start_ts $h_end_ts]
Мост Фазы 2: читает Mission/Task/Resource/Reservation из онтологической базы знаний, вычисляет соответствие на основе requirements_json + skill_ids, генерирует DSL-источник [planning:problem ...] и регистрирует его. Возвращает имя задачи 'PB_<mission_id>'.
planning:compile-code[planning:compile-code $schema $mission_id $h_start_ts $h_end_ts]
возвращает DSL-источник [planning:problem ...], сгенерированный из онтологии, без регистрации. Инструмент инспекции моста Фазы 2.
planning:compose[planning:compose $schema $p1 $p2 [as $new_id]?]
объединение покомпонентно + нормализация. Возвращает идентификатор нового Планирования.
planning:diff[planning:diff $schema $p1 $p2]
<{from, to, added: {comp:[...]}, removed: {comp:[...]}, modified}>.
planning:equivalent[planning:equivalent $schema $p1 $p2]
1 если p1 ≡ p2 в нормальной форме, 0 в противном случае.
planning:from-mission[planning:from-mission $schema $mission_id $h_start_ts $h_end_ts [as $id]?]
заполняет T (экземпляры задач миссии), R (активные ресурсы), F (подтверждённые резервирования) из базы знаний.
planning:includes[planning:includes $schema $p1 $p2]
1 если p2 ⊑ p1 (покомпонентное подмножество), 0 в противном случае.
planning:install-algebra-classes[planning:install-algebra-classes $schema]
добавляет онтологические классы `Planning` и `Constraint` в схему (идемпотентно). Требуется перед любым вызовом [planning:new] / [planning:compose] / и т.д.
planning:meet[planning:meet $schema $p1 $p2 [as $new_id]?]
p1 ⊓ p2 (непустой meet => перекрытие).
planning:new[planning:new $schema $id $mission_id $h_start_ts $h_end_ts]
фиксирует пустой экземпляр Planning (T=R=A=C=F=∅). Возвращает его id.
planning:normalize[planning:normalize $schema $p_id]
применяет правила упрощения PDF § 7.4 на месте: удаление осиротевших назначений, слияние дублирующихся ограничений, отмена и удаление истёкших резервирований, удаление precedence(t,t') где t ∉ T.
planning:problem[planning:problem NAME [horizon L H] body...]
DSL планирования Фазы 1. Формы тела: [task ID [duration N] [window L H]?], [resource ID [kind K]? [capacity N]?], [fixed-reservation R L H], [precedence T1 T2], [on-resource-group T ROLE [resources R1 R2 ...]], [no-overlap-resource R], [objective minimize-makespan]. Десахаризует в [optimize:problem ...] и регистрирует задачу. Ёмкости > 1 не поддерживаются в V0.
planning:reify-assignments[planning:reify-assignments $schema $problem_name]
после [planning:solve] читает последнее решение решателя и создаёт экземпляры Assignment в базе знаний (зафиксированные). Возвращает список VVL_Json словарей {task_id, resource_ids, start_ts, end_ts}.
planning:remove-constraint[planning:remove-constraint $schema $planning_id $constraint_id]
отзывает экземпляр Constraint и удаляет из C.
planning:remove-resource[planning:remove-resource $schema $planning_id $resource_id]
удаляет из R и каскадно отзывает все Назначения, использующие этот ресурс (Назначения, подкреплённые подтверждённой или активной Резервацией в F, защищены).
planning:remove-task[planning:remove-task $schema $planning_id $task_id]
удаляет из T и каскадно отзывает все Назначения с совпадающим task_id.
planning:seed[planning:seed $schema "ClassName" <{key: val, ...}>]
создаёт и фиксирует экземпляр онтологии из словаря JSON. Обходит [new ClassName] (знает только OO-классы, а не онтологические). Поля типа список в планировании (skill_ids, requirements_json, depends_on_task_ids, …) кодируются в JSON автоматически. Возвращает Prolog id зафиксированного экземпляра.
planning:snapshot[planning:snapshot $schema $p_id [as $new_id]?]
глубокая копия с version+1, связанным parent_id, snapshot_ts=now.
planning:solve[planning:solve NAME [time_limit secs]?]
решает задачу, зарегистрированную через [planning:problem ...]. Возвращает VVL_Json со значениями решений плюс __status__ / __objective__. Тот же backend, что и у [optimize:solve].
planning:subtract[planning:subtract $schema $p1 $p2 [as $new_id]?]
p1 \ p2 покомпонентно (некоммутативно).
planning:unassign[planning:unassign $schema $planning_id $task_id]
отзывает все Назначения с совпадающим task_id и удаляет их из A.
planning:validate[planning:validate NAME]
структурная диагностика задачи, зарегистрированной через [planning:problem ...]. Та же диагностическая поверхность, что у [optimize:validate]; полезно когда десахаризатор успешно отработал, но базовая модель CP-SAT имеет мягкие проблемы.
plugin-info[plugin-info name]
Манифест + подписант + дайджест + статус.
plugin-inspect[plugin-inspect "x.vvlplugin"]
Проверяет формат, дайджест, подпись и политику без установки.
plugin-install[plugin-install "x.vvlplugin"]
Проверяет подпись и политику, записывает файл .py, создаёт запись.
plugin-load[plugin-load "name" as kw (mode "inproc")?]
Повторно проверяет дайджест по записи, затем привязывает ctx.plugins[kw].
plugin-remove[plugin-remove "name"]
Отвязать + удалить файл(ы) + запись. Идемпотентно.
plugin-trust-add[plugin-trust-add id "<PEM>" tier]
Добавить доверенный открытый ключ Ed25519 (уровень: standard|high). Администратор.
plugin-trust-export[plugin-trust-export id "out.pub"]
Перезаписывает PEM в plugins/_inbox. Администратор.
plugin-trust-get[plugin-trust-get id]
Детали ключа + PEM. Администратор.
plugin-trust-import[plugin-trust-import "author.pub" id tier]
Импортировать ключ .pub из plugins/_inbox. Администратор.
plugin-trust-list[plugin-trust-list]
JSON-список доверенных ключей (без необработанного PEM). Администратор.
plugin-trust-remove[plugin-trust-remove id]
Отозвать/удалить ключ. Администратор.
plugin-trust-update[plugin-trust-update id tier]
Изменить уровень ключа. Администратор.
plugin-unload[plugin-unload kw]
Удалить привязку сеанса.
plugin-workspace-trust[plugin-workspace-trust [name] 0|1]
Включить/отключить plugins_trusted (шлюз режима inproc). Администратор.
plugins-list[plugins-list]
Установленные + загруженные плагины (статус).
plugin-audit[plugin-audit n?]
Последние события времени выполнения плагинов. Администратор.
plugin-login[plugin-login plugin profile json]
Сохранить выделенный профиль аутентификации для плагина. Администратор.
plugin-login-list[plugin-login-list plugin]
Список профилей аутентификации плагина. Администратор.
plugin-logout[plugin-logout plugin profile]
Удалить профиль аутентификации плагина. Администратор.
plugin-secret-get[plugin-secret-get plugin key]
Прочитать секрет плагина. Администратор.
plugin-secret-list[plugin-secret-list plugin]
Список имён сохранённых секретов. Администратор.
plugin-secret-remove[plugin-secret-remove plugin key]
Удалить секрет плагина. Администратор.
plugin-secret-set[plugin-secret-set plugin key value]
Сохранить зашифрованный секрет для плагина. Администратор.
=/=[=/=]
[=/=] -> алиас [distinct]: цель/терм miniKanren (допустимо внутри [run]).
==[==]
[==] -> алиас [unify]: цель/терм miniKanren (допустимо внутри [run]).
absent[absent]
цель/терм miniKanren (допустимо внутри [run]).
all[all]
цель/терм miniKanren (допустимо внутри [run]).
any[any]
цель/терм miniKanren (допустимо внутри [run]).
any-weighted[any-weighted]
цель/терм miniKanren (допустимо внутри [run]).
bind-csv[bind-csv Classe $csv ["pk"]]
порождает класс ВМЕСТЕ с полями, выведенными из СХЕМЫ CSV (колонки + выведенные типы), и связывает его с CSV как источником.
commit[commit]
цель/терм miniKanren (допустимо внутри [run]).
commit-once[commit-once]
цель/терм miniKanren (допустимо внутри [run]).
conda[conda]
[conda] -> алиас [commit]: цель/терм miniKanren (допустимо внутри [run]).
conde[conde]
[conde] -> алиас [any]: цель/терм miniKanren (допустимо внутри [run]).
condu[condu]
[condu] -> алиас [commit-once]: цель/терм miniKanren (допустимо внутри [run]).
conj[conj]
[conj] -> алиас [all]: цель/терм miniKanren (допустимо внутри [run]).
cons[cons]
цель/терм miniKanren (допустимо внутри [run]).
constrain[constrain]
цель/терм miniKanren (допустимо внутри [run]).
defrel[predicate nom [params] goal…]
определяет логическое отношение.
disj[disj]
[disj] -> алиас [any]: цель/терм miniKanren (допустимо внутри [run]).
distinct[distinct]
цель/терм miniKanren (допустимо внутри [run]).
exists[exists]
цель/терм miniKanren (допустимо внутри [run]).
fact[fact]
цель/терм miniKanren (допустимо внутри [run]).
fail[fail]
цель/терм miniKanren (допустимо внутри [run]).
fresh[fresh]
[fresh] -> алиас [exists]: цель/терм miniKanren (допустимо внутри [run]).
kb-goal[kb-goal]
[kb-goal] -> алиас [fact]: цель/терм miniKanren (допустимо внутри [run]).
match-obj[match-obj]
[match-obj] -> алиас [obj-match]: цель/терм miniKanren (допустимо внутри [run]).
obj-match[obj-match]
цель/терм miniKanren (допустимо внутри [run]).
once[once]
цель/терм miniKanren (допустимо внутри [run]).
predicate[predicate nom [params] goal…]
определяет логическое отношение.
prob[prob [vars] goal…]
МАРГИНАЛЬНАЯ вероятность = сумма весов всех решений.
probability[prob [vars] goal…]
МАРГИНАЛЬНАЯ вероятность = сумма весов всех решений.
run[run N [vars] goal…]
СПИСОК не более чем из N решений.
run*[run-all [vars] goal…]
СПИСОК ВСЕХ решений (алиас [run-all]).
run-all[run-all [vars] goal…]
СПИСОК ВСЕХ решений (материализуется; расходится, если отношение бесконечно — см. [run-stream]).
run-stream[run-stream [vars] goal…]
Ленивый ПОТОК решений, потребляемый через [take].
run-weighted[run-weighted [vars] goal…]
СПИСОК [решение вероятность] — каждый мир с его вероятностью.
s#[s#]
[s#] -> алиас [succeed]: цель/терм miniKanren (допустимо внутри [run]).
succeed[succeed]
цель/терм miniKanren (допустимо внутри [run]).
u#[u#]
[u#] -> алиас [fail]: цель/терм miniKanren (допустимо внутри [run]).
unify[unify]
цель/терм miniKanren (допустимо внутри [run]).
val[val]
цель/терм miniKanren (допустимо внутри [run]).
without[without]
[without] -> алиас [absent]: цель/терм miniKanren (допустимо внутри [run]).
≡[≡]
[≡] -> алиас [unify]: цель/терм miniKanren (допустимо внутри [run]).
facts[facts name "fact"...]
Добавить факты в базу знаний (KB).
kb[kb set|reset|default|dump|delete|list|save|load name?]
Управление базами знаний.
prologExists[prologExists name query]
1, если существует хотя бы одно решение, иначе 0.
prologFirstValue[prologFirstValue name query var default]
Первая подстановка переменной или значение по умолчанию.
prologSolutions[prologSolutions name query]
Список решений (каждое решение — список пар [var, value]).
prologValues[prologValues name query var]
Список значений, связанных с переменной во всех решениях.
query[query JSON|VVL name query...]
Выполнить запросы к KB. Возвращает JSON или список VVL.
rules[rules name "rule"...]
Добавить правила в базу знаний (KB).
genius[genius "question" mode?]
Запрашивает документацию VVL через RAG. mode: "hybrid" (по умолчанию) или "naive". Требует предварительного вызова :genius-learn.
ragAsk[ragAsk kb question mode?]
Семантический поиск. Режимы: hybrid|naive|local|global (по умолчанию: hybrid).
ragAskAdvanced[ragAskAdvanced kb question top_k? mode?]
Расширенный поиск с тонкой настройкой.
ragAskSimple[ragAskSimple kb question top_k?]
Простой поиск без LLM (top_k=5).
ragCacheClear[ragCacheClear]
Очищает весь кэш RAG в памяти.
ragCacheInfo[ragCacheInfo]
Информация о кэше (загруженные экземпляры, память).
ragClear[ragClear kb]
Удаляет всё содержимое (не удаляя саму базу).
ragClose[ragClose kb]
Закрывает базу знаний (освобождает кэш памяти). [ragClose] без аргумента закрывает все.
ragDelete[ragDelete kb]
Удаляет базу знаний (необратимо).
ragDocContent[ragDocContent kb docId]
Получает содержимое документа.
ragDocs[ragDocs kb]
Перечисляет все документы (id, статус, размер).
ragExtractJson[ragExtractJson kb question schema?]
Структурированное извлечение в JSON.
ragInfo[ragInfo kb]
Информация о базе знаний (размер, файлы, состояние кэша).
ragInsert[ragInsert kb text]
Вставляет текст (возвращает 'OK').
ragInsertBatch[ragInsertBatch kb texts]
Вставляет несколько текстов (список). Быстрее, чем несколько отдельных вызовов.
ragInsertId[ragInsertId kb text]
Вставляет и возвращает ID (РЕКОМЕНДУЕТСЯ).
ragList[ragList]
Перечисляет базы знаний RAG, доступные в текущем контексте.
ragRemove[ragRemove kb text]
Удаляет по содержимому (требует ТОЧНОГО текста, предпочтительнее ragRemoveById).
ragRemoveById[ragRemoveById kb docId]
Удаляет по ID (РЕКОМЕНДУЕТСЯ).
ragRemoveEntity[ragRemoveEntity kb entity]
Удаляет сущность из графа.
ragRemoveRelation[ragRemoveRelation kb src tgt]
Удаляет связь между 2 сущностями.
ragSearchContext[ragSearchContext kb query mode?]
Возвращает только контекст (без генерации).
ragSearchDocs[ragSearchDocs kb query]
Поиск по ключевым словам в документах (без LLM).
ragUpdate[ragUpdate kb text]
Обновляет текст (delete+insert).
ragUpdateById[ragUpdateById kb docId text]
Обновляет по ID.
ed25519:keygen[ed25519:keygen]
{private, public}: новая пара ключей Ed25519 в base64 (private = начальное значение (seed) из 32 байт). Недетерминированно: отклоняется в контракте реестра.
ed25519:public[ed25519:public private-key]
открытый ключ в base64, соответствующий закрытому ключу.
ed25519:sign[ed25519:sign private-key "message"]
подпись в base64 (детерминированная). Для клаузы [signed] контракта подписывается "<ledger>|<keyword>|<message>".
ed25519:verify[ed25519:verify public-key "message" signature]
1, если подпись действительна, иначе 0.
ledger:anchor[ledger:anchor name :to "rfc3161"|"opentimestamps" :url "…"?]
закрепляет якорем голову реестра у внешнего свидетеля (служба меток времени, по умолчанию FreeTSA; Bitcoin через OpenTimestamps).
ledger:anchor-policy[ledger:anchor-policy name :to ["rfc3161" "opentimestamps"] :every seconds? :blocks n? | :off]
объявляет в цепочке (подписанный блок конфигурации), как часто реестр закрепляется якорем; выполняет это планировщик сервера.
ledger:anchor-status[ledger:anchor-status name]
политика закрепления якорем, последний якорь по каждому свидетелю, ещё не заякоренные блоки, отставание.
ledger:anchor-tick[ledger:anchor-tick]
выполняет один проход планировщика якорей прямо сейчас; возвращает то, что было заякорено.
ledger:anchor-upgrade[ledger:anchor-upgrade name]
получает аттестацию Bitcoin для ожидающих якорей OpenTimestamps.
ledger:anchors[ledger:anchors name]
якоря реестра (провайдер, высота, статус, дата).
ledger:await-final[ledger:await-final name height? :timeout seconds]
ждёт, пока блок (по умолчанию — голова) не станет финальным; `final` равно false, если тайм-аут (по умолчанию 30 с) истекает раньше.
ledger:block[ledger:block name height]
блок в виде JSON.
ledger:check-anchors[ledger:check-anchors name :offline? :trust "sha256:…"?]
проверяет каждый якорь по реестру (переписанная история) и по его свидетелю (подпись TSA + закреплённый корень, заголовок блока Bitcoin, ключ свидетеля).
ledger:check-checkpoint[ledger:check-checkpoint checkpoint :key "sha256:…"?]
на стороне свидетеля: подпись, ключ и согласованность с реестром (обнаруживает переписанную историю).
ledger:check-proof[ledger:check-proof proof :key "sha256:…"?]
проверяет [ledger:proof]: путь до корня состояния, хеш блока, подпись, отпечаток ключа.
ledger:checkpoint[ledger:checkpoint name]
контрольная точка головы, подписанная ключом реестра, для приложений-свидетелей.
ledger:create[ledger:create name :signer "key"? :frozen?]
создаёт реестр (подписанный генезис-блок) в рабочем пространстве.
ledger:destroy[ledger:destroy $self]
в методе класса реестра: объект удаляется из реестра при возврате из метода.
ledger:drop[ledger:drop name]
полностью удаляет реестр (блоки, состояние, код). Необратимо; записывается в журнал contract.log.
ledger:exists[ledger:exists name]
1, если реестр существует в рабочем пространстве.
ledger:finality[ledger:finality name height?]
кворум, финальная высота, ожидающие блоки, аттестованная высота по каждой реплике; с высотой: является ли этот блок финальным.
ledger:finality-policy[ledger:finality-policy name :quorum k :replicas {"node": "public key" …} | :off]
объявляет в цепочке (подписанный блок конфигурации) реплики, на которые опирается реестр: блок становится финальным, как только k из них его аттестовали.
ledger:follow[ledger:follow name :key "sha256:…"? :adopt?]
на рабочем узле кластера: следовать за реестром мастера кластера. Копия доступна только для чтения; каждый блок повторно выполняется перед применением. :adopt превращает реестр, записанный здесь (бывший основной узел), в реплику.
ledger:get[ledger:get name "slot"]
зафиксированное значение слота ("", если отсутствует).
ledger:has-object[ledger:has-object Class key…]
1, если объект существует в своём реестре, иначе 0.
ledger:history[ledger:history name :from h? :limit n? :slot "s"?]
сводки блоков (вызовы, записи, хеш).
ledger:info[ledger:info name]
высота, хеш головы, конфигурация, развёрнутые версии keyword.
ledger:init[ledger:init name [["slot" value] …]]
начальное состояние (блок init), только до первой транзакции.
ledger:invariant[ledger:invariant name inv-name "expr"]
добавляет инвариант реестра над семействами слотов (sum(p*), count(p*), min(p*), max(p*), old(...)), проверяемый при каждой транзакции; подписанный блок конфигурации.
ledger:invariant-drop[ledger:invariant-drop name inv-name]
удаляет инвариант реестра (подписанный блок конфигурации).
ledger:invariants[ledger:invariants name]
инварианты реестра {имя: выражение}.
ledger:list[ledger:list]
реестры рабочего пространства.
ledger:now[ledger:now]
время текущего блока (в keyword реестра).
ledger:object[ledger:object Class key…]
объект класса реестра в том виде, в каком его знает реестр (снимок; в транзакции — таким, каким его видит транзакция).
ledger:objects[ledger:objects Class]
ключи объектов класса реестра.
ledger:promote[ledger:promote name]
на реплике, названной в политике финальности: перехватить управление реестром, когда основной узел потерян (блок перехвата управления реестром, подписанный зарегистрированным ключом реплики). Необратимо.
ledger:proof[ledger:proof name "slot"]
доказательство Меркла для значения слота (или его отсутствия) в подписанном состоянии головного блока; проверяется без сервера.
ledger:random[ledger:random n]
целое число в [0, n), детерминированное (начальным значением служит хеш предыдущего блока).
ledger:replica-key[ledger:replica-key]
узел-реплика: открытый ключ Ed25519 (base64), которым он подписывает свои аттестации; его нужно зарегистрировать в политике финальности основного узла.
ledger:replica-status[ledger:replica-status name?]
узел-реплика: высота, отставание от основного узла, статус (new | ok | error | diverged | detached) и причина расхождения.
ledger:replicas[ledger:replicas name]
основной узел: реплики, которые повторно выполнили реестр и подписали его голову (реплика, высота, отставание).
ledger:state[ledger:state name "prefix"?]
зафиксированное состояние в виде JSON.
ledger:sync[ledger:sync name?]
узел-реплика: получить, повторно выполнить и применить новые блоки основного узла прямо сейчас.
ledger:time[ledger:time]
время текущего блока в целых секундах с начала эпохи (в keyword реестра; детерминированно).
ledger:tx[ledger:tx name :tx-id "id"? [expr …]]
выполняет выражения (вызовы keyword реестра) в ОДНОЙ транзакции: всё или ничего, один блок. Известный :tx-id повторно не воспроизводится.
ledger:unfollow[ledger:unfollow name]
узел-реплика: прекратить следовать за основным узлом; копия остаётся, только для чтения.
ledger:verify[ledger:verify name :chain-only?]
проверяет хеши, подписи и повторно воспроизводит каждую транзакцию; {ok, error, …}.
ledger:witness[ledger:witness name checkpoint witness-name public-key signature]
записывает как якорь контрподпись контрольной точки приложением-свидетелем.
oracle[oracle "label" expression]
в keyword реестра: вычисляет недетерминированное выражение (LLM, Jev, REST, random) один раз, записывает его ответ в блок и считывает его при повторном воспроизведении.
state:del[state:del alias]
удаляет объявленный слот состояния.
state:get[state:get alias]
значение объявленного слота состояния в текущей транзакции.
state:has[state:has alias]
1, если объявленный слот существует.
state:put[state:put alias value]
записывает объявленный слот состояния (фиксируется вместе с транзакцией).
concept:approx[concept:approx $concept "field"]
Оборачивает поле концепта в VVL_Approximation с его записанным происхождением (LLM/факт/пользователь). Распространяет достоверность через (+, -, *, /). Поле, обнаруженное LLM → "moderate"; поле, заданное пользователем → "exact".
concept:method[concept:method $concept "name" [lambda [$params] body]]
Определить пользовательский метод на концепте (переопределяет сгенерированные LLM).
concept:reset[concept:reset] or [concept:reset "Name"]
Очистить кэш концептов (всех или конкретного).
concepts[concepts "/path"] or [concepts "/path" as "prefix_"]
Загружает концепты, сохранённые агентами VAILS в kb/neuro/, и открывает каждый как $<prefix><slug>. Идемпотентно: повторные запуски возвращают {status, loaded, updated, unchanged, skipped} на основе DB updated_at каждого концепта.
concepts:available[concepts:available]
Возвращает все индексы хранилища в kb/neuro/ (загруженные или нет). Каждая запись имеет флаг "loaded".
concepts:info[concepts:info]
Сводка сеанса. [concepts:info "/path"] → Полный индекс хранилища (+ блок сеанса, если в данный момент загружен).
concepts:list[concepts:list]
Возвращает пути, загруженные в текущем сеансе через [concepts "/..."] (path, mode, prefix, variables, count, last_loaded_at).
resolve[resolve "question NL"] or [§§ "question"]
Нейро-символьный решатель. Классифицирует подвопрос на естественном языке и направляет к нужному специалисту (вычисление, оптимизация, реляционный/Prolog запрос, индукция правил, извлечение фактов, структурированное извлечение, экспертная система). Используется внутри [agent], когда подзадача требует формулы, решателя, извлечения, фактов или проверяемого Approximation вместо написанного вручную кода.
resolve:classify[resolve:classify "question NL"]
{family, sub_kind, confidence, reasoning} — Чистый классификатор, без диспетчеризации.
resolve:trace[resolve:trace "question NL"]
{classification, events[], result} — То же, что resolve, но возвращает структурированный JSON трассировки.
resolveV[resolveV "question NL"] or [§§? "question"]
То же, что resolve, но записывает маршрутизацию и сгенерированный VVL код; используется для отладки. Псевдоним: [§§? "question"].
ontology:abstract[ontology:abstract concept]
Пометить концепт как абстрактный (не может быть инстанцирован напрямую).
ontology:ask[ontology:ask query]
Необработанный Prolog-запрос.
ontology:askMagic[ontology:askMagic question]
Произвольный запрос на естественном языке к онтологии с LLM-ассистированным разрешением.
ontology:clear-rules[ontology:clear-rules $schema]
Подробная справка для ontology:clear-rules отсутствует.
ontology:clearInstances[ontology:clearInstances concept?]
Удалить все экземпляры концепта (или все экземпляры, если концепт не указан).
ontology:commit[ontology:commit instance]
Записать экземпляр в базу знаний.
ontology:comprehend[ontology:comprehend text]
LLM-извлечение концептов/отношений из текста на естественном языке.
ontology:concept-add[ontology:concept-add name attrs?]
Добавить новый концепт в активную онтологию.
ontology:consistent[ontology:consistent $schema]
Подробная справка для ontology:consistent отсутствует.
ontology:context[ontology:context name?]
Переключиться на или вернуть текущий контекст онтологии.
ontology:debugLog[ontology:debugLog on|off]
Включить/выключить подробное журналирование отладки онтологии.
ontology:define[ontology:define name definitions...]
Определить классы и отношения.
ontology:entails[ontology:entails $schema "goal"]
Подробная справка для ontology:entails отсутствует.
ontology:export[ontology:export path format?]
Экспортировать активную онтологию на диск (JSON/TTL/Gherkin).
ontology:fromImage[ontology:fromImage image]
Построить/расширить онтологию из изображения с помощью LLM-зрения.
ontology:fromText[ontology:fromText onto class text debug?]
Извлечение с помощью ИИ.
ontology:identify[ontology:identify entity]
Определить ближайший концепт, соответствующий заданному описанию сущности.
ontology:in-world[ontology:in-world world body]
Вычислить тело выражений в конкретном контексте возможного мира (Zalta).
ontology:infer[ontology:infer query]
Выполнить один шаг вывода на онтологии.
ontology:infer-fixpoint[ontology:infer-fixpoint]
Выполнять вывод повторно до достижения фиксированной точки.
ontology:json[ontology:json]
Сериализовать активную онтологию в JSON.
ontology:learn[ontology:learn examples]
Обучение новым правилам/концептам на основе размеченных примеров.
ontology:listStores[ontology:listStores]
Перечислить все именованные хранилища онтологий, загруженные в данный момент.
ontology:load[ontology:load path]
Загрузить онтологию с диска (заменяет активное хранилище).
ontology:loadGherkin[ontology:loadGherkin path]
Загрузить онтологию из синтаксиса Gherkin (.feature).
ontology:loadNamed[ontology:loadNamed name path]
Загрузить онтологию в именованный слот (multi-store).
ontology:merge[ontology:merge source target]
Объединить концепты/экземпляры из исходного хранилища в целевое.
ontology:printKB[ontology:printKB]
Вывести все факты Prolog в консоль.
ontology:reset[ontology:reset]
Очистить все факты.
ontology:retract-rule[ontology:retract-rule "Name" $schema]
Подробная справка для ontology:retract-rule отсутствует.
ontology:rule[ontology:rule name body]
Определить правило вывода.
ontology:satisfies[ontology:satisfies instance concept]
Проверить, удовлетворяет ли экземпляр предикатам концепта.
ontology:save[ontology:save path?]
Сохранить активную онтологию на диск (путь по умолчанию = путь текущего хранилища).
ontology:saveAs[ontology:saveAs name path]
Сохранить именованное хранилище онтологий по конкретному пути.
ontology:select[ontology:select query]
Выбрать экземпляры, соответствующие структурному запросу.
ontology:set[ontology:set instance attr value]
Задать атрибут для экземпляра онтологии.
ontology:storePath[ontology:storePath name?]
Получить/задать путь на диске для именованного хранилища онтологий.
ontology:toVVL[ontology:toVVL]
Сериализовать активную онтологию обратно в исходный код VVL.
ontology:world[ontology:world name]
Переключиться на возможный мир (модальная логика в стиле Zalta).
test:assert[test:assert condition message?]
Проверяет, что условие истинно. Возвращает JSON {ok, name, detail?}. Также добавляет результат в журнал тестов текущего контекста, используемый [test:summary].
test:equals[test:equals expected actual message?]
Проверяет структурное равенство. Числа, строки, списки и JSON в VVL сравниваются по значению. Возвращает JSON {ok, name, detail?} и записывает результат для [test:summary].
test:suite[test:suite name body...]
Выполняет тестовые выражения и возвращает сводку. RAW builtin. Тело набора вычисляется по порядку в текущем контексте. Используйте [test:assert] и [test:equals] внутри тела.
test:summary[test:summary]
Возвращает JSON-сводку для текущего контекста. Поля результата: total, passed, failed, ok, results.
BATCH[BATCH "name" "template"]
Создаёт пакет данных в формате RAG с {placeholders}.
batch-add[batch-add $batch record]
Добавляет запись в пакет. Альтернатива: [$batch.add record]
batch-data[batch-data $batch]
Возвращает список форматированных строк. Альтернатива: $batch.data
batch-erase[batch-erase $batch]
Очищает все записи из пакета. Альтернатива: [$batch.erase]
BINARY[BINARY s]
Типизированное двоичное значение, закодированное в base64. Форма mold/load: <BINARY:base64>.
BOOL[BOOL x]
Преобразует значение в булево (1/0).
DATE[DATE s]
Проверяет формат YYYY-MM-DD и возвращает типизированное значение DATE. Форма mold/load: <DATE:YYYY-MM-DD>.
DATETIME[DATETIME s]
Проверяет формат ISO 8601 и возвращает типизированное значение DATETIME. Форма mold/load: <DATETIME:...>.
DURATION[DURATION s]
Проверяет длительность ISO 8601 (PT30M) или значение в секундах. Форма mold/load: <DURATION:PT30M>.
EMAIL[EMAIL s]
Проверяет адрес электронной почты и возвращает типизированное значение EMAIL. Форма mold/load: <EMAIL:value>.
FILE[FILE s]
Типизированный путь к файлу. Обратные косые черты нормализуются в /. Форма mold/load: <FILE:...>.
FLOAT[FLOAT x]
Преобразует или извлекает число с плавающей точкой из строки или числа.
INT[INT x]
Преобразует или извлекает целое число из строки или числа.
MONEY[MONEY currency amount]
Типизированное денежное значение. Форма mold/load: <MONEY:EUR 1200>.
PATH[PATH s]
Типизированный переносимый путь. Обратные косые черты нормализуются в /. Форма mold/load: <PATH:...>.
STRING[STRING x]
Преобразует значение в строку.
TAG[TAG s]
Типизированный символический тег. Допустимые символы: буквы, цифры, _ . : -. Форма mold/load: <TAG:name>.
TIME[TIME s]
Проверяет формат HH:MM[:SS] и возвращает типизированное значение TIME. Форма mold/load: <TIME:HH:MM:SS>.
URL[URL s]
Проверяет URL и возвращает типизированное значение URL. Форма mold/load: <URL:https://...>.
UUID[UUID s]
Проверяет UUID и возвращает типизированное значение UUID. Форма mold/load: <UUID:...>.
abs[abs x]
Абсолютное значение x.
average[avg list]
Среднее арифметическое числовых элементов.
avg[avg list]
Среднее арифметическое числовых элементов.
ceil[ceil x]
Наименьшее целое число, большее или равное x.
convert[convert type val]
Приводит значение к типу 'string','int','float','bool','date','json','xml','list'.
count[count list]
Число элементов (эргономичный алиас [length]).
floor[floor x]
Наибольшее целое число, меньшее или равное x.
max[max list]
Наибольший элемент списка по числовому ключу.
mean[avg list]
Среднее арифметическое числовых элементов.
min[min list]
Наименьший элемент списка по числовому ключу.
pow[pow base exp]
base возводится в степень exp.
range[range start stop step]
Список целых чисел (step != 0).
reverse[reverse list]
Обращает порядок элементов списка.
round[round x [ndigits=0]]
x, округлённое до ndigits знаков после запятой.
sort[sort list "desc"?|key_lambda?]
Естественная сортировка, необязательный параметр desc или ключ.
sqrt[sqrt x]
Квадратный корень из x.
sum[sum list]
Сумма числовых элементов. Композируется с [run-all].
_switch[_switch x]
Вычисляет первый аргумент, если он присутствует, иначе возвращает пустую строку. Внутренний вспомогательный элемент управления потоком.
alert[alert msg]
Показывает диалоговое окно с предупреждением (тайм-аут 60 секунд).
alertOC[alertOC msg]
Показывает диалоговое окно OK / Отмена.
alertYN[alertYN msg]
Показывает диалоговое окно Да / Нет.
cancelableDialog[cancelableDialog msg fields...]
Диалоговое окно с кнопкой «Отмена».
code[code lang instruction init]
Запрашивает ввод кода от пользователя.
dialog[dialog msg fields...]
Диалоговое окно со сложной формой.
input[input title default?]
Интерактивное поле ввода в терминале REPL. Используйте [inputs] для форм с несколькими полями.
inputs[inputs title1 title2 ...]
Многопольная форма в REPL с табличным отображением (гарантированный порядок).
markdown[markdown text]
Отображает Markdown в клиенте.
prompt[prompt msg]
Запрашивает текстовый ввод от пользователя.
question[question msg type]
Вопрос в виде пузыря чата.
response[response value]
Фиксирует значение как официальный ответ задачи (ctx.task_response).
task-param[task-param key?]
Получает параметр задачи по ключу или все параметры (JSON), если ключ не указан.
hypervisor[hypervisor action ...]
Управляет инфраструктурой Docker через API Portainer. Подключение: connect, connect-saved, save, disconnect, list, use Система: status, info, resources Контейнеры: containers, container, start, stop, restart, logs, exec Стеки: stacks, stack, stack-file, stack-env, stack-deploy, stack-update, stack-start, stack-stop, stack-remove Образы: images, pull, image-remove Тома: volumes, volume, networks, network Шаблоны: templates, template, template-create, template-update, template-remove ProSuite: ps-deploy, ps-update, ps-health, ps-instances, ps-scale
vdomAdmin[vdomAdmin url login password]
Административный клиент VDOM. Возвращает вызываемый объект для управления сервером VDOM. Команды: info, apps, app, types, objects, libs, actions, export, dump, sql, exec, raw, plugins... Plugin Manager (через [$admin "plugins" $app $api_obj macros_db_id]): list, plugin, macros, macro, setMacro, createMacro, deleteMacro, reloadMacro, reloadEngine, timers, createTimer, updateTimer, deleteTimer, events, createEvent, deleteEvent, kv, kvGet, kvSet, kvDelete, resources, downloadResource, uploadResource, deleteResource, renameResource, databases, downloadDb, uploadDb, deleteDb, queryDb, call, webhook, dump, push
vdomCall[vdomCall app funcName params?]
Вызов API-функции на VDOM-приложении. Возвращает JSON или String.
vdomConnect[vdomConnect url login password]
SOAP-подключение к серверу VDOM. Возвращает объект Connection.
vdomGetApp[vdomGetApp connection appName]
Получает VDOM-приложение по имени. Возвращает объект App.
compile[compile expr|file]
Компиляция VVL в подмножество ВМ на Rust. Возвращает программу с .run, .ir, .bytecode, .coverage.
vm-coverage[vm-coverage]
JSON-сводка покрытия ВМ: нативно/хост/расширение/не поддерживается.
vm-csv-writeback[vm-csv-writeback $csv table-or-plan]
Применить таблицу/план записи CSV от ВМ к объекту CSV в Python и сохранить.
vm-inventory[vm-inventory]
JSON-инвентарь среды выполнения для планирования покрытия ВМ на Rust.
vm-inventory-export[vm-inventory-export path?]
Записать JSON-инвентарь ВМ и Markdown-отчёт покрытия.
vm-oo-store-writeback[vm-oo-store-writeback plan]
Применить план записи хранилища ОО от ВМ к хранилищу объектов Python.
use[use $lib1 $lib2 ...]
Маркер библиотек для [vscript "code" [use ...]]. Каждый $lib является ссылкой [vscript "..."].
vscript[vscript "code"]
Компилирует код VScript и возвращает вызываемую ссылку. Затем [$ref a b ...] выполняет код (аргументы с индексом 0 через args(0)/UBound(args)/argc; переменная `result` содержит возвращаемое значение). Библиотеки: [vscript "code" [use $lib1 $lib2]] внедряет определения (Function/Sub/Class/Const) из каждого $lib (сам являющегося [vscript ...]).
voice[voice support]
Проверяет поддержку голоса [voice config "name" "client" [...options]] - Создаёт конфигурацию голоса [voice start "config" "instructions" "project"] - Запускает голосовую сессию [voice stop $session] - Останавливает голосовую сессию [voice decode type $event] - Декодирует событие (transcript, tools, audio) [voice list] - Перечисляет активные сессии [voice get "session_id"] - Получает сессию по ID
attr[attr el name]
Получить атрибут.
click[click el]
Кликнуть по элементу.
find[find driver ['css'|'xpath' sel]]
Найти элемент.
go[go driver url]
Перейти.
jsExec[jsExec driver script args...]
Выполнить JavaScript в браузере.
profile-info[profile-info name]
Подробная JSON-информация о профиле: размер, размер Preferences, файлы блокировки, активность Chrome.
profile-list[profile-list]
Список всех профилей Chrome (name, size_mb, prefs_mb, locked) в виде строк JSON.
profile-purge[profile-purge name "force"]
Удалить весь каталог профиля. Требует "force" вторым аргументом.
profile-repair[profile-repair name ?mode]
Исправить раздутый (>10 МБ) файл Default/Preferences. mode="keep" (по умолчанию) переименовывает в .bak; mode="clean" удаляет повреждённые Preferences и все существующие файлы Preferences.bak.*. Cookies/SSO сохраняются.
profile-unlock[profile-unlock name]
Удалить устаревшие файлы блокировки, если ни один процесс Chrome не владеет профилем. Возвращает количество удалённых.
scrape[scrape "url" "mode"?]
Лёгкий HTTP-запрос (без браузера). mode = "text" (по умолчанию) или "html".
scrapeLinks[scrapeLinks url]
Отсортированный список уникальных абсолютных href (исключает самоссылки, якоря и расширения ресурсов).
screenshot[screenshot driver path]
Сохранить экран.
switchFrame[switchFrame driver target]
Переключиться на iframe (элемент или 'default').
text[text el]
Получить текст элемента.
type[type el text clear?]
Ввести текст.
wait[wait driver 'ready'|['css' sel] ms]
Ожидать условия.
webQuit[webQuit driver]
Закрыть браузер.
webdriver[webdriver browser ?profile ?flags ?"auto-correct"]
Запустить Chrome (uc) или Edge со скрытым режимом и управлением профилем.
proai[proai "question" mode?]
Запрашивает документацию ProAI Builder через RAG. Режим: "hybrid" (по умолчанию) или "naive". Требует предварительного запуска :proai-learn.
procontact[procontact url user pass]
Клиент ProContact.
promail[promail url user pass]
Клиент ProMail. Подкоманды: mailboxes, mails, send, fetch, archives.
proplanning[proplanning url user pass]
Клиент ProPlanning.
prosearch[prosearch url user pass]
Клиент ProSearch.
proshare[proshare url user pass] или [proshare url user pass <{client: "pdv"}>] Подключение к ProShare. Возвращает клиент с командами: ФАЙЛЫ: ls, upload, uploadFile, mkdir, delete ХРАНИЛИЩЕ: storages, storage, docs, doc, view, metafields ВОРКФЛОУ: submit, submitMulti, lock, unlock ПЛАГИНЫ: macro АДМИН: users, groups, rules, updateRules, logoff Навигация: [$ps "storage" "X"] -> [$storage "ContainerY"] -> [$container "DocStorageZ"] -> $ds.docs
revolut[revolut action ...]
API Revolut Merchant. connect: [revolut connect api_key mode?] — режим: sandbox|live (по умолчанию: live) order: [revolut order client amount currency description? metadata?] get: [revolut get client order_id] list: [revolut list client limit?] capture: [revolut capture client order_id amount?] refund: [revolut refund client order_id amount? reason?] cancel: [revolut cancel client order_id]