@geravant/sinain 1.0.18 → 1.1.0

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 (89) hide show
  1. package/README.md +10 -1
  2. package/cli.js +176 -0
  3. package/index.ts +163 -1257
  4. package/install.js +12 -2
  5. package/launcher.js +622 -0
  6. package/openclaw.plugin.json +4 -0
  7. package/pack-prepare.js +48 -0
  8. package/package.json +26 -5
  9. package/sense_client/README.md +82 -0
  10. package/sense_client/__init__.py +1 -0
  11. package/sense_client/__main__.py +462 -0
  12. package/sense_client/app_detector.py +54 -0
  13. package/sense_client/app_detector_win.py +83 -0
  14. package/sense_client/capture.py +215 -0
  15. package/sense_client/capture_win.py +88 -0
  16. package/sense_client/change_detector.py +86 -0
  17. package/sense_client/config.py +64 -0
  18. package/sense_client/gate.py +145 -0
  19. package/sense_client/ocr.py +347 -0
  20. package/sense_client/privacy.py +65 -0
  21. package/sense_client/requirements.txt +13 -0
  22. package/sense_client/roi_extractor.py +84 -0
  23. package/sense_client/sender.py +173 -0
  24. package/sense_client/tests/__init__.py +0 -0
  25. package/sense_client/tests/test_stream1_optimizations.py +234 -0
  26. package/setup-overlay.js +82 -0
  27. package/sinain-agent/.env.example +17 -0
  28. package/sinain-agent/CLAUDE.md +80 -0
  29. package/sinain-agent/mcp-config.json +12 -0
  30. package/sinain-agent/run.sh +248 -0
  31. package/sinain-core/.env.example +93 -0
  32. package/sinain-core/package-lock.json +552 -0
  33. package/sinain-core/package.json +21 -0
  34. package/sinain-core/src/agent/analyzer.ts +366 -0
  35. package/sinain-core/src/agent/context-window.ts +172 -0
  36. package/sinain-core/src/agent/loop.ts +404 -0
  37. package/sinain-core/src/agent/situation-writer.ts +187 -0
  38. package/sinain-core/src/agent/traits.ts +520 -0
  39. package/sinain-core/src/audio/capture-spawner-macos.ts +44 -0
  40. package/sinain-core/src/audio/capture-spawner-win.ts +37 -0
  41. package/sinain-core/src/audio/capture-spawner.ts +14 -0
  42. package/sinain-core/src/audio/pipeline.ts +335 -0
  43. package/sinain-core/src/audio/transcription-local.ts +141 -0
  44. package/sinain-core/src/audio/transcription.ts +278 -0
  45. package/sinain-core/src/buffers/feed-buffer.ts +71 -0
  46. package/sinain-core/src/buffers/sense-buffer.ts +425 -0
  47. package/sinain-core/src/config.ts +245 -0
  48. package/sinain-core/src/escalation/escalation-slot.ts +136 -0
  49. package/sinain-core/src/escalation/escalator.ts +812 -0
  50. package/sinain-core/src/escalation/message-builder.ts +323 -0
  51. package/sinain-core/src/escalation/openclaw-ws.ts +726 -0
  52. package/sinain-core/src/escalation/scorer.ts +166 -0
  53. package/sinain-core/src/index.ts +507 -0
  54. package/sinain-core/src/learning/feedback-store.ts +253 -0
  55. package/sinain-core/src/learning/signal-collector.ts +218 -0
  56. package/sinain-core/src/log.ts +24 -0
  57. package/sinain-core/src/overlay/commands.ts +126 -0
  58. package/sinain-core/src/overlay/ws-handler.ts +267 -0
  59. package/sinain-core/src/privacy/index.ts +18 -0
  60. package/sinain-core/src/privacy/presets.ts +40 -0
  61. package/sinain-core/src/privacy/redact.ts +92 -0
  62. package/sinain-core/src/profiler.ts +181 -0
  63. package/sinain-core/src/recorder.ts +186 -0
  64. package/sinain-core/src/server.ts +417 -0
  65. package/sinain-core/src/trace/trace-store.ts +73 -0
  66. package/sinain-core/src/trace/tracer.ts +94 -0
  67. package/sinain-core/src/types.ts +427 -0
  68. package/sinain-core/src/util/dedup.ts +48 -0
  69. package/sinain-core/src/util/task-store.ts +84 -0
  70. package/sinain-core/tsconfig.json +18 -0
  71. package/sinain-knowledge/adapters/generic/adapter.ts +103 -0
  72. package/sinain-knowledge/adapters/interface.ts +72 -0
  73. package/sinain-knowledge/adapters/openclaw/adapter.ts +223 -0
  74. package/sinain-knowledge/curation/engine.ts +493 -0
  75. package/sinain-knowledge/curation/resilience.ts +336 -0
  76. package/sinain-knowledge/data/git-store.ts +312 -0
  77. package/sinain-knowledge/data/schema.ts +89 -0
  78. package/sinain-knowledge/data/snapshot.ts +226 -0
  79. package/sinain-knowledge/data/store.ts +488 -0
  80. package/sinain-knowledge/deploy/cli.ts +214 -0
  81. package/sinain-knowledge/deploy/manifest.ts +80 -0
  82. package/sinain-knowledge/protocol/bindings/generic.md +5 -0
  83. package/sinain-knowledge/protocol/bindings/openclaw.md +5 -0
  84. package/sinain-knowledge/protocol/heartbeat.md +62 -0
  85. package/sinain-knowledge/protocol/renderer.ts +56 -0
  86. package/sinain-knowledge/protocol/skill.md +335 -0
  87. package/sinain-mcp-server/index.ts +337 -0
  88. package/sinain-mcp-server/package.json +19 -0
  89. package/sinain-mcp-server/tsconfig.json +15 -0
@@ -0,0 +1,552 @@
1
+ {
2
+ "name": "sinain-core",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "sinain-core",
9
+ "version": "1.0.0",
10
+ "dependencies": {
11
+ "@types/node": "^22.19.7",
12
+ "@types/ws": "^8.18.1",
13
+ "tsx": "^4.21.0",
14
+ "typescript": "^5.9.3",
15
+ "ws": "^8.18.0"
16
+ }
17
+ },
18
+ "node_modules/@esbuild/aix-ppc64": {
19
+ "version": "0.27.3",
20
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz",
21
+ "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==",
22
+ "cpu": [
23
+ "ppc64"
24
+ ],
25
+ "optional": true,
26
+ "os": [
27
+ "aix"
28
+ ],
29
+ "engines": {
30
+ "node": ">=18"
31
+ }
32
+ },
33
+ "node_modules/@esbuild/android-arm": {
34
+ "version": "0.27.3",
35
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz",
36
+ "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==",
37
+ "cpu": [
38
+ "arm"
39
+ ],
40
+ "optional": true,
41
+ "os": [
42
+ "android"
43
+ ],
44
+ "engines": {
45
+ "node": ">=18"
46
+ }
47
+ },
48
+ "node_modules/@esbuild/android-arm64": {
49
+ "version": "0.27.3",
50
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz",
51
+ "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==",
52
+ "cpu": [
53
+ "arm64"
54
+ ],
55
+ "optional": true,
56
+ "os": [
57
+ "android"
58
+ ],
59
+ "engines": {
60
+ "node": ">=18"
61
+ }
62
+ },
63
+ "node_modules/@esbuild/android-x64": {
64
+ "version": "0.27.3",
65
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz",
66
+ "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==",
67
+ "cpu": [
68
+ "x64"
69
+ ],
70
+ "optional": true,
71
+ "os": [
72
+ "android"
73
+ ],
74
+ "engines": {
75
+ "node": ">=18"
76
+ }
77
+ },
78
+ "node_modules/@esbuild/darwin-arm64": {
79
+ "version": "0.27.3",
80
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz",
81
+ "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==",
82
+ "cpu": [
83
+ "arm64"
84
+ ],
85
+ "optional": true,
86
+ "os": [
87
+ "darwin"
88
+ ],
89
+ "engines": {
90
+ "node": ">=18"
91
+ }
92
+ },
93
+ "node_modules/@esbuild/darwin-x64": {
94
+ "version": "0.27.3",
95
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz",
96
+ "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==",
97
+ "cpu": [
98
+ "x64"
99
+ ],
100
+ "optional": true,
101
+ "os": [
102
+ "darwin"
103
+ ],
104
+ "engines": {
105
+ "node": ">=18"
106
+ }
107
+ },
108
+ "node_modules/@esbuild/freebsd-arm64": {
109
+ "version": "0.27.3",
110
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz",
111
+ "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==",
112
+ "cpu": [
113
+ "arm64"
114
+ ],
115
+ "optional": true,
116
+ "os": [
117
+ "freebsd"
118
+ ],
119
+ "engines": {
120
+ "node": ">=18"
121
+ }
122
+ },
123
+ "node_modules/@esbuild/freebsd-x64": {
124
+ "version": "0.27.3",
125
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz",
126
+ "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==",
127
+ "cpu": [
128
+ "x64"
129
+ ],
130
+ "optional": true,
131
+ "os": [
132
+ "freebsd"
133
+ ],
134
+ "engines": {
135
+ "node": ">=18"
136
+ }
137
+ },
138
+ "node_modules/@esbuild/linux-arm": {
139
+ "version": "0.27.3",
140
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz",
141
+ "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==",
142
+ "cpu": [
143
+ "arm"
144
+ ],
145
+ "optional": true,
146
+ "os": [
147
+ "linux"
148
+ ],
149
+ "engines": {
150
+ "node": ">=18"
151
+ }
152
+ },
153
+ "node_modules/@esbuild/linux-arm64": {
154
+ "version": "0.27.3",
155
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz",
156
+ "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==",
157
+ "cpu": [
158
+ "arm64"
159
+ ],
160
+ "optional": true,
161
+ "os": [
162
+ "linux"
163
+ ],
164
+ "engines": {
165
+ "node": ">=18"
166
+ }
167
+ },
168
+ "node_modules/@esbuild/linux-ia32": {
169
+ "version": "0.27.3",
170
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz",
171
+ "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==",
172
+ "cpu": [
173
+ "ia32"
174
+ ],
175
+ "optional": true,
176
+ "os": [
177
+ "linux"
178
+ ],
179
+ "engines": {
180
+ "node": ">=18"
181
+ }
182
+ },
183
+ "node_modules/@esbuild/linux-loong64": {
184
+ "version": "0.27.3",
185
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz",
186
+ "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==",
187
+ "cpu": [
188
+ "loong64"
189
+ ],
190
+ "optional": true,
191
+ "os": [
192
+ "linux"
193
+ ],
194
+ "engines": {
195
+ "node": ">=18"
196
+ }
197
+ },
198
+ "node_modules/@esbuild/linux-mips64el": {
199
+ "version": "0.27.3",
200
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz",
201
+ "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==",
202
+ "cpu": [
203
+ "mips64el"
204
+ ],
205
+ "optional": true,
206
+ "os": [
207
+ "linux"
208
+ ],
209
+ "engines": {
210
+ "node": ">=18"
211
+ }
212
+ },
213
+ "node_modules/@esbuild/linux-ppc64": {
214
+ "version": "0.27.3",
215
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz",
216
+ "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==",
217
+ "cpu": [
218
+ "ppc64"
219
+ ],
220
+ "optional": true,
221
+ "os": [
222
+ "linux"
223
+ ],
224
+ "engines": {
225
+ "node": ">=18"
226
+ }
227
+ },
228
+ "node_modules/@esbuild/linux-riscv64": {
229
+ "version": "0.27.3",
230
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz",
231
+ "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==",
232
+ "cpu": [
233
+ "riscv64"
234
+ ],
235
+ "optional": true,
236
+ "os": [
237
+ "linux"
238
+ ],
239
+ "engines": {
240
+ "node": ">=18"
241
+ }
242
+ },
243
+ "node_modules/@esbuild/linux-s390x": {
244
+ "version": "0.27.3",
245
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz",
246
+ "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==",
247
+ "cpu": [
248
+ "s390x"
249
+ ],
250
+ "optional": true,
251
+ "os": [
252
+ "linux"
253
+ ],
254
+ "engines": {
255
+ "node": ">=18"
256
+ }
257
+ },
258
+ "node_modules/@esbuild/linux-x64": {
259
+ "version": "0.27.3",
260
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz",
261
+ "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==",
262
+ "cpu": [
263
+ "x64"
264
+ ],
265
+ "optional": true,
266
+ "os": [
267
+ "linux"
268
+ ],
269
+ "engines": {
270
+ "node": ">=18"
271
+ }
272
+ },
273
+ "node_modules/@esbuild/netbsd-arm64": {
274
+ "version": "0.27.3",
275
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz",
276
+ "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==",
277
+ "cpu": [
278
+ "arm64"
279
+ ],
280
+ "optional": true,
281
+ "os": [
282
+ "netbsd"
283
+ ],
284
+ "engines": {
285
+ "node": ">=18"
286
+ }
287
+ },
288
+ "node_modules/@esbuild/netbsd-x64": {
289
+ "version": "0.27.3",
290
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz",
291
+ "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==",
292
+ "cpu": [
293
+ "x64"
294
+ ],
295
+ "optional": true,
296
+ "os": [
297
+ "netbsd"
298
+ ],
299
+ "engines": {
300
+ "node": ">=18"
301
+ }
302
+ },
303
+ "node_modules/@esbuild/openbsd-arm64": {
304
+ "version": "0.27.3",
305
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz",
306
+ "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==",
307
+ "cpu": [
308
+ "arm64"
309
+ ],
310
+ "optional": true,
311
+ "os": [
312
+ "openbsd"
313
+ ],
314
+ "engines": {
315
+ "node": ">=18"
316
+ }
317
+ },
318
+ "node_modules/@esbuild/openbsd-x64": {
319
+ "version": "0.27.3",
320
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz",
321
+ "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==",
322
+ "cpu": [
323
+ "x64"
324
+ ],
325
+ "optional": true,
326
+ "os": [
327
+ "openbsd"
328
+ ],
329
+ "engines": {
330
+ "node": ">=18"
331
+ }
332
+ },
333
+ "node_modules/@esbuild/openharmony-arm64": {
334
+ "version": "0.27.3",
335
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz",
336
+ "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==",
337
+ "cpu": [
338
+ "arm64"
339
+ ],
340
+ "optional": true,
341
+ "os": [
342
+ "openharmony"
343
+ ],
344
+ "engines": {
345
+ "node": ">=18"
346
+ }
347
+ },
348
+ "node_modules/@esbuild/sunos-x64": {
349
+ "version": "0.27.3",
350
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz",
351
+ "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==",
352
+ "cpu": [
353
+ "x64"
354
+ ],
355
+ "optional": true,
356
+ "os": [
357
+ "sunos"
358
+ ],
359
+ "engines": {
360
+ "node": ">=18"
361
+ }
362
+ },
363
+ "node_modules/@esbuild/win32-arm64": {
364
+ "version": "0.27.3",
365
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz",
366
+ "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==",
367
+ "cpu": [
368
+ "arm64"
369
+ ],
370
+ "optional": true,
371
+ "os": [
372
+ "win32"
373
+ ],
374
+ "engines": {
375
+ "node": ">=18"
376
+ }
377
+ },
378
+ "node_modules/@esbuild/win32-ia32": {
379
+ "version": "0.27.3",
380
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz",
381
+ "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==",
382
+ "cpu": [
383
+ "ia32"
384
+ ],
385
+ "optional": true,
386
+ "os": [
387
+ "win32"
388
+ ],
389
+ "engines": {
390
+ "node": ">=18"
391
+ }
392
+ },
393
+ "node_modules/@esbuild/win32-x64": {
394
+ "version": "0.27.3",
395
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz",
396
+ "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==",
397
+ "cpu": [
398
+ "x64"
399
+ ],
400
+ "optional": true,
401
+ "os": [
402
+ "win32"
403
+ ],
404
+ "engines": {
405
+ "node": ">=18"
406
+ }
407
+ },
408
+ "node_modules/@types/node": {
409
+ "version": "22.19.11",
410
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.11.tgz",
411
+ "integrity": "sha512-BH7YwL6rA93ReqeQS1c4bsPpcfOmJasG+Fkr6Y59q83f9M1WcBRHR2vM+P9eOisYRcN3ujQoiZY8uk5W+1WL8w==",
412
+ "dependencies": {
413
+ "undici-types": "~6.21.0"
414
+ }
415
+ },
416
+ "node_modules/@types/ws": {
417
+ "version": "8.18.1",
418
+ "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz",
419
+ "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==",
420
+ "dependencies": {
421
+ "@types/node": "*"
422
+ }
423
+ },
424
+ "node_modules/esbuild": {
425
+ "version": "0.27.3",
426
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz",
427
+ "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==",
428
+ "hasInstallScript": true,
429
+ "bin": {
430
+ "esbuild": "bin/esbuild"
431
+ },
432
+ "engines": {
433
+ "node": ">=18"
434
+ },
435
+ "optionalDependencies": {
436
+ "@esbuild/aix-ppc64": "0.27.3",
437
+ "@esbuild/android-arm": "0.27.3",
438
+ "@esbuild/android-arm64": "0.27.3",
439
+ "@esbuild/android-x64": "0.27.3",
440
+ "@esbuild/darwin-arm64": "0.27.3",
441
+ "@esbuild/darwin-x64": "0.27.3",
442
+ "@esbuild/freebsd-arm64": "0.27.3",
443
+ "@esbuild/freebsd-x64": "0.27.3",
444
+ "@esbuild/linux-arm": "0.27.3",
445
+ "@esbuild/linux-arm64": "0.27.3",
446
+ "@esbuild/linux-ia32": "0.27.3",
447
+ "@esbuild/linux-loong64": "0.27.3",
448
+ "@esbuild/linux-mips64el": "0.27.3",
449
+ "@esbuild/linux-ppc64": "0.27.3",
450
+ "@esbuild/linux-riscv64": "0.27.3",
451
+ "@esbuild/linux-s390x": "0.27.3",
452
+ "@esbuild/linux-x64": "0.27.3",
453
+ "@esbuild/netbsd-arm64": "0.27.3",
454
+ "@esbuild/netbsd-x64": "0.27.3",
455
+ "@esbuild/openbsd-arm64": "0.27.3",
456
+ "@esbuild/openbsd-x64": "0.27.3",
457
+ "@esbuild/openharmony-arm64": "0.27.3",
458
+ "@esbuild/sunos-x64": "0.27.3",
459
+ "@esbuild/win32-arm64": "0.27.3",
460
+ "@esbuild/win32-ia32": "0.27.3",
461
+ "@esbuild/win32-x64": "0.27.3"
462
+ }
463
+ },
464
+ "node_modules/fsevents": {
465
+ "version": "2.3.3",
466
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
467
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
468
+ "hasInstallScript": true,
469
+ "optional": true,
470
+ "os": [
471
+ "darwin"
472
+ ],
473
+ "engines": {
474
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
475
+ }
476
+ },
477
+ "node_modules/get-tsconfig": {
478
+ "version": "4.13.6",
479
+ "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz",
480
+ "integrity": "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==",
481
+ "dependencies": {
482
+ "resolve-pkg-maps": "^1.0.0"
483
+ },
484
+ "funding": {
485
+ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
486
+ }
487
+ },
488
+ "node_modules/resolve-pkg-maps": {
489
+ "version": "1.0.0",
490
+ "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
491
+ "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
492
+ "funding": {
493
+ "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
494
+ }
495
+ },
496
+ "node_modules/tsx": {
497
+ "version": "4.21.0",
498
+ "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz",
499
+ "integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==",
500
+ "dependencies": {
501
+ "esbuild": "~0.27.0",
502
+ "get-tsconfig": "^4.7.5"
503
+ },
504
+ "bin": {
505
+ "tsx": "dist/cli.mjs"
506
+ },
507
+ "engines": {
508
+ "node": ">=18.0.0"
509
+ },
510
+ "optionalDependencies": {
511
+ "fsevents": "~2.3.3"
512
+ }
513
+ },
514
+ "node_modules/typescript": {
515
+ "version": "5.9.3",
516
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
517
+ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
518
+ "bin": {
519
+ "tsc": "bin/tsc",
520
+ "tsserver": "bin/tsserver"
521
+ },
522
+ "engines": {
523
+ "node": ">=14.17"
524
+ }
525
+ },
526
+ "node_modules/undici-types": {
527
+ "version": "6.21.0",
528
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
529
+ "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="
530
+ },
531
+ "node_modules/ws": {
532
+ "version": "8.19.0",
533
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz",
534
+ "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==",
535
+ "engines": {
536
+ "node": ">=10.0.0"
537
+ },
538
+ "peerDependencies": {
539
+ "bufferutil": "^4.0.1",
540
+ "utf-8-validate": ">=5.0.2"
541
+ },
542
+ "peerDependenciesMeta": {
543
+ "bufferutil": {
544
+ "optional": true
545
+ },
546
+ "utf-8-validate": {
547
+ "optional": true
548
+ }
549
+ }
550
+ }
551
+ }
552
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "sinain-core",
3
+ "version": "1.0.0",
4
+ "description": "Unified HUD-sense-audio-bridge-relay — replaces relay + bridge with a single process",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "scripts": {
8
+ "start": "tsx src/index.ts",
9
+ "dev": "tsx watch src/index.ts",
10
+ "build": "tsc",
11
+ "eval": "tsx eval/harness.ts --scenarios eval/scenarios/ --runs 3 --report eval/reports/",
12
+ "eval:quick": "tsx eval/harness.ts --scenarios eval/scenarios/ --runs 1 --fast --report /dev/stdout"
13
+ },
14
+ "dependencies": {
15
+ "@types/node": "^22.19.7",
16
+ "@types/ws": "^8.18.1",
17
+ "tsx": "^4.21.0",
18
+ "typescript": "^5.9.3",
19
+ "ws": "^8.18.0"
20
+ }
21
+ }