@mengruo/dsh-vision-toolkit 0.1.3 → 0.1.5
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 +15 -70
- package/README.zh.md +15 -69
- 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 +128 -12
- package/lib/client.js.map +1 -1
- package/lib/config.js +69 -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/object-storage.js +141 -0
- package/lib/object-storage.js.map +1 -0
- 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 +219 -38
- 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 +45 -2
- 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 +55 -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/object-storage.d.ts +54 -0
- package/lib/types/object-storage.d.ts.map +1 -0
- 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 +31 -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 +1 -0
- package/lib/types/upstream.d.ts.map +1 -1
- package/lib/types/web.d.ts +7 -0
- package/lib/types/web.d.ts.map +1 -1
- package/lib/upstream.js +34 -8
- package/lib/upstream.js.map +1 -1
- package/lib/web.js +44 -9
- package/lib/web.js.map +1 -1
- package/package.json +3 -1
- package/src/artifact-access.ts +22 -2
- package/src/client/index.tsx +169 -9
- package/src/client/paste-images.tsx +14 -4
- package/src/config.ts +128 -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/object-storage.ts +174 -0
- package/src/paste-images.ts +81 -19
- package/src/paths.ts +249 -28
- package/src/runtime-manager.ts +93 -10
- package/src/runtime.ts +215 -36
- package/src/storage-history.ts +172 -0
- package/src/upstream.ts +36 -7
- package/src/web.ts +54 -9
- package/vendor/agent-vision-toolkit/UPSTREAM_MANIFEST.json +11 -11
- package/vendor/agent-vision-toolkit/__pycache__/detect.cpython-314.pyc +0 -0
- package/vendor/agent-vision-toolkit/__pycache__/ground.cpython-314.pyc +0 -0
- package/vendor/agent-vision-toolkit/__pycache__/vision_client.cpython-314.pyc +0 -0
- package/vendor/agent-vision-toolkit/bin/__pycache__/glancecpython-314.pyc +0 -0
- package/vendor/agent-vision-toolkit/bin/glance +8 -1
- package/vendor/agent-vision-toolkit/detect.py +13 -7
- package/vendor/agent-vision-toolkit/ground.py +43 -18
- package/vendor/agent-vision-toolkit/tests/test_vision_client.py +88 -0
- package/vendor/agent-vision-toolkit/vision_client.py +84 -6
- package/assets/community-group-qr.png +0 -0
- package/assets/logo_aihubmix.png +0 -0
- package/assets/logo_eapi_dark.png +0 -0
- package/assets/wechat-reward.png +0 -0
|
@@ -13,6 +13,7 @@ declare const en: {
|
|
|
13
13
|
readonly providers: "Vision providers";
|
|
14
14
|
readonly name: "Label";
|
|
15
15
|
readonly enabled: "Enabled";
|
|
16
|
+
readonly disabled: "Disabled";
|
|
16
17
|
readonly priority: "Priority {index}";
|
|
17
18
|
readonly attempts: "Attempts";
|
|
18
19
|
readonly attemptsHint: "Total attempts against this provider before failing over to the next one.";
|
|
@@ -41,6 +42,10 @@ declare const en: {
|
|
|
41
42
|
readonly anthropicThinking: "Anthropic thinking";
|
|
42
43
|
readonly anthropicThinkingHint: "omit has the broadest compatibility. Use disabled or adaptive only when the selected model documents that mode; restore omit first after HTTP 400.";
|
|
43
44
|
readonly userAgent: "User-Agent";
|
|
45
|
+
readonly stream: "Streaming";
|
|
46
|
+
readonly streamHint: "Request a streamed (SSE) completion instead of one JSON response. Use it for endpoints with weak non-streaming support or that time out on long outputs.";
|
|
47
|
+
readonly uploadViaUrl: "Transfer images via URL";
|
|
48
|
+
readonly uploadViaUrlHint: "Upload each image to the configured object storage and send the model a URL instead of base64. Requires object storage (below); region crops fall back to base64.";
|
|
44
49
|
readonly language: "Output language";
|
|
45
50
|
readonly limits: "Timeout and concurrency";
|
|
46
51
|
readonly timeout: "Request timeout (ms)";
|
|
@@ -61,12 +66,29 @@ declare const en: {
|
|
|
61
66
|
readonly runtimeMode: "Runtime mode";
|
|
62
67
|
readonly toolkitPath: "Pinned checkout path";
|
|
63
68
|
readonly python: "Python override";
|
|
69
|
+
readonly storage: "Local files";
|
|
70
|
+
readonly storageDir: "Default save directory";
|
|
71
|
+
readonly storageDirHint: "Leave blank to keep .dsh-vision-toolkit in each workspace. On POSIX systems, set an absolute shared root such as /tmp/dsh-vision-toolkit to store artifacts, pasted images, and caches in an automatically generated per-user, workspace-specific child directory. Windows shared roots remain disabled until their ACLs can be verified safely.";
|
|
64
72
|
readonly allowedDirs: "Additional allowed directories";
|
|
65
73
|
readonly allowedDirsHint: "One path per line. The session workspace is always allowed.";
|
|
74
|
+
readonly objectStorage: "Object storage";
|
|
75
|
+
readonly objectStorageHint: "S3-compatible storage used when a provider enables URL image transfer. The access key is stored as a DSH credential and never shown again after saving.";
|
|
76
|
+
readonly storageEndpoint: "Endpoint";
|
|
77
|
+
readonly storageBucket: "Bucket";
|
|
78
|
+
readonly storageAccessKeyId: "Access Key ID";
|
|
79
|
+
readonly storageSecretAccessKey: "Secret Access Key";
|
|
80
|
+
readonly storagePublicBase: "Public base URL (optional)";
|
|
81
|
+
readonly storagePublicBaseHint: "Custom domain or r2.dev URL for permanent public links. Leave blank to use temporary presigned URLs.";
|
|
82
|
+
readonly testStorage: "Test object storage";
|
|
83
|
+
readonly testingStorage: "Testing…";
|
|
84
|
+
readonly storageKeyPair: "Access Key ID and Secret Access Key must both be filled together.";
|
|
66
85
|
readonly save: "Save and apply";
|
|
67
86
|
readonly saving: "Validating runtime…";
|
|
68
87
|
readonly reload: "Reload";
|
|
69
88
|
readonly saved: "Settings validated and applied.";
|
|
89
|
+
readonly unsavedChanges: "Changed but not saved";
|
|
90
|
+
readonly discardChanges: "Discard changes";
|
|
91
|
+
readonly noUnsavedChanges: "Settings unchanged";
|
|
70
92
|
readonly readOnly: "Service settings are read-only. A writable API key can still be saved.";
|
|
71
93
|
readonly configured: "Configured";
|
|
72
94
|
readonly missing: "Missing";
|
|
@@ -83,7 +105,7 @@ declare const en: {
|
|
|
83
105
|
readonly connectionHint: "The API connection test only queries GET /models. The vision model test sends the bundled diagnostic image and verifies one real multimodal request.";
|
|
84
106
|
readonly saveBeforeTesting: "Save service changes before testing the connection.";
|
|
85
107
|
readonly advanced: "Advanced settings";
|
|
86
|
-
readonly advancedHint: "Credential name, provider compatibility, output language, resource limits, runtime source, Python, and additional readable directories.";
|
|
108
|
+
readonly advancedHint: "Credential name, provider compatibility, output language, resource limits, default save directory, runtime source, Python, and additional readable directories.";
|
|
87
109
|
readonly imageInput: "Image input";
|
|
88
110
|
readonly hiddenVariants: "Transparent variant routing";
|
|
89
111
|
readonly hiddenVariantsLabel: "Keep the original model names and enable images automatically";
|
|
@@ -257,6 +279,8 @@ interface ProviderValue {
|
|
|
257
279
|
protocol?: 'openai' | 'anthropic';
|
|
258
280
|
anthropicThinking?: 'omit' | 'disabled' | 'adaptive';
|
|
259
281
|
userAgent?: string;
|
|
282
|
+
stream?: boolean;
|
|
283
|
+
uploadViaUrl?: boolean;
|
|
260
284
|
t1Seconds?: number;
|
|
261
285
|
t2Seconds?: number;
|
|
262
286
|
maxImageBytes?: number;
|
|
@@ -272,6 +296,8 @@ interface SettingsValue {
|
|
|
272
296
|
protocol?: 'openai' | 'anthropic';
|
|
273
297
|
anthropicThinking?: 'omit' | 'disabled' | 'adaptive';
|
|
274
298
|
userAgent?: string;
|
|
299
|
+
stream?: boolean;
|
|
300
|
+
uploadViaUrl?: boolean;
|
|
275
301
|
};
|
|
276
302
|
providers?: ProviderValue[];
|
|
277
303
|
language?: 'zh' | 'en';
|
|
@@ -281,11 +307,19 @@ interface SettingsValue {
|
|
|
281
307
|
maxImageBytes?: number;
|
|
282
308
|
maxImagePixels?: number;
|
|
283
309
|
concurrency?: number;
|
|
310
|
+
objectStorage?: {
|
|
311
|
+
endpoint?: string;
|
|
312
|
+
bucket?: string;
|
|
313
|
+
credential?: string;
|
|
314
|
+
publicBase?: string;
|
|
315
|
+
};
|
|
284
316
|
runtime?: {
|
|
285
317
|
mode?: 'managed' | 'external';
|
|
286
318
|
agentVisionToolkitPath?: string;
|
|
287
319
|
python?: string;
|
|
288
320
|
};
|
|
321
|
+
storageDir?: string;
|
|
322
|
+
storageHistory?: string[];
|
|
289
323
|
allowedDirs?: string[];
|
|
290
324
|
imageInputVariants?: {
|
|
291
325
|
enabled?: boolean;
|
|
@@ -343,6 +377,11 @@ interface SettingsSnapshot {
|
|
|
343
377
|
source?: string;
|
|
344
378
|
writable: boolean;
|
|
345
379
|
}>;
|
|
380
|
+
objectStorageCredential: {
|
|
381
|
+
ref: string;
|
|
382
|
+
configured: boolean;
|
|
383
|
+
writable: boolean;
|
|
384
|
+
};
|
|
346
385
|
runtime: {
|
|
347
386
|
ready: boolean;
|
|
348
387
|
generation: number;
|
|
@@ -374,7 +413,10 @@ interface SettingsState {
|
|
|
374
413
|
providerHealth?: Record<number, HealthResult> | undefined;
|
|
375
414
|
update?: PluginUpdateCheck | undefined;
|
|
376
415
|
restart?: PluginUpdateResult | undefined;
|
|
377
|
-
|
|
416
|
+
storageTest?: {
|
|
417
|
+
detail: string;
|
|
418
|
+
} | undefined;
|
|
419
|
+
action?: 'save' | 'health' | 'connection' | 'model' | 'check-update' | 'apply-update' | 'test-storage' | undefined;
|
|
378
420
|
message?: string | undefined;
|
|
379
421
|
error?: string | undefined;
|
|
380
422
|
}
|
|
@@ -393,6 +435,7 @@ export declare class VisionSettingsController {
|
|
|
393
435
|
value: string;
|
|
394
436
|
}>, writeSettings: boolean): Promise<boolean>;
|
|
395
437
|
runHealth(mode: 'health' | 'connection' | 'model', providerIndex?: number): Promise<void>;
|
|
438
|
+
testStorage(): Promise<void>;
|
|
396
439
|
checkUpdate(): Promise<void>;
|
|
397
440
|
applyUpdate(expectedVersion: string): Promise<void>;
|
|
398
441
|
reportRestartTimeout(message: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,8 @@ interface PasteOccurrence {
|
|
|
24
24
|
source: string;
|
|
25
25
|
ref: string;
|
|
26
26
|
offset: number;
|
|
27
|
+
/** DSH rc.8+ stores the full @label text; older releases used one placeholder. */
|
|
28
|
+
length?: number;
|
|
27
29
|
label: string;
|
|
28
30
|
}
|
|
29
31
|
type PasteDockProps = PropsRuntime<'conversation.input.dock'> & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paste-images.d.ts","sourceRoot":"","sources":["../../../src/client/paste-images.tsx"],"names":[],"mappings":"AAAA,oDAAoD;AAEpD,OAAO,EAAwB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAE3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAA;AACzF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAIpE,eAAO,MAAM,kBAAkB,sCAAsC,CAAA;AACrE,eAAO,MAAM,kBAAkB,sCAAsC,CAAA;AAQrE,UAAU,WAAW;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,UAAU,CAAA;IACjB,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAA;IAChD,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAClC;AAED,UAAU,UAAU;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAA;IACpC,WAAW,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;CACvC;AAsBD,UAAU,eAAe;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAED,KAAK,cAAc,GAAG,YAAY,CAAC,yBAAyB,CAAC,GAAG;IAC9D,UAAU,EAAE,oBAAoB,CAAA;IAChC,MAAM,EAAE,CAAC,UAAU,EAAE,eAAe,KAAK,IAAI,CAAA;CAC9C,CAAA;
|
|
1
|
+
{"version":3,"file":"paste-images.d.ts","sourceRoot":"","sources":["../../../src/client/paste-images.tsx"],"names":[],"mappings":"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"}
|
package/lib/types/config.d.ts
CHANGED
|
@@ -33,6 +33,10 @@ export interface VisionProviderConfig {
|
|
|
33
33
|
anthropicThinking?: 'omit' | 'disabled' | 'adaptive';
|
|
34
34
|
/** Outbound User-Agent for provider requests and connection tests. */
|
|
35
35
|
userAgent?: string;
|
|
36
|
+
/** Whether to request a streamed (SSE) completion instead of one JSON response (default false). */
|
|
37
|
+
stream?: boolean;
|
|
38
|
+
/** Whether to upload images to object storage and send the model a URL instead of base64 (default false). */
|
|
39
|
+
uploadViaUrl?: boolean;
|
|
36
40
|
/** t1: per-request hedge threshold in seconds. A single request exceeding t1 keeps running while the next provider starts in parallel. */
|
|
37
41
|
t1Seconds?: number;
|
|
38
42
|
/** t2: per-provider cumulative cutoff in seconds. Total accumulated request time reaching t2 terminates the provider. */
|
|
@@ -61,6 +65,10 @@ export interface VisionToolkitConfig {
|
|
|
61
65
|
anthropicThinking?: 'omit' | 'disabled' | 'adaptive';
|
|
62
66
|
/** Outbound User-Agent for provider requests and connection tests. */
|
|
63
67
|
userAgent?: string;
|
|
68
|
+
/** Whether to request a streamed (SSE) completion instead of one JSON response (default false). */
|
|
69
|
+
stream?: boolean;
|
|
70
|
+
/** Whether to upload images to object storage and send the model a URL instead of base64 (default false). */
|
|
71
|
+
uploadViaUrl?: boolean;
|
|
64
72
|
};
|
|
65
73
|
/** Ordered online vision providers; array order is the failover priority. */
|
|
66
74
|
providers?: VisionProviderConfig[];
|
|
@@ -78,6 +86,21 @@ export interface VisionToolkitConfig {
|
|
|
78
86
|
maxImagePixels?: number;
|
|
79
87
|
/** Default per-model in-flight request cap inherited by providers that do not set their own. */
|
|
80
88
|
concurrency?: number;
|
|
89
|
+
/**
|
|
90
|
+
* Optional S3-compatible object storage used by the URL image-transfer path.
|
|
91
|
+
* `endpoint`, `bucket`, and `credential` are required to enable URL transfer;
|
|
92
|
+
* `publicBase` is optional and falls back to presigned URLs when unset.
|
|
93
|
+
*/
|
|
94
|
+
objectStorage?: {
|
|
95
|
+
/** S3-compatible API endpoint (e.g. R2, MinIO, Tencent COS). */
|
|
96
|
+
endpoint?: string;
|
|
97
|
+
/** Bucket name. */
|
|
98
|
+
bucket?: string;
|
|
99
|
+
/** DSH Credential reference holding "accessKeyId:secretAccessKey". */
|
|
100
|
+
credential?: string;
|
|
101
|
+
/** Public base URL (custom domain / r2.dev); when unset, presigned URLs are used. */
|
|
102
|
+
publicBase?: string;
|
|
103
|
+
};
|
|
81
104
|
runtime?: {
|
|
82
105
|
/** `managed` uses the packaged snapshot and isolated venv; `external` uses a clean pinned checkout. */
|
|
83
106
|
mode?: 'managed' | 'external';
|
|
@@ -86,6 +109,14 @@ export interface VisionToolkitConfig {
|
|
|
86
109
|
/** Optional Python 3.11+ bootstrap/interpreter override. */
|
|
87
110
|
python?: string;
|
|
88
111
|
};
|
|
112
|
+
/**
|
|
113
|
+
* Optional shared storage root. When set, every workspace gets an isolated,
|
|
114
|
+
* automatically generated child directory below this root instead of writing
|
|
115
|
+
* `.dsh-vision-toolkit` into the workspace.
|
|
116
|
+
*/
|
|
117
|
+
storageDir?: string;
|
|
118
|
+
/** Internal read-only history used to keep persisted paths valid after storage moves. */
|
|
119
|
+
storageHistory?: string[];
|
|
89
120
|
/** Extra directories (besides the workspace) inputs may come from. */
|
|
90
121
|
allowedDirs?: string[];
|
|
91
122
|
/**
|
|
@@ -133,6 +164,8 @@ export interface ResolvedProvider {
|
|
|
133
164
|
protocol: 'openai' | 'anthropic';
|
|
134
165
|
anthropicThinking: 'omit' | 'disabled' | 'adaptive';
|
|
135
166
|
userAgent: string;
|
|
167
|
+
stream: boolean;
|
|
168
|
+
uploadViaUrl: boolean;
|
|
136
169
|
t1Seconds: number;
|
|
137
170
|
t2Seconds: number;
|
|
138
171
|
maxImageBytes: number;
|
|
@@ -149,6 +182,8 @@ export interface ResolvedVisionToolkitConfig {
|
|
|
149
182
|
protocol: 'openai' | 'anthropic';
|
|
150
183
|
anthropicThinking: 'omit' | 'disabled' | 'adaptive';
|
|
151
184
|
userAgent: string;
|
|
185
|
+
stream: boolean;
|
|
186
|
+
uploadViaUrl: boolean;
|
|
152
187
|
};
|
|
153
188
|
/** Ordered failover pool; array order is the priority, highest first. */
|
|
154
189
|
providers: ResolvedProvider[];
|
|
@@ -159,11 +194,19 @@ export interface ResolvedVisionToolkitConfig {
|
|
|
159
194
|
maxImageBytes: number;
|
|
160
195
|
maxImagePixels: number;
|
|
161
196
|
concurrency: number;
|
|
197
|
+
objectStorage: {
|
|
198
|
+
endpoint: string;
|
|
199
|
+
bucket: string;
|
|
200
|
+
credential?: CredentialRef;
|
|
201
|
+
publicBase?: string;
|
|
202
|
+
};
|
|
162
203
|
runtime: {
|
|
163
204
|
mode: 'managed' | 'external';
|
|
164
205
|
agentVisionToolkitPath?: string;
|
|
165
206
|
python?: string;
|
|
166
207
|
};
|
|
208
|
+
storageDir?: string;
|
|
209
|
+
storageHistory: string[];
|
|
167
210
|
allowedDirs: string[];
|
|
168
211
|
imageInputVariants: {
|
|
169
212
|
enabled: boolean;
|
|
@@ -181,6 +224,18 @@ export interface ResolvedVisionToolkitConfig {
|
|
|
181
224
|
* @returns the fully defaulted, validated configuration.
|
|
182
225
|
*/
|
|
183
226
|
export declare function resolveConfig(config?: VisionToolkitConfig): ResolvedVisionToolkitConfig;
|
|
227
|
+
/** Merge prior storage roots into the next resolved generation's read-only history. */
|
|
228
|
+
export declare function retainedStorageHistory(next: VisionToolkitConfig, previous: VisionToolkitConfig): string[];
|
|
229
|
+
export interface WatchedSettingsGeneration {
|
|
230
|
+
/** Configuration to activate now; omitted after a successful history writeback. */
|
|
231
|
+
config?: VisionToolkitConfig;
|
|
232
|
+
/** Whether the derived history still needs plugin-owned durable persistence. */
|
|
233
|
+
requiresDurableStorageHistory?: boolean;
|
|
234
|
+
/** Non-fatal internal-history persistence error. */
|
|
235
|
+
persistenceError?: unknown;
|
|
236
|
+
}
|
|
237
|
+
/** Prepare one live Settings generation without letting internal history writeback block activation. */
|
|
238
|
+
export declare function prepareWatchedSettingsGeneration(next: VisionToolkitConfig, previous: VisionToolkitConfig, writable: boolean, persistStorageHistory: (storageHistory: string[]) => Promise<void>): Promise<WatchedSettingsGeneration>;
|
|
184
239
|
/** Whether a resolved provider should use the bundled public key instead of DSH credentials. */
|
|
185
240
|
export declare function isBuiltInFreeVisionProvider(provider: ResolvedVisionToolkitConfig['provider']): boolean;
|
|
186
241
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,MAAM,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAQlE,OAAO,EACL,6BAA6B,EAC7B,+BAA+B,EAC/B,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,eAAe,CAAA;AAWtB,wDAAwD;AACxD,eAAO,MAAM,iCAAiC,EAAuB,iBAAiB,CAAA;AAMtF,yEAAyE;AACzE,eAAO,MAAM,yBAAyB,oHAAoH,CAAA;AAgB1J,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IACnC,0EAA0E;IAC1E,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8EAA8E;IAC9E,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAA;IACjC,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,CAAA;IACpD,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,0IAA0I;IAC1I,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yHAAyH;IACzH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wGAAwG;IACxG,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,qGAAqG;IACrG,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,mFAAmF;AACnF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE;QACT,6BAA6B;QAC7B,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,gFAAgF;QAChF,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,6BAA6B;QAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,8EAA8E;QAC9E,QAAQ,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAA;QACjC,iFAAiF;QACjF,iBAAiB,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,CAAA;QACpD,sEAAsE;QACtE,SAAS,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
|
package/lib/types/errors.d.ts
CHANGED
|
@@ -4,8 +4,24 @@
|
|
|
4
4
|
* that never contains credentials or raw upstream stack traces.
|
|
5
5
|
* @module dsh-vision-toolkit/errors
|
|
6
6
|
*/
|
|
7
|
-
/**
|
|
8
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Discriminant tag for every Vision Toolkit failure.
|
|
9
|
+
*
|
|
10
|
+
* The remote vision-provider failures are split by a machine-routable taxonomy
|
|
11
|
+
* so the failover loop can decide, per error, whether to retry the SAME
|
|
12
|
+
* provider or advance to the next one:
|
|
13
|
+
*
|
|
14
|
+
* - `auth` 401/403 — credential is wrong or unauthorized. Never retry.
|
|
15
|
+
* - `quota` 402 — account out of quota/unpaid. Never retry.
|
|
16
|
+
* - `rate_limit` 429 — throttled. Park and revisit, never retry in place.
|
|
17
|
+
* - `server` 5xx — transient provider fault. Worth a same-provider retry.
|
|
18
|
+
* - `network` connection refused / DNS / socket — transient. Worth a retry.
|
|
19
|
+
* - `region` provider unavailable in this region. Never retry.
|
|
20
|
+
* - `tos` rejected by content/safety policy. Never retry.
|
|
21
|
+
* - `invalid_request` 400/404/422 — bad request or unknown model. Never retry.
|
|
22
|
+
* - `service` fallback for unclassifiable remote failures. Never retry.
|
|
23
|
+
*/
|
|
24
|
+
export declare const VISION_TOOLKIT_ERROR_CODES: readonly ["config", "input", "capacity", "auth", "quota", "rate_limit", "server", "network", "region", "tos", "invalid_request", "service", "runtime", "output", "timeout", "cancelled", "path"];
|
|
9
25
|
/** Stable machine-readable error category. */
|
|
10
26
|
export type VisionToolkitErrorCode = typeof VISION_TOOLKIT_ERROR_CODES[number];
|
|
11
27
|
/** Error with a stable category; safe to surface to the model. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,0BAA0B,kMAkB7B,CAAA;AAEV,8CAA8C;AAC9C,MAAM,MAAM,sBAAsB,GAAG,OAAO,0BAA0B,CAAC,MAAM,CAAC,CAAA;AAE9E,kEAAkE;AAClE,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAA;gBAEzB,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAKzF;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAO3E;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAGvG"}
|
|
@@ -31,7 +31,7 @@ export interface EvidencePersistence {
|
|
|
31
31
|
read(key: EvidenceCacheKey): Promise<ContentBlock | undefined>;
|
|
32
32
|
write(key: EvidenceCacheKey, block: ContentBlock): Promise<void>;
|
|
33
33
|
}
|
|
34
|
-
/** Fingerprint every runtime setting that can change
|
|
34
|
+
/** Fingerprint every runtime setting that can change generated evidence or its embedded path. */
|
|
35
35
|
export declare function evidenceRuntimeFingerprint(config: ResolvedVisionToolkitConfig, credentialSha256?: string, sslVerify?: string): string;
|
|
36
36
|
/** Build a non-secret cache key from the Session, attachment, focus, and runtime contract. */
|
|
37
37
|
export declare function createEvidenceCacheKey(input: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evidence-cache.d.ts","sourceRoot":"","sources":["../../src/evidence-cache.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAGnF,OAAO,KAAK,EAAE,OAAO,EAAS,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAKxD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAG9D,+EAA+E;AAC/E,eAAO,MAAM,yBAAyB,IAAI,CAAA;AA0B1C,KAAK,iBAAiB,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,mBAAmB,EAAE,OAAO,MAAM,CAAA;CAAE,CAAA;AAEjF,uFAAuF;AACvF,eAAO,MAAM,uBAAuB;;;;;;CASlC,CAAA;AAEF,yFAAyF;AACzF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAC7B;AAED,yEAAyE;AACzE,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAA;IAC9D,KAAK,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACjE;AAMD,
|
|
1
|
+
{"version":3,"file":"evidence-cache.d.ts","sourceRoot":"","sources":["../../src/evidence-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exposure.d.ts","sourceRoot":"","sources":["../../src/exposure.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAIlD,qFAAqF;AACrF,eAAO,MAAM,uBAAuB,4BAA4B,CAAA;AAEhE,sEAAsE;AACtE,eAAO,MAAM,8BAA8B,iBAAiB,CAAA;AAE5D,gFAAgF;AAChF,eAAO,MAAM,gCAAgC,gFAAgF,CAAA;AAS7H,4DAA4D;AAC5D,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB;
|
|
1
|
+
{"version":3,"file":"exposure.d.ts","sourceRoot":"","sources":["../../src/exposure.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAIlD,qFAAqF;AACrF,eAAO,MAAM,uBAAuB,4BAA4B,CAAA;AAEhE,sEAAsE;AACtE,eAAO,MAAM,8BAA8B,iBAAiB,CAAA;AAE5D,gFAAgF;AAChF,eAAO,MAAM,gCAAgC,gFAAgF,CAAA;AAS7H,4DAA4D;AAC5D,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB;AA4FD;;;;;GAKG;AACH,qBAAa,kBAAkB;IAU3B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAV9B,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IACzD,OAAO,CAAC,SAAS,CAAQ;IAEzB;;;OAGG;gBAEgB,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,MAAM,cAAc,EAAE;IA6BtD,uEAAuE;IACvE,OAAO,IAAI,MAAM,IAAI;IAoCrB,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,QAAQ;IA0BhB,6EAA6E;IAC7E,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,6BAA6B;IAQrC,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,YAAY;CAIrB"}
|
|
@@ -52,9 +52,10 @@ export declare function abortableWait<T>(promise: Promise<T>, signal: AbortSigna
|
|
|
52
52
|
* @param signal - the caller's cancellation for this conversion pass.
|
|
53
53
|
* @param sessionId - the live Session identity, when available.
|
|
54
54
|
* @param runtimeHash - stable fingerprint of the vision provider and evidence runtime.
|
|
55
|
+
* @param storageDir - optional shared plugin storage root.
|
|
55
56
|
* @returns the rewritten message list.
|
|
56
57
|
*/
|
|
57
|
-
export declare function convertImagesToEvidence(ctx: Context, runtime: () => CapturedEvidenceRuntime | undefined, cache: EvidenceCache, messages: readonly Message[], signal?: AbortSignal, sessionId?: string, runtimeHash?: string): Promise<Message[]>;
|
|
58
|
+
export declare function convertImagesToEvidence(ctx: Context, runtime: () => CapturedEvidenceRuntime | undefined, cache: EvidenceCache, messages: readonly Message[], signal?: AbortSignal, sessionId?: string, runtimeHash?: string, storageDir?: string): Promise<Message[]>;
|
|
58
59
|
/**
|
|
59
60
|
* The adapter behind one variant route: model metadata declares image input,
|
|
60
61
|
* and every stream rewrites image blocks before delegating to the upstream
|
|
@@ -69,7 +70,8 @@ export declare class ImageInputVariantAdapter extends LlmAdapter {
|
|
|
69
70
|
private readonly runtime;
|
|
70
71
|
private readonly cache;
|
|
71
72
|
private readonly hidden;
|
|
72
|
-
|
|
73
|
+
private readonly startupStorageDirectory;
|
|
74
|
+
constructor(ctx: Context, llm: LlmService, upstream: string, upstreamName: string, runtime: () => VisionToolkitRuntime | undefined, cache: EvidenceCache, hidden?: () => boolean, startupStorageDirectory?: () => string | undefined);
|
|
73
75
|
providerInfo(provider: string): LlmProviderInfo;
|
|
74
76
|
providerRetryPolicy(_provider: string): ResolvedRetryPolicy;
|
|
75
77
|
listModels(provider: string): Promise<readonly LlmModelInfo[]>;
|
|
@@ -142,7 +144,7 @@ export declare function createPasteTakeoverResolver(ctx: Context, getConfig: ()
|
|
|
142
144
|
* @param getRuntime - the currently serving Vision Toolkit runtime, if ready.
|
|
143
145
|
* @returns the disposer and a manual re-sweep trigger (settings changes).
|
|
144
146
|
*/
|
|
145
|
-
export declare function installImageInputVariants(ctx: Context, getConfig: () => ResolvedVisionToolkitConfig, getRuntime: () => VisionToolkitRuntime | undefined): {
|
|
147
|
+
export declare function installImageInputVariants(ctx: Context, getConfig: () => ResolvedVisionToolkitConfig, getRuntime: () => VisionToolkitRuntime | undefined, getStartupStorageDirectory?: () => string | undefined): {
|
|
146
148
|
dispose: () => void;
|
|
147
149
|
reconcile: () => void;
|
|
148
150
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-input-variants.d.ts","sourceRoot":"","sources":["../../src/image-input-variants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,UAAU,EAAE,EAAE,UAAU,EAAmB,MAAM,sBAAsB,CAAA;AAC9E,OAAO,KAAK,EAEV,eAAe,EAEf,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,OAAO,EACP,mBAAmB,EACnB,WAAW,EACZ,MAAM,sBAAsB,CAAA;AAI7B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,EAEL,aAAa,EAEd,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAoB,KAAK,mBAAmB,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACjG,OAAO,KAAK,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAEjF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,uEAAuE;AACvE,eAAO,MAAM,uBAAuB,oBAAoB,CAAA;AAExD,+EAA+E;AAC/E,eAAO,MAAM,cAAc,sBAAsB,CAAA;AA8CjD,gEAAgE;AAChE,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAcD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,GAAG,OAAO,CAEpF;AAED,iGAAiG;AACjG,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"image-input-variants.d.ts","sourceRoot":"","sources":["../../src/image-input-variants.ts"],"names":[],"mappings":"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"}
|
package/lib/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAKlD,OAAO,EACL,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAKlD,OAAO,EACL,MAAM,EAKN,KAAK,mBAAmB,EACzB,MAAM,aAAa,CAAA;AAWpB,eAAO,MAAM,IAAI,gCAAgC,CAAA;AAEjD,OAAO,EAAE,MAAM,EAAE,CAAA;AAEjB,eAAO,MAAM,MAAM,UAAqF,CAAA;AAExG,qFAAqF;AACrF,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,mBAAwB,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CA6J/F"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal S3-compatible object storage bridge used by the URL image-transfer
|
|
3
|
+
* path. It uploads one image, resolves a model-reachable URL (a configured
|
|
4
|
+
* public base URL or a temporary presigned URL), and deletes the object after
|
|
5
|
+
* the vision operation settles. It also provides the Settings "test storage"
|
|
6
|
+
* probe (upload → head → delete).
|
|
7
|
+
* @module dsh-vision-toolkit/object-storage
|
|
8
|
+
*/
|
|
9
|
+
/** Fully resolved object-storage connection settings (secrets already filled). */
|
|
10
|
+
export interface ObjectStorageSettings {
|
|
11
|
+
endpoint: string;
|
|
12
|
+
bucket: string;
|
|
13
|
+
accessKeyId: string;
|
|
14
|
+
secretAccessKey: string;
|
|
15
|
+
publicBase?: string;
|
|
16
|
+
}
|
|
17
|
+
/** Whether the required connection fields are present enough to attempt a request. */
|
|
18
|
+
export declare function isObjectStorageConfigured(settings: ObjectStorageSettings): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* One upload's worth of bookkeeping: the object key and the URL handed to the
|
|
21
|
+
* model. The key is returned to the runtime so it can delete the object after
|
|
22
|
+
* the operation settles.
|
|
23
|
+
*/
|
|
24
|
+
export interface UploadedObject {
|
|
25
|
+
key: string;
|
|
26
|
+
url: string;
|
|
27
|
+
}
|
|
28
|
+
/** A small S3-compatible object store bound to one bucket and credential. */
|
|
29
|
+
export declare class ObjectStorageClient {
|
|
30
|
+
private readonly settings;
|
|
31
|
+
private client?;
|
|
32
|
+
constructor(settings: ObjectStorageSettings);
|
|
33
|
+
private requireClient;
|
|
34
|
+
/** Upload one local image file and resolve its model-reachable URL. */
|
|
35
|
+
uploadImage(localPath: string, contentType: string): Promise<UploadedObject>;
|
|
36
|
+
/** Resolve the model-reachable URL: public base URL when set, else presigned. */
|
|
37
|
+
urlFor(key: string): Promise<string>;
|
|
38
|
+
/** Delete one uploaded object; failures are logged, never fatal to the call. */
|
|
39
|
+
deleteObject(key: string): Promise<void>;
|
|
40
|
+
/** Settings "test storage" probe: upload a tiny object, head it, then delete it. */
|
|
41
|
+
test(): Promise<{
|
|
42
|
+
detail: string;
|
|
43
|
+
}>;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Split a credential value of the form `accessKeyId:secretAccessKey` into its
|
|
47
|
+
* two parts. The access key id never contains a colon, so splitting on the
|
|
48
|
+
* first colon is safe.
|
|
49
|
+
*/
|
|
50
|
+
export declare function splitObjectStorageCredential(value: string): {
|
|
51
|
+
accessKeyId: string;
|
|
52
|
+
secretAccessKey: string;
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=object-storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object-storage.d.ts","sourceRoot":"","sources":["../../src/object-storage.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAgBH,kFAAkF;AAClF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,sFAAsF;AACtF,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,OAAO,CAKlF;AA2BD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,6EAA6E;AAC7E,qBAAa,mBAAmB;IAGlB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAFrC,OAAO,CAAC,MAAM,CAAC,CAAU;gBAEI,QAAQ,EAAE,qBAAqB;IAE5D,OAAO,CAAC,aAAa;IAKrB,uEAAuE;IACjE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAkBlF,iFAAiF;IAC3E,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAe1C,gFAAgF;IAC1E,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9C,oFAAoF;IAC9E,IAAI,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAuB1C;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAS5G"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/** Plugin-managed storage for images pasted into the DSH Web composer. */
|
|
2
2
|
import type { IncomingMessage, ServerResponse } from 'node:http';
|
|
3
3
|
import type { Context } from '@deepseek-ai/cordis';
|
|
4
4
|
/** Exact route used by the browser paste integration. */
|
|
@@ -55,19 +55,27 @@ export interface PasteRoot {
|
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
57
57
|
* Resolve the managed per-session image directory used by both browser pastes
|
|
58
|
-
* and native attachment bridging.
|
|
59
|
-
*
|
|
58
|
+
* and native attachment bridging. A configured shared storage root receives a
|
|
59
|
+
* stable workspace-specific child, keeping projects isolated without writing
|
|
60
|
+
* plugin files into the project directory.
|
|
60
61
|
*/
|
|
61
|
-
export declare function sessionPasteRoot(ctx: Context, sessionId: string): Promise<PasteRoot>;
|
|
62
|
+
export declare function sessionPasteRoot(ctx: Context, sessionId: string, storageDir?: string): Promise<PasteRoot>;
|
|
63
|
+
export interface PasteStorageGeneration {
|
|
64
|
+
generation: number;
|
|
65
|
+
storageDir?: string;
|
|
66
|
+
}
|
|
62
67
|
/** Runtime limit face kept separate for focused backend tests. */
|
|
63
68
|
export interface PasteImageRuntime {
|
|
64
69
|
maxUploadBytes(): number;
|
|
70
|
+
storageDirectory?(): string | undefined;
|
|
71
|
+
storageGeneration?(): PasteStorageGeneration;
|
|
65
72
|
}
|
|
66
73
|
/** Same-origin, live-Session-bound image upload endpoint. */
|
|
67
74
|
export declare class PastedImageBackend {
|
|
68
75
|
private readonly ctx;
|
|
69
76
|
private readonly runtime;
|
|
70
77
|
constructor(ctx: Context, runtime: PasteImageRuntime);
|
|
78
|
+
private storageGeneration;
|
|
71
79
|
handle(req: IncomingMessage, res: ServerResponse): Promise<void>;
|
|
72
80
|
}
|
|
73
81
|
//# sourceMappingURL=paste-images.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paste-images.d.ts","sourceRoot":"","sources":["../../src/paste-images.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"paste-images.d.ts","sourceRoot":"","sources":["../../src/paste-images.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAK1E,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAEhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAKlD,yDAAyD;AACzD,eAAO,MAAM,kBAAkB,sCAAsC,CAAA;AAErE;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,sCAAsC,CAAA;AAErE;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAA;IAChB,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAA;IACb,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAA;IACb,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,0EAA0E;AAC1E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,+DAA+D;AAC/D,MAAM,WAAW,YAAY;IAC3B,6FAA6F;IAC7F,QAAQ,EAAE,OAAO,CAAA;IACjB,iGAAiG;IACjG,UAAU,CAAC,EAAE,gBAAgB,CAAA;CAC9B;AAKD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QAAmB,CAAA;AAqErD,0EAA0E;AAC1E,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAiB1E;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAKnE;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;CACpB;AAkBD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,SAAS,CAAC,CAmBpB;AA2DD,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAID,kEAAkE;AAClE,MAAM,WAAW,iBAAiB;IAChC,cAAc,IAAI,MAAM,CAAA;IACxB,gBAAgB,CAAC,IAAI,MAAM,GAAG,SAAS,CAAA;IACvC,iBAAiB,CAAC,IAAI,sBAAsB,CAAA;CAC7C;AAED,6DAA6D;AAC7D,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,iBAAiB;IAG7C,OAAO,CAAC,iBAAiB;IAUnB,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CA+CvE"}
|
package/lib/types/paths.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* link is allowed only when its real target stays inside the fence.
|
|
6
6
|
* @module dsh-vision-toolkit/paths
|
|
7
7
|
*/
|
|
8
|
+
import type { Stats } from 'node:fs';
|
|
8
9
|
/** Supported input image extensions (the upstream client's allowlist). */
|
|
9
10
|
export declare const SUPPORTED_IMAGE_EXTENSIONS: readonly [".png", ".jpg", ".jpeg", ".gif", ".webp"];
|
|
10
11
|
/** Resolved path policy for one tool invocation. */
|
|
@@ -15,9 +16,20 @@ export interface PathPolicy {
|
|
|
15
16
|
tempDir: string;
|
|
16
17
|
/** Real allowed roots: workspace, platform temp, and configured directories. */
|
|
17
18
|
allowedDirs: string[];
|
|
19
|
+
/** Real plugin-managed root containing artifacts and transient files. */
|
|
20
|
+
storageRoot: string;
|
|
18
21
|
/** Real plugin-managed output directory inside the fence. */
|
|
19
22
|
outputDir: string;
|
|
20
23
|
}
|
|
24
|
+
/** Resolved plugin storage for one workspace. */
|
|
25
|
+
export interface WorkspaceStorage {
|
|
26
|
+
/** Real workspace root. */
|
|
27
|
+
workspace: string;
|
|
28
|
+
/** Real plugin-managed root for this workspace. */
|
|
29
|
+
root: string;
|
|
30
|
+
/** Absolute user-visible spelling of the same managed root. */
|
|
31
|
+
visibleRoot: string;
|
|
32
|
+
}
|
|
21
33
|
/** Whether `child` equals or lies under `parent` on the same path root. */
|
|
22
34
|
export declare function isWithin(parent: string, child: string): boolean;
|
|
23
35
|
/** Current platform temporary directory before realpath canonicalization. */
|
|
@@ -28,16 +40,30 @@ export declare function platformTempDirectory(platform?: NodeJS.Platform, enviro
|
|
|
28
40
|
* unchanged, and the normal realpath fence still validates the result.
|
|
29
41
|
*/
|
|
30
42
|
export declare function normalizePlatformTempPath(raw: string, platform?: NodeJS.Platform, tempDirectory?: string): string;
|
|
43
|
+
/** Stable opaque per-user workspace id used below a shared storage root. */
|
|
44
|
+
export declare function workspaceStorageId(workspace: string, userIdentity?: string): string;
|
|
45
|
+
export declare function assertSecureWorkspaceStorage(info: Stats, requested: string): void;
|
|
46
|
+
/** Resolve a shared base and prove every POSIX ancestor is protected from replacement. */
|
|
47
|
+
export declare function assertSecureSharedStorageBase(requested: string): Promise<string>;
|
|
48
|
+
/** Validate and write-probe a configured shared root before Settings activation. */
|
|
49
|
+
export declare function preflightSharedStorageBase(storageDirRaw: string): Promise<string>;
|
|
50
|
+
/**
|
|
51
|
+
* Resolve the plugin-managed root for one workspace. Blank configuration keeps
|
|
52
|
+
* the legacy workspace-local `.dsh-vision-toolkit` directory. A configured
|
|
53
|
+
* shared root receives one stable, automatically generated workspace child.
|
|
54
|
+
*/
|
|
55
|
+
export declare function resolveWorkspaceStorage(workspaceRaw: string, storageDirRaw?: string): Promise<WorkspaceStorage>;
|
|
31
56
|
/**
|
|
32
|
-
* Build the per-invocation path policy:
|
|
33
|
-
*
|
|
34
|
-
*
|
|
57
|
+
* Build the per-invocation path policy: resolve workspace storage, realpath the
|
|
58
|
+
* platform temp directory and allowed directories, and create the artifact
|
|
59
|
+
* directory inside the managed root.
|
|
35
60
|
* @param workspaceRaw - session workspace (or process cwd fallback).
|
|
36
61
|
* @param allowedDirs - configured extra allowed roots.
|
|
37
|
-
* @param
|
|
62
|
+
* @param storageDirRaw - optional shared storage root.
|
|
63
|
+
* @param readableStorageDirs - previously validated shared roots retained for persisted input paths.
|
|
38
64
|
* @returns the resolved policy.
|
|
39
65
|
*/
|
|
40
|
-
export declare function createPathPolicy(workspaceRaw: string, allowedDirs: readonly string[],
|
|
66
|
+
export declare function createPathPolicy(workspaceRaw: string, allowedDirs: readonly string[], storageDirRaw?: string, readableStorageDirs?: readonly string[]): Promise<PathPolicy>;
|
|
41
67
|
/**
|
|
42
68
|
* Validate one input image path and return its fence-checked absolute path
|
|
43
69
|
* and byte size.
|