@anionex/dsh-vision-toolkit 0.1.39 → 0.1.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/README.i18n.yaml +2 -2
  2. package/README.md +10 -2
  3. package/README.zh.md +10 -2
  4. package/assets/logo_eapi_dark.png +0 -0
  5. package/docs/aihubmix-gemini-vision.i18n.yaml +2 -2
  6. package/docs/aihubmix-gemini-vision.md +2 -2
  7. package/docs/aihubmix-gemini-vision.zh.md +2 -2
  8. package/docs/requirements-traceability/README.i18n.yaml +2 -2
  9. package/docs/requirements-traceability/README.md +1 -1
  10. package/docs/requirements-traceability/README.zh.md +1 -1
  11. package/lib/artifact-access.js +20 -2
  12. package/lib/artifact-access.js.map +1 -1
  13. package/lib/client.js +11 -3
  14. package/lib/client.js.map +1 -1
  15. package/lib/config.js +46 -2
  16. package/lib/config.js.map +1 -1
  17. package/lib/evidence-cache.js +2 -1
  18. package/lib/evidence-cache.js.map +1 -1
  19. package/lib/image-input-variants.js +61 -26
  20. package/lib/image-input-variants.js.map +1 -1
  21. package/lib/index.js +53 -6
  22. package/lib/index.js.map +1 -1
  23. package/lib/paste-images.js +67 -19
  24. package/lib/paste-images.js.map +1 -1
  25. package/lib/paths.js +214 -28
  26. package/lib/paths.js.map +1 -1
  27. package/lib/runtime-install.js +147 -4
  28. package/lib/runtime-install.js.map +1 -1
  29. package/lib/runtime-manager.js +76 -10
  30. package/lib/runtime-manager.js.map +1 -1
  31. package/lib/runtime.js +16 -10
  32. package/lib/runtime.js.map +1 -1
  33. package/lib/storage-history.js +154 -0
  34. package/lib/storage-history.js.map +1 -0
  35. package/lib/types/artifact-access.d.ts.map +1 -1
  36. package/lib/types/client/index.d.ts +6 -1
  37. package/lib/types/client/index.d.ts.map +1 -1
  38. package/lib/types/config.d.ts +24 -1
  39. package/lib/types/config.d.ts.map +1 -1
  40. package/lib/types/evidence-cache.d.ts +1 -1
  41. package/lib/types/evidence-cache.d.ts.map +1 -1
  42. package/lib/types/image-input-variants.d.ts +7 -4
  43. package/lib/types/image-input-variants.d.ts.map +1 -1
  44. package/lib/types/index.d.ts.map +1 -1
  45. package/lib/types/paste-images.d.ts +12 -4
  46. package/lib/types/paste-images.d.ts.map +1 -1
  47. package/lib/types/paths.d.ts +31 -5
  48. package/lib/types/paths.d.ts.map +1 -1
  49. package/lib/types/runtime-install.d.ts +8 -0
  50. package/lib/types/runtime-install.d.ts.map +1 -1
  51. package/lib/types/runtime-manager.d.ts +28 -4
  52. package/lib/types/runtime-manager.d.ts.map +1 -1
  53. package/lib/types/runtime.d.ts +4 -1
  54. package/lib/types/runtime.d.ts.map +1 -1
  55. package/lib/types/storage-history.d.ts +63 -0
  56. package/lib/types/storage-history.d.ts.map +1 -0
  57. package/lib/types/web.d.ts.map +1 -1
  58. package/lib/web.js +9 -3
  59. package/lib/web.js.map +1 -1
  60. package/package.json +1 -1
  61. package/src/artifact-access.ts +22 -2
  62. package/src/client/index.tsx +18 -3
  63. package/src/config.ts +76 -2
  64. package/src/evidence-cache.ts +2 -1
  65. package/src/image-input-variants.ts +61 -20
  66. package/src/index.ts +65 -6
  67. package/src/paste-images.ts +81 -19
  68. package/src/paths.ts +249 -28
  69. package/src/runtime-install.ts +168 -5
  70. package/src/runtime-manager.ts +93 -10
  71. package/src/runtime.ts +15 -9
  72. package/src/storage-history.ts +172 -0
  73. package/src/web.ts +9 -2
@@ -1 +1 @@
1
- {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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"}
package/lib/web.js CHANGED
@@ -8,7 +8,7 @@ import { credentialRef } from '@deepseek-ai/dsh-credentials';
8
8
  import { SettingsConflictError } from '@deepseek-ai/dsh-settings';
9
9
  import { ARTIFACT_ROUTE_PREFIX } from "./artifact-access.js";
10
10
  import { PASTE_IMAGES_ROUTE, PASTE_POLICY_ROUTE, } from "./paste-images.js";
11
- import { resolveConfig, isBuiltInFreeVisionProvider, VISION_TOOLKIT_SETTINGS_NAMESPACE, } from "./config.js";
11
+ import { resolveConfig, retainedStorageHistory, isBuiltInFreeVisionProvider, VISION_TOOLKIT_SETTINGS_NAMESPACE, } from "./config.js";
12
12
  import { PluginUpdateError, VisionToolkitPluginUpdateService, } from "./plugin-update.js";
13
13
  import { PLUGIN_VERSION, UPSTREAM_COMMIT, UPSTREAM_REPOSITORY, UPSTREAM_VERSION } from "./version.js";
14
14
  import { sameOriginPost, sameOriginRequest } from "./web-request.js";
@@ -184,15 +184,21 @@ export class VisionToolkitWebBackend {
184
184
  async save(request) {
185
185
  if (!this.ctx.settings.writable)
186
186
  throw new Error('settings provider is read-only');
187
+ const current = resolveConfig(descriptorOf(this.ctx).value);
188
+ const storageHistory = retainedStorageHistory(request.value, current);
189
+ const value = {
190
+ ...request.value,
191
+ ...(storageHistory.length === 0 ? {} : { storageHistory }),
192
+ };
187
193
  let candidate;
188
194
  try {
189
- candidate = await this.manager.prepareCandidate(request.value);
195
+ candidate = await this.manager.prepareCandidate(value);
190
196
  }
191
197
  catch (error) {
192
198
  this.manager.recordFailure(error);
193
199
  throw error;
194
200
  }
195
- await this.ctx.settings.replace(VISION_TOOLKIT_SETTINGS_NAMESPACE, request.value, request.expectedRevision);
201
+ await this.ctx.settings.replace(VISION_TOOLKIT_SETTINGS_NAMESPACE, value, request.expectedRevision);
196
202
  this.manager.activateCandidate(candidate);
197
203
  this.onRuntimeActivated();
198
204
  return this.snapshot();
package/lib/web.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anionex/dsh-vision-toolkit",
3
- "version": "0.1.39",
3
+ "version": "0.1.40",
4
4
  "description": "DeepSeek Harness-native integration for agent-vision-toolkit: image Q&A, OCR, grounding, UI restoration, pixel diff, Artifacts, and Web UI.",
5
5
  "keywords": [
6
6
  "deepseek",
@@ -14,7 +14,7 @@ import type { IncomingMessage, ServerResponse } from 'node:http'
14
14
  import { basename, dirname, extname, isAbsolute, join, relative, sep } from 'node:path'
15
15
  import type { JsonValue } from '@deepseek-ai/dsh-tools'
16
16
  import type { ArtifactDescriptor, ArtifactKind } from './artifacts.ts'
17
- import { isWithin } from './paths.ts'
17
+ import { assertSecureSharedStorageBase, assertSecureWorkspaceStorage, isWithin } from './paths.ts'
18
18
  import { visionToolkitStateRoot } from './runtime-install.ts'
19
19
 
20
20
  /** Prefix owned by the plugin's artifact capability route. */
@@ -47,6 +47,7 @@ interface ArtifactPresentationEnvelope {
47
47
  const KEY_BYTES = 32
48
48
  const TOKEN_PATTERN = /^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/
49
49
  const MAX_TOKEN_LENGTH = 16 * 1024
50
+ const SHARED_WORKSPACE_STORAGE_NAME = /^[a-f0-9]{20}$/
50
51
 
51
52
  const MIME_BY_EXTENSION = new Map<string, { mimeType: string; kind: ArtifactKind }>([
52
53
  ['.png', { mimeType: 'image/png', kind: 'image' }],
@@ -161,13 +162,31 @@ export async function prepareArtifactAccessKey(root = visionToolkitStateRoot()):
161
162
  function artifactRoot(path: string): string | undefined {
162
163
  let current = dirname(path)
163
164
  while (true) {
164
- if (basename(current) === 'artifacts' && basename(dirname(current)) === '.dsh-vision-toolkit') return current
165
+ const storageName = basename(dirname(current))
166
+ if (
167
+ basename(current) === 'artifacts'
168
+ && (storageName === '.dsh-vision-toolkit' || SHARED_WORKSPACE_STORAGE_NAME.test(storageName))
169
+ ) return current
165
170
  const parent = dirname(current)
166
171
  if (parent === current) return undefined
167
172
  current = parent
168
173
  }
169
174
  }
170
175
 
176
+ async function assertManagedArtifactRoot(root: string): Promise<void> {
177
+ const storageRoot = dirname(root)
178
+ if (basename(storageRoot) === '.dsh-vision-toolkit') return
179
+ if (!SHARED_WORKSPACE_STORAGE_NAME.test(basename(storageRoot))) {
180
+ throw new Error('artifact root is outside a managed storage layout')
181
+ }
182
+ const storageInfo = await lstat(storageRoot)
183
+ if (storageInfo.isSymbolicLink() || !storageInfo.isDirectory()) {
184
+ throw new Error('shared workspace storage is not a real directory')
185
+ }
186
+ assertSecureWorkspaceStorage(storageInfo, storageRoot)
187
+ await assertSecureSharedStorageBase(dirname(storageRoot))
188
+ }
189
+
171
190
  async function assertNoSymlinkPath(root: string, path: string): Promise<void> {
172
191
  const rootInfo = await lstat(root)
173
192
  if (rootInfo.isSymbolicLink() || !rootInfo.isDirectory()) throw new Error('artifact root is not a real directory')
@@ -198,6 +217,7 @@ function sameFile(opened: Stats, current: Stats): boolean {
198
217
  async function openVerifiedArtifact(payload: ArtifactTokenPayload): Promise<{ handle: FileHandle; info: Stats }> {
199
218
  const root = artifactRoot(payload.path)
200
219
  if (root === undefined) throw new Error('artifact path is outside the managed delivery tree')
220
+ await assertManagedArtifactRoot(root)
201
221
  await assertNoSymlinkPath(root, payload.path)
202
222
  const noFollow = typeof fsConstants.O_NOFOLLOW === 'number' ? fsConstants.O_NOFOLLOW : 0
203
223
  const handle = await open(payload.path, fsConstants.O_RDONLY | noFollow)
@@ -67,6 +67,9 @@ const en = {
67
67
  runtimeMode: 'Runtime mode',
68
68
  toolkitPath: 'Pinned checkout path',
69
69
  python: 'Python override',
70
+ storage: 'Local files',
71
+ storageDir: 'Default save directory',
72
+ 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.',
70
73
  allowedDirs: 'Additional allowed directories',
71
74
  allowedDirsHint: 'One path per line. The session workspace is always allowed.',
72
75
  save: 'Save and apply',
@@ -89,7 +92,7 @@ const en = {
89
92
  connectionHint: 'The API connection test only queries GET /models. The vision model test sends the bundled diagnostic image and verifies one real multimodal request.',
90
93
  saveBeforeTesting: 'Save service changes before testing the connection.',
91
94
  advanced: 'Advanced settings',
92
- advancedHint: 'Credential name, provider compatibility, output language, resource limits, runtime source, Python, and additional readable directories.',
95
+ advancedHint: 'Credential name, provider compatibility, output language, resource limits, default save directory, runtime source, Python, and additional readable directories.',
93
96
  imageInput: 'Image input',
94
97
  hiddenVariants: 'Transparent variant routing',
95
98
  hiddenVariantsLabel: 'Keep the original model names and enable images automatically',
@@ -255,6 +258,9 @@ const zh: Record<LocaleKey, string> = {
255
258
  runtimeMode: '环境来源',
256
259
  toolkitPath: 'agent-vision-toolkit 目录',
257
260
  python: 'Python 解释器(可选)',
261
+ storage: '本地文件',
262
+ storageDir: '默认保存目录',
263
+ storageDirHint: '留空时继续在各工作区创建 .dsh-vision-toolkit。在 POSIX 系统上填写绝对路径共享根目录(例如 /tmp/dsh-vision-toolkit)后,产物、粘贴图片和缓存会保存到自动生成的当前用户、工作区专属子目录中。Windows 共享目录会保持禁用,直到能够安全校验 ACL 权限。',
258
264
  allowedDirs: '允许读取的其他目录',
259
265
  allowedDirsHint: '每行填写一个目录。当前会话的工作目录始终可以读取,无需重复填写。',
260
266
  save: '保存设置',
@@ -277,7 +283,7 @@ const zh: Record<LocaleKey, string> = {
277
283
  connectionHint: '“测试 API 连接”只请求 GET /models;“测试视觉模型”会发送插件自带的诊断图片,验证一次真实多模态调用。',
278
284
  saveBeforeTesting: '修改服务配置后,请先保存,再执行 API 或视觉模型测试。',
279
285
  advanced: '高级设置',
280
- advancedHint: '凭据名称、服务兼容参数、结果语言、资源限制、运行环境来源、Python 和额外可读目录。一般无需修改。',
286
+ advancedHint: '凭据名称、服务兼容参数、结果语言、资源限制、默认保存目录、运行环境来源、Python 和额外可读目录。一般无需修改。',
281
287
  imageInput: '图片输入',
282
288
  hiddenVariants: '透明变体路由',
283
289
  hiddenVariantsLabel: '保留原模型名并自动启用图片能力',
@@ -478,6 +484,8 @@ interface SettingsValue {
478
484
  maxImagePixels?: number
479
485
  concurrency?: number
480
486
  runtime?: { mode?: 'managed' | 'external'; agentVisionToolkitPath?: string; python?: string }
487
+ storageDir?: string
488
+ storageHistory?: string[]
481
489
  allowedDirs?: string[]
482
490
  imageInputVariants?: {
483
491
  enabled?: boolean
@@ -1085,6 +1093,7 @@ interface Draft {
1085
1093
  runtimeMode: 'managed' | 'external'
1086
1094
  toolkitPath: string
1087
1095
  python: string
1096
+ storageDir: string
1088
1097
  allowedDirs: string
1089
1098
  hiddenVariants: boolean
1090
1099
  variantEnabled: boolean
@@ -1108,6 +1117,7 @@ function draftOf(value: SettingsValue): Draft {
1108
1117
  runtimeMode: value.runtime?.mode ?? 'managed',
1109
1118
  toolkitPath: value.runtime?.agentVisionToolkitPath ?? '',
1110
1119
  python: value.runtime?.python ?? '',
1120
+ storageDir: value.storageDir ?? '',
1111
1121
  allowedDirs: (value.allowedDirs ?? []).join('\n'),
1112
1122
  hiddenVariants: value.imageInputVariants?.hidden ?? true,
1113
1123
  variantEnabled: value.imageInputVariants?.enabled ?? true,
@@ -1152,6 +1162,7 @@ function valueOf(draft: Draft, t: Translate): SettingsValue {
1152
1162
  ...(draft.runtimeMode === 'external' ? { agentVisionToolkitPath: draft.toolkitPath.trim() } : {}),
1153
1163
  ...(draft.python.trim().length === 0 ? {} : { python: draft.python.trim() }),
1154
1164
  },
1165
+ ...(draft.storageDir.trim().length === 0 ? {} : { storageDir: draft.storageDir.trim() }),
1155
1166
  allowedDirs: draft.allowedDirs.split(/\r?\n/).map(entry => entry.trim()).filter(Boolean),
1156
1167
  imageInputVariants: {
1157
1168
  ...(draft.variantEnabled ? {} : { enabled: false }),
@@ -1463,11 +1474,15 @@ function LoadedSettings({ controller, t }: SettingsInjected) {
1463
1474
 
1464
1475
  <section className="dvt-panel"><div className="dvt-panel-title"><h3>{t('imageInput')}</h3></div><label className="dvt-check"><input type="checkbox" checked={draft.hiddenVariants} disabled={!snapshot.writable || busy} onChange={(event) => { update('hiddenVariants', event.target.checked) }} /><span>{t('hiddenVariantsLabel')}</span><small>{t('hiddenVariantsHint')}</small></label></section>
1465
1476
 
1477
+ <section className="dvt-panel"><div className="dvt-panel-title"><h3>{t('storage')}</h3></div><div className="dvt-form-grid">
1478
+ <Field label={t('storageDir')} hint={t('storageDirHint')}><Input aria-label={t('storageDir')} placeholder="/tmp/dsh-vision-toolkit" value={draft.storageDir} onChange={(event) => { update('storageDir', event.target.value) }} /></Field>
1479
+ <Field label={t('allowedDirs')} hint={t('allowedDirsHint')}><textarea rows={3} value={draft.allowedDirs} onChange={(event) => { update('allowedDirs', event.target.value) }} /></Field>
1480
+ </div></section>
1481
+
1466
1482
  <section className="dvt-panel"><div className="dvt-panel-title"><h3>{t('runtime')}</h3><span className={`dvt-badge ${snapshot.runtime.ready ? 'ok' : 'error'}`}>{snapshot.runtime.ready ? snapshot.runtime.upstream?.source === 'managed' ? t('runtimeManaged') : snapshot.runtime.upstream?.source === 'external' ? t('runtimeExternal') : t('runtimeReady') : t('runtimeUnavailable')}</span></div><div className="dvt-form-grid">
1467
1483
  <Field label={t('runtimeMode')}><select value={draft.runtimeMode} onChange={(event) => { update('runtimeMode', event.target.value as 'managed' | 'external') }}><option value="managed">{t('runtimeManaged')}</option><option value="external">{t('runtimeExternal')}</option></select></Field>
1468
1484
  {draft.runtimeMode === 'external' ? <Field label={t('toolkitPath')}><Input value={draft.toolkitPath} onChange={(event) => { update('toolkitPath', event.target.value) }} /></Field> : null}
1469
1485
  <Field label={t('python')}><Input placeholder="python3" value={draft.python} onChange={(event) => { update('python', event.target.value) }} /></Field>
1470
- <Field label={t('allowedDirs')} hint={t('allowedDirsHint')}><textarea rows={3} value={draft.allowedDirs} onChange={(event) => { update('allowedDirs', event.target.value) }} /></Field>
1471
1486
  </div>
1472
1487
  {snapshot.runtime.upstream === undefined ? null : <div className="dvt-runtime-facts"><code>{snapshot.runtime.upstream.path}</code><code>{snapshot.runtime.upstream.python} · {snapshot.runtime.upstream.pythonVersion}</code><code>{snapshot.runtime.upstream.runtimeHome}</code></div>}
1473
1488
  </section>
package/src/config.ts CHANGED
@@ -9,7 +9,7 @@
9
9
  import z from '@deepseek-ai/schemastery'
10
10
  import type Schema from '@deepseek-ai/schemastery'
11
11
  import { credentialRef, type CredentialRef } from '@deepseek-ai/dsh-credentials'
12
- import { settingsNamespace } from '@deepseek-ai/dsh-settings'
12
+ import type { SettingsNamespace } from '@deepseek-ai/dsh-settings'
13
13
  import { VisionToolkitError } from './errors.ts'
14
14
  import {
15
15
  BUILT_IN_FREE_VISION_BASE_URL,
@@ -24,8 +24,21 @@ export {
24
24
  BUILT_IN_FREE_VISION_MODEL,
25
25
  } from './defaults.ts'
26
26
 
27
+ /**
28
+ * The namespace pattern the removed `settingsNamespace` helper enforced.
29
+ * dsh 0.1.2-alpha dropped that export; importing a missing named export is a
30
+ * module-evaluation error that stops the host from booting, so the check is
31
+ * inlined here instead of imported. The namespace is a static string, so no
32
+ * runtime dependency on `@deepseek-ai/dsh-settings` is needed.
33
+ */
34
+ const SETTINGS_NAMESPACE_PATTERN = /^[a-z][a-z0-9-]*$/
35
+
27
36
  /** Settings document namespace owned by this plugin. */
28
- export const VISION_TOOLKIT_SETTINGS_NAMESPACE = settingsNamespace('vision-toolkit')
37
+ export const VISION_TOOLKIT_SETTINGS_NAMESPACE = 'vision-toolkit' as SettingsNamespace
38
+
39
+ if (!SETTINGS_NAMESPACE_PATTERN.test(VISION_TOOLKIT_SETTINGS_NAMESPACE)) {
40
+ throw new TypeError(`settings namespace "${VISION_TOOLKIT_SETTINGS_NAMESPACE}" must match ${String(SETTINGS_NAMESPACE_PATTERN)}`)
41
+ }
29
42
 
30
43
  /** Browser-compatible default shared with the vendored Python client. */
31
44
  export const DEFAULT_VISION_USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36'
@@ -78,6 +91,14 @@ export interface VisionToolkitConfig {
78
91
  /** Optional Python 3.11+ bootstrap/interpreter override. */
79
92
  python?: string
80
93
  }
94
+ /**
95
+ * Optional shared storage root. When set, every workspace gets an isolated,
96
+ * automatically generated child directory below this root instead of writing
97
+ * `.dsh-vision-toolkit` into the workspace.
98
+ */
99
+ storageDir?: string
100
+ /** Internal read-only history used to keep persisted paths valid after storage moves. */
101
+ storageHistory?: string[]
81
102
  /** Extra directories (besides the workspace) inputs may come from. */
82
103
  allowedDirs?: string[]
83
104
  /**
@@ -132,6 +153,8 @@ export const Config: Schema<VisionToolkitConfig> = z.object({
132
153
  agentVisionToolkitPath: z.string(),
133
154
  python: z.string(),
134
155
  }),
156
+ storageDir: z.string(),
157
+ storageHistory: z.array(z.string()).default([]),
135
158
  allowedDirs: z.array(z.string()).default([]),
136
159
  imageInputVariants: z.object({
137
160
  enabled: z.boolean().default(true),
@@ -161,6 +184,8 @@ export interface ResolvedVisionToolkitConfig {
161
184
  agentVisionToolkitPath?: string
162
185
  python?: string
163
186
  }
187
+ storageDir?: string
188
+ storageHistory: string[]
164
189
  allowedDirs: string[]
165
190
  imageInputVariants: {
166
191
  enabled: boolean
@@ -254,6 +279,10 @@ export function resolveConfig(config: VisionToolkitConfig = {}): ResolvedVisionT
254
279
  if (python !== undefined && python.length === 0) {
255
280
  throw new VisionToolkitError('config', 'runtime.python must not be empty')
256
281
  }
282
+ const storageDir = config.storageDir?.trim()
283
+ const storageHistory = [...new Set((config.storageHistory ?? [])
284
+ .map(dir => dir.trim())
285
+ .filter(dir => dir.length > 0 && dir !== storageDir))]
257
286
  const allowedDirs = (config.allowedDirs ?? []).map(dir => dir.trim()).filter(dir => dir.length > 0)
258
287
  const imageInputVariants = config.imageInputVariants ?? {}
259
288
  const variantProviders = (imageInputVariants.providers ?? [])
@@ -271,6 +300,8 @@ export function resolveConfig(config: VisionToolkitConfig = {}): ResolvedVisionT
271
300
  ...(toolkitPath !== undefined ? { agentVisionToolkitPath: toolkitPath } : {}),
272
301
  ...(python !== undefined ? { python } : {}),
273
302
  },
303
+ ...(storageDir === undefined || storageDir.length === 0 ? {} : { storageDir }),
304
+ storageHistory,
274
305
  allowedDirs,
275
306
  imageInputVariants: {
276
307
  enabled: imageInputVariants.enabled ?? true,
@@ -281,6 +312,49 @@ export function resolveConfig(config: VisionToolkitConfig = {}): ResolvedVisionT
281
312
  }
282
313
  }
283
314
 
315
+ /** Merge prior storage roots into the next resolved generation's read-only history. */
316
+ export function retainedStorageHistory(
317
+ next: VisionToolkitConfig,
318
+ previous: VisionToolkitConfig,
319
+ ): string[] {
320
+ const resolvedNext = resolveConfig(next)
321
+ const resolvedPrevious = resolveConfig(previous)
322
+ return [...new Set([
323
+ ...resolvedPrevious.storageHistory,
324
+ ...resolvedNext.storageHistory,
325
+ ...(resolvedPrevious.storageDir === undefined ? [] : [resolvedPrevious.storageDir]),
326
+ ])].filter(storageDir => storageDir !== resolvedNext.storageDir)
327
+ }
328
+
329
+ export interface WatchedSettingsGeneration {
330
+ /** Configuration to activate now; omitted after a successful history writeback. */
331
+ config?: VisionToolkitConfig
332
+ /** Whether the derived history still needs plugin-owned durable persistence. */
333
+ requiresDurableStorageHistory?: boolean
334
+ /** Non-fatal internal-history persistence error. */
335
+ persistenceError?: unknown
336
+ }
337
+
338
+ /** Prepare one live Settings generation without letting internal history writeback block activation. */
339
+ export async function prepareWatchedSettingsGeneration(
340
+ next: VisionToolkitConfig,
341
+ previous: VisionToolkitConfig,
342
+ writable: boolean,
343
+ persistStorageHistory: (storageHistory: string[]) => Promise<void>,
344
+ ): Promise<WatchedSettingsGeneration> {
345
+ const storageHistory = retainedStorageHistory(next, previous)
346
+ if (JSON.stringify(storageHistory) === JSON.stringify(resolveConfig(next).storageHistory)) return { config: next }
347
+
348
+ const config = { ...next, storageHistory }
349
+ if (!writable) return { config, requiresDurableStorageHistory: true }
350
+ try {
351
+ await persistStorageHistory(storageHistory)
352
+ return {}
353
+ } catch (persistenceError) {
354
+ return { config, requiresDurableStorageHistory: true, persistenceError }
355
+ }
356
+ }
357
+
284
358
  /** Whether a resolved provider should use the bundled public key instead of DSH credentials. */
285
359
  export function isBuiltInFreeVisionProvider(provider: ResolvedVisionToolkitConfig['provider']): boolean {
286
360
  return String(provider.credential) === BUILT_IN_FREE_VISION_CREDENTIAL
@@ -73,7 +73,7 @@ function hash(value: string): string {
73
73
  return createHash('sha256').update(value).digest('hex')
74
74
  }
75
75
 
76
- /** Fingerprint every runtime setting that can change the generated description. */
76
+ /** Fingerprint every runtime setting that can change generated evidence or its embedded path. */
77
77
  export function evidenceRuntimeFingerprint(
78
78
  config: ResolvedVisionToolkitConfig,
79
79
  credentialSha256?: string,
@@ -99,6 +99,7 @@ export function evidenceRuntimeFingerprint(
99
99
  maxImageBytes: config.maxImageBytes,
100
100
  maxImagePixels: config.maxImagePixels,
101
101
  runtime: config.runtime,
102
+ storageDir: config.storageDir ?? null,
102
103
  }))
103
104
  }
104
105