@atomic-chat/core 0.13.2 → 0.13.6
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/dist/cli/main.d.ts +1 -1
- package/dist/core/atomic-core.d.ts +3 -1
- package/dist/core/atomic-core.js +1 -0
- package/dist/core/atomic-core.js.map +1 -1
- package/dist/core/create.js +6 -0
- package/dist/core/create.js.map +1 -1
- package/dist/core/prism.d.ts +2 -0
- package/dist/core/prism.js +1 -0
- package/dist/core/prism.js.map +1 -1
- package/dist/core/public-server.js +3 -2
- package/dist/core/public-server.js.map +1 -1
- package/dist/core/tensorrt-llm.d.ts +169 -0
- package/dist/core/tensorrt-llm.js +428 -0
- package/dist/core/tensorrt-llm.js.map +1 -0
- package/dist/core/types.d.ts +16 -0
- package/dist/core/types.js.map +1 -1
- package/dist/decision/process.d.ts +4 -0
- package/dist/decision/process.js +10 -1
- package/dist/decision/process.js.map +1 -1
- package/dist/diffusion/args.d.ts +3 -2
- package/dist/diffusion/args.js +21 -4
- package/dist/diffusion/args.js.map +1 -1
- package/dist/diffusion/compat.d.ts +1 -1
- package/dist/diffusion/compat.js +6 -2
- package/dist/diffusion/compat.js.map +1 -1
- package/dist/diffusion/jobs.js +4 -0
- package/dist/diffusion/jobs.js.map +1 -1
- package/dist/diffusion/tracker.d.ts +6 -0
- package/dist/diffusion/tracker.js +11 -0
- package/dist/diffusion/tracker.js.map +1 -1
- package/dist/diffusion/validate.js +2 -2
- package/dist/diffusion/validate.js.map +1 -1
- package/dist/diffusion/workflow.d.ts +8 -2
- package/dist/diffusion/workflow.js +13 -5
- package/dist/diffusion/workflow.js.map +1 -1
- package/dist/downloads/downloader.d.ts +22 -0
- package/dist/downloads/downloader.js +57 -2
- package/dist/downloads/downloader.js.map +1 -1
- package/dist/downloads/segmented.d.ts +40 -0
- package/dist/downloads/segmented.js +170 -0
- package/dist/downloads/segmented.js.map +1 -0
- package/dist/embedding/process.d.ts +4 -0
- package/dist/embedding/process.js +10 -1
- package/dist/embedding/process.js.map +1 -1
- package/dist/models/compatibility/inspect.d.ts +11 -2
- package/dist/models/compatibility/inspect.js +44 -13
- package/dist/models/compatibility/inspect.js.map +1 -1
- package/dist/models/compatibility/service.d.ts +3 -0
- package/dist/models/compatibility/service.js +1 -0
- package/dist/models/compatibility/service.js.map +1 -1
- package/dist/models/gguf/tensors.d.ts +1 -0
- package/dist/models/gguf/tensors.js +4 -1
- package/dist/models/gguf/tensors.js.map +1 -1
- package/dist/runtime/managed-text/adapter.d.ts +17 -0
- package/dist/runtime/managed-text/adapter.js.map +1 -1
- package/dist/runtime/managed-text/lifecycle.d.ts +8 -0
- package/dist/runtime/managed-text/lifecycle.js +38 -1
- package/dist/runtime/managed-text/lifecycle.js.map +1 -1
- package/dist/runtime/managed-text/readiness.d.ts +21 -1
- package/dist/runtime/managed-text/readiness.js +64 -0
- package/dist/runtime/managed-text/readiness.js.map +1 -1
- package/dist/runtime/shared/ports.d.ts +10 -0
- package/dist/runtime/shared/ports.js +30 -0
- package/dist/runtime/shared/ports.js.map +1 -1
- package/dist/runtime/tensorrt-llm/adapter.d.ts +1 -4
- package/dist/runtime/tensorrt-llm/adapter.js +28 -11
- package/dist/runtime/tensorrt-llm/adapter.js.map +1 -1
- package/dist/runtime/tensorrt-llm/check.js +1 -0
- package/dist/runtime/tensorrt-llm/check.js.map +1 -1
- package/dist/runtime/tensorrt-llm/compatibility.d.ts +30 -6
- package/dist/runtime/tensorrt-llm/compatibility.js +41 -9
- package/dist/runtime/tensorrt-llm/compatibility.js.map +1 -1
- package/dist/runtime/tensorrt-llm/cuda-graphs.d.ts +32 -0
- package/dist/runtime/tensorrt-llm/cuda-graphs.js +33 -0
- package/dist/runtime/tensorrt-llm/cuda-graphs.js.map +1 -0
- package/dist/runtime/tensorrt-llm/delete.d.ts +15 -0
- package/dist/runtime/tensorrt-llm/delete.js +60 -0
- package/dist/runtime/tensorrt-llm/delete.js.map +1 -0
- package/dist/runtime/tensorrt-llm/engine.js +11 -5
- package/dist/runtime/tensorrt-llm/engine.js.map +1 -1
- package/dist/runtime/tensorrt-llm/guest-files.d.ts +8 -0
- package/dist/runtime/tensorrt-llm/guest-files.js +49 -0
- package/dist/runtime/tensorrt-llm/guest-files.js.map +1 -0
- package/dist/runtime/tensorrt-llm/kv-cache.d.ts +16 -0
- package/dist/runtime/tensorrt-llm/kv-cache.js +21 -1
- package/dist/runtime/tensorrt-llm/kv-cache.js.map +1 -1
- package/dist/runtime/tensorrt-llm/location.d.ts +20 -0
- package/dist/runtime/tensorrt-llm/location.js +48 -0
- package/dist/runtime/tensorrt-llm/location.js.map +1 -0
- package/dist/runtime/tensorrt-llm/model-dir.d.ts +38 -0
- package/dist/runtime/tensorrt-llm/model-dir.js +137 -0
- package/dist/runtime/tensorrt-llm/model-dir.js.map +1 -0
- package/dist/runtime/tensorrt-llm/quant-format.d.ts +65 -0
- package/dist/runtime/tensorrt-llm/quant-format.js +189 -0
- package/dist/runtime/tensorrt-llm/quant-format.js.map +1 -0
- package/dist/runtime/tensorrt-llm/registry.d.ts +26 -0
- package/dist/runtime/tensorrt-llm/registry.js +68 -0
- package/dist/runtime/tensorrt-llm/registry.js.map +1 -0
- package/dist/runtime/tensorrt-llm/runtime.d.ts +130 -0
- package/dist/runtime/tensorrt-llm/runtime.js +395 -0
- package/dist/runtime/tensorrt-llm/runtime.js.map +1 -0
- package/dist/server/control/router.js +1 -1
- package/dist/server/control/router.js.map +1 -1
- package/dist/server/control/types.d.ts +5 -1
- package/dist/server/control/types.js.map +1 -1
- package/dist/server/public/gates.d.ts +6 -1
- package/dist/server/public/gates.js +7 -3
- package/dist/server/public/gates.js.map +1 -1
- package/dist/server/public/index.d.ts +1 -0
- package/dist/server/public/index.js +9 -6
- package/dist/server/public/index.js.map +1 -1
- package/dist/server/public/types.d.ts +7 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"downloader.js","sourceRoot":"","sources":["../../src/downloads/downloader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"downloader.js","sourceRoot":"","sources":["../../src/downloads/downloader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One large, hash-pinned file over several bounded byte ranges at once (`DownloaderDeps.streams`).
|
|
3
|
+
* Each range is appended to its own file under `<save path>.segments/`, so an interrupted download
|
|
4
|
+
* keeps what every range already has; the directory is reused only for the same URL, size, hash and
|
|
5
|
+
* stream count. When every range is complete they are joined into `<save path>.tmp` and renamed into
|
|
6
|
+
* place; the downloader verifies size and hash afterwards, as for any file.
|
|
7
|
+
*
|
|
8
|
+
* A server that does not answer a range with a matching 206 (a 200, a 416, a different
|
|
9
|
+
* `Content-Range`, more bytes than asked for) makes the whole file fall back to one stream: the
|
|
10
|
+
* function returns `false` and leaves nothing behind. Any other failure is retried per range with the
|
|
11
|
+
* downloader's own backoff, the counter reset by fresh progress; a range that receives nothing for
|
|
12
|
+
* `inactivityTimeoutMs` is retried as a stall.
|
|
13
|
+
*/
|
|
14
|
+
/** The most ranges one file is fetched over, whatever is asked for. */
|
|
15
|
+
export declare const MAX_DOWNLOAD_STREAMS = 4;
|
|
16
|
+
/** Smallest file worth splitting: below this one stream is as fast and simpler. */
|
|
17
|
+
export declare const SEGMENTED_MIN_BYTES: number;
|
|
18
|
+
/** How long a range may receive nothing before it counts as stalled and is retried. */
|
|
19
|
+
export declare const SEGMENT_INACTIVITY_TIMEOUT_MS = 120000;
|
|
20
|
+
/** At most one progress report per this many milliseconds while ranges are flowing. */
|
|
21
|
+
export declare const SEGMENT_PROGRESS_INTERVAL_MS = 200;
|
|
22
|
+
export interface SegmentedDownload {
|
|
23
|
+
url: string;
|
|
24
|
+
/** Final path; `.segments/` and `.tmp` live beside it. */
|
|
25
|
+
destination: string;
|
|
26
|
+
size: number;
|
|
27
|
+
sha256: string;
|
|
28
|
+
streams: number;
|
|
29
|
+
fetch: typeof fetch;
|
|
30
|
+
headers: Record<string, string>;
|
|
31
|
+
signal: AbortSignal;
|
|
32
|
+
sleep: (ms: number, signal: AbortSignal) => Promise<void>;
|
|
33
|
+
retryBaseMs: number;
|
|
34
|
+
now: () => number;
|
|
35
|
+
/** Bytes held across every range so far. */
|
|
36
|
+
progress: (transferred: number) => void;
|
|
37
|
+
inactivityTimeoutMs?: number;
|
|
38
|
+
}
|
|
39
|
+
/** `true` when the file is in place; `false` when the server cannot serve ranges. Throws the rest. */
|
|
40
|
+
export declare function downloadSegments(o: SegmentedDownload): Promise<boolean>;
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One large, hash-pinned file over several bounded byte ranges at once (`DownloaderDeps.streams`).
|
|
3
|
+
* Each range is appended to its own file under `<save path>.segments/`, so an interrupted download
|
|
4
|
+
* keeps what every range already has; the directory is reused only for the same URL, size, hash and
|
|
5
|
+
* stream count. When every range is complete they are joined into `<save path>.tmp` and renamed into
|
|
6
|
+
* place; the downloader verifies size and hash afterwards, as for any file.
|
|
7
|
+
*
|
|
8
|
+
* A server that does not answer a range with a matching 206 (a 200, a 416, a different
|
|
9
|
+
* `Content-Range`, more bytes than asked for) makes the whole file fall back to one stream: the
|
|
10
|
+
* function returns `false` and leaves nothing behind. Any other failure is retried per range with the
|
|
11
|
+
* downloader's own backoff, the counter reset by fresh progress; a range that receives nothing for
|
|
12
|
+
* `inactivityTimeoutMs` is retried as a stall.
|
|
13
|
+
*/
|
|
14
|
+
import { createReadStream } from 'node:fs';
|
|
15
|
+
import { mkdir, open, readFile, rename, rm, stat, writeFile } from 'node:fs/promises';
|
|
16
|
+
import { join } from 'node:path';
|
|
17
|
+
import { MAX_STREAM_RETRIES, RETRY_RESET_PROGRESS_BYTES, retryDelayMs } from './protocol.js';
|
|
18
|
+
/** The most ranges one file is fetched over, whatever is asked for. */
|
|
19
|
+
export const MAX_DOWNLOAD_STREAMS = 4;
|
|
20
|
+
/** Smallest file worth splitting: below this one stream is as fast and simpler. */
|
|
21
|
+
export const SEGMENTED_MIN_BYTES = 32 * 1024 * 1024;
|
|
22
|
+
/** How long a range may receive nothing before it counts as stalled and is retried. */
|
|
23
|
+
export const SEGMENT_INACTIVITY_TIMEOUT_MS = 120_000;
|
|
24
|
+
/** At most one progress report per this many milliseconds while ranges are flowing. */
|
|
25
|
+
export const SEGMENT_PROGRESS_INTERVAL_MS = 200;
|
|
26
|
+
/** The server cannot serve this file in ranges; the caller downloads it in one stream instead. */
|
|
27
|
+
class RangeUnavailable extends Error {
|
|
28
|
+
}
|
|
29
|
+
/** Stalled: the range received nothing for the inactivity timeout. Retried like any stream error. */
|
|
30
|
+
class RangeStalled extends Error {
|
|
31
|
+
}
|
|
32
|
+
/** `true` when the file is in place; `false` when the server cannot serve ranges. Throws the rest. */
|
|
33
|
+
export async function downloadSegments(o) {
|
|
34
|
+
const count = Math.max(1, Math.min(MAX_DOWNLOAD_STREAMS, Math.floor(o.streams)));
|
|
35
|
+
const chunk = Math.ceil(o.size / count);
|
|
36
|
+
const directory = `${o.destination}.segments`;
|
|
37
|
+
const identity = JSON.stringify([o.url, o.size, o.sha256, count]);
|
|
38
|
+
if ((await readFile(join(directory, 'identity'), 'utf8').catch(() => '')) !== identity) {
|
|
39
|
+
await rm(directory, { recursive: true, force: true });
|
|
40
|
+
}
|
|
41
|
+
await mkdir(directory, { recursive: true });
|
|
42
|
+
await writeFile(join(directory, 'identity'), identity);
|
|
43
|
+
// One range failing for good stops the others: the file cannot complete anyway.
|
|
44
|
+
const stopAll = new AbortController();
|
|
45
|
+
const signal = AbortSignal.any([o.signal, stopAll.signal]);
|
|
46
|
+
const held = Array(count).fill(0);
|
|
47
|
+
let reportedAt = Number.NEGATIVE_INFINITY;
|
|
48
|
+
const report = (force = false) => {
|
|
49
|
+
const now = o.now();
|
|
50
|
+
if (!force && now - reportedAt < SEGMENT_PROGRESS_INTERVAL_MS)
|
|
51
|
+
return;
|
|
52
|
+
reportedAt = now;
|
|
53
|
+
o.progress(held.reduce((a, b) => a + b, 0));
|
|
54
|
+
};
|
|
55
|
+
const inactivity = o.inactivityTimeoutMs ?? SEGMENT_INACTIVITY_TIMEOUT_MS;
|
|
56
|
+
const transfer = async (i) => {
|
|
57
|
+
const start = i * chunk;
|
|
58
|
+
const end = Math.min(o.size, start + chunk) - 1;
|
|
59
|
+
const length = end - start + 1;
|
|
60
|
+
const path = join(directory, String(i));
|
|
61
|
+
held[i] = Math.min(length, await stat(path).then((s) => s.size, () => 0));
|
|
62
|
+
if (held[i] === length)
|
|
63
|
+
return report(true);
|
|
64
|
+
let retries = 0;
|
|
65
|
+
let sinceReset = 0;
|
|
66
|
+
for (;;) {
|
|
67
|
+
signal.throwIfAborted();
|
|
68
|
+
const attempt = new AbortController();
|
|
69
|
+
let timer;
|
|
70
|
+
const arm = () => {
|
|
71
|
+
clearTimeout(timer);
|
|
72
|
+
timer = setTimeout(() => attempt.abort(new RangeStalled(`no data received for ${inactivity / 1000} seconds`)), inactivity);
|
|
73
|
+
};
|
|
74
|
+
let response;
|
|
75
|
+
try {
|
|
76
|
+
const from = start + held[i];
|
|
77
|
+
arm();
|
|
78
|
+
response = await o.fetch(o.url, {
|
|
79
|
+
headers: { ...o.headers, Range: `bytes=${from}-${end}` },
|
|
80
|
+
signal: AbortSignal.any([signal, attempt.signal]),
|
|
81
|
+
});
|
|
82
|
+
if (response.status === 200 || response.status === 416) {
|
|
83
|
+
throw new RangeUnavailable(`HTTP ${response.status} to a range request`);
|
|
84
|
+
}
|
|
85
|
+
if (response.status !== 206)
|
|
86
|
+
throw new Error(`HTTP ${response.status}`);
|
|
87
|
+
if (response.headers.get('content-range') !== `bytes ${from}-${end}/${o.size}`) {
|
|
88
|
+
throw new RangeUnavailable('a Content-Range that does not match the request');
|
|
89
|
+
}
|
|
90
|
+
if (!response.body)
|
|
91
|
+
throw new Error('no body');
|
|
92
|
+
const file = await open(path, 'a', 0o600);
|
|
93
|
+
const reader = response.body.getReader();
|
|
94
|
+
try {
|
|
95
|
+
for (;;) {
|
|
96
|
+
arm();
|
|
97
|
+
const { done, value } = await reader.read();
|
|
98
|
+
if (done)
|
|
99
|
+
break;
|
|
100
|
+
if (held[i] + value.byteLength > length) {
|
|
101
|
+
throw new RangeUnavailable('more bytes than the range asked for');
|
|
102
|
+
}
|
|
103
|
+
await file.writeFile(value);
|
|
104
|
+
held[i] = held[i] + value.byteLength;
|
|
105
|
+
sinceReset += value.byteLength;
|
|
106
|
+
if (sinceReset >= RETRY_RESET_PROGRESS_BYTES) {
|
|
107
|
+
retries = 0;
|
|
108
|
+
sinceReset = 0;
|
|
109
|
+
}
|
|
110
|
+
report();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
finally {
|
|
114
|
+
await reader.cancel().catch(() => { });
|
|
115
|
+
await file.close();
|
|
116
|
+
}
|
|
117
|
+
if (held[i] !== length)
|
|
118
|
+
throw new Error(`the range ended after ${held[i]} of ${length} bytes`);
|
|
119
|
+
return report(true);
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
await response?.body?.cancel().catch(() => { });
|
|
123
|
+
if (signal.aborted)
|
|
124
|
+
throw signal.reason;
|
|
125
|
+
const cause = attempt.signal.aborted ? attempt.signal.reason : error;
|
|
126
|
+
if (cause instanceof RangeUnavailable || retries >= MAX_STREAM_RETRIES)
|
|
127
|
+
throw cause;
|
|
128
|
+
await o.sleep(retryDelayMs(retries++, o.retryBaseMs), signal);
|
|
129
|
+
}
|
|
130
|
+
finally {
|
|
131
|
+
clearTimeout(timer);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
const results = await Promise.allSettled(Array.from({ length: count }, (_, i) => transfer(i).catch((error) => {
|
|
136
|
+
stopAll.abort(error);
|
|
137
|
+
throw error;
|
|
138
|
+
})));
|
|
139
|
+
if (o.signal.aborted)
|
|
140
|
+
throw o.signal.reason;
|
|
141
|
+
const failed = results.find((r) => r.status === 'rejected');
|
|
142
|
+
if (failed !== undefined) {
|
|
143
|
+
// The first range to fail stopped the rest; its reason is the one that matters.
|
|
144
|
+
const reason = stopAll.signal.reason ?? failed.reason;
|
|
145
|
+
if (reason instanceof RangeUnavailable) {
|
|
146
|
+
await rm(directory, { recursive: true, force: true });
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
149
|
+
throw reason;
|
|
150
|
+
}
|
|
151
|
+
const temporary = `${o.destination}.tmp`;
|
|
152
|
+
const output = await open(temporary, 'w', 0o600);
|
|
153
|
+
try {
|
|
154
|
+
for (let i = 0; i < count; i++) {
|
|
155
|
+
for await (const buffer of createReadStream(join(directory, String(i)))) {
|
|
156
|
+
o.signal.throwIfAborted();
|
|
157
|
+
await output.writeFile(buffer);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
finally {
|
|
162
|
+
await output.close();
|
|
163
|
+
}
|
|
164
|
+
o.signal.throwIfAborted();
|
|
165
|
+
await rename(temporary, o.destination);
|
|
166
|
+
await rm(directory, { recursive: true, force: true });
|
|
167
|
+
report(true);
|
|
168
|
+
return true;
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=segmented.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segmented.js","sourceRoot":"","sources":["../../src/downloads/segmented.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,4 +63,8 @@ export interface SpawnEmbeddingDeps {
|
|
|
63
63
|
}
|
|
64
64
|
/** The error for a process that died before it was ready: the engine's own last lines in the details. */
|
|
65
65
|
export declare function embeddingEarlyExitError(exit: ExitInfo, tail: readonly string[]): AtomicCoreError;
|
|
66
|
+
/**
|
|
67
|
+
* Start the embedding model, on another port when the one picked was taken before the engine could
|
|
68
|
+
* bind it (`retryOnTakenPort`): an exit while loading that says so is that race, not the model.
|
|
69
|
+
*/
|
|
66
70
|
export declare function spawnEmbeddingServer(spec: EmbeddingServerSpec, deps: SpawnEmbeddingDeps): Promise<EmbeddingProcessHandle>;
|
|
@@ -12,7 +12,7 @@ import { randomBytes } from 'node:crypto';
|
|
|
12
12
|
import { dirname } from 'node:path';
|
|
13
13
|
import { AtomicCoreError } from '../contracts/index.js';
|
|
14
14
|
import { commandSummary } from '../decision/index.js';
|
|
15
|
-
import { backendOutputReporter, buildProcessEnv, discoverCudaPaths, nodeCudaProbeEnv, randomFreePort, spawnManaged, } from '../runtime/shared/index.js';
|
|
15
|
+
import { backendOutputReporter, buildProcessEnv, discoverCudaPaths, exitedOnTakenPort, nodeCudaProbeEnv, randomFreePort, retryOnTakenPort, spawnManaged, } from '../runtime/shared/index.js';
|
|
16
16
|
import { buildEmbeddingArgs, embeddingEnv, EMBEDDING_HOST } from './args.js';
|
|
17
17
|
import { findFfmpegDir, withPathDir } from './ffmpeg.js';
|
|
18
18
|
import { checkEmbeddingReadiness, READINESS_REQUEST_TIMEOUT_MS } from './readiness.js';
|
|
@@ -33,7 +33,16 @@ function describeExit(exit) {
|
|
|
33
33
|
export function embeddingEarlyExitError(exit, tail) {
|
|
34
34
|
return new AtomicCoreError('MODEL_LOAD_FAILED', `The embedding model exited with ${describeExit(exit)} while loading.`, tail.slice(-20).join('\n') || undefined);
|
|
35
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Start the embedding model, on another port when the one picked was taken before the engine could
|
|
38
|
+
* bind it (`retryOnTakenPort`): an exit while loading that says so is that race, not the model.
|
|
39
|
+
*/
|
|
36
40
|
export async function spawnEmbeddingServer(spec, deps) {
|
|
41
|
+
return retryOnTakenPort(() => spawnEmbeddingServerOnce(spec, deps), (error) => error instanceof AtomicCoreError &&
|
|
42
|
+
error.code === 'MODEL_LOAD_FAILED' &&
|
|
43
|
+
exitedOnTakenPort(error.details), (attempt) => deps.log?.('warn', `the embedding model's port was taken while it started; retrying (${attempt})`));
|
|
44
|
+
}
|
|
45
|
+
async function spawnEmbeddingServerOnce(spec, deps) {
|
|
37
46
|
const platform = deps.platform ?? process.platform;
|
|
38
47
|
const inherited = deps.env ?? process.env;
|
|
39
48
|
// Video decodes through `ffmpeg` on the process's PATH (see `ffmpeg.ts`).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/embedding/process.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/embedding/process.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,12 +8,21 @@ import type { GgufEvidence } from './resolve.js';
|
|
|
8
8
|
export declare function inspectLocalGguf(path: string): Promise<GgufEvidence>;
|
|
9
9
|
/** `https://huggingface.co/<repo>/resolve/<revision>/<file>`. */
|
|
10
10
|
export declare function hfResolveUrl(repo: string, file: string, revision?: string, endpoint?: string): string;
|
|
11
|
+
/** The first range a remote header read asks for; doubled until the tensor table is complete. */
|
|
12
|
+
export declare const REMOTE_GGUF_FIRST_BYTES: number;
|
|
13
|
+
/** The most of a remote file a header read takes before giving up. */
|
|
14
|
+
export declare const REMOTE_GGUF_MAX_BYTES: number;
|
|
11
15
|
/**
|
|
12
|
-
* Header evidence of a remote file, read in ranges (Bonsai: 6–12 MB)
|
|
13
|
-
*
|
|
16
|
+
* Header evidence of a remote file, read in ranges from 64 KiB, doubling (Bonsai: 6–12 MB), within
|
|
17
|
+
* `maxBytes`. With `timeoutMs` the whole read, every range included, gives up after that long, so a
|
|
18
|
+
* slow or broken mirror fails it instead of hanging it; without one it waits as long as the mirror
|
|
19
|
+
* takes (the app's model setup, which would rather wait than lose the evidence). The file size is
|
|
20
|
+
* not asked for: only the last tensor goes unsized, which does not move a type's bits per weight. A
|
|
21
|
+
* header beyond the byte budget throws `GgufParseError`.
|
|
14
22
|
*/
|
|
15
23
|
export declare function inspectRemoteGguf(url: string, options: {
|
|
16
24
|
fetch: typeof fetch;
|
|
17
25
|
token?: string;
|
|
18
26
|
maxBytes?: number;
|
|
27
|
+
timeoutMs?: number;
|
|
19
28
|
}): Promise<GgufEvidence>;
|
|
@@ -37,23 +37,54 @@ export function hfResolveUrl(repo, file, revision = 'main', endpoint = 'https://
|
|
|
37
37
|
const path = file.split('/').map(encodeURIComponent).join('/');
|
|
38
38
|
return `${endpoint.replace(/\/+$/, '')}/${repo}/resolve/${encodeURIComponent(revision)}/${path}`;
|
|
39
39
|
}
|
|
40
|
+
/** The first range a remote header read asks for; doubled until the tensor table is complete. */
|
|
41
|
+
export const REMOTE_GGUF_FIRST_BYTES = 64 * 1024;
|
|
42
|
+
/** The most of a remote file a header read takes before giving up. */
|
|
43
|
+
export const REMOTE_GGUF_MAX_BYTES = 64 * 1024 * 1024;
|
|
44
|
+
/** A server that ignores `Range` is still read when its whole answer is at most this long. */
|
|
45
|
+
const REMOTE_GGUF_WHOLE_FILE_MAX_BYTES = 4 * 1024 * 1024;
|
|
40
46
|
/**
|
|
41
|
-
* Header evidence of a remote file, read in ranges (Bonsai: 6–12 MB)
|
|
42
|
-
*
|
|
47
|
+
* Header evidence of a remote file, read in ranges from 64 KiB, doubling (Bonsai: 6–12 MB), within
|
|
48
|
+
* `maxBytes`. With `timeoutMs` the whole read, every range included, gives up after that long, so a
|
|
49
|
+
* slow or broken mirror fails it instead of hanging it; without one it waits as long as the mirror
|
|
50
|
+
* takes (the app's model setup, which would rather wait than lose the evidence). The file size is
|
|
51
|
+
* not asked for: only the last tensor goes unsized, which does not move a type's bits per weight. A
|
|
52
|
+
* header beyond the byte budget throws `GgufParseError`.
|
|
43
53
|
*/
|
|
44
54
|
export async function inspectRemoteGguf(url, options) {
|
|
45
55
|
const auth = options.token ? { authorization: `Bearer ${options.token}` } : {};
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
await
|
|
53
|
-
|
|
56
|
+
const maxBytes = options.maxBytes ?? REMOTE_GGUF_MAX_BYTES;
|
|
57
|
+
const timeoutMs = options.timeoutMs;
|
|
58
|
+
const deadline = new AbortController();
|
|
59
|
+
const timer = timeoutMs === undefined ? undefined : setTimeout(() => deadline.abort(), timeoutMs);
|
|
60
|
+
try {
|
|
61
|
+
const summary = await readGgufTensorSummaryChunked(async (byteLength) => {
|
|
62
|
+
const response = await options.fetch(url, {
|
|
63
|
+
headers: { ...auth, Range: `bytes=0-${byteLength - 1}` },
|
|
64
|
+
signal: deadline.signal,
|
|
65
|
+
});
|
|
66
|
+
const length = Number(response.headers.get('content-length') ?? Number.NaN);
|
|
67
|
+
// A server that ignores Range would stream the whole multi-gigabyte file; a small one is read.
|
|
68
|
+
const whole = response.status === 200 &&
|
|
69
|
+
Number.isFinite(length) &&
|
|
70
|
+
length <= Math.min(maxBytes, Math.max(byteLength, REMOTE_GGUF_WHOLE_FILE_MAX_BYTES));
|
|
71
|
+
if (response.status !== 206 && !whole) {
|
|
72
|
+
await response.body?.cancel().catch(() => { });
|
|
73
|
+
throw new Error(`${url} answered HTTP ${response.status} to a range request`);
|
|
74
|
+
}
|
|
75
|
+
const bytes = new Uint8Array(await response.arrayBuffer());
|
|
76
|
+
return response.status === 206 ? bytes.subarray(0, byteLength) : bytes;
|
|
77
|
+
}, { chunkSize: Math.min(REMOTE_GGUF_FIRST_BYTES, maxBytes), maxBytes, growth: 'doubling' });
|
|
78
|
+
return evidenceFromSummary(summary);
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
if (deadline.signal.aborted && timeoutMs !== undefined) {
|
|
82
|
+
throw new Error(`Reading the GGUF header of ${url} took longer than ${timeoutMs / 1000} seconds`);
|
|
54
83
|
}
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
|
|
84
|
+
throw error;
|
|
85
|
+
}
|
|
86
|
+
finally {
|
|
87
|
+
clearTimeout(timer);
|
|
88
|
+
}
|
|
58
89
|
}
|
|
59
90
|
//# sourceMappingURL=inspect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../../src/models/compatibility/inspect.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAGlD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAwB,CAAA;AAC5C,MAAM,UAAU,GAAG,GAAG,CAAA;AAEtB,iGAAiG;AACjG,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAY;IACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAA;IAC7B,MAAM,GAAG,GAAG,GAAG,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,OAAO,EAAE,CAAA;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACzB,IAAI,GAAG;QAAE,OAAO,GAAG,CAAA;IACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACpC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,4BAA4B,CAChD,KAAK,EAAE,UAAU,EAAE,EAAE;YACnB,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;YAC7C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;YACjE,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;QACtC,CAAC,EACD,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CACxB,CAAA;QACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;QAC7C,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAe,CAAC,CAAA;QAC5E,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;QACvB,OAAO,QAAQ,CAAA;IACjB,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACtC,CAAC;AACH,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,YAAY,CAC1B,IAAY,EACZ,IAAY,EACZ,QAAQ,GAAG,MAAM,EACjB,QAAQ,GAAG,wBAAwB;IAEnC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC9D,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,IAAI,YAAY,kBAAkB,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAA;AAClG,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../../src/models/compatibility/inspect.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAGlD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAwB,CAAA;AAC5C,MAAM,UAAU,GAAG,GAAG,CAAA;AAEtB,iGAAiG;AACjG,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAY;IACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAA;IAC7B,MAAM,GAAG,GAAG,GAAG,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,OAAO,EAAE,CAAA;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACzB,IAAI,GAAG;QAAE,OAAO,GAAG,CAAA;IACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACpC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,4BAA4B,CAChD,KAAK,EAAE,UAAU,EAAE,EAAE;YACnB,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;YAC7C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;YACjE,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;QACtC,CAAC,EACD,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CACxB,CAAA;QACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;QAC7C,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAe,CAAC,CAAA;QAC5E,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;QACvB,OAAO,QAAQ,CAAA;IACjB,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACtC,CAAC;AACH,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,YAAY,CAC1B,IAAY,EACZ,IAAY,EACZ,QAAQ,GAAG,MAAM,EACjB,QAAQ,GAAG,wBAAwB;IAEnC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC9D,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,IAAI,YAAY,kBAAkB,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAA;AAClG,CAAC;AAED,iGAAiG;AACjG,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,GAAG,IAAI,CAAA;AAChD,sEAAsE;AACtE,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA;AACrD,8FAA8F;AAC9F,MAAM,gCAAgC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;AAExD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAW,EACX,OAAuF;IAEvF,MAAM,IAAI,GAA2B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACtG,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,qBAAqB,CAAA;IAC1D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;IACnC,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAA;IACtC,MAAM,KAAK,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAA;IACjG,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,4BAA4B,CAChD,KAAK,EAAE,UAAU,EAAE,EAAE;YACnB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;gBACxC,OAAO,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,WAAW,UAAU,GAAG,CAAC,EAAE,EAAE;gBACxD,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAA;YAC3E,+FAA+F;YAC/F,MAAM,KAAK,GACT,QAAQ,CAAC,MAAM,KAAK,GAAG;gBACvB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACvB,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,gCAAgC,CAAC,CAAC,CAAA;YACtF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBACtC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;gBAC7C,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,kBAAkB,QAAQ,CAAC,MAAM,qBAAqB,CAAC,CAAA;YAC/E,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;YAC1D,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QACxE,CAAC,EACD,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,CACzF,CAAA;QACD,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAA;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,qBAAqB,SAAS,GAAG,IAAI,UAAU,CAAC,CAAA;QACnG,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;AACH,CAAC"}
|
|
@@ -25,7 +25,10 @@ export interface ModelCompatibilityServiceDeps {
|
|
|
25
25
|
inspectRemote?: (url: string, options: {
|
|
26
26
|
fetch: typeof fetch;
|
|
27
27
|
token?: string;
|
|
28
|
+
timeoutMs?: number;
|
|
28
29
|
}) => Promise<GgufEvidence>;
|
|
30
|
+
/** How long a remote header read may take in all (`AtomicCoreOptions.remoteGgufTimeoutMs`); none when unset. */
|
|
31
|
+
remoteTimeoutMs?: number;
|
|
29
32
|
log?: (level: 'info' | 'warn', message: string) => void;
|
|
30
33
|
}
|
|
31
34
|
export interface CompatibilityQuery {
|
|
@@ -125,6 +125,7 @@ export class ModelCompatibilityService {
|
|
|
125
125
|
return await (this.deps.inspectRemote ?? inspectRemoteGguf)(hfResolveUrl(query.repo, query.file, query.revision), {
|
|
126
126
|
fetch: this.deps.fetch,
|
|
127
127
|
...(token ? { token } : {}),
|
|
128
|
+
...(this.deps.remoteTimeoutMs !== undefined ? { timeoutMs: this.deps.remoteTimeoutMs } : {}),
|
|
128
129
|
});
|
|
129
130
|
}
|
|
130
131
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/models/compatibility/service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAO1D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChF,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAI/C,6EAA6E;AAC7E,MAAM,CAAC,MAAM,eAAe,GAAiC,IAAI,GAAG,CAAC;IACnE,UAAU;IACV,mBAAmB;IACnB,cAAc;CACf,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/models/compatibility/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -216,6 +216,9 @@ export function readGgufTensorSummary(bytes, options = {}) {
|
|
|
216
216
|
export async function readGgufTensorSummaryChunked(readPrefix, options = {}) {
|
|
217
217
|
const chunk = options.chunkSize ?? 4 * 1024 * 1024;
|
|
218
218
|
const max = options.maxBytes ?? 64 * 1024 * 1024;
|
|
219
|
+
// `linear` adds a chunk per read; `doubling` starts small and doubles, for a reader that pays per
|
|
220
|
+
// request (HTTP ranges): a 64 KiB header takes one request, a 12 MiB one eight.
|
|
221
|
+
const next = (want) => (options.growth === 'doubling' ? want * 2 : want + chunk);
|
|
219
222
|
let want = chunk;
|
|
220
223
|
for (;;) {
|
|
221
224
|
const limit = Math.min(want, max);
|
|
@@ -229,7 +232,7 @@ export async function readGgufTensorSummaryChunked(readPrefix, options = {}) {
|
|
|
229
232
|
if (bytes.byteLength < limit || want >= max) {
|
|
230
233
|
throw new GgufParseError('Could not read the GGUF tensor table within the read budget');
|
|
231
234
|
}
|
|
232
|
-
want
|
|
235
|
+
want = next(want);
|
|
233
236
|
}
|
|
234
237
|
}
|
|
235
238
|
}
|