@mengruo/dsh-vision-toolkit 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.
- package/README.i18n.yaml +2 -2
- package/README.md +4 -0
- package/README.zh.md +4 -0
- package/docs/requirements-traceability/README.i18n.yaml +2 -2
- package/docs/requirements-traceability/README.md +1 -1
- package/docs/requirements-traceability/README.zh.md +1 -1
- package/lib/artifact-access.js +20 -2
- package/lib/artifact-access.js.map +1 -1
- package/lib/client.js +22 -7
- package/lib/client.js.map +1 -1
- package/lib/config.js +34 -0
- package/lib/config.js.map +1 -1
- package/lib/errors.js +25 -2
- package/lib/errors.js.map +1 -1
- package/lib/evidence-cache.js +2 -1
- package/lib/evidence-cache.js.map +1 -1
- package/lib/exposure.js +14 -1
- package/lib/exposure.js.map +1 -1
- package/lib/image-input-variants.js +22 -12
- package/lib/image-input-variants.js.map +1 -1
- package/lib/index.js +53 -6
- package/lib/index.js.map +1 -1
- package/lib/paste-images.js +67 -19
- package/lib/paste-images.js.map +1 -1
- package/lib/paths.js +214 -28
- package/lib/paths.js.map +1 -1
- package/lib/runtime-manager.js +76 -10
- package/lib/runtime-manager.js.map +1 -1
- package/lib/runtime.js +80 -12
- package/lib/runtime.js.map +1 -1
- package/lib/storage-history.js +154 -0
- package/lib/storage-history.js.map +1 -0
- package/lib/types/artifact-access.d.ts.map +1 -1
- package/lib/types/client/index.d.ts +6 -1
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/client/paste-images.d.ts +2 -0
- package/lib/types/client/paste-images.d.ts.map +1 -1
- package/lib/types/config.d.ts +22 -0
- package/lib/types/config.d.ts.map +1 -1
- package/lib/types/errors.d.ts +18 -2
- package/lib/types/errors.d.ts.map +1 -1
- package/lib/types/evidence-cache.d.ts +1 -1
- package/lib/types/evidence-cache.d.ts.map +1 -1
- package/lib/types/exposure.d.ts.map +1 -1
- package/lib/types/image-input-variants.d.ts +5 -3
- package/lib/types/image-input-variants.d.ts.map +1 -1
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/paste-images.d.ts +12 -4
- package/lib/types/paste-images.d.ts.map +1 -1
- package/lib/types/paths.d.ts +31 -5
- package/lib/types/paths.d.ts.map +1 -1
- package/lib/types/runtime-manager.d.ts +28 -4
- package/lib/types/runtime-manager.d.ts.map +1 -1
- package/lib/types/runtime.d.ts +19 -1
- package/lib/types/runtime.d.ts.map +1 -1
- package/lib/types/storage-history.d.ts +63 -0
- package/lib/types/storage-history.d.ts.map +1 -0
- package/lib/types/upstream.d.ts.map +1 -1
- package/lib/types/web.d.ts.map +1 -1
- package/lib/upstream.js +31 -8
- package/lib/upstream.js.map +1 -1
- package/lib/web.js +9 -3
- package/lib/web.js.map +1 -1
- package/package.json +1 -1
- package/src/artifact-access.ts +22 -2
- package/src/client/index.tsx +18 -3
- package/src/client/paste-images.tsx +14 -4
- package/src/config.ts +61 -0
- package/src/errors.ts +25 -2
- package/src/evidence-cache.ts +2 -1
- package/src/exposure.ts +16 -2
- package/src/image-input-variants.ts +21 -6
- package/src/index.ts +65 -6
- package/src/paste-images.ts +81 -19
- package/src/paths.ts +249 -28
- package/src/runtime-manager.ts +93 -10
- package/src/runtime.ts +79 -11
- package/src/storage-history.ts +172 -0
- package/src/upstream.ts +32 -7
- package/src/web.ts +9 -2
package/lib/paths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"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"}
|
package/lib/runtime-manager.js
CHANGED
|
@@ -5,12 +5,13 @@
|
|
|
5
5
|
* @module dsh-vision-toolkit/runtime-manager
|
|
6
6
|
*/
|
|
7
7
|
import { resolveConfig } from "./config.js";
|
|
8
|
+
import { preflightSharedStorageBase } from "./paths.js";
|
|
8
9
|
import { VisionToolkitRuntime } from "./runtime.js";
|
|
9
10
|
import { UpstreamAdapter } from "./upstream.js";
|
|
10
|
-
async function defaultFactory(ctx, config) {
|
|
11
|
+
async function defaultFactory(ctx, config, readableStorageDirs) {
|
|
11
12
|
const adapter = new UpstreamAdapter(ctx, config);
|
|
12
13
|
await adapter.prepare();
|
|
13
|
-
return new VisionToolkitRuntime(ctx, config, adapter);
|
|
14
|
+
return new VisionToolkitRuntime(ctx, config, adapter, readableStorageDirs);
|
|
14
15
|
}
|
|
15
16
|
function fingerprint(config) {
|
|
16
17
|
// Transparent routing is a display/policy flag: toggling it must not rebuild
|
|
@@ -31,6 +32,8 @@ export class VisionToolkitRuntimeManager {
|
|
|
31
32
|
generation = 0;
|
|
32
33
|
reconfigureTicket = 0;
|
|
33
34
|
lastError;
|
|
35
|
+
validatedStartupStorageDir;
|
|
36
|
+
readableStorageDirs = new Set();
|
|
34
37
|
constructor(ctx, factory = defaultFactory) {
|
|
35
38
|
this.ctx = ctx;
|
|
36
39
|
this.factory = factory;
|
|
@@ -41,20 +44,62 @@ export class VisionToolkitRuntimeManager {
|
|
|
41
44
|
throw new Error('dsh-vision-toolkit runtime is not ready');
|
|
42
45
|
return this.active.runtime;
|
|
43
46
|
}
|
|
47
|
+
/** Configuration belonging to the currently serving runtime generation. */
|
|
48
|
+
currentConfig() {
|
|
49
|
+
if (this.active === undefined)
|
|
50
|
+
throw new Error('dsh-vision-toolkit runtime is not ready');
|
|
51
|
+
return this.active.config;
|
|
52
|
+
}
|
|
44
53
|
/** Whether at least one generation is available. */
|
|
45
54
|
get ready() {
|
|
46
55
|
return this.active !== undefined;
|
|
47
56
|
}
|
|
48
|
-
/**
|
|
49
|
-
|
|
50
|
-
|
|
57
|
+
/** Storage config safe for paste writes even when initial runtime preparation failed. */
|
|
58
|
+
storageGeneration() {
|
|
59
|
+
if (this.active !== undefined) {
|
|
60
|
+
return {
|
|
61
|
+
generation: this.generation,
|
|
62
|
+
...(this.active.config.storageDir === undefined ? {} : { storageDir: this.active.config.storageDir }),
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
if (this.validatedStartupStorageDir === undefined) {
|
|
66
|
+
throw new Error('dsh-vision-toolkit storage configuration is not ready');
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
generation: this.generation,
|
|
70
|
+
...(this.validatedStartupStorageDir === null ? {} : { storageDir: this.validatedStartupStorageDir }),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
/** Validated storage for best-effort consumers; undefined when startup preflight failed. */
|
|
74
|
+
validatedStorageDirectory() {
|
|
75
|
+
if (this.active !== undefined)
|
|
76
|
+
return this.active.config.storageDir;
|
|
77
|
+
return this.validatedStartupStorageDir ?? undefined;
|
|
78
|
+
}
|
|
79
|
+
async prepareResolvedCandidate(config) {
|
|
51
80
|
const resolvedFingerprint = fingerprint(config);
|
|
52
81
|
if (this.active?.fingerprint === resolvedFingerprint) {
|
|
53
82
|
return { ...this.active, config };
|
|
54
83
|
}
|
|
55
|
-
const runtime = await this.factory(this.ctx, config)
|
|
84
|
+
const runtime = await this.factory(this.ctx, config, [...new Set([...this.readableStorageDirs, ...config.storageHistory])]
|
|
85
|
+
.filter(storageDir => storageDir !== config.storageDir));
|
|
56
86
|
return { config, fingerprint: resolvedFingerprint, runtime };
|
|
57
87
|
}
|
|
88
|
+
rememberStorageDirectory(storageDir) {
|
|
89
|
+
if (storageDir !== undefined)
|
|
90
|
+
this.readableStorageDirs.add(storageDir);
|
|
91
|
+
}
|
|
92
|
+
rememberStorageDirectories(storageDirs) {
|
|
93
|
+
for (const storageDir of storageDirs)
|
|
94
|
+
this.rememberStorageDirectory(storageDir);
|
|
95
|
+
}
|
|
96
|
+
/** Resolve and fully prepare a candidate without changing the active runtime. */
|
|
97
|
+
async prepareCandidate(raw) {
|
|
98
|
+
const config = resolveConfig(raw);
|
|
99
|
+
if (config.storageDir !== undefined)
|
|
100
|
+
await preflightSharedStorageBase(config.storageDir);
|
|
101
|
+
return this.prepareResolvedCandidate(config);
|
|
102
|
+
}
|
|
58
103
|
/**
|
|
59
104
|
* Publish one already-prepared generation atomically.
|
|
60
105
|
* @param candidate - generation returned by {@link prepareCandidate}.
|
|
@@ -67,14 +112,28 @@ export class VisionToolkitRuntimeManager {
|
|
|
67
112
|
}
|
|
68
113
|
this.reconfigureTicket += 1;
|
|
69
114
|
this.active = candidate;
|
|
115
|
+
this.rememberStorageDirectories(candidate.config.storageHistory);
|
|
116
|
+
this.rememberStorageDirectory(candidate.config.storageDir);
|
|
70
117
|
this.generation += 1;
|
|
71
118
|
this.lastError = undefined;
|
|
72
119
|
this.ctx.logger.info('dsh-vision-toolkit runtime generation=%d active (upstream %s @ %s, checkout %s)', this.generation, candidate.runtime.upstreamVersion.version, candidate.runtime.upstreamVersion.commit, candidate.runtime.upstreamVersion.path);
|
|
73
120
|
}
|
|
74
|
-
/**
|
|
75
|
-
|
|
121
|
+
/**
|
|
122
|
+
* Prepare and publish the initial or explicitly validated generation.
|
|
123
|
+
* @param raw - untrusted Settings generation to resolve and prepare.
|
|
124
|
+
* @param beforePublish - optional durable prerequisite run after preparation.
|
|
125
|
+
*/
|
|
126
|
+
async initialize(raw, beforePublish) {
|
|
76
127
|
try {
|
|
77
|
-
|
|
128
|
+
const config = resolveConfig(raw);
|
|
129
|
+
if (config.storageDir !== undefined)
|
|
130
|
+
await preflightSharedStorageBase(config.storageDir);
|
|
131
|
+
this.validatedStartupStorageDir = config.storageDir ?? null;
|
|
132
|
+
this.rememberStorageDirectories(config.storageHistory);
|
|
133
|
+
this.rememberStorageDirectory(config.storageDir);
|
|
134
|
+
const candidate = await this.prepareResolvedCandidate(config);
|
|
135
|
+
await beforePublish?.(candidate);
|
|
136
|
+
this.activateCandidate(candidate);
|
|
78
137
|
}
|
|
79
138
|
catch (error) {
|
|
80
139
|
this.lastError = messageOf(error);
|
|
@@ -84,13 +143,18 @@ export class VisionToolkitRuntimeManager {
|
|
|
84
143
|
/**
|
|
85
144
|
* Apply an externally committed Settings generation. Concurrent edits are
|
|
86
145
|
* last-write-wins; a slower obsolete prepare can never overwrite a newer one.
|
|
146
|
+
* @param raw - externally committed Settings generation.
|
|
147
|
+
* @param beforePublish - optional durable prerequisite run after preparation.
|
|
87
148
|
* @returns whether this call published a new active generation.
|
|
88
149
|
*/
|
|
89
|
-
async reconfigure(raw) {
|
|
150
|
+
async reconfigure(raw, beforePublish) {
|
|
90
151
|
const ticket = ++this.reconfigureTicket;
|
|
91
152
|
let candidate;
|
|
92
153
|
try {
|
|
93
154
|
candidate = await this.prepareCandidate(raw);
|
|
155
|
+
if (ticket !== this.reconfigureTicket)
|
|
156
|
+
return false;
|
|
157
|
+
await beforePublish?.(candidate);
|
|
94
158
|
}
|
|
95
159
|
catch (error) {
|
|
96
160
|
if (ticket === this.reconfigureTicket)
|
|
@@ -101,6 +165,8 @@ export class VisionToolkitRuntimeManager {
|
|
|
101
165
|
return false;
|
|
102
166
|
const changed = this.active?.fingerprint !== candidate.fingerprint;
|
|
103
167
|
this.active = candidate;
|
|
168
|
+
this.rememberStorageDirectories(candidate.config.storageHistory);
|
|
169
|
+
this.rememberStorageDirectory(candidate.config.storageDir);
|
|
104
170
|
if (changed) {
|
|
105
171
|
this.generation += 1;
|
|
106
172
|
this.ctx.logger.info('dsh-vision-toolkit Settings activated runtime generation=%d (upstream %s @ %s, checkout %s)', this.generation, candidate.runtime.upstreamVersion.version, candidate.runtime.upstreamVersion.commit, candidate.runtime.upstreamVersion.path);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-manager.js","sourceRoot":"","sources":["../src/runtime-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,aAAa,EAA8D,MAAM,aAAa,CAAA;AACvG,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,eAAe,EAA4B,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"runtime-manager.js","sourceRoot":"","sources":["../src/runtime-manager.ts"],"names":[],"mappings":"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"}
|
package/lib/runtime.js
CHANGED
|
@@ -174,8 +174,15 @@ const FORMAT_BY_EXTENSION = new Map([
|
|
|
174
174
|
['.webp', 'webp'],
|
|
175
175
|
]);
|
|
176
176
|
const HEX_COLOR_PATTERN = /^#[0-9A-F]{6}$/;
|
|
177
|
-
/**
|
|
178
|
-
|
|
177
|
+
/**
|
|
178
|
+
* Error codes a provider retries against the SAME provider within its
|
|
179
|
+
* `attempts` budget. Only transient failures are worth re-requesting: a
|
|
180
|
+
* timeout may clear on the next attempt and a 5xx / network drop is usually
|
|
181
|
+
* ephemeral. Deterministic failures (auth, quota, rate_limit, invalid_request,
|
|
182
|
+
* region, tos) must fail over to the next provider immediately instead of
|
|
183
|
+
* re-requesting a backend that cannot succeed with the same input.
|
|
184
|
+
*/
|
|
185
|
+
const RETRYABLE_CODES = new Set(['timeout', 'server', 'network']);
|
|
179
186
|
/** Resolve as soon as `signal` aborts (or immediately when already aborted). */
|
|
180
187
|
function untilAbort(signal) {
|
|
181
188
|
if (signal.aborted)
|
|
@@ -331,13 +338,15 @@ export function parseRegion(region) {
|
|
|
331
338
|
export class VisionToolkitRuntime {
|
|
332
339
|
ctx;
|
|
333
340
|
config;
|
|
341
|
+
readableStorageDirs;
|
|
334
342
|
semaphores = new Map();
|
|
335
343
|
glanceCache = new WeakMap();
|
|
336
344
|
providerGates = new Map();
|
|
337
345
|
adapter;
|
|
338
|
-
constructor(ctx, config, adapter) {
|
|
346
|
+
constructor(ctx, config, adapter, readableStorageDirs = []) {
|
|
339
347
|
this.ctx = ctx;
|
|
340
348
|
this.config = config;
|
|
349
|
+
this.readableStorageDirs = readableStorageDirs;
|
|
341
350
|
this.adapter = adapter ?? new UpstreamAdapter(ctx, config);
|
|
342
351
|
}
|
|
343
352
|
/** Pinned and prepared upstream identity. */
|
|
@@ -348,6 +357,10 @@ export class VisionToolkitRuntime {
|
|
|
348
357
|
get sessionMaxConcurrency() {
|
|
349
358
|
return this.config.sessionMaxConcurrency;
|
|
350
359
|
}
|
|
360
|
+
/** Shared storage root belonging to this immutable runtime generation. */
|
|
361
|
+
get storageDirectory() {
|
|
362
|
+
return this.config.storageDir;
|
|
363
|
+
}
|
|
351
364
|
/** Stable identity for persisted image descriptions produced by this runtime. */
|
|
352
365
|
get evidenceFingerprint() {
|
|
353
366
|
return evidenceRuntimeFingerprint(this.config, undefined, process.env.VISION_SSL_VERIFY?.trim());
|
|
@@ -528,12 +541,12 @@ export class VisionToolkitRuntime {
|
|
|
528
541
|
return entry.env;
|
|
529
542
|
}
|
|
530
543
|
pathPolicy(workspace) {
|
|
531
|
-
return createPathPolicy(workspace, this.config.allowedDirs);
|
|
544
|
+
return createPathPolicy(workspace, this.config.allowedDirs, this.config.storageDir, this.readableStorageDirs);
|
|
532
545
|
}
|
|
533
546
|
async compressedImageRoot(policy) {
|
|
534
|
-
const root = join(policy.
|
|
535
|
-
let current = policy.
|
|
536
|
-
for (const segment of ['
|
|
547
|
+
const root = join(policy.storageRoot, 'tmp', 'compressed-images');
|
|
548
|
+
let current = policy.storageRoot;
|
|
549
|
+
for (const segment of ['tmp', 'compressed-images']) {
|
|
537
550
|
current = join(current, segment);
|
|
538
551
|
try {
|
|
539
552
|
await mkdir(current, { mode: 0o700 });
|
|
@@ -546,13 +559,13 @@ export class VisionToolkitRuntime {
|
|
|
546
559
|
if (info.isSymbolicLink() || !info.isDirectory()) {
|
|
547
560
|
throw new VisionToolkitError('path', `compressed-image cache path is not a real directory: ${current}`);
|
|
548
561
|
}
|
|
549
|
-
if (!isWithin(policy.
|
|
550
|
-
throw new VisionToolkitError('path', `compressed-image cache path escaped
|
|
562
|
+
if (!isWithin(policy.storageRoot, current)) {
|
|
563
|
+
throw new VisionToolkitError('path', `compressed-image cache path escaped plugin storage: ${current}`);
|
|
551
564
|
}
|
|
552
565
|
}
|
|
553
566
|
const canonical = await realpath(root);
|
|
554
|
-
if (!isWithin(policy.
|
|
555
|
-
throw new VisionToolkitError('path', 'compressed-image cache resolved outside
|
|
567
|
+
if (!isWithin(policy.storageRoot, canonical)) {
|
|
568
|
+
throw new VisionToolkitError('path', 'compressed-image cache resolved outside plugin storage');
|
|
556
569
|
}
|
|
557
570
|
return canonical;
|
|
558
571
|
}
|
|
@@ -876,6 +889,23 @@ export class VisionToolkitRuntime {
|
|
|
876
889
|
const globalRemaining = operation.deadlineAt - Date.now();
|
|
877
890
|
return Math.max(0, Math.min(t2Remaining, globalRemaining));
|
|
878
891
|
}
|
|
892
|
+
/**
|
|
893
|
+
* Advance to the next provider after one provider reached a terminal
|
|
894
|
+
* failure. This is what makes failover work for FAST failures too: the
|
|
895
|
+
* hedge timer only launches the next provider when the current one is SLOW
|
|
896
|
+
* (crosses t1), so a quick auth/5xx/network failure must explicitly launch
|
|
897
|
+
* the successor. Never advances when a higher-priority provider superseded
|
|
898
|
+
* this task, when the whole operation was cancelled, or when the global
|
|
899
|
+
* deadline has too little room left for another request. `launch` is
|
|
900
|
+
* idempotent, so an earlier hedge timer cannot cause a double launch.
|
|
901
|
+
*/
|
|
902
|
+
advanceAfterFailure(task, operation, launchNext) {
|
|
903
|
+
if (task.abort.signal.aborted || operation.signal.aborted)
|
|
904
|
+
return;
|
|
905
|
+
if (operation.deadlineAt - Date.now() < this.config.minAvailableSeconds * 1000)
|
|
906
|
+
return;
|
|
907
|
+
launchNext();
|
|
908
|
+
}
|
|
879
909
|
/**
|
|
880
910
|
* Run one provider to a terminal state: retryable errors retry within
|
|
881
911
|
* `attempts`, a single request crossing t1 hedges the next provider, and the
|
|
@@ -902,6 +932,7 @@ export class VisionToolkitRuntime {
|
|
|
902
932
|
if (budget < minAvailableMs) {
|
|
903
933
|
task.status = 'failed';
|
|
904
934
|
task.error = new VisionToolkitError('timeout', `${tool}: ${provider.name} has insufficient remaining time`);
|
|
935
|
+
this.advanceAfterFailure(task, operation, launchNext);
|
|
905
936
|
return;
|
|
906
937
|
}
|
|
907
938
|
const reqDeadline = createDeadline(AbortSignal.any([operation.signal, task.abort.signal]), budget);
|
|
@@ -943,6 +974,7 @@ export class VisionToolkitRuntime {
|
|
|
943
974
|
if (reqDeadline.timedOut) {
|
|
944
975
|
task.status = 'failed';
|
|
945
976
|
task.error = new VisionToolkitError('timeout', `${tool}: ${provider.name} exhausted its t2 budget`);
|
|
977
|
+
this.advanceAfterFailure(task, operation, launchNext);
|
|
946
978
|
return;
|
|
947
979
|
}
|
|
948
980
|
if (classified.code === 'rate_limit') {
|
|
@@ -957,6 +989,7 @@ export class VisionToolkitRuntime {
|
|
|
957
989
|
}
|
|
958
990
|
task.status = 'failed';
|
|
959
991
|
task.error = classified;
|
|
992
|
+
this.advanceAfterFailure(task, operation, launchNext);
|
|
960
993
|
return;
|
|
961
994
|
}
|
|
962
995
|
finally {
|
|
@@ -1906,6 +1939,18 @@ export class VisionToolkitRuntime {
|
|
|
1906
1939
|
}
|
|
1907
1940
|
});
|
|
1908
1941
|
}
|
|
1942
|
+
async writableDirectoryCheck(path, label) {
|
|
1943
|
+
const probe = join(path, `.vision-toolkit-health-${randomUUID()}`);
|
|
1944
|
+
try {
|
|
1945
|
+
await writeFile(probe, 'ok\n', { encoding: 'utf8', flag: 'wx' });
|
|
1946
|
+
await rm(probe, { force: true });
|
|
1947
|
+
return { status: 'ok', detail: `${label} is writable: ${path}` };
|
|
1948
|
+
}
|
|
1949
|
+
catch {
|
|
1950
|
+
await rm(probe, { force: true }).catch(() => { });
|
|
1951
|
+
return { status: 'error', detail: `${label} is not writable: ${path}` };
|
|
1952
|
+
}
|
|
1953
|
+
}
|
|
1909
1954
|
/** Health: inspect local readiness, and optionally probe one provider's `/models` plus one real multimodal request. */
|
|
1910
1955
|
async health(testConnection, options, testModel = false, provider) {
|
|
1911
1956
|
return this.runOperation('vision_toolkit_health', options, async (operation) => {
|
|
@@ -1929,6 +1974,29 @@ export class VisionToolkitRuntime {
|
|
|
1929
1974
|
throw new VisionToolkitError('cancelled', 'vision_toolkit_health: cancelled');
|
|
1930
1975
|
chrome = { status: 'error', detail: 'Chrome availability probe failed' };
|
|
1931
1976
|
}
|
|
1977
|
+
let resolvedCredential;
|
|
1978
|
+
let credential;
|
|
1979
|
+
try {
|
|
1980
|
+
resolvedCredential = isBuiltInFreeVisionProvider(this.config.provider)
|
|
1981
|
+
? { value: BUILT_IN_FREE_VISION_KEY, source: 'built-in' }
|
|
1982
|
+
: await this.ctx.credentials.resolve(this.config.provider.credential);
|
|
1983
|
+
credential = resolvedCredential === undefined
|
|
1984
|
+
? { status: 'error', detail: `credential ${this.config.provider.credential} is not configured` }
|
|
1985
|
+
: { status: 'ok', detail: `credential ${this.config.provider.credential} is resolvable` };
|
|
1986
|
+
}
|
|
1987
|
+
catch {
|
|
1988
|
+
credential = { status: 'error', detail: `credential ${this.config.provider.credential} could not be resolved` };
|
|
1989
|
+
}
|
|
1990
|
+
let artifactDirectory;
|
|
1991
|
+
try {
|
|
1992
|
+
// allowedDirs are session input roots; they do not affect output readiness.
|
|
1993
|
+
const policy = await createPathPolicy(options.workspace, [], this.config.storageDir);
|
|
1994
|
+
artifactDirectory = await this.writableDirectoryCheck(policy.outputDir, 'Artifact directory');
|
|
1995
|
+
}
|
|
1996
|
+
catch {
|
|
1997
|
+
artifactDirectory = { status: 'error', detail: 'Artifact directory could not be prepared' };
|
|
1998
|
+
}
|
|
1999
|
+
const tempDirectory = await this.writableDirectoryCheck(info.runtimeHome, 'Runtime temp directory');
|
|
1932
2000
|
let service = {
|
|
1933
2001
|
status: 'not_tested',
|
|
1934
2002
|
detail: 'Connection was not tested; use the per-provider API test',
|
|
@@ -2026,7 +2094,7 @@ export class VisionToolkitRuntime {
|
|
|
2026
2094
|
}
|
|
2027
2095
|
}
|
|
2028
2096
|
}
|
|
2029
|
-
const checks = { python, dependencies, chrome, service, model };
|
|
2097
|
+
const checks = { python, dependencies, chrome, credential, artifactDirectory, tempDirectory, service, model };
|
|
2030
2098
|
const healthy = Object.values(checks).every(check => check.status !== 'error');
|
|
2031
2099
|
return {
|
|
2032
2100
|
pluginVersion: PLUGIN_VERSION,
|