@rsconcept/rstool 0.8.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -41,21 +41,23 @@
41
41
 
42
42
  ## Типизации и структура
43
43
 
44
- - `0x8803 typesNotEqual` / `0x8825 typesNotCompatible` — операнды несовместимы.
44
+ - `0x8803 typesNotEqual` / `0x8825 typesNotCompatible` — операнды несовместимы для оператора (`params`: тип A, тип B, оператор).
45
45
  - `0x8804 globalNotTyped` — сначала добавь и проанализируй поставщика.
46
46
  - `0x8805 invalidDecart`, `0x8806 invalidBoolean`, `0x8810 invalidReduce` — неверная ступень для операции.
47
+ - `0x8807 invalidTypeOperation` — аргумент оператора (`∪`, `∈`, `D{}`, `:∈` и т.д.) должен быть множеством (`params`: оператор, тип).
47
48
  - `0x8808 invalidCard` — `card(...)` не над множеством.
48
49
  - `0x8809 invalidDebool` — нет гарантии синглетона.
49
50
  - `0x880B globalFuncWithoutArgs` — функция вызвана без `[]`.
50
51
  - `0x8811 invalidProjectionTuple`, `0x8812 invalidProjectionSet` — неверная проекция.
51
52
  - `0x8813 invalidEnumeration` — элементы перечисления разных ступеней.
52
- - `0x8816 invalidElementPredicate` — `ξ ∈ S` с несовместимыми ступенями.
53
+ - `0x8816 invalidElementPredicate` — `ξ ∈ S` с несовместимыми ступенями (`params`: тип элемента, оператор, тип множества).
53
54
  - `0x8818 invalidArgsArity`, `0x8819 invalidArgumentType` — неверный вызов функции.
54
55
  - `0x8821 radicalUsage` — радикал вне домена параметра.
55
56
  - `0x8822 invalidFilterArgumentType`, `0x8823 invalidFilterArity` — неверный `Fi`.
56
- - `0x8824 arithmeticNotSupported`, `0x8826 orderingNotSupported` — нужна ступень `Z`.
57
+ - `0x8824 arithmeticNotSupported`, `0x8826 orderingNotSupported` — тип не поддерживает оператор (`params`: тип, оператор); для арифметики/порядка нужна ступень `Z`.
57
58
  - `0x8827 expectedLogic` — нужна логическая формула.
58
59
  - `0x8828 expectedSetexpr` — нужно теоретико-множественное выражение, а не логика.
60
+ - `0x882A invalidQuantifierDomain` — в кванторной декларации `∀`/`∃` область должна быть множеством (`params`: оператор, тип); не путать с `0x8807`.
59
61
 
60
62
  ## Схема и вычисление
61
63
 
@@ -67,7 +69,7 @@
67
69
  - `0x8100 calcUnknownError` — непредвиденная ошибка вычисления (неверные данные для операции, внутренний сбой).
68
70
  - `0x8105 calcInvalidDebool` — `debool` получил не синглетон.
69
71
  - `0x8106 iterateInfinity`, `0x8107 calculationNotSupported` — конструкция не исполнима в конечной модели.
70
- - `0x8108 calcInvalidData` — несовместимые значения в runtime (`params`: строковые представления операндов); типично сравнение множества с числом или смешение ступеней в данных модели. Диапазон `from`/`to` — узел операции, где сбой произошёл.
72
+ - `0x8108 calcInvalidData` — несовместимые значения в runtime (`params`: значение A, значение B, оператор); типично сравнение множества с числом. Диапазон `from`/`to` — узел операции.
71
73
 
72
74
  ## Типичные ошибки агентов
73
75
 
@@ -77,7 +79,8 @@
77
79
  - Давать логическое тело `term` или нелогическое тело `axiom`/`statement`.
78
80
  - Использовать `R#` в теле результата.
79
81
  - Вычислять производные понятия до привязки данных для базовых.
80
- - Сравнивать или комбинировать значения несовместимых ступеней в модели (ожидай `0x8108 calcInvalidData`).
82
+ - Сравнивать или комбинировать значения несовместимых ступеней в модели (ожидай `0x8108 calcInvalidData` с оператором в `params`).
83
+ - Писать `∀a∈Z` или `∀a∈(логика)` вместо множества (ожидай `0x882A invalidQuantifierDomain`).
81
84
 
82
85
  ## Цикл исправления
83
86
 
@@ -102,6 +102,26 @@ for (const item of portal.items) {
102
102
  а не alias `curl` (`Invoke-WebRequest`), если нужен CLI-синтаксис curl.
103
103
  - Сначала бери метаданные, если нужно только название или доступность схемы.
104
104
 
105
+ ### Windows: кодировка в скриптах пайплайна
106
+
107
+ На Windows консоль по умолчанию часто **cp1251**; Python `print` падает с `UnicodeEncodeError`
108
+ на символах вне этой таблицы (стрелки `→`, математика в логах и т.п.). Если `print` стоит
109
+ **до** следующего шага пайплайна (например вызова `npx tsx`), скрипт оборвётся и артефакт
110
+ не обновится.
111
+
112
+ - **Запись JSON** — всегда UTF-8; для RSLang-символов в формулах не экранируй Unicode в JSON:
113
+
114
+ ```python
115
+ path.write_text(json.dumps(payload, ensure_ascii=False, indent=2), encoding='utf-8')
116
+ ```
117
+
118
+ - **Чтение** — `encoding='utf-8'`; для fetch API предпочитай `urllib` / `requests`, не
119
+ `Out-File` без явной UTF-8 в PowerShell.
120
+ - **Логи в `print`** — ASCII (`->`, `...`) или только id/alias без математики; не полагайся
121
+ на то, что консоль UTF-8.
122
+ - При необходимости Unicode в stdout: `PYTHONIOENCODING=utf-8` или `sys.stdout.reconfigure(encoding='utf-8')`
123
+ (Python 3.7+), но для агентских скриптов проще держать вывод в ASCII.
124
+
105
125
  ## Не делай
106
126
 
107
127
  - Не парси HTML SPA.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsconcept/rstool",
3
- "version": "0.8.0",
3
+ "version": "0.8.1",
4
4
  "description": "Agent-facing library for incremental RSForm construction, RSLang analysis, diagnostics, modeling, and evaluation. Wraps @rsconcept/domain with a deterministic session contract and stdio wrapper.",
5
5
  "license": "MIT",
6
6
  "author": "IRBorisov",
@@ -70,7 +70,7 @@
70
70
  "prepublishOnly": "npm run build"
71
71
  },
72
72
  "dependencies": {
73
- "@rsconcept/domain": "^1.4.1"
73
+ "@rsconcept/domain": "^1.4.3"
74
74
  },
75
75
  "devDependencies": {
76
76
  "@types/node": "^25.9.4",