@rsconcept/rstool 0.10.1 → 0.10.2
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.
- package/docs/PORTAL-API.md +22 -12
- package/package.json +1 -1
package/docs/PORTAL-API.md
CHANGED
|
@@ -49,12 +49,26 @@ GET https://api.portal.acconcept.ru/api/rsforms/856/details
|
|
|
49
49
|
|
|
50
50
|
## Доступ
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
**Для агентов через REST/curl** отдельного API-токена нет. Запросы без авторизации
|
|
53
|
+
видят только объекты с `access_policy: "public"` в общих разделах (`/S`, `/L`).
|
|
54
|
+
Это касается `context-search`, `by-ids`, `GET /api/rsforms/:id` и `/details`.
|
|
55
|
+
|
|
56
|
+
- Недоступная схема → `403` на прямой запрос; в `by-ids` такой id **пропускается**.
|
|
57
|
+
- Личные (`/U`) и проектные (`/P`) объекты через анонимный API **не читаются**, даже если
|
|
58
|
+
пользователь дал UI-ссылку.
|
|
54
59
|
- Если нужны только `title`, `alias`, `description`, `owner`, `access_policy`, не запрашивай `/details`.
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
60
|
+
|
|
61
|
+
В браузере Portal использует Django session (`SessionAuthentication`). **Не предлагай
|
|
62
|
+
пользователю передавать session cookie агенту** — для curl/скриптов это нерабочий путь
|
|
63
|
+
(cookie привязан к браузеру, истекает, не предназначен для машинного доступа).
|
|
64
|
+
|
|
65
|
+
Если КС не публичная, варианты для агента:
|
|
66
|
+
|
|
67
|
+
1. Пользователь временно делает схему публичной (`access_policy: public`).
|
|
68
|
+
2. Пользователь экспортирует JSON (`GET /api/rsforms/:id/details` из своей сессии в UI
|
|
69
|
+
или экспорт из Portal) и передаёт файл в чат/репозиторий — агент переносит в `rstool`.
|
|
70
|
+
3. Работа с личной библиотекой остаётся в UI Portal; агент помогает с публичными схемами
|
|
71
|
+
и с JSON, который пользователь явно предоставил.
|
|
58
72
|
|
|
59
73
|
## Список и контекстный поиск в библиотеке
|
|
60
74
|
|
|
@@ -165,13 +179,6 @@ curl.exe -s "https://api.portal.acconcept.ru/api/library/context-search?q=мно
|
|
|
165
179
|
curl.exe -s "https://api.portal.acconcept.ru/api/library/context-search?q=логика&search_fields=title,alias"
|
|
166
180
|
```
|
|
167
181
|
|
|
168
|
-
С сессией пользователя (приватные и личные объекты):
|
|
169
|
-
|
|
170
|
-
```bash
|
|
171
|
-
curl.exe -s -b "sessionid=ВАШ_SESSION_ID" ^
|
|
172
|
-
"https://api.portal.acconcept.ru/api/library/context-search?q=UniqueTermToken"
|
|
173
|
-
```
|
|
174
|
-
|
|
175
182
|
Только КС в общем разделе и подпапках:
|
|
176
183
|
|
|
177
184
|
```bash
|
|
@@ -256,6 +263,8 @@ for (const item of portal.items) {
|
|
|
256
263
|
## Практика для агентов
|
|
257
264
|
|
|
258
265
|
- Запрашивай API host, а не UI host: `https://api.portal.acconcept.ru/api/...`.
|
|
266
|
+
- Считай, что REST без авторизации = только **публичные** схемы в `/S` и `/L`.
|
|
267
|
+
- Для непубличной КС проси у пользователя JSON (`/details`) или публикацию схемы — не cookie.
|
|
259
268
|
- Для больших схем используй увеличенный таймаут. В PowerShell вызывай `curl.exe`,
|
|
260
269
|
а не alias `curl` (`Invoke-WebRequest`), если нужен CLI-синтаксис curl.
|
|
261
270
|
- Сначала бери метаданные, если нужно только название или доступность схемы.
|
|
@@ -284,5 +293,6 @@ path.write_text(json.dumps(payload, ensure_ascii=False, indent=2), encoding='utf
|
|
|
284
293
|
|
|
285
294
|
- Не парси HTML SPA.
|
|
286
295
|
- Не запрашивай UI напрямую, используй преобразованные API запросы.
|
|
296
|
+
- Не предлагай авторизацию через session cookie или `sessionid` в curl.
|
|
287
297
|
- Не передавай `/details` JSON в `importSession`.
|
|
288
298
|
- Не запрашивай `/details`, если нужны только метаданные.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rsconcept/rstool",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.2",
|
|
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",
|