subscription-gateway 0.1.3 → 0.1.4

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.
Files changed (2) hide show
  1. package/gateway.mjs +29 -1
  2. package/package.json +1 -1
package/gateway.mjs CHANGED
@@ -78,7 +78,35 @@ const MCP_SERVERS = (() => {
78
78
  /** Рабочий каталог инструментов по умолчанию — дом пользователя экземпляра. */
79
79
  const WORK_DIR = process.env.GATEWAY_WORK_DIR || process.env.HOME || '/tmp';
80
80
 
81
- const log = (m) => console.error(`[subscription-gateway] ${m}`);
81
+ // 🔴 ВЕРСИЯ ЧИТАЕТСЯ ИЗ СВОЕГО МАНИФЕСТА, А НЕ ПИШЕТСЯ ЛИТЕРАЛОМ (долг 106, 04.09.2026).
82
+ // ЗАЧЕМ. Шлюз писал в журнал только имя, без номера, и редакцию работающего экземпляра нельзя
83
+ // было установить НИЧЕМ: время файлов не годится (npm ставит всем файлам в тарболе одну метку
84
+ // 1985-10-26 08:15:00), сумма на диске отвечает про диск, а не про то, что процесс прочитал
85
+ // при старте. В тот же день строка `[dsh-pamyat-core <версия>]` у соседнего пакета трижды
86
+ // закрывала спор о том, что в бою, — здесь такой строки не было.
87
+ // ПОЧЕМУ НЕ ЛИТЕРАЛ: он разойдётся с манифестом молча. Манифест не прочитан — печатаем
88
+ // «неизвестна», а не выдуманное число: выдуманное хуже честного «не знаю».
89
+ // 🔴 ДВА ПРИЗНАКА, А НЕ ОДИН — и вторая половина куплена заменом (04.09.2026).
90
+ // Версия из манифеста работает В ПАКЕТЕ, но в ЖИВОМ каталоге манифест другой: это манифест
91
+ // установки зависимостей (private, без поля version), и правка дала бы «неизвестна». Проверено
92
+ // на копии живого каталога ДО того, как трогать боевой файл.
93
+ // Поэтому рядом печатается КОРОТКАЯ СУММА САМОГО ФАЙЛА: она не зависит ни от манифеста, ни от
94
+ // того, кто и как разложил установку, и опознаёт редакцию однозначно. Версия отвечает «какой
95
+ // выпуск», сумма — «этот ли ровно файл». Разойдутся — сразу видно, что установка не из пакета.
96
+ const VERSIYA = (() => {
97
+ try {
98
+ const put = new URL('./package.json', import.meta.url);
99
+ return JSON.parse(fs.readFileSync(put, 'utf8')).version ?? 'неизвестна';
100
+ } catch { return 'неизвестна'; }
101
+ })();
102
+ const SUMMA = (() => {
103
+ try {
104
+ const svoj = fs.readFileSync(new URL(import.meta.url));
105
+ return nodeCrypto.createHash('sha256').update(svoj).digest('hex').slice(0, 8);
106
+ } catch { return '????????'; }
107
+ })();
108
+
109
+ const log = (m) => console.error(`[subscription-gateway ${VERSIYA}/${SUMMA}] ${m}`);
82
110
 
83
111
  /**
84
112
  * «exited with code N» от SDK — это только код без причины; истина в транскрипте
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "subscription-gateway",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "Subscription gateway for DeepSeek Harness — runs the model loop through the vendor's official agent SDK, so the platform works on a subscription seat instead of a metered API key, with the token kept in one place on the machine.",
5
5
  "type": "module",
6
6
  "main": "gateway.mjs",