@atomic-chat/core 0.21.0 → 0.21.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.
Files changed (186) hide show
  1. package/dist/backend/advisor/advisor.js +11 -2
  2. package/dist/backend/advisor/advisor.js.map +1 -1
  3. package/dist/backend/install/cuda-guard.d.ts +62 -0
  4. package/dist/backend/install/cuda-guard.js +80 -0
  5. package/dist/backend/install/cuda-guard.js.map +1 -0
  6. package/dist/backend/install/cuda-runtime-source.d.ts +76 -0
  7. package/dist/backend/install/cuda-runtime-source.js +294 -0
  8. package/dist/backend/install/cuda-runtime-source.js.map +1 -0
  9. package/dist/backend/install/index.d.ts +3 -0
  10. package/dist/backend/install/index.js +3 -0
  11. package/dist/backend/install/index.js.map +1 -1
  12. package/dist/backend/install/runtime-backend.d.ts +30 -3
  13. package/dist/backend/install/runtime-backend.js +106 -28
  14. package/dist/backend/install/runtime-backend.js.map +1 -1
  15. package/dist/backend/install/service.d.ts +42 -24
  16. package/dist/backend/install/service.js +176 -31
  17. package/dist/backend/install/service.js.map +1 -1
  18. package/dist/backend/install/windows-launch-check.d.ts +72 -0
  19. package/dist/backend/install/windows-launch-check.js +173 -0
  20. package/dist/backend/install/windows-launch-check.js.map +1 -0
  21. package/dist/backend/installed/installed.d.ts +13 -0
  22. package/dist/backend/installed/installed.js +32 -0
  23. package/dist/backend/installed/installed.js.map +1 -1
  24. package/dist/backend/select/bad-backends.d.ts +68 -0
  25. package/dist/backend/select/bad-backends.js +136 -0
  26. package/dist/backend/select/bad-backends.js.map +1 -0
  27. package/dist/backend/select/features.d.ts +18 -1
  28. package/dist/backend/select/features.js +29 -1
  29. package/dist/backend/select/features.js.map +1 -1
  30. package/dist/backend/select/index.d.ts +1 -0
  31. package/dist/backend/select/index.js +1 -0
  32. package/dist/backend/select/index.js.map +1 -1
  33. package/dist/backend/turboquant.d.ts +8 -0
  34. package/dist/backend/turboquant.js +37 -9
  35. package/dist/backend/turboquant.js.map +1 -1
  36. package/dist/cli/main.d.ts +1 -1
  37. package/dist/contracts/diagnostics.d.ts +21 -0
  38. package/dist/contracts/diagnostics.js +71 -0
  39. package/dist/contracts/diagnostics.js.map +1 -0
  40. package/dist/contracts/errors.d.ts +18 -76
  41. package/dist/contracts/errors.js +145 -2
  42. package/dist/contracts/errors.js.map +1 -1
  43. package/dist/contracts/hardware.d.ts +8 -0
  44. package/dist/contracts/index.d.ts +2 -0
  45. package/dist/contracts/index.js +2 -0
  46. package/dist/contracts/index.js.map +1 -1
  47. package/dist/contracts/load-diag.d.ts +34 -0
  48. package/dist/contracts/load-diag.js +48 -0
  49. package/dist/contracts/load-diag.js.map +1 -0
  50. package/dist/core/atomic-core.d.ts +1 -1
  51. package/dist/core/atomic-core.js +2 -1
  52. package/dist/core/atomic-core.js.map +1 -1
  53. package/dist/core/create.js +25 -15
  54. package/dist/core/create.js.map +1 -1
  55. package/dist/core/managed-environment.d.ts +2 -0
  56. package/dist/core/managed-environment.js +2 -0
  57. package/dist/core/managed-environment.js.map +1 -1
  58. package/dist/decision/service.d.ts +2 -23
  59. package/dist/decision/service.js +27 -0
  60. package/dist/decision/service.js.map +1 -1
  61. package/dist/decision/wiring.d.ts +2 -0
  62. package/dist/decision/wiring.js +1 -6
  63. package/dist/decision/wiring.js.map +1 -1
  64. package/dist/diffusion/errors.js +3 -3
  65. package/dist/diffusion/errors.js.map +1 -1
  66. package/dist/diffusion/jobs.js +1 -0
  67. package/dist/diffusion/jobs.js.map +1 -1
  68. package/dist/diffusion/remote-job.js +1 -0
  69. package/dist/diffusion/remote-job.js.map +1 -1
  70. package/dist/diffusion/service.d.ts +2 -6
  71. package/dist/diffusion/service.js +1 -0
  72. package/dist/diffusion/service.js.map +1 -1
  73. package/dist/diffusion/session.d.ts +2 -5
  74. package/dist/diffusion/session.js +1 -0
  75. package/dist/diffusion/session.js.map +1 -1
  76. package/dist/diffusion/wiring.d.ts +2 -0
  77. package/dist/diffusion/wiring.js +1 -5
  78. package/dist/diffusion/wiring.js.map +1 -1
  79. package/dist/downloads/archive.js +8 -3
  80. package/dist/downloads/archive.js.map +1 -1
  81. package/dist/downloads/disk.d.ts +18 -0
  82. package/dist/downloads/disk.js +32 -1
  83. package/dist/downloads/disk.js.map +1 -1
  84. package/dist/downloads/downloader.d.ts +2 -18
  85. package/dist/downloads/downloader.js +208 -97
  86. package/dist/downloads/downloader.js.map +1 -1
  87. package/dist/downloads/fs-retry.d.ts +27 -0
  88. package/dist/downloads/fs-retry.js +40 -0
  89. package/dist/downloads/fs-retry.js.map +1 -0
  90. package/dist/downloads/index.d.ts +1 -0
  91. package/dist/downloads/index.js +1 -0
  92. package/dist/downloads/index.js.map +1 -1
  93. package/dist/downloads/protocol.d.ts +6 -2
  94. package/dist/downloads/protocol.js +27 -5
  95. package/dist/downloads/protocol.js.map +1 -1
  96. package/dist/embedding/service.d.ts +2 -18
  97. package/dist/embedding/service.js +21 -1
  98. package/dist/embedding/service.js.map +1 -1
  99. package/dist/embedding/wiring.d.ts +2 -0
  100. package/dist/embedding/wiring.js +1 -6
  101. package/dist/embedding/wiring.js.map +1 -1
  102. package/dist/hardware/index.d.ts +1 -0
  103. package/dist/hardware/index.js +1 -0
  104. package/dist/hardware/index.js.map +1 -1
  105. package/dist/hardware/probe-common.d.ts +9 -1
  106. package/dist/hardware/probe-common.js.map +1 -1
  107. package/dist/hardware/probe-windows.d.ts +10 -2
  108. package/dist/hardware/probe-windows.js +65 -10
  109. package/dist/hardware/probe-windows.js.map +1 -1
  110. package/dist/hardware/probe.js +1 -1
  111. package/dist/hardware/probe.js.map +1 -1
  112. package/dist/hardware/service.d.ts +11 -0
  113. package/dist/hardware/service.js +31 -4
  114. package/dist/hardware/service.js.map +1 -1
  115. package/dist/hardware/windows-registry.d.ts +80 -0
  116. package/dist/hardware/windows-registry.js +197 -0
  117. package/dist/hardware/windows-registry.js.map +1 -0
  118. package/dist/lock/instance-lock.js +7 -3
  119. package/dist/lock/instance-lock.js.map +1 -1
  120. package/dist/remote-access/manager.d.ts +2 -0
  121. package/dist/remote-access/manager.js +18 -2
  122. package/dist/remote-access/manager.js.map +1 -1
  123. package/dist/runtime/environment/service.d.ts +2 -14
  124. package/dist/runtime/environment/service.js +10 -0
  125. package/dist/runtime/environment/service.js.map +1 -1
  126. package/dist/runtime/environment/wiring.d.ts +2 -23
  127. package/dist/runtime/environment/wiring.js +1 -0
  128. package/dist/runtime/environment/wiring.js.map +1 -1
  129. package/dist/runtime/llamacpp/args.d.ts +11 -0
  130. package/dist/runtime/llamacpp/args.js +28 -3
  131. package/dist/runtime/llamacpp/args.js.map +1 -1
  132. package/dist/runtime/llamacpp/devices.d.ts +11 -0
  133. package/dist/runtime/llamacpp/devices.js +22 -0
  134. package/dist/runtime/llamacpp/devices.js.map +1 -1
  135. package/dist/runtime/llamacpp/errors.d.ts +34 -4
  136. package/dist/runtime/llamacpp/errors.js +105 -22
  137. package/dist/runtime/llamacpp/errors.js.map +1 -1
  138. package/dist/runtime/llamacpp/index.d.ts +1 -0
  139. package/dist/runtime/llamacpp/index.js +1 -0
  140. package/dist/runtime/llamacpp/index.js.map +1 -1
  141. package/dist/runtime/llamacpp/load-failure.d.ts +52 -0
  142. package/dist/runtime/llamacpp/load-failure.js +105 -0
  143. package/dist/runtime/llamacpp/load-failure.js.map +1 -0
  144. package/dist/runtime/llamacpp/load-plan.d.ts +5 -0
  145. package/dist/runtime/llamacpp/load-plan.js +34 -4
  146. package/dist/runtime/llamacpp/load-plan.js.map +1 -1
  147. package/dist/runtime/llamacpp/runtime.d.ts +24 -1
  148. package/dist/runtime/llamacpp/runtime.js +116 -27
  149. package/dist/runtime/llamacpp/runtime.js.map +1 -1
  150. package/dist/runtime/shared/env.js +13 -15
  151. package/dist/runtime/shared/env.js.map +1 -1
  152. package/dist/server/public/errors.d.ts +2 -0
  153. package/dist/server/public/errors.js +6 -2
  154. package/dist/server/public/errors.js.map +1 -1
  155. package/dist/server/public/forward.js +22 -18
  156. package/dist/server/public/forward.js.map +1 -1
  157. package/dist/settings/store.js +1 -1
  158. package/dist/settings/store.js.map +1 -1
  159. package/dist/telemetry/diagnostics.d.ts +14 -0
  160. package/dist/telemetry/diagnostics.js +289 -0
  161. package/dist/telemetry/diagnostics.js.map +1 -0
  162. package/dist/telemetry/envelope.d.ts +1 -1
  163. package/dist/telemetry/envelope.js +57 -28
  164. package/dist/telemetry/envelope.js.map +1 -1
  165. package/dist/telemetry/index.d.ts +1 -0
  166. package/dist/telemetry/index.js +1 -0
  167. package/dist/telemetry/index.js.map +1 -1
  168. package/dist/telemetry/policy.d.ts +1 -1
  169. package/dist/telemetry/policy.js +45 -2
  170. package/dist/telemetry/policy.js.map +1 -1
  171. package/dist/telemetry/reporter.d.ts +1 -0
  172. package/dist/telemetry/reporter.js +0 -0
  173. package/dist/telemetry/reporter.js.map +1 -1
  174. package/dist/telemetry/reports.d.ts +2 -7
  175. package/dist/telemetry/reports.js +34 -29
  176. package/dist/telemetry/reports.js.map +1 -1
  177. package/dist/telemetry/stack.d.ts +1 -1
  178. package/dist/telemetry/stack.js +8 -1
  179. package/dist/telemetry/stack.js.map +1 -1
  180. package/dist/telemetry/subscribe.d.ts +1 -1
  181. package/dist/telemetry/subscribe.js +7 -5
  182. package/dist/telemetry/subscribe.js.map +1 -1
  183. package/dist/telemetry/types.d.ts +3 -2
  184. package/dist/version.d.ts +1 -1
  185. package/dist/version.js +1 -1
  186. package/package.json +1 -1
@@ -0,0 +1,289 @@
1
+ import { DIAGNOSTIC_VERSION, FAILURE_CATEGORIES, FAILURE_COMPONENTS, FAILURE_OPERATIONS, FAILURE_STAGES, FAILURE_REASONS, NATIVE_FAILURES, } from '../contracts/index.js';
2
+ import { errorCodeOf, isCancellation } from './policy.js';
3
+ import { parseStack } from './stack.js';
4
+ const SIGNALS = new Set([
5
+ 'SIGABRT',
6
+ 'SIGALRM',
7
+ 'SIGBUS',
8
+ 'SIGFPE',
9
+ 'SIGHUP',
10
+ 'SIGILL',
11
+ 'SIGINT',
12
+ 'SIGKILL',
13
+ 'SIGPIPE',
14
+ 'SIGQUIT',
15
+ 'SIGSEGV',
16
+ 'SIGSYS',
17
+ 'SIGTERM',
18
+ 'SIGTRAP',
19
+ 'SIGUSR1',
20
+ 'SIGUSR2',
21
+ 'SIGXCPU',
22
+ 'SIGXFSZ',
23
+ 'SIGBREAK',
24
+ ]);
25
+ const EXPECTED = {
26
+ INVALID_ARGUMENT: 'invalid_request',
27
+ INVALID_REQUEST: 'invalid_request',
28
+ INVALID_DIMENSIONS: 'invalid_request',
29
+ UNAUTHORIZED: 'authentication',
30
+ AUTH_REQUIRED: 'authentication',
31
+ FORBIDDEN_HOST: 'authentication',
32
+ MODEL_NOT_FOUND: 'not_found',
33
+ MODEL_NOT_LOADED: 'not_found',
34
+ NO_MODEL_LOADED: 'not_found',
35
+ PROVIDER_NOT_FOUND: 'not_found',
36
+ MODEL_MISSING: 'not_found',
37
+ SIDE_FILE_MISSING: 'not_found',
38
+ CORE_ALREADY_RUNNING: 'busy',
39
+ CORE_NOT_RUNNING: 'not_configured',
40
+ REMOTE_ACCESS_SERVER_STOPPED: 'not_configured',
41
+ REMOTE_ACCESS_OPERATION_IN_PROGRESS: 'busy',
42
+ GPU_BUSY: 'busy',
43
+ JOB_BUSY: 'busy',
44
+ QUEUE_FULL: 'busy',
45
+ JOB_NOT_FOUND: 'not_found',
46
+ BACKEND_IN_USE: 'busy',
47
+ ENGINE_INSTALL_IN_PROGRESS: 'busy',
48
+ ENGINE_MISSING: 'not_configured',
49
+ ENGINE_UPDATE_REQUIRED: 'unsupported',
50
+ NOT_CONFIGURED: 'not_configured',
51
+ DECISION_NOT_CONFIGURED: 'not_configured',
52
+ EMBEDDING_NOT_CONFIGURED: 'not_configured',
53
+ DECISION_ENGINE_UNSUPPORTED: 'unsupported',
54
+ EMBEDDING_ENGINE_UNSUPPORTED: 'unsupported',
55
+ UNSUPPORTED_BACKEND: 'unsupported',
56
+ UNSUPPORTED_WORKFLOW: 'unsupported',
57
+ MODEL_INCOMPATIBLE: 'unsupported',
58
+ MODEL_ENGINE_INCOMPATIBLE: 'unsupported',
59
+ MODEL_FORMAT_LEGACY: 'unsupported',
60
+ };
61
+ const OPERATIONAL = {
62
+ OUT_OF_MEMORY: 'out_of_memory',
63
+ ENOMEM: 'out_of_memory',
64
+ ENOSPC: 'disk_full',
65
+ DISK_FULL: 'disk_full',
66
+ EACCES: 'disk_permission',
67
+ EPERM: 'disk_permission',
68
+ EBUSY: 'disk_file_locked',
69
+ ENAMETOOLONG: 'disk_path_too_long',
70
+ EIO: 'disk_io',
71
+ ENODEV: 'disk_device_lost',
72
+ ECONNREFUSED: 'network',
73
+ ECONNRESET: 'network',
74
+ ENETUNREACH: 'network',
75
+ ENOTFOUND: 'network',
76
+ EAI_AGAIN: 'network',
77
+ ETIMEDOUT: 'timeout',
78
+ MODEL_LOAD_TIMED_OUT: 'timeout',
79
+ SERVER_START_TIMED_OUT: 'timeout',
80
+ UPSTREAM_ERROR: 'upstream',
81
+ MODEL_FILE_NOT_FOUND: 'not_found',
82
+ MODEL_FILE_CORRUPT: 'integrity',
83
+ MODEL_SHARDS_INCOMPLETE: 'integrity',
84
+ MODEL_ARCH_NOT_SUPPORTED: 'unsupported',
85
+ MULTIMODAL_PROJECTOR_LOAD_FAILED: 'unsupported',
86
+ BINARY_NOT_FOUND: 'not_found',
87
+ OS_VERSION_UNSUPPORTED: 'unsupported',
88
+ CPU_NO_AVX: 'unsupported',
89
+ CPU_INSTRUCTION_UNSUPPORTED: 'unsupported',
90
+ GPU_BACKEND_INCOMPATIBLE: 'unsupported',
91
+ ENGINE_BINARY_BROKEN: 'integrity',
92
+ EFBIG: 'disk_fs_limit',
93
+ REMOTE_RATE_LIMITED: 'upstream',
94
+ REMOTE_QUOTA: 'upstream',
95
+ REMOTE_UNAVAILABLE: 'upstream',
96
+ REMOTE_TIMEOUT: 'timeout',
97
+ };
98
+ /** Bounded, identity-aware traversal; never enumerates arbitrary thrown objects. */
99
+ export function errorChain(error) {
100
+ const chain = [];
101
+ const seen = new Set();
102
+ while (error instanceof Error && !seen.has(error) && chain.length < 5) {
103
+ seen.add(error);
104
+ chain.push(error);
105
+ error = error.cause;
106
+ }
107
+ return chain;
108
+ }
109
+ /** Runtime validation also protects library callers compiled without TypeScript. */
110
+ export function classifyFailure(error, context) {
111
+ const own = errorChain(error).find((entry) => typeof entry.diagnostic === 'object');
112
+ const input = { ...context, ...own?.diagnostic };
113
+ const diagnostic = {
114
+ component: FAILURE_COMPONENTS.includes(input.component) ? input.component : 'core',
115
+ operation: FAILURE_OPERATIONS.includes(input.operation) ? input.operation : 'request',
116
+ };
117
+ if (input.stage && FAILURE_STAGES.includes(input.stage))
118
+ diagnostic.stage = input.stage;
119
+ if (input.nativeFailure && NATIVE_FAILURES.includes(input.nativeFailure))
120
+ diagnostic.nativeFailure = input.nativeFailure;
121
+ if (input.exitCode === null || (typeof input.exitCode === 'number' && Number.isSafeInteger(input.exitCode)))
122
+ diagnostic.exitCode = input.exitCode;
123
+ if (typeof input.signal === 'number' && Number.isSafeInteger(input.signal))
124
+ diagnostic.signal = input.signal;
125
+ else if (typeof input.signal === 'string' && SIGNALS.has(input.signal))
126
+ diagnostic.signal = input.signal;
127
+ // version_backend may contain a local, user-named backend directory after the version.
128
+ if (typeof input.engineVersion === 'string') {
129
+ const version = /^(b\d{1,10}(?:-\d+(?:\.\d+){1,3})?|v?\d+(?:\.\d+){1,3})(?:\/|$)/.exec(input.engineVersion)?.[1];
130
+ if (version && version.length <= 48)
131
+ diagnostic.engineVersion = version;
132
+ }
133
+ let category = 'unknown';
134
+ let reason = 'unknown';
135
+ const code = errorCodeOf(error);
136
+ if (isCancellation(error) || errorChain(error).some(isCancellation)) {
137
+ category = 'expected';
138
+ reason = 'cancelled';
139
+ }
140
+ else if (code && EXPECTED[code]) {
141
+ category = 'expected';
142
+ reason = EXPECTED[code];
143
+ }
144
+ else {
145
+ const chain = errorChain(error);
146
+ const cause = [...chain]
147
+ .reverse()
148
+ .map(errorCodeOf)
149
+ .find((value) => value && OPERATIONAL[value]);
150
+ const operational = OPERATIONAL[code ?? ''] ?? (cause ? OPERATIONAL[cause] : undefined);
151
+ if (operational) {
152
+ category = 'operational';
153
+ reason = operational;
154
+ }
155
+ else if (code === 'INTERNAL_ERROR' ||
156
+ code === 'INTERNAL' ||
157
+ error instanceof TypeError ||
158
+ error instanceof ReferenceError) {
159
+ category = 'defect';
160
+ reason = 'internal';
161
+ }
162
+ }
163
+ if (!diagnostic.nativeFailure) {
164
+ const signal = diagnostic.signal;
165
+ const exit = diagnostic.exitCode === undefined || diagnostic.exitCode === null ? null : diagnostic.exitCode >>> 0;
166
+ if (signal === 'SIGSEGV' || signal === 11)
167
+ diagnostic.nativeFailure = 'sigsegv';
168
+ else if (signal === 'SIGABRT' || signal === 6)
169
+ diagnostic.nativeFailure = 'sigabrt';
170
+ else if (signal === 'SIGKILL' || signal === 9) {
171
+ diagnostic.nativeFailure = 'sigkill';
172
+ category = 'operational';
173
+ }
174
+ else if (exit === 0xc0000005)
175
+ diagnostic.nativeFailure = 'access_violation';
176
+ else if (exit === 0xc00000fd)
177
+ diagnostic.nativeFailure = 'stack_overflow';
178
+ else if (exit === 0xc0000409)
179
+ diagnostic.nativeFailure = 'native_crash';
180
+ }
181
+ if (reason !== 'cancelled') {
182
+ if (input.category && FAILURE_CATEGORIES.includes(input.category))
183
+ category = input.category;
184
+ if (input.reason && FAILURE_REASONS.includes(input.reason))
185
+ reason = input.reason;
186
+ }
187
+ return { ...diagnostic, category, reason };
188
+ }
189
+ /** Finite facts are useful without sending raw messages, arguments, paths or engine output. */
190
+ export function diagnosticTags(error, diagnostic) {
191
+ const causeCode = [...errorChain(error)].reverse().map(errorCodeOf).find(Boolean);
192
+ return {
193
+ diagnostic_version: DIAGNOSTIC_VERSION,
194
+ component: diagnostic.component,
195
+ operation: diagnostic.operation,
196
+ failure_category: diagnostic.category,
197
+ failure_reason: diagnostic.reason,
198
+ failure_stage: diagnostic.stage,
199
+ cause_code: causeCode,
200
+ native_failure: diagnostic.nativeFailure,
201
+ exit_code: diagnostic.exitCode,
202
+ signal: diagnostic.signal,
203
+ engine_version: diagnostic.engineVersion,
204
+ };
205
+ }
206
+ /** Unknown causes keep their source location; messages and user-selected models never form a key. */
207
+ export function diagnosticFingerprint(error, diagnostic, provider) {
208
+ const chain = errorChain(error);
209
+ const leaf = chain.at(-1);
210
+ const frame = parseStack(leaf?.stack, leaf?.message)
211
+ .filter((entry) => entry.in_app)
212
+ .at(-1);
213
+ const reason = diagnostic.reason ?? 'unknown';
214
+ const location = reason === 'unknown' || reason === 'internal'
215
+ ? frame
216
+ ? `${frame.filename}:${frame.lineno ?? 0}:${frame.colno ?? 0}`
217
+ : 'no-stack'
218
+ : reason;
219
+ return [
220
+ DIAGNOSTIC_VERSION,
221
+ diagnostic.component,
222
+ diagnostic.operation,
223
+ provider ?? '',
224
+ reason,
225
+ diagnostic.nativeFailure ?? '',
226
+ errorCodeOf(leaf) ?? errorCodeOf(error) ?? '',
227
+ location,
228
+ ];
229
+ }
230
+ /** One injected observer per owner. Repeated propagation of an Error is reported only once. */
231
+ export function failureObserver(sink) {
232
+ return (error, context) => {
233
+ if (!sink)
234
+ return;
235
+ try {
236
+ const diagnostic = classifyFailure(error, context);
237
+ if (diagnostic.category === 'expected')
238
+ return;
239
+ sink.capture({
240
+ source: 'operation',
241
+ error,
242
+ diagnostic,
243
+ level: diagnostic.category === 'operational' ? 'warning' : 'error',
244
+ // Preserve the engine-report cooldown when an internal observer replaces an SSE subscriber.
245
+ throttle: { key: diagnosticFingerprint(error, diagnostic).join('\u0000'), windowMs: 5 * 60_000 },
246
+ });
247
+ }
248
+ catch {
249
+ /* Observability must never change the operation's result. */
250
+ }
251
+ };
252
+ }
253
+ /** Legacy report producers acquire the same diagnostic vocabulary at the serialization boundary. */
254
+ export function reportDiagnostic(report) {
255
+ const contexts = {
256
+ operation: { component: 'core', operation: 'request' },
257
+ startup: { component: 'core', operation: 'startup' },
258
+ uncaught_exception: { component: 'core', operation: 'event' },
259
+ unhandled_rejection: { component: 'core', operation: 'event' },
260
+ event_listener: { component: 'core', operation: 'event' },
261
+ control_route: { component: 'http', operation: 'request' },
262
+ public_server: { component: 'http', operation: 'request' },
263
+ model_load: { component: 'runtime', operation: 'load' },
264
+ backend_crash: { component: 'runtime', operation: 'exit', reason: 'process_exit' },
265
+ inference: { component: 'runtime', operation: 'inference' },
266
+ diffusion_load: { component: 'diffusion', operation: 'load' },
267
+ diffusion_job: { component: 'diffusion', operation: 'job' },
268
+ audio_load: { component: 'audio', operation: 'load' },
269
+ audio_job: { component: 'audio', operation: 'job' },
270
+ };
271
+ const context = { ...(report.diagnostic ?? contexts[report.source]) };
272
+ if (!report.diagnostic && report.level === 'warning')
273
+ context.category = 'operational';
274
+ const crash = report.tags?.['crash_kind'];
275
+ if (typeof crash === 'string' && NATIVE_FAILURES.includes(crash))
276
+ context.nativeFailure = crash;
277
+ if (report.source === 'inference')
278
+ context.reason = report.tags?.['failure_kind'] === 'compute' ? 'compute' : 'upstream';
279
+ if (report.tags?.['oom_subtype'] || report.tags?.['failure_kind'] === 'oom')
280
+ context.reason = 'out_of_memory';
281
+ const code = report.tags?.['exit_code'];
282
+ if (typeof code === 'number')
283
+ context.exitCode = code;
284
+ const signal = report.tags?.['signal'];
285
+ if (typeof signal === 'number' || typeof signal === 'string')
286
+ context.signal = signal;
287
+ return classifyFailure(report.error, context);
288
+ }
289
+ //# sourceMappingURL=diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/telemetry/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -75,7 +75,7 @@ export interface SentryEvent {
75
75
  };
76
76
  };
77
77
  tags: Record<string, string>;
78
- fingerprint?: string[];
78
+ fingerprint: string[];
79
79
  exception: {
80
80
  values: SentryException[];
81
81
  };
@@ -1,22 +1,49 @@
1
+ import { diagnosticFingerprint, diagnosticTags, errorChain, reportDiagnostic } from './diagnostics.js';
1
2
  import { errorCodeOf, sanitizeTags } from './policy.js';
2
- import { headline, scrubText } from './scrub.js';
3
3
  import { parseStack } from './stack.js';
4
- const MAX_EXTRA = 4096;
5
- function describeThrown(error, scrub) {
4
+ // Free-form model IDs, request routes and log fields are not diagnostic facts.
5
+ const REPORT_TAG_KEYS = new Set([
6
+ 'source',
7
+ 'provider',
8
+ 'error_code',
9
+ 'http_status',
10
+ 'crash_kind',
11
+ 'exit_code',
12
+ 'signal',
13
+ 'backend',
14
+ 'oom_subtype',
15
+ 'quant',
16
+ 'context_length',
17
+ 'gpu_layers',
18
+ 'cache_type_k',
19
+ 'is_embedding',
20
+ 'failure_kind',
21
+ 'family',
22
+ 'engine',
23
+ ]);
24
+ const EXCEPTION_TYPES = new Set([
25
+ 'Error',
26
+ 'TypeError',
27
+ 'RangeError',
28
+ 'SyntaxError',
29
+ 'ReferenceError',
30
+ 'URIError',
31
+ 'EvalError',
32
+ 'AggregateError',
33
+ 'DOMException',
34
+ 'AbortError',
35
+ 'SystemError',
36
+ 'AtomicCoreError',
37
+ ]);
38
+ function describeThrown(error) {
6
39
  if (error instanceof Error) {
7
40
  const code = errorCodeOf(error);
8
41
  // A coded core error reads best as its code: "OUT_OF_MEMORY: Out of memory".
9
- const type = error.name === 'AtomicCoreError' && code ? code : error.name || 'Error';
10
- return {
11
- type,
12
- value: headline(scrubText(error.message, scrub)) || type,
13
- ...(error.stack ? { stack: error.stack } : {}),
14
- };
42
+ const type = error.name === 'AtomicCoreError' && code ? code : EXCEPTION_TYPES.has(error.name) ? error.name : 'Error';
43
+ return { type };
15
44
  }
16
- if (typeof error === 'string')
17
- return { type: 'NonError', value: headline(scrubText(error, scrub)) || 'NonError' };
18
- // Never stringify an arbitrary object: it may hold a request body.
19
- return { type: 'NonError', value: `A non-Error ${error === null ? 'null' : typeof error} was thrown` };
45
+ // Even a string may be a prompt or a request body. Never serialize thrown values.
46
+ return { type: 'NonError' };
20
47
  }
21
48
  /**
22
49
  * The Sentry event for one report. Zero-PII by construction: no server name, no IP, no local
@@ -24,12 +51,12 @@ function describeThrown(error, scrub) {
24
51
  */
25
52
  export function buildEvent(report, ctx) {
26
53
  const thrown = report.error !== undefined
27
- ? describeThrown(report.error, ctx.scrub)
54
+ ? describeThrown(report.error)
28
55
  : {
29
- type: report.type ?? report.source,
30
- value: headline(scrubText(report.message ?? '', ctx.scrub)) || report.source,
56
+ type: report.type && /^[A-Za-z][A-Za-z0-9_.]{0,63}$/.test(report.type) ? report.type : report.source,
31
57
  };
32
- const frames = 'stack' in thrown ? parseStack(thrown.stack) : [];
58
+ const diagnostic = reportDiagnostic(report);
59
+ const frames = report.error instanceof Error ? parseStack(report.error.stack, report.error.message) : [];
33
60
  const tags = {
34
61
  ...sanitizeTags({
35
62
  core_version: ctx.coreVersion,
@@ -41,12 +68,9 @@ export function buildEvent(report, ctx) {
41
68
  system_ram_mb: ctx.system?.memoryMb,
42
69
  }),
43
70
  ...ctx.appTags,
44
- ...sanitizeTags({ source: report.source, ...report.tags }, { scrub: ctx.scrub }),
71
+ ...sanitizeTags({ source: report.source, ...report.tags }, { allow: REPORT_TAG_KEYS, scrub: ctx.scrub }),
72
+ ...sanitizeTags(diagnosticTags(report.error, diagnostic)),
45
73
  };
46
- const extra = {};
47
- for (const [key, value] of Object.entries(report.extra ?? {})) {
48
- extra[key] = scrubText(value, ctx.scrub).slice(0, MAX_EXTRA);
49
- }
50
74
  return {
51
75
  event_id: ctx.eventId,
52
76
  timestamp: ctx.timestamp,
@@ -66,21 +90,26 @@ export function buildEvent(report, ctx) {
66
90
  },
67
91
  },
68
92
  tags,
69
- ...(report.fingerprint ? { fingerprint: report.fingerprint } : {}),
93
+ fingerprint: diagnosticFingerprint(report.error, diagnostic, String(report.tags?.['provider'] ?? '')),
70
94
  exception: {
71
95
  values: [
96
+ ...errorChain(report.error)
97
+ .slice(1)
98
+ .reverse()
99
+ .map((cause) => ({
100
+ type: errorCodeOf(cause) ?? (EXCEPTION_TYPES.has(cause.name) ? cause.name : 'Error'),
101
+ value: 'Underlying failure',
102
+ mechanism: { type: 'cause', handled: report.level !== 'fatal' },
103
+ stacktrace: { frames: parseStack(cause.stack, cause.message) },
104
+ })),
72
105
  {
73
106
  type: thrown.type,
74
- value: thrown.value,
107
+ value: `${diagnostic.component} ${diagnostic.operation}: ${diagnostic.reason}`,
75
108
  mechanism: { type: report.source, handled: report.level !== 'fatal' },
76
109
  ...(frames.length ? { stacktrace: { frames } } : {}),
77
110
  },
78
111
  ],
79
112
  },
80
- ...(ctx.breadcrumbs.length
81
- ? { breadcrumbs: { values: ctx.breadcrumbs.map((b) => ({ ...b, category: 'log' })) } }
82
- : {}),
83
- ...(Object.keys(extra).length ? { extra } : {}),
84
113
  };
85
114
  }
86
115
  /** A single-event envelope: envelope header, item header, payload, newline-separated. */
@@ -1 +1 @@
1
- {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../src/telemetry/envelope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../src/telemetry/envelope.ts"],"names":[],"mappings":"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"}
@@ -16,3 +16,4 @@ export * from './subscribe.js';
16
16
  export * from './consent.js';
17
17
  export * from './store.js';
18
18
  export * from './core-reporter.js';
19
+ export * from './diagnostics.js';
@@ -16,4 +16,5 @@ export * from './subscribe.js';
16
16
  export * from './consent.js';
17
17
  export * from './store.js';
18
18
  export * from './core-reporter.js';
19
+ export * from './diagnostics.js';
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA"}
@@ -22,7 +22,7 @@ export declare function markerLines(text: string | undefined, options?: {
22
22
  maxBytes?: number;
23
23
  scrub?: ScrubContext;
24
24
  }): string | undefined;
25
- /** A code worth a tag: the core's SCREAMING_SNAKE codes and Node's `E…` codes. */
25
+ /** A recognized public core, system or upstream code, never arbitrary thrown text. */
26
26
  export declare function errorCodeOf(error: unknown): string | undefined;
27
27
  /** The user (or a caller) stopped the operation: the feature working, not a defect. */
28
28
  export declare function isCancellation(error: unknown): boolean;
@@ -1,3 +1,4 @@
1
+ import { ERROR_CODES } from '../contracts/index.js';
1
2
  import { scrubText } from './scrub.js';
2
3
  /**
3
4
  * Tags the app may attach (`toSentryTags` + `SENTRY_TAG_KEYS` in the web app's
@@ -74,10 +75,52 @@ export function markerLines(text, options = {}) {
74
75
  }
75
76
  return kept.length ? kept.join('\n') : undefined;
76
77
  }
77
- /** A code worth a tag: the core's SCREAMING_SNAKE codes and Node's `E…` codes. */
78
+ // Only named system and upstream errors are safe evidence. A string shaped like a code can
79
+ // still contain a token or a user identifier; unfamiliar codes group by the safe source stack.
80
+ const REPORTABLE_CODES = new Set([
81
+ ...ERROR_CODES,
82
+ 'ABORT_ERR',
83
+ 'EACCES',
84
+ 'EADDRINUSE',
85
+ 'EADDRNOTAVAIL',
86
+ 'EAI_AGAIN',
87
+ 'EBUSY',
88
+ 'ECONNABORTED',
89
+ 'ECONNREFUSED',
90
+ 'ECONNRESET',
91
+ 'EEXIST',
92
+ 'EHOSTUNREACH',
93
+ 'EINVAL',
94
+ 'EIO',
95
+ 'EISDIR',
96
+ 'EMFILE',
97
+ 'ENAMETOOLONG',
98
+ 'ENETUNREACH',
99
+ 'ENFILE',
100
+ 'ENODEV',
101
+ 'ENOENT',
102
+ 'ENOMEM',
103
+ 'ENOSPC',
104
+ 'ENOTDIR',
105
+ 'ENOTFOUND',
106
+ 'ENOTSUP',
107
+ 'EPERM',
108
+ 'EPIPE',
109
+ 'EROFS',
110
+ 'ETIMEDOUT',
111
+ 'EXDEV',
112
+ 'ERR_STREAM_PREMATURE_CLOSE',
113
+ 'ERR_STREAM_DESTROYED',
114
+ 'ERR_STREAM_WRITE_AFTER_END',
115
+ 'REMOTE_RATE_LIMITED',
116
+ 'REMOTE_QUOTA',
117
+ 'REMOTE_UNAVAILABLE',
118
+ 'REMOTE_TIMEOUT',
119
+ ]);
120
+ /** A recognized public core, system or upstream code, never arbitrary thrown text. */
78
121
  export function errorCodeOf(error) {
79
122
  const code = error?.code;
80
- return typeof code === 'string' && /^[A-Z][A-Z0-9_]{1,63}$/.test(code) ? code : undefined;
123
+ return typeof code === 'string' && REPORTABLE_CODES.has(code) ? code : undefined;
81
124
  }
82
125
  const CANCELLATION_CODES = new Set(['MODEL_LOAD_CANCELLED', 'CANCELLED', 'AUTH_CANCELLED', 'ABORT_ERR']);
83
126
  /** The user (or a caller) stopped the operation: the feature working, not a defect. */
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/telemetry/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/telemetry/policy.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,7 @@ export declare class ErrorReporter implements TelemetryControl {
56
56
  private readonly perIssue;
57
57
  private total;
58
58
  private blockedUntil;
59
+ private readonly reportedErrors;
59
60
  private readonly pending;
60
61
  constructor(options: ErrorReporterOptions);
61
62
  private consent;
Binary file