@mengruo/dsh-vision-toolkit 0.0.1
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/LICENSE +21 -0
- package/README.i18n.yaml +6 -0
- package/README.md +356 -0
- package/README.zh.md +354 -0
- package/assets/community-group-qr.png +0 -0
- package/assets/dsh-conversation-artifact.png +0 -0
- package/assets/dsh-conversation-image-qa-top.png +0 -0
- package/assets/dsh-conversation-image-qa.png +0 -0
- package/assets/dsh-conversation-pixel-diff.png +0 -0
- package/assets/dsh-conversation-screenshot-debugging-top.png +0 -0
- package/assets/dsh-conversation-screenshot-debugging.png +0 -0
- package/assets/dsh-conversation-tool-call.png +0 -0
- package/assets/dsh-conversation-vision-trace.png +0 -0
- package/assets/dsh-view-example.png +0 -0
- package/assets/hero-v2.png +0 -0
- package/assets/logo_aihubmix.png +0 -0
- package/assets/python-bootstrap.json +48 -0
- package/assets/skill/SKILL.md +329 -0
- package/assets/skill/UPSTREAM.json +71 -0
- package/assets/skill/references/gui.md +88 -0
- package/assets/skill/references/long-screenshot-ocr.md +77 -0
- package/assets/skill/references/restore-graphic.md +84 -0
- package/assets/skill/references/restore-structure.md +45 -0
- package/assets/skill/references/restore-ui.md +202 -0
- package/assets/social-preview.png +0 -0
- package/assets/upstream/README.md +18 -0
- package/assets/upstream/focus-hint-comparison-1.webp +0 -0
- package/assets/upstream/focus-hint-comparison-2.webp +0 -0
- package/assets/upstream/infographic-reference.webp +0 -0
- package/assets/upstream/infographic-result.webp +0 -0
- package/assets/upstream/ui-fast-restore-reference.webp +0 -0
- package/assets/upstream/ui-fast-restore-result.webp +0 -0
- package/assets/upstream/ui-result.webp +0 -0
- package/assets/upstream/ui-sketch.webp +0 -0
- package/assets/vision-model-test.png +0 -0
- package/assets/vision-settings.png +0 -0
- package/assets/wechat-reward.png +0 -0
- package/cordis.patch.yml +6 -0
- package/docs/aihubmix-gemini-vision.i18n.yaml +6 -0
- package/docs/aihubmix-gemini-vision.md +138 -0
- package/docs/aihubmix-gemini-vision.zh.md +138 -0
- package/docs/assets/aihubmix-api-keys.png +0 -0
- package/docs/assets/aihubmix-create-key.png +0 -0
- package/docs/assets/aihubmix-free-vision-model.png +0 -0
- package/docs/assets/aihubmix-home.png +0 -0
- package/docs/assets/aihubmix-sign-up.png +0 -0
- package/docs/assets/groq-console-home.png +0 -0
- package/docs/assets/groq-console-keys-login.png +0 -0
- package/docs/assets/groq-docs-quickstart.png +0 -0
- package/docs/assets/groq-docs-qwen3.6.png +0 -0
- package/docs/assets/groq-docs-vision.png +0 -0
- package/docs/assets/vision-settings.png +0 -0
- package/docs/dsh-desktop-install.md +67 -0
- package/docs/dsh-desktop-install.zh.md +67 -0
- package/docs/groq-qwen3.6-vision.i18n.yaml +6 -0
- package/docs/groq-qwen3.6-vision.md +236 -0
- package/docs/groq-qwen3.6-vision.zh.md +236 -0
- package/docs/python-runtime.i18n.yaml +6 -0
- package/docs/python-runtime.md +89 -0
- package/docs/python-runtime.zh.md +89 -0
- package/docs/requirements-traceability/README.i18n.yaml +6 -0
- package/docs/requirements-traceability/README.md +75 -0
- package/docs/requirements-traceability/README.zh.md +75 -0
- package/examples/ui-restoration/README.i18n.yaml +6 -0
- package/examples/ui-restoration/README.md +70 -0
- package/examples/ui-restoration/README.zh.md +70 -0
- package/examples/ui-restoration/assets/final-heatmap.png +0 -0
- package/examples/ui-restoration/assets/final-report.json +83 -0
- package/examples/ui-restoration/assets/implementation.png +0 -0
- package/examples/ui-restoration/assets/initial-heatmap.png +0 -0
- package/examples/ui-restoration/assets/initial-report.json +83 -0
- package/examples/ui-restoration/assets/initial.png +0 -0
- package/examples/ui-restoration/assets/metrics.json +12 -0
- package/examples/ui-restoration/assets/reference.png +0 -0
- package/examples/ui-restoration/implementation.html +94 -0
- package/examples/ui-restoration/initial.html +57 -0
- package/lib/artifact-access.js +369 -0
- package/lib/artifact-access.js.map +1 -0
- package/lib/artifacts.js +56 -0
- package/lib/artifacts.js.map +1 -0
- package/lib/client.js +2099 -0
- package/lib/client.js.map +1 -0
- package/lib/config.js +172 -0
- package/lib/config.js.map +1 -0
- package/lib/defaults.js +6 -0
- package/lib/defaults.js.map +1 -0
- package/lib/errors.js +56 -0
- package/lib/errors.js.map +1 -0
- package/lib/evidence-cache.js +350 -0
- package/lib/evidence-cache.js.map +1 -0
- package/lib/exposure.js +247 -0
- package/lib/exposure.js.map +1 -0
- package/lib/image-input-variants.js +882 -0
- package/lib/image-input-variants.js.map +1 -0
- package/lib/index.js +105 -0
- package/lib/index.js.map +1 -0
- package/lib/paste-images.js +217 -0
- package/lib/paste-images.js.map +1 -0
- package/lib/paths.js +354 -0
- package/lib/paths.js.map +1 -0
- package/lib/plugin-update.js +1003 -0
- package/lib/plugin-update.js.map +1 -0
- package/lib/runtime-install.js +964 -0
- package/lib/runtime-install.js.map +1 -0
- package/lib/runtime-manager.js +133 -0
- package/lib/runtime-manager.js.map +1 -0
- package/lib/runtime.js +1678 -0
- package/lib/runtime.js.map +1 -0
- package/lib/skill.js +25 -0
- package/lib/skill.js.map +1 -0
- package/lib/tools.js +549 -0
- package/lib/tools.js.map +1 -0
- package/lib/types/artifact-access.d.ts +61 -0
- package/lib/types/artifact-access.d.ts.map +1 -0
- package/lib/types/artifacts.d.ts +42 -0
- package/lib/types/artifacts.d.ts.map +1 -0
- package/lib/types/client/display-config.d.ts +24 -0
- package/lib/types/client/display-config.d.ts.map +1 -0
- package/lib/types/client/index.d.ts +350 -0
- package/lib/types/client/index.d.ts.map +1 -0
- package/lib/types/client/model-variants-hider.d.ts +40 -0
- package/lib/types/client/model-variants-hider.d.ts.map +1 -0
- package/lib/types/client/paste-images.d.ts +126 -0
- package/lib/types/client/paste-images.d.ts.map +1 -0
- package/lib/types/config.d.ts +123 -0
- package/lib/types/config.d.ts.map +1 -0
- package/lib/types/defaults.d.ts +6 -0
- package/lib/types/defaults.d.ts.map +1 -0
- package/lib/types/errors.d.ts +35 -0
- package/lib/types/errors.d.ts.map +1 -0
- package/lib/types/evidence-cache.d.ts +91 -0
- package/lib/types/evidence-cache.d.ts.map +1 -0
- package/lib/types/exposure.d.ts +50 -0
- package/lib/types/exposure.d.ts.map +1 -0
- package/lib/types/image-input-variants.d.ts +144 -0
- package/lib/types/image-input-variants.d.ts.map +1 -0
- package/lib/types/index.d.ts +19 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/paste-images.d.ts +73 -0
- package/lib/types/paste-images.d.ts.map +1 -0
- package/lib/types/paths.d.ts +117 -0
- package/lib/types/paths.d.ts.map +1 -0
- package/lib/types/plugin-update.d.ts +119 -0
- package/lib/types/plugin-update.d.ts.map +1 -0
- package/lib/types/runtime-install.d.ts +92 -0
- package/lib/types/runtime-install.d.ts.map +1 -0
- package/lib/types/runtime-manager.d.ts +60 -0
- package/lib/types/runtime-manager.d.ts.map +1 -0
- package/lib/types/runtime.d.ts +412 -0
- package/lib/types/runtime.d.ts.map +1 -0
- package/lib/types/skill.d.ts +14 -0
- package/lib/types/skill.d.ts.map +1 -0
- package/lib/types/tools.d.ts +35 -0
- package/lib/types/tools.d.ts.map +1 -0
- package/lib/types/upstream.d.ts +233 -0
- package/lib/types/upstream.d.ts.map +1 -0
- package/lib/types/version.d.ts +15 -0
- package/lib/types/version.d.ts.map +1 -0
- package/lib/types/web-request.d.ts +11 -0
- package/lib/types/web-request.d.ts.map +1 -0
- package/lib/types/web.d.ts +118 -0
- package/lib/types/web.d.ts.map +1 -0
- package/lib/upstream.js +860 -0
- package/lib/upstream.js.map +1 -0
- package/lib/version.js +18 -0
- package/lib/version.js.map +1 -0
- package/lib/web-request.js +29 -0
- package/lib/web-request.js.map +1 -0
- package/lib/web.js +462 -0
- package/lib/web.js.map +1 -0
- package/package.json +149 -0
- package/patches/vision-tools-dsh.patch +970 -0
- package/runtime/requirements.lock +3 -0
- package/src/artifact-access.ts +386 -0
- package/src/artifacts.ts +85 -0
- package/src/client/display-config.ts +62 -0
- package/src/client/index.tsx +1580 -0
- package/src/client/model-variants-hider.ts +159 -0
- package/src/client/paste-images.tsx +747 -0
- package/src/config.ts +290 -0
- package/src/defaults.ts +5 -0
- package/src/errors.ts +62 -0
- package/src/evidence-cache.ts +418 -0
- package/src/exposure.ts +265 -0
- package/src/image-input-variants.ts +996 -0
- package/src/index.ts +141 -0
- package/src/paste-images.ts +286 -0
- package/src/paths.ts +383 -0
- package/src/plugin-update.ts +1143 -0
- package/src/runtime-install.ts +1161 -0
- package/src/runtime-manager.ts +174 -0
- package/src/runtime.ts +2189 -0
- package/src/skill.ts +35 -0
- package/src/tools.ts +691 -0
- package/src/upstream.ts +1078 -0
- package/src/version.ts +37 -0
- package/src/web-request.ts +27 -0
- package/src/web.ts +594 -0
- package/vendor/agent-vision-toolkit/CHANGELOG.md +30 -0
- package/vendor/agent-vision-toolkit/LICENSE +21 -0
- package/vendor/agent-vision-toolkit/README.md +405 -0
- package/vendor/agent-vision-toolkit/UPSTREAM_MANIFEST.json +94 -0
- package/vendor/agent-vision-toolkit/bin/crop +90 -0
- package/vendor/agent-vision-toolkit/bin/detect +13 -0
- package/vendor/agent-vision-toolkit/bin/glance +93 -0
- package/vendor/agent-vision-toolkit/bin/ground +13 -0
- package/vendor/agent-vision-toolkit/bin/trace +129 -0
- package/vendor/agent-vision-toolkit/detect.py +60 -0
- package/vendor/agent-vision-toolkit/ground.py +267 -0
- package/vendor/agent-vision-toolkit/skills/vision-tools/scripts/dominant_colors.py +224 -0
- package/vendor/agent-vision-toolkit/skills/vision-tools/scripts/extract_fg.py +278 -0
- package/vendor/agent-vision-toolkit/skills/vision-tools/scripts/html_shot.py +420 -0
- package/vendor/agent-vision-toolkit/skills/vision-tools/scripts/long_screenshot_ocr.py +1245 -0
- package/vendor/agent-vision-toolkit/skills/vision-tools/scripts/pixel_diff.py +88 -0
- package/vendor/agent-vision-toolkit/tests/test_vision_client.py +450 -0
- package/vendor/agent-vision-toolkit/vision_client.py +310 -0
|
@@ -0,0 +1,412 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vision Toolkit runtime: structured requests in, structured results out.
|
|
3
|
+
* One operation-wide deadline reaches every subprocess; image decoding,
|
|
4
|
+
* byte/pixel limits, session-scoped concurrency, credential resolution, safe
|
|
5
|
+
* output staging, and diagnostic logging stay below the model-facing tools.
|
|
6
|
+
* @module dsh-vision-toolkit/runtime
|
|
7
|
+
*/
|
|
8
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
9
|
+
import { type ArtifactDescriptor } from './artifacts.ts';
|
|
10
|
+
import { type ResolvedVisionToolkitConfig } from './config.ts';
|
|
11
|
+
import { UpstreamAdapter, type DominantColorsOutput, type UpstreamEnvironment, type UpstreamVersionInfo } from './upstream.ts';
|
|
12
|
+
/** Per-invocation cancellation and timeout facts. */
|
|
13
|
+
export interface Deadline {
|
|
14
|
+
signal: AbortSignal;
|
|
15
|
+
/** True when the deadline timer fired. */
|
|
16
|
+
timedOut: boolean;
|
|
17
|
+
/** True when the caller signal fired first. */
|
|
18
|
+
cancelled: boolean;
|
|
19
|
+
/** Clear the timer and caller listener. */
|
|
20
|
+
cleanup(): void;
|
|
21
|
+
}
|
|
22
|
+
/** Combine a caller abort signal with one hard operation timeout. */
|
|
23
|
+
export declare function createDeadline(signal: AbortSignal, timeoutMs: number): Deadline;
|
|
24
|
+
/** FIFO bounded concurrency gate whose queued callers remain cancellable. */
|
|
25
|
+
export declare class Semaphore {
|
|
26
|
+
private readonly limit;
|
|
27
|
+
private active;
|
|
28
|
+
private readonly waiters;
|
|
29
|
+
constructor(limit: number);
|
|
30
|
+
/** Whether no active or queued caller still owns this gate. */
|
|
31
|
+
get idle(): boolean;
|
|
32
|
+
/** Acquire one slot, aborting while queued when `signal` fires. */
|
|
33
|
+
acquire(signal: AbortSignal, permits?: number): Promise<void>;
|
|
34
|
+
/** Release owned permits and wake FIFO waiters whose full weight now fits. */
|
|
35
|
+
release(permits?: number): void;
|
|
36
|
+
}
|
|
37
|
+
/** Validated image metadata retained in structured results and diagnostics. */
|
|
38
|
+
export interface ImageInfo {
|
|
39
|
+
path: string;
|
|
40
|
+
bytes: number;
|
|
41
|
+
width: number;
|
|
42
|
+
height: number;
|
|
43
|
+
format: string;
|
|
44
|
+
/** Original user-facing image path before any automatic compression. */
|
|
45
|
+
originalPath: string;
|
|
46
|
+
}
|
|
47
|
+
/** Structured input for one glance call. */
|
|
48
|
+
export interface GlanceRequest {
|
|
49
|
+
images: string[];
|
|
50
|
+
query?: string;
|
|
51
|
+
ocr?: boolean;
|
|
52
|
+
region?: string;
|
|
53
|
+
}
|
|
54
|
+
/** Structured glance result. */
|
|
55
|
+
export interface GlanceResult {
|
|
56
|
+
images: ImageInfo[];
|
|
57
|
+
mode: 'describe' | 'qa' | 'ocr';
|
|
58
|
+
answer: string;
|
|
59
|
+
truncated: boolean;
|
|
60
|
+
}
|
|
61
|
+
/** Structured input for ground/detect. */
|
|
62
|
+
export interface LocateRequest {
|
|
63
|
+
image: string;
|
|
64
|
+
target: string;
|
|
65
|
+
region?: string;
|
|
66
|
+
}
|
|
67
|
+
/** One located element with an upstream or caller label. */
|
|
68
|
+
export interface LocateMatch {
|
|
69
|
+
label: string;
|
|
70
|
+
box: {
|
|
71
|
+
x1: number;
|
|
72
|
+
y1: number;
|
|
73
|
+
x2: number;
|
|
74
|
+
y2: number;
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/** Structured ground result. */
|
|
78
|
+
export interface GroundResult {
|
|
79
|
+
target: string;
|
|
80
|
+
image: ImageInfo;
|
|
81
|
+
imageWidth: number;
|
|
82
|
+
imageHeight: number;
|
|
83
|
+
matches: LocateMatch[];
|
|
84
|
+
preview?: ArtifactDescriptor;
|
|
85
|
+
}
|
|
86
|
+
/** Structured detect result. */
|
|
87
|
+
export interface DetectResult {
|
|
88
|
+
category: string;
|
|
89
|
+
image: ImageInfo;
|
|
90
|
+
imageWidth: number;
|
|
91
|
+
imageHeight: number;
|
|
92
|
+
elements: Array<{
|
|
93
|
+
index: number;
|
|
94
|
+
label: string;
|
|
95
|
+
box: {
|
|
96
|
+
x1: number;
|
|
97
|
+
y1: number;
|
|
98
|
+
x2: number;
|
|
99
|
+
y2: number;
|
|
100
|
+
};
|
|
101
|
+
}>;
|
|
102
|
+
preview?: ArtifactDescriptor;
|
|
103
|
+
}
|
|
104
|
+
/** Structured crop request. */
|
|
105
|
+
export interface CropRequest {
|
|
106
|
+
image: string;
|
|
107
|
+
region: string;
|
|
108
|
+
scale?: number;
|
|
109
|
+
output?: string;
|
|
110
|
+
}
|
|
111
|
+
/** Structured crop result. */
|
|
112
|
+
export interface CropResult {
|
|
113
|
+
imageWidth: number;
|
|
114
|
+
imageHeight: number;
|
|
115
|
+
region: {
|
|
116
|
+
x1: number;
|
|
117
|
+
y1: number;
|
|
118
|
+
x2: number;
|
|
119
|
+
y2: number;
|
|
120
|
+
};
|
|
121
|
+
outputPath: string;
|
|
122
|
+
mimeType: 'image/png' | 'image/jpeg';
|
|
123
|
+
width: number;
|
|
124
|
+
height: number;
|
|
125
|
+
clamped: boolean;
|
|
126
|
+
artifact: ArtifactDescriptor;
|
|
127
|
+
note?: string;
|
|
128
|
+
}
|
|
129
|
+
/** Structured trace request supported by the pinned upstream snapshot. */
|
|
130
|
+
export interface TraceRequest {
|
|
131
|
+
image: string;
|
|
132
|
+
region?: string;
|
|
133
|
+
scale?: number;
|
|
134
|
+
color?: boolean;
|
|
135
|
+
polygon?: boolean;
|
|
136
|
+
output?: string;
|
|
137
|
+
}
|
|
138
|
+
/** Structured trace result. */
|
|
139
|
+
export interface TraceResult {
|
|
140
|
+
imageWidth: number;
|
|
141
|
+
imageHeight: number;
|
|
142
|
+
outputPath: string;
|
|
143
|
+
mimeType: 'image/svg+xml';
|
|
144
|
+
geometry: {
|
|
145
|
+
status: 'generated' | 'empty';
|
|
146
|
+
pathCount: number;
|
|
147
|
+
tracedScale: number;
|
|
148
|
+
bytes: number;
|
|
149
|
+
};
|
|
150
|
+
artifact: ArtifactDescriptor;
|
|
151
|
+
warning?: string;
|
|
152
|
+
}
|
|
153
|
+
/** Structured input for local image comparison. */
|
|
154
|
+
export interface PixelDiffRequest {
|
|
155
|
+
original: string;
|
|
156
|
+
rebuilt: string;
|
|
157
|
+
grid?: number;
|
|
158
|
+
top?: number;
|
|
159
|
+
runName?: string;
|
|
160
|
+
}
|
|
161
|
+
/** Structured local pixel comparison plus formally delivered files. */
|
|
162
|
+
export interface PixelDiffResult {
|
|
163
|
+
original: ImageInfo;
|
|
164
|
+
rebuilt: ImageInfo;
|
|
165
|
+
scaled: boolean;
|
|
166
|
+
rebuiltOriginalSize?: {
|
|
167
|
+
width: number;
|
|
168
|
+
height: number;
|
|
169
|
+
};
|
|
170
|
+
overallDifferencePct: number;
|
|
171
|
+
worstRegions: Array<{
|
|
172
|
+
index: number;
|
|
173
|
+
differencePct: number;
|
|
174
|
+
box: {
|
|
175
|
+
x1: number;
|
|
176
|
+
y1: number;
|
|
177
|
+
x2: number;
|
|
178
|
+
y2: number;
|
|
179
|
+
};
|
|
180
|
+
}>;
|
|
181
|
+
heatmap: ArtifactDescriptor;
|
|
182
|
+
report: ArtifactDescriptor;
|
|
183
|
+
}
|
|
184
|
+
/** Structured input for the pinned long-screenshot OCR pipeline. */
|
|
185
|
+
export interface LongScreenshotOcrRequest {
|
|
186
|
+
image: string;
|
|
187
|
+
mode?: 'general' | 'chat';
|
|
188
|
+
output?: string;
|
|
189
|
+
runName?: string;
|
|
190
|
+
targetHeight?: number;
|
|
191
|
+
minHeight?: number;
|
|
192
|
+
maxHeight?: number;
|
|
193
|
+
overlap?: number;
|
|
194
|
+
prompt?: string;
|
|
195
|
+
jobs?: number;
|
|
196
|
+
chunkTimeoutSeconds?: number;
|
|
197
|
+
splitOnly?: boolean;
|
|
198
|
+
resume?: boolean;
|
|
199
|
+
}
|
|
200
|
+
/** One long-OCR chunk and the files retained for audit or reuse. */
|
|
201
|
+
export interface LongScreenshotChunk {
|
|
202
|
+
index: number;
|
|
203
|
+
coreTop: number;
|
|
204
|
+
coreBottom: number;
|
|
205
|
+
cropTop: number;
|
|
206
|
+
cropBottom: number;
|
|
207
|
+
image: ArtifactDescriptor;
|
|
208
|
+
ocr?: ArtifactDescriptor;
|
|
209
|
+
reused?: boolean;
|
|
210
|
+
}
|
|
211
|
+
/** Long-screenshot split/OCR result with every durable deliverable. */
|
|
212
|
+
export interface LongScreenshotOcrResult {
|
|
213
|
+
source: ImageInfo;
|
|
214
|
+
mode: 'general' | 'chat';
|
|
215
|
+
splitOnly: boolean;
|
|
216
|
+
complete: boolean;
|
|
217
|
+
chunkCount: number;
|
|
218
|
+
runDirectory: string;
|
|
219
|
+
output?: ArtifactDescriptor;
|
|
220
|
+
manifest: ArtifactDescriptor;
|
|
221
|
+
audit?: ArtifactDescriptor;
|
|
222
|
+
chunks: LongScreenshotChunk[];
|
|
223
|
+
}
|
|
224
|
+
/** Structured input for transparent foreground extraction. */
|
|
225
|
+
export interface ExtractForegroundRequest {
|
|
226
|
+
image: string;
|
|
227
|
+
region?: string;
|
|
228
|
+
boxes?: string;
|
|
229
|
+
mode?: 'color' | 'dark';
|
|
230
|
+
discRadius?: number;
|
|
231
|
+
saturation?: number;
|
|
232
|
+
darkThreshold?: number;
|
|
233
|
+
excludeColor?: string;
|
|
234
|
+
excludeTolerance?: number;
|
|
235
|
+
padding?: number;
|
|
236
|
+
keepWhites?: boolean;
|
|
237
|
+
output?: string;
|
|
238
|
+
}
|
|
239
|
+
/** Transparent foreground file plus the pinned script's component metrics. */
|
|
240
|
+
export interface ExtractForegroundResult {
|
|
241
|
+
source: ImageInfo;
|
|
242
|
+
box: {
|
|
243
|
+
x1: number;
|
|
244
|
+
y1: number;
|
|
245
|
+
x2: number;
|
|
246
|
+
y2: number;
|
|
247
|
+
};
|
|
248
|
+
foregroundPixels: number;
|
|
249
|
+
keptComponents: number;
|
|
250
|
+
totalComponents: number;
|
|
251
|
+
largestComponentPct: number;
|
|
252
|
+
width: number;
|
|
253
|
+
height: number;
|
|
254
|
+
artifact: ArtifactDescriptor;
|
|
255
|
+
autoSummary?: string;
|
|
256
|
+
}
|
|
257
|
+
/** Structured input for palette extraction or candidate scoring. */
|
|
258
|
+
export interface DominantColorsRequest {
|
|
259
|
+
image: string;
|
|
260
|
+
region?: string;
|
|
261
|
+
candidates?: string[];
|
|
262
|
+
top?: number;
|
|
263
|
+
quantize?: number;
|
|
264
|
+
maxPixels?: number;
|
|
265
|
+
mergeTolerance?: number;
|
|
266
|
+
candidateTolerance?: number;
|
|
267
|
+
}
|
|
268
|
+
/** Stable dominant-colour result enriched with source image facts. */
|
|
269
|
+
export interface DominantColorsResult {
|
|
270
|
+
image: ImageInfo;
|
|
271
|
+
analysis: DominantColorsOutput;
|
|
272
|
+
}
|
|
273
|
+
/** Structured input for rendering an authorized local HTML document. */
|
|
274
|
+
export interface HtmlScreenshotRequest {
|
|
275
|
+
source: string;
|
|
276
|
+
width?: number;
|
|
277
|
+
height?: number;
|
|
278
|
+
scale?: number;
|
|
279
|
+
waitMs?: number;
|
|
280
|
+
fullPage?: boolean;
|
|
281
|
+
output?: string;
|
|
282
|
+
}
|
|
283
|
+
/** Browser-rendered PNG plus viewport and source facts. */
|
|
284
|
+
export interface HtmlScreenshotResult {
|
|
285
|
+
sourcePath: string;
|
|
286
|
+
sourceBytes: number;
|
|
287
|
+
viewport: {
|
|
288
|
+
width: number;
|
|
289
|
+
height: number;
|
|
290
|
+
scale: number;
|
|
291
|
+
};
|
|
292
|
+
width: number;
|
|
293
|
+
height: number;
|
|
294
|
+
/** Full document height in CSS pixels; present only for full-page captures. */
|
|
295
|
+
pageHeight?: number;
|
|
296
|
+
artifact: ArtifactDescriptor;
|
|
297
|
+
}
|
|
298
|
+
/** Optional preview controls shared by ground and detect. */
|
|
299
|
+
export interface LocatePreviewRequest extends LocateRequest {
|
|
300
|
+
preview?: boolean;
|
|
301
|
+
previewOutput?: string;
|
|
302
|
+
}
|
|
303
|
+
/** One named health-check state. */
|
|
304
|
+
export interface HealthCheck {
|
|
305
|
+
status: 'ok' | 'warning' | 'error' | 'not_tested';
|
|
306
|
+
detail: string;
|
|
307
|
+
}
|
|
308
|
+
/** Runtime, dependency, storage, credential, and optional service health. */
|
|
309
|
+
export interface VisionToolkitHealthResult {
|
|
310
|
+
pluginVersion: string;
|
|
311
|
+
upstream: UpstreamVersionInfo;
|
|
312
|
+
checks: {
|
|
313
|
+
python: HealthCheck;
|
|
314
|
+
dependencies: HealthCheck;
|
|
315
|
+
chrome: HealthCheck;
|
|
316
|
+
credential: HealthCheck;
|
|
317
|
+
artifactDirectory: HealthCheck;
|
|
318
|
+
tempDirectory: HealthCheck;
|
|
319
|
+
service: HealthCheck;
|
|
320
|
+
model: HealthCheck;
|
|
321
|
+
};
|
|
322
|
+
healthy: boolean;
|
|
323
|
+
connectionTested: boolean;
|
|
324
|
+
modelTested: boolean;
|
|
325
|
+
}
|
|
326
|
+
/** Shared per-call execution options. */
|
|
327
|
+
export interface ToolCallOptions {
|
|
328
|
+
signal: AbortSignal;
|
|
329
|
+
timeoutMs?: number;
|
|
330
|
+
workspace: string;
|
|
331
|
+
/** Session identity for the per-session concurrency cap. */
|
|
332
|
+
sessionId?: string;
|
|
333
|
+
/** Live Session object whose lifetime bounds the one-entry glance cache. */
|
|
334
|
+
sessionScope?: object;
|
|
335
|
+
}
|
|
336
|
+
/** One immutable vision-service snapshot used to generate cache-keyed evidence. */
|
|
337
|
+
export interface CapturedEvidenceRuntime {
|
|
338
|
+
readonly evidenceFingerprint: string;
|
|
339
|
+
glance(request: GlanceRequest, options: ToolCallOptions): Promise<GlanceResult>;
|
|
340
|
+
}
|
|
341
|
+
/** Parse a non-empty four-integer pixel box. */
|
|
342
|
+
export declare function parseRegion(region: string): {
|
|
343
|
+
x1: number;
|
|
344
|
+
y1: number;
|
|
345
|
+
x2: number;
|
|
346
|
+
y2: number;
|
|
347
|
+
};
|
|
348
|
+
/** Runtime facade used by every native tool. */
|
|
349
|
+
export declare class VisionToolkitRuntime {
|
|
350
|
+
private readonly ctx;
|
|
351
|
+
private readonly config;
|
|
352
|
+
private readonly semaphores;
|
|
353
|
+
private readonly glanceCache;
|
|
354
|
+
private readonly adapter;
|
|
355
|
+
constructor(ctx: Context, config: ResolvedVisionToolkitConfig, adapter?: UpstreamAdapter);
|
|
356
|
+
/** Pinned and prepared upstream identity. */
|
|
357
|
+
get upstreamVersion(): UpstreamVersionInfo;
|
|
358
|
+
/** Stable identity for persisted image descriptions produced by this runtime. */
|
|
359
|
+
get evidenceFingerprint(): string;
|
|
360
|
+
/** Capture the credential and provider identity used by one evidence conversion. */
|
|
361
|
+
captureEvidenceRuntime(): Promise<CapturedEvidenceRuntime>;
|
|
362
|
+
private timeout;
|
|
363
|
+
private operationError;
|
|
364
|
+
private semaphore;
|
|
365
|
+
private runOperation;
|
|
366
|
+
/** Resolve the configured credential at the remote-operation boundary. */
|
|
367
|
+
resolveVisionEnv(): Promise<UpstreamEnvironment>;
|
|
368
|
+
private visionEnv;
|
|
369
|
+
private pathPolicy;
|
|
370
|
+
private compressedImageRoot;
|
|
371
|
+
private readCacheCandidate;
|
|
372
|
+
private cacheEntryOutDigest;
|
|
373
|
+
private pruneCompressedCache;
|
|
374
|
+
private autoCompressImage;
|
|
375
|
+
private validateImage;
|
|
376
|
+
private accountImage;
|
|
377
|
+
private glanceCacheKey;
|
|
378
|
+
private runUpstream;
|
|
379
|
+
private probeGeneratedImage;
|
|
380
|
+
private annotateLocations;
|
|
381
|
+
/** glance: describe, targeted QA, OCR, or multi-image comparison. */
|
|
382
|
+
glance(request: GlanceRequest, options: ToolCallOptions): Promise<GlanceResult>;
|
|
383
|
+
private glanceWithEnv;
|
|
384
|
+
private validateLocations;
|
|
385
|
+
private locate;
|
|
386
|
+
/** ground: locate one named target and return pixel boxes. */
|
|
387
|
+
ground(request: LocatePreviewRequest, options: ToolCallOptions): Promise<GroundResult>;
|
|
388
|
+
/** detect: inventory every instance of a kind. */
|
|
389
|
+
detect(request: LocatePreviewRequest, options: ToolCallOptions): Promise<DetectResult>;
|
|
390
|
+
/** crop: cut a pixel box into its own image file without requiring a credential. */
|
|
391
|
+
crop(request: CropRequest, options: ToolCallOptions): Promise<CropResult>;
|
|
392
|
+
/** trace: recover an SVG through the pinned upstream vtracer pipeline. */
|
|
393
|
+
trace(request: TraceRequest, options: ToolCallOptions): Promise<TraceResult>;
|
|
394
|
+
/** pixel_diff: compare real pixels, rank error regions, and deliver a heatmap plus JSON report. */
|
|
395
|
+
pixelDiff(request: PixelDiffRequest, options: ToolCallOptions): Promise<PixelDiffResult>;
|
|
396
|
+
/** long_screenshot_ocr: split safely, optionally OCR, and atomically deliver the complete audit run. */
|
|
397
|
+
longScreenshotOcr(request: LongScreenshotOcrRequest, options: ToolCallOptions): Promise<LongScreenshotOcrResult>;
|
|
398
|
+
/** extract_foreground: preserve the pinned component selection and deliver an RGBA PNG. */
|
|
399
|
+
extractForeground(request: ExtractForegroundRequest, options: ToolCallOptions): Promise<ExtractForegroundResult>;
|
|
400
|
+
/** dominant_colors: expose palette clusters or candidate scores as structure, never stdout prose. */
|
|
401
|
+
dominantColors(request: DominantColorsRequest, options: ToolCallOptions): Promise<DominantColorsResult>;
|
|
402
|
+
/** html_screenshot: render only a path-fenced local HTML file in the pinned Chrome adapter. */
|
|
403
|
+
htmlScreenshot(request: HtmlScreenshotRequest, options: ToolCallOptions): Promise<HtmlScreenshotResult>;
|
|
404
|
+
private writableDirectoryCheck;
|
|
405
|
+
/** Health: inspect local readiness, optionally probe `/models`, and explicitly test one real multimodal request. */
|
|
406
|
+
health(testConnection: boolean, options: ToolCallOptions, testModel?: boolean): Promise<VisionToolkitHealthResult>;
|
|
407
|
+
/** Report the packaged upstream snapshot version. */
|
|
408
|
+
checkoutVersion(): Promise<string>;
|
|
409
|
+
/** Prepared Python command. */
|
|
410
|
+
python(): string;
|
|
411
|
+
}
|
|
412
|
+
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DSH-native adapter for the upstream vision-tools Skill and playbooks.
|
|
3
|
+
* @module dsh-vision-toolkit/skill
|
|
4
|
+
*/
|
|
5
|
+
import type { SkillRegistration } from '@deepseek-ai/dsh-skill';
|
|
6
|
+
/** Stable catalog/invocation name shared with progressive tool exposure. */
|
|
7
|
+
export declare const VISION_SKILLS_NAME = "vision-skills";
|
|
8
|
+
/** Packaged resource root for the adapted upstream playbooks. */
|
|
9
|
+
export declare const VISION_SKILLS_RESOURCE_BASE: string;
|
|
10
|
+
/** Exact bundled instructions used as the progressive-exposure evidence marker. */
|
|
11
|
+
export declare const VISION_SKILLS_CONTENT: string;
|
|
12
|
+
/** Runtime skill registration mounted only after every native tool is ready. */
|
|
13
|
+
export declare const VISION_SKILLS_SKILL: SkillRegistration;
|
|
14
|
+
//# sourceMappingURL=skill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/skill.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,kBAAkB,CAAA;AAEjD,iEAAiE;AACjE,eAAO,MAAM,2BAA2B,QAEvC,CAAA;AAED,mFAAmF;AACnF,eAAO,MAAM,qBAAqB,QAGjC,CAAA;AAED,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,EAAE,iBAUjC,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model-facing native tools. Every definition projects one structured runtime
|
|
3
|
+
* operation, declares replay-safe file locations, and preserves canonical
|
|
4
|
+
* result metadata for the optional Web client without changing Headless or
|
|
5
|
+
* model-visible semantics.
|
|
6
|
+
* @module dsh-vision-toolkit/tools
|
|
7
|
+
*/
|
|
8
|
+
import { defineTool, type JsonValue } from '@deepseek-ai/dsh-tools';
|
|
9
|
+
import { VisionToolkitRuntime } from './runtime.ts';
|
|
10
|
+
/** Canonical names shared by registration, bootstrap guidance, and tests. */
|
|
11
|
+
export declare const VISION_TOOL_NAMES: {
|
|
12
|
+
readonly glance: "vision_glance";
|
|
13
|
+
readonly ground: "vision_ground";
|
|
14
|
+
readonly detect: "vision_detect";
|
|
15
|
+
readonly trace: "vision_trace";
|
|
16
|
+
readonly crop: "vision_crop";
|
|
17
|
+
readonly pixelDiff: "vision_pixel_diff";
|
|
18
|
+
readonly longScreenshotOcr: "vision_long_screenshot_ocr";
|
|
19
|
+
readonly extractForeground: "vision_extract_foreground";
|
|
20
|
+
readonly dominantColors: "vision_dominant_colors";
|
|
21
|
+
readonly htmlScreenshot: "vision_html_screenshot";
|
|
22
|
+
};
|
|
23
|
+
/** Runtime lookup accepted by tools so Settings can atomically swap generations. */
|
|
24
|
+
export type VisionToolkitRuntimeSource = VisionToolkitRuntime | (() => VisionToolkitRuntime);
|
|
25
|
+
/** Browser-only metadata projector; the model-visible value remains unchanged. */
|
|
26
|
+
export type VisionToolkitPresentationProjector = (value: JsonValue) => JsonValue;
|
|
27
|
+
/**
|
|
28
|
+
* Build the complete P0/P1 tool set from one live runtime source.
|
|
29
|
+
* @param source - Current runtime or atomic runtime lookup.
|
|
30
|
+
* @param projectPresentation - Browser-only projection for Artifact capabilities.
|
|
31
|
+
* @param lifecycleSignal - Plugin lifetime; aborting it cancels every active tool call.
|
|
32
|
+
* @returns Native tool definitions registered as one lifecycle generation.
|
|
33
|
+
*/
|
|
34
|
+
export declare function createVisionTools(source: VisionToolkitRuntimeSource, projectPresentation?: VisionToolkitPresentationProjector, lifecycleSignal?: AbortSignal): ReturnType<typeof defineTool>[];
|
|
35
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,UAAU,EAAE,KAAK,SAAS,EAA6C,MAAM,wBAAwB,CAAA;AAC9G,OAAO,EACL,oBAAoB,EAWrB,MAAM,cAAc,CAAA;AAerB,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB;;;;;;;;;;;CAWpB,CAAA;AAqHV,oFAAoF;AACpF,MAAM,MAAM,0BAA0B,GAAG,oBAAoB,GAAG,CAAC,MAAM,oBAAoB,CAAC,CAAA;AAE5F,kFAAkF;AAClF,MAAM,MAAM,kCAAkC,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,SAAS,CAAA;AAMhF;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,0BAA0B,EAClC,mBAAmB,GAAE,kCAAyD,EAC9E,eAAe,CAAC,EAAE,WAAW,GAC5B,UAAU,CAAC,OAAO,UAAU,CAAC,EAAE,CAmZjC"}
|