dsh-pf-stream 0.2.3 → 0.3.0

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 (80) hide show
  1. package/README.en.md +119 -95
  2. package/README.md +119 -96
  3. package/client.js +1156 -0
  4. package/icon.svg +18 -0
  5. package/lib/asr/catalog.d.ts +74 -0
  6. package/lib/asr/catalog.js +168 -0
  7. package/lib/asr/catalog.js.map +1 -0
  8. package/lib/asr/detect.d.ts +33 -0
  9. package/lib/asr/detect.js +117 -0
  10. package/lib/asr/detect.js.map +1 -0
  11. package/lib/asr/engine.d.ts +43 -0
  12. package/lib/asr/engine.js +143 -0
  13. package/lib/asr/engine.js.map +1 -0
  14. package/lib/asr/install.d.ts +56 -0
  15. package/lib/asr/install.js +317 -0
  16. package/lib/asr/install.js.map +1 -0
  17. package/lib/asr/verify.d.ts +22 -0
  18. package/lib/asr/verify.js +174 -0
  19. package/lib/asr/verify.js.map +1 -0
  20. package/lib/audio/acousticVad.d.ts +45 -0
  21. package/lib/audio/acousticVad.js +179 -0
  22. package/lib/audio/acousticVad.js.map +1 -0
  23. package/lib/audio/asrProviders.d.ts +51 -0
  24. package/lib/audio/asrProviders.js +251 -0
  25. package/lib/audio/asrProviders.js.map +1 -0
  26. package/lib/audio/asrRouter.d.ts +30 -0
  27. package/lib/audio/asrRouter.js +187 -0
  28. package/lib/audio/asrRouter.js.map +1 -0
  29. package/lib/audio/hallucinationGuard.d.ts +18 -0
  30. package/lib/audio/hallucinationGuard.js +97 -0
  31. package/lib/audio/hallucinationGuard.js.map +1 -0
  32. package/lib/audio/sidecar.d.ts +76 -0
  33. package/lib/audio/sidecar.js +362 -0
  34. package/lib/audio/sidecar.js.map +1 -0
  35. package/lib/audio/subtitleExtractor.d.ts +36 -0
  36. package/lib/audio/subtitleExtractor.js +218 -0
  37. package/lib/audio/subtitleExtractor.js.map +1 -0
  38. package/lib/audio/transcriptCache.d.ts +33 -0
  39. package/lib/audio/transcriptCache.js +126 -0
  40. package/lib/audio/transcriptCache.js.map +1 -0
  41. package/lib/audio/types.d.ts +136 -0
  42. package/lib/audio/types.js +10 -0
  43. package/lib/audio/types.js.map +1 -0
  44. package/lib/host/api.d.ts +23 -0
  45. package/lib/host/api.js +286 -0
  46. package/lib/host/api.js.map +1 -0
  47. package/lib/host/runtime.d.ts +167 -0
  48. package/lib/host/runtime.js +335 -0
  49. package/lib/host/runtime.js.map +1 -0
  50. package/lib/index.d.ts +229 -1
  51. package/lib/index.js +103 -2
  52. package/lib/index.js.map +1 -1
  53. package/lib/session/state.js +4 -0
  54. package/lib/session/state.js.map +1 -1
  55. package/lib/stage0/decoder.d.ts +1 -9
  56. package/lib/stage0/decoder.js +15 -45
  57. package/lib/stage0/decoder.js.map +1 -1
  58. package/lib/stage2/stateMachine.d.ts +4 -1
  59. package/lib/stage2/stateMachine.js +7 -1
  60. package/lib/stage2/stateMachine.js.map +1 -1
  61. package/lib/stage3/deterministicRouter.js +3 -3
  62. package/lib/stage3/deterministicRouter.js.map +1 -1
  63. package/lib/stage3/streamSampler.d.ts +9 -2
  64. package/lib/stage3/streamSampler.js +37 -16
  65. package/lib/stage3/streamSampler.js.map +1 -1
  66. package/lib/stage6/history.d.ts +2 -1
  67. package/lib/stage6/history.js +4 -1
  68. package/lib/stage6/history.js.map +1 -1
  69. package/lib/tool/handler.d.ts +9 -0
  70. package/lib/tool/handler.js +33 -3
  71. package/lib/tool/handler.js.map +1 -1
  72. package/lib/tool/schema.js +23 -3
  73. package/lib/tool/schema.js.map +1 -1
  74. package/lib/tool/streamCall.d.ts +11 -0
  75. package/lib/tool/streamCall.js +122 -9
  76. package/lib/tool/streamCall.js.map +1 -1
  77. package/lib/types.d.ts +9 -0
  78. package/locale/en.json +6 -0
  79. package/locale/zh.json +6 -0
  80. package/package.json +17 -2
package/lib/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * dsh-pf-stream — DeepSeek Harness 视频感知插件入口。
2
+ * dsh-pf-stream — DeepSeek Harness 视频理解插件入口。
3
3
  *
4
4
  * 统一 action 路由:动态流式采样(pf_stream)与内建确定性检视
5
5
  * (probe / timestamps / uniform / RoI)共用主工具 dsh-pf-stream。
@@ -11,6 +11,7 @@ import Schema from '@deepseek-ai/schemastery';
11
11
  import type { Context } from '@deepseek-ai/cordis';
12
12
  import type { PfStreamPluginConfig } from './types.js';
13
13
  import { type AttachedImage, type ToolCallArgs, type ToolExec, type ToolResult } from './tool/handler.js';
14
+ import { HostRuntime } from './host/runtime.js';
14
15
  export declare const name = "dsh-pf-stream";
15
16
  export declare const inject: string[];
16
17
  /** 56 MiB = 58,720,256 字节(含 8 MiB Base64 编码膨胀与协议结构预留)。 */
@@ -31,6 +32,119 @@ export declare const Config: Schema<Schemastery.ObjectS<NoInfer<{
31
32
  defaultStreamWindowMs: Schema<number, number, "defined">;
32
33
  streamWorkMaxEdge: Schema<number, number, "defined">;
33
34
  epochCompactionWindow: Schema<number, number, "defined">;
35
+ audio: Schema<Schemastery.ObjectS<NoInfer<{
36
+ mode: Schema<string, string, "defined">;
37
+ extractSubtitles: Schema<boolean, boolean, "defined">;
38
+ assistFocus: Schema<boolean, boolean, "defined">;
39
+ sliceCodec: Schema<string, string, "defined">;
40
+ cacheDir: Schema<string, string, "defined">;
41
+ graceMs: Schema<number, number, "defined">;
42
+ asr: Schema<Schemastery.ObjectS<NoInfer<{
43
+ engine: Schema<string, string, "defined">;
44
+ preset: Schema<string, string, "defined">;
45
+ provider: Schema<string, string, "defined">;
46
+ baseUrl: Schema<string, string, "plain">;
47
+ model: Schema<string, string, "plain">;
48
+ apiKey: Schema<string, string, "plain">;
49
+ language: Schema<string, string, "plain">;
50
+ args: Schema<string[], string[], "plain">;
51
+ local: Schema<Schemastery.ObjectS<NoInfer<{
52
+ binPath: Schema<string, string, "plain">;
53
+ modelPath: Schema<string, string, "plain">;
54
+ modelId: Schema<string, string, "defined">;
55
+ threads: Schema<number, number, "defined">;
56
+ timeoutMs: Schema<number, number, "defined">;
57
+ }>>, Schemastery.ObjectT<NoInfer<{
58
+ binPath: Schema<string, string, "plain">;
59
+ modelPath: Schema<string, string, "plain">;
60
+ modelId: Schema<string, string, "defined">;
61
+ threads: Schema<number, number, "defined">;
62
+ timeoutMs: Schema<number, number, "defined">;
63
+ }>>, "plain">;
64
+ timeoutMs: Schema<number, number, "defined">;
65
+ maxConcurrency: Schema<number, number, "defined">;
66
+ }>>, Schemastery.ObjectT<NoInfer<{
67
+ engine: Schema<string, string, "defined">;
68
+ preset: Schema<string, string, "defined">;
69
+ provider: Schema<string, string, "defined">;
70
+ baseUrl: Schema<string, string, "plain">;
71
+ model: Schema<string, string, "plain">;
72
+ apiKey: Schema<string, string, "plain">;
73
+ language: Schema<string, string, "plain">;
74
+ args: Schema<string[], string[], "plain">;
75
+ local: Schema<Schemastery.ObjectS<NoInfer<{
76
+ binPath: Schema<string, string, "plain">;
77
+ modelPath: Schema<string, string, "plain">;
78
+ modelId: Schema<string, string, "defined">;
79
+ threads: Schema<number, number, "defined">;
80
+ timeoutMs: Schema<number, number, "defined">;
81
+ }>>, Schemastery.ObjectT<NoInfer<{
82
+ binPath: Schema<string, string, "plain">;
83
+ modelPath: Schema<string, string, "plain">;
84
+ modelId: Schema<string, string, "defined">;
85
+ threads: Schema<number, number, "defined">;
86
+ timeoutMs: Schema<number, number, "defined">;
87
+ }>>, "plain">;
88
+ timeoutMs: Schema<number, number, "defined">;
89
+ maxConcurrency: Schema<number, number, "defined">;
90
+ }>>, "plain">;
91
+ }>>, Schemastery.ObjectT<NoInfer<{
92
+ mode: Schema<string, string, "defined">;
93
+ extractSubtitles: Schema<boolean, boolean, "defined">;
94
+ assistFocus: Schema<boolean, boolean, "defined">;
95
+ sliceCodec: Schema<string, string, "defined">;
96
+ cacheDir: Schema<string, string, "defined">;
97
+ graceMs: Schema<number, number, "defined">;
98
+ asr: Schema<Schemastery.ObjectS<NoInfer<{
99
+ engine: Schema<string, string, "defined">;
100
+ preset: Schema<string, string, "defined">;
101
+ provider: Schema<string, string, "defined">;
102
+ baseUrl: Schema<string, string, "plain">;
103
+ model: Schema<string, string, "plain">;
104
+ apiKey: Schema<string, string, "plain">;
105
+ language: Schema<string, string, "plain">;
106
+ args: Schema<string[], string[], "plain">;
107
+ local: Schema<Schemastery.ObjectS<NoInfer<{
108
+ binPath: Schema<string, string, "plain">;
109
+ modelPath: Schema<string, string, "plain">;
110
+ modelId: Schema<string, string, "defined">;
111
+ threads: Schema<number, number, "defined">;
112
+ timeoutMs: Schema<number, number, "defined">;
113
+ }>>, Schemastery.ObjectT<NoInfer<{
114
+ binPath: Schema<string, string, "plain">;
115
+ modelPath: Schema<string, string, "plain">;
116
+ modelId: Schema<string, string, "defined">;
117
+ threads: Schema<number, number, "defined">;
118
+ timeoutMs: Schema<number, number, "defined">;
119
+ }>>, "plain">;
120
+ timeoutMs: Schema<number, number, "defined">;
121
+ maxConcurrency: Schema<number, number, "defined">;
122
+ }>>, Schemastery.ObjectT<NoInfer<{
123
+ engine: Schema<string, string, "defined">;
124
+ preset: Schema<string, string, "defined">;
125
+ provider: Schema<string, string, "defined">;
126
+ baseUrl: Schema<string, string, "plain">;
127
+ model: Schema<string, string, "plain">;
128
+ apiKey: Schema<string, string, "plain">;
129
+ language: Schema<string, string, "plain">;
130
+ args: Schema<string[], string[], "plain">;
131
+ local: Schema<Schemastery.ObjectS<NoInfer<{
132
+ binPath: Schema<string, string, "plain">;
133
+ modelPath: Schema<string, string, "plain">;
134
+ modelId: Schema<string, string, "defined">;
135
+ threads: Schema<number, number, "defined">;
136
+ timeoutMs: Schema<number, number, "defined">;
137
+ }>>, Schemastery.ObjectT<NoInfer<{
138
+ binPath: Schema<string, string, "plain">;
139
+ modelPath: Schema<string, string, "plain">;
140
+ modelId: Schema<string, string, "defined">;
141
+ threads: Schema<number, number, "defined">;
142
+ timeoutMs: Schema<number, number, "defined">;
143
+ }>>, "plain">;
144
+ timeoutMs: Schema<number, number, "defined">;
145
+ maxConcurrency: Schema<number, number, "defined">;
146
+ }>>, "plain">;
147
+ }>>, "plain">;
34
148
  meteringProfile: Schema<Schemastery.ObjectS<NoInfer<{
35
149
  superpixelPx: Schema<42, 42, "plain">;
36
150
  rounding: Schema<"ceil", "ceil", "plain">;
@@ -62,6 +176,119 @@ export declare const Config: Schema<Schemastery.ObjectS<NoInfer<{
62
176
  defaultStreamWindowMs: Schema<number, number, "defined">;
63
177
  streamWorkMaxEdge: Schema<number, number, "defined">;
64
178
  epochCompactionWindow: Schema<number, number, "defined">;
179
+ audio: Schema<Schemastery.ObjectS<NoInfer<{
180
+ mode: Schema<string, string, "defined">;
181
+ extractSubtitles: Schema<boolean, boolean, "defined">;
182
+ assistFocus: Schema<boolean, boolean, "defined">;
183
+ sliceCodec: Schema<string, string, "defined">;
184
+ cacheDir: Schema<string, string, "defined">;
185
+ graceMs: Schema<number, number, "defined">;
186
+ asr: Schema<Schemastery.ObjectS<NoInfer<{
187
+ engine: Schema<string, string, "defined">;
188
+ preset: Schema<string, string, "defined">;
189
+ provider: Schema<string, string, "defined">;
190
+ baseUrl: Schema<string, string, "plain">;
191
+ model: Schema<string, string, "plain">;
192
+ apiKey: Schema<string, string, "plain">;
193
+ language: Schema<string, string, "plain">;
194
+ args: Schema<string[], string[], "plain">;
195
+ local: Schema<Schemastery.ObjectS<NoInfer<{
196
+ binPath: Schema<string, string, "plain">;
197
+ modelPath: Schema<string, string, "plain">;
198
+ modelId: Schema<string, string, "defined">;
199
+ threads: Schema<number, number, "defined">;
200
+ timeoutMs: Schema<number, number, "defined">;
201
+ }>>, Schemastery.ObjectT<NoInfer<{
202
+ binPath: Schema<string, string, "plain">;
203
+ modelPath: Schema<string, string, "plain">;
204
+ modelId: Schema<string, string, "defined">;
205
+ threads: Schema<number, number, "defined">;
206
+ timeoutMs: Schema<number, number, "defined">;
207
+ }>>, "plain">;
208
+ timeoutMs: Schema<number, number, "defined">;
209
+ maxConcurrency: Schema<number, number, "defined">;
210
+ }>>, Schemastery.ObjectT<NoInfer<{
211
+ engine: Schema<string, string, "defined">;
212
+ preset: Schema<string, string, "defined">;
213
+ provider: Schema<string, string, "defined">;
214
+ baseUrl: Schema<string, string, "plain">;
215
+ model: Schema<string, string, "plain">;
216
+ apiKey: Schema<string, string, "plain">;
217
+ language: Schema<string, string, "plain">;
218
+ args: Schema<string[], string[], "plain">;
219
+ local: Schema<Schemastery.ObjectS<NoInfer<{
220
+ binPath: Schema<string, string, "plain">;
221
+ modelPath: Schema<string, string, "plain">;
222
+ modelId: Schema<string, string, "defined">;
223
+ threads: Schema<number, number, "defined">;
224
+ timeoutMs: Schema<number, number, "defined">;
225
+ }>>, Schemastery.ObjectT<NoInfer<{
226
+ binPath: Schema<string, string, "plain">;
227
+ modelPath: Schema<string, string, "plain">;
228
+ modelId: Schema<string, string, "defined">;
229
+ threads: Schema<number, number, "defined">;
230
+ timeoutMs: Schema<number, number, "defined">;
231
+ }>>, "plain">;
232
+ timeoutMs: Schema<number, number, "defined">;
233
+ maxConcurrency: Schema<number, number, "defined">;
234
+ }>>, "plain">;
235
+ }>>, Schemastery.ObjectT<NoInfer<{
236
+ mode: Schema<string, string, "defined">;
237
+ extractSubtitles: Schema<boolean, boolean, "defined">;
238
+ assistFocus: Schema<boolean, boolean, "defined">;
239
+ sliceCodec: Schema<string, string, "defined">;
240
+ cacheDir: Schema<string, string, "defined">;
241
+ graceMs: Schema<number, number, "defined">;
242
+ asr: Schema<Schemastery.ObjectS<NoInfer<{
243
+ engine: Schema<string, string, "defined">;
244
+ preset: Schema<string, string, "defined">;
245
+ provider: Schema<string, string, "defined">;
246
+ baseUrl: Schema<string, string, "plain">;
247
+ model: Schema<string, string, "plain">;
248
+ apiKey: Schema<string, string, "plain">;
249
+ language: Schema<string, string, "plain">;
250
+ args: Schema<string[], string[], "plain">;
251
+ local: Schema<Schemastery.ObjectS<NoInfer<{
252
+ binPath: Schema<string, string, "plain">;
253
+ modelPath: Schema<string, string, "plain">;
254
+ modelId: Schema<string, string, "defined">;
255
+ threads: Schema<number, number, "defined">;
256
+ timeoutMs: Schema<number, number, "defined">;
257
+ }>>, Schemastery.ObjectT<NoInfer<{
258
+ binPath: Schema<string, string, "plain">;
259
+ modelPath: Schema<string, string, "plain">;
260
+ modelId: Schema<string, string, "defined">;
261
+ threads: Schema<number, number, "defined">;
262
+ timeoutMs: Schema<number, number, "defined">;
263
+ }>>, "plain">;
264
+ timeoutMs: Schema<number, number, "defined">;
265
+ maxConcurrency: Schema<number, number, "defined">;
266
+ }>>, Schemastery.ObjectT<NoInfer<{
267
+ engine: Schema<string, string, "defined">;
268
+ preset: Schema<string, string, "defined">;
269
+ provider: Schema<string, string, "defined">;
270
+ baseUrl: Schema<string, string, "plain">;
271
+ model: Schema<string, string, "plain">;
272
+ apiKey: Schema<string, string, "plain">;
273
+ language: Schema<string, string, "plain">;
274
+ args: Schema<string[], string[], "plain">;
275
+ local: Schema<Schemastery.ObjectS<NoInfer<{
276
+ binPath: Schema<string, string, "plain">;
277
+ modelPath: Schema<string, string, "plain">;
278
+ modelId: Schema<string, string, "defined">;
279
+ threads: Schema<number, number, "defined">;
280
+ timeoutMs: Schema<number, number, "defined">;
281
+ }>>, Schemastery.ObjectT<NoInfer<{
282
+ binPath: Schema<string, string, "plain">;
283
+ modelPath: Schema<string, string, "plain">;
284
+ modelId: Schema<string, string, "defined">;
285
+ threads: Schema<number, number, "defined">;
286
+ timeoutMs: Schema<number, number, "defined">;
287
+ }>>, "plain">;
288
+ timeoutMs: Schema<number, number, "defined">;
289
+ maxConcurrency: Schema<number, number, "defined">;
290
+ }>>, "plain">;
291
+ }>>, "plain">;
65
292
  meteringProfile: Schema<Schemastery.ObjectS<NoInfer<{
66
293
  superpixelPx: Schema<42, 42, "plain">;
67
294
  rounding: Schema<"ceil", "ceil", "plain">;
@@ -127,6 +354,7 @@ export declare function renderContent(value: unknown): ContentBlock[];
127
354
  export declare function buildToolDefinition(_deps: {
128
355
  ctx: HostContext;
129
356
  config: PfStreamPluginConfig;
357
+ runtime?: HostRuntime | undefined;
130
358
  }): {
131
359
  name: string;
132
360
  description: string;
package/lib/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * dsh-pf-stream — DeepSeek Harness 视频感知插件入口。
2
+ * dsh-pf-stream — DeepSeek Harness 视频理解插件入口。
3
3
  *
4
4
  * 统一 action 路由:动态流式采样(pf_stream)与内建确定性检视
5
5
  * (probe / timestamps / uniform / RoI)共用主工具 dsh-pf-stream。
@@ -8,12 +8,18 @@
8
8
  * dispose 期统一注销,运行中不增删。
9
9
  */
10
10
  import Schema from '@deepseek-ai/schemastery';
11
+ import { homedir } from 'node:os';
12
+ import { join } from 'node:path';
11
13
  import { handleToolCall, } from './tool/handler.js';
12
14
  import { TOOL_NAME, TOOL_DESCRIPTION, toolOutputSchema, toolParameters } from './tool/schema.js';
13
15
  import { probeVideo } from './stage0/probe.js';
14
16
  import { runDeterministicInspection } from './stage3/deterministicRouter.js';
15
17
  import { runStreamCall } from './tool/streamCall.js';
16
18
  import { resolveBinPaths } from './utils/ffmpegBin.js';
19
+ import { resolveAudioSettings } from './audio/sidecar.js';
20
+ import { loadSubtitleTimeline } from './audio/subtitleExtractor.js';
21
+ import { HostRuntime, } from './host/runtime.js';
22
+ import { registerApi } from './host/api.js';
17
23
  export const name = 'dsh-pf-stream';
18
24
  export const inject = ['tools', 'subprocess', 'attachments'];
19
25
  /** 56 MiB = 58,720,256 字节(含 8 MiB Base64 编码膨胀与协议结构预留)。 */
@@ -34,6 +40,35 @@ export const Config = Schema.object({
34
40
  defaultStreamWindowMs: Schema.number().default(10000).description('流式窗口缺省长度(毫秒)'),
35
41
  streamWorkMaxEdge: Schema.number().default(2048).description('流式解码工作分辨率长边上限'),
36
42
  epochCompactionWindow: Schema.number().default(6).description('热转冷批量收敛窗口(包数)'),
43
+ audio: Schema.object({
44
+ mode: Schema.string().default('auto').description('音频侧车模式(off 关闭)'),
45
+ extractSubtitles: Schema.boolean().default(true).description('优先提取字幕作为台词源'),
46
+ assistFocus: Schema.boolean().default(true).description('语音停顿引导额外 F 定格'),
47
+ sliceCodec: Schema.string().default('mp3').description('ASR 切片编码(mp3 或 opus)'),
48
+ cacheDir: Schema.string().default(join(homedir(), '.dsh', 'cache', 'dsh-pf-stream')).description('转写缓存目录'),
49
+ graceMs: Schema.number().default(8000).description('音频软截止(毫秒)'),
50
+ asr: Schema.object({
51
+ engine: Schema.string()
52
+ .default('auto')
53
+ .description('转写引擎(auto 自动选择/local 本地/cloud 云端/off 关闭/legacy 旧 provider 语义)'),
54
+ preset: Schema.string().default('openai').description('云端服务商预设(openai/groq/custom)'),
55
+ provider: Schema.string().default('none').description('ASR provider(none/openai_verbose/openai_basic/local_cli)'),
56
+ baseUrl: Schema.string().description('OpenAI 兼容端点(缺省官方)'),
57
+ model: Schema.string().description('模型名或本地 CLI 可执行文件路径(local_cli)'),
58
+ apiKey: Schema.string().description('API key(环境变量 DSH_ASR_API_KEY 优先)'),
59
+ language: Schema.string().description('语言提示(如 zh、en)'),
60
+ args: Schema.array(Schema.string()).description('local_cli 附加参数({audio} 音频/{out} 输出文件/{outbase} 输出基名/{dir} 临时目录 令牌);engine=auto 且用托管引擎时无需填写'),
61
+ local: Schema.object({
62
+ binPath: Schema.string().description('本地转写可执行文件路径(缺省使用托管安装或 PATH 探测)'),
63
+ modelPath: Schema.string().description('模型文件路径(缺省使用托管目录中的模型)'),
64
+ modelId: Schema.string().default('small-q5_1').description('托管模型(base-q5_1/small-q5_1/medium-q5_0)'),
65
+ threads: Schema.number().default(0).description('CPU 线程数(0 自动)'),
66
+ timeoutMs: Schema.number().default(300_000).description('本地转写单请求超时(毫秒)'),
67
+ }),
68
+ timeoutMs: Schema.number().default(8000).description('单请求超时(毫秒)'),
69
+ maxConcurrency: Schema.number().default(2).description('分块并发上限'),
70
+ }),
71
+ }),
37
72
  meteringProfile: Schema.object({
38
73
  superpixelPx: Schema.const(42).description('超像素边长(像素)'),
39
74
  rounding: Schema.const('ceil').description('计费序列长度取整方式'),
@@ -112,6 +147,7 @@ export function buildToolDefinition(_deps) {
112
147
  const { config } = _deps;
113
148
  const bins = resolveBinPaths({ ffmpegPath: config.ffmpegPath, ffprobePath: config.ffprobePath });
114
149
  const attachments = resolveAttachments(_deps.ctx);
150
+ const audioSettings = (intent) => resolveAudioSettings((_deps.runtime?.currentConfig() ?? config).audio, intent, process.env, _deps.runtime?.syncFacts());
115
151
  const attachImages = (artifacts) => savePacketImages(attachments, artifacts, config.maxImagesPerCall);
116
152
  const probe = (videoPath, signal) => probeVideo(videoPath, { ffprobePath: bins.ffprobe, signal });
117
153
  const inspect = (videoPath, probeResult, intent, signal) => runDeterministicInspection(videoPath, probeResult, intent, {
@@ -139,6 +175,11 @@ export function buildToolDefinition(_deps) {
139
175
  epochCompactionWindow: config.epochCompactionWindow,
140
176
  imageCountTiersEnabled: config.meteringProfile.imageCountTiersEnabled,
141
177
  maxTokensPerImage: config.meteringProfile.maxTokensPerImage,
178
+ audio: {
179
+ settings: audioSettings(intent),
180
+ ffmpegPath: bins.ffmpeg,
181
+ tempDir: config.tempDir,
182
+ },
142
183
  signal,
143
184
  });
144
185
  return {
@@ -161,6 +202,12 @@ export function buildToolDefinition(_deps) {
161
202
  inspect,
162
203
  stream,
163
204
  attachImages,
205
+ audio: {
206
+ resolveSettings: audioSettings,
207
+ subtitlesFor: (videoPath, probeResult, signal) => loadSubtitleTimeline(videoPath, probeResult, { ffmpegPath: bins.ffmpeg, signal })
208
+ .then((timeline) => (timeline.status === 'none' ? null : timeline))
209
+ .catch(() => null),
210
+ },
164
211
  limits: {
165
212
  maxPackets: config.maxPacketsPerCall,
166
213
  maxTokensBudget: config.maxTokensBudgetPerCall,
@@ -172,10 +219,64 @@ export function buildToolDefinition(_deps) {
172
219
  }
173
220
  export function apply(ctx, config) {
174
221
  const host = ctx;
175
- const dispose = host.tools.register(buildToolDefinition({ ctx: host, config }));
222
+ const services = {};
223
+ const runtime = new HostRuntime(() => config, services);
224
+ const dispose = host.tools.register(buildToolDefinition({ ctx: host, config, runtime }));
225
+ // 设置页路由与配置/密钥服务都是可选依赖:宿主没有 webServer 时插件照常工作,
226
+ // 只是页面里的自助操作不可用(配置仍可走 cordis.patch.yml)。
227
+ const disposers = [];
228
+ const injectOptional = (deps, run) => {
229
+ try {
230
+ const off = host.inject(deps, (scoped) => {
231
+ try {
232
+ run(scoped);
233
+ }
234
+ catch {
235
+ // 单个可选服务接线失败不应影响感知工具
236
+ }
237
+ });
238
+ if (typeof off === 'function')
239
+ disposers.push(off);
240
+ }
241
+ catch {
242
+ // 宿主版本不支持 inject 回调时忽略可选接线
243
+ }
244
+ };
245
+ injectOptional(['webServer'], (scoped) => {
246
+ const webServer = scoped.get('webServer');
247
+ if (webServer === undefined || typeof webServer.register !== 'function')
248
+ return;
249
+ services.webServer = webServer;
250
+ disposers.push(registerApi({ runtime, webServer }));
251
+ });
252
+ injectOptional(['credentials'], (scoped) => {
253
+ const credentials = scoped.get('credentials');
254
+ if (credentials === undefined)
255
+ return;
256
+ services.credentials = credentials;
257
+ runtime.invalidate();
258
+ void runtime.refresh();
259
+ });
260
+ injectOptional(['configEditor'], (scoped) => {
261
+ const configEditor = scoped.get('configEditor');
262
+ if (configEditor === undefined || typeof configEditor.edit !== 'function')
263
+ return;
264
+ services.configEditor = configEditor;
265
+ runtime.invalidate();
266
+ });
267
+ // 预热密钥与探测结果,工具首次调用即可拿到正确快照。
268
+ void runtime.refresh();
176
269
  // register 返回的 disposer 为主注销路径;'dispose' 事件为兜底
177
270
  // (经 events 服务注册,事件名不受 keyof Events 约束)。
178
271
  ctx.events.on('dispose', () => {
272
+ for (const off of disposers.splice(0)) {
273
+ try {
274
+ off();
275
+ }
276
+ catch {
277
+ // 卸载期清理失败不再抛出
278
+ }
279
+ }
179
280
  try {
180
281
  dispose();
181
282
  }
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -125,6 +125,7 @@ export function exportSessionSnapshot(state) {
125
125
  imageBytes: h.imageBytes.toString('base64'),
126
126
  anchorBytes: h.anchorBytes ? h.anchorBytes.toString('base64') : null,
127
127
  anchorFContentHash: h.anchorFContentHash,
128
+ audioSegments: h.audioSegments,
128
129
  })),
129
130
  },
130
131
  epoch: {
@@ -139,6 +140,7 @@ export function exportSessionSnapshot(state) {
139
140
  sourceCropBbox: r.sourceCropBbox,
140
141
  bytes: r.bytes.toString('base64'),
141
142
  contentHash: r.contentHash,
143
+ audioSegments: r.audioSegments,
142
144
  })),
143
145
  },
144
146
  },
@@ -214,6 +216,7 @@ export function importSessionSnapshot(json) {
214
216
  imageBytes: Buffer.from(h.imageBytes, 'base64'),
215
217
  anchorBytes: h.anchorBytes != null ? Buffer.from(h.anchorBytes, 'base64') : null,
216
218
  anchorFContentHash: h.anchorFContentHash,
219
+ audioSegments: h.audioSegments,
217
220
  })),
218
221
  },
219
222
  epoch: {
@@ -228,6 +231,7 @@ export function importSessionSnapshot(json) {
228
231
  sourceCropBbox: r.sourceCropBbox,
229
232
  bytes: Buffer.from(r.bytes, 'base64'),
230
233
  contentHash: r.contentHash,
234
+ audioSegments: r.audioSegments,
231
235
  })),
232
236
  },
233
237
  });
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/session/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/session/state.ts"],"names":[],"mappings":"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"}
@@ -33,17 +33,9 @@ export interface RangeDecodeOptions extends DecodePointOptions {
33
33
  /** 每次 ffmpeg 解码进程启动时回调(argv 快照),供单遍解码断言计数。 */
34
34
  onFfmpegSpawn?: ((argv: string[]) => void) | undefined;
35
35
  }
36
- /**
37
- * 区间单遍解码(批量定点退化路径与流式共用骨架)。
38
- * 返回帧序列(display 坐标系,全分辨率或受 workMaxEdge 上限的等比缩放)。
39
- */
40
- export declare function decodeRange(videoPath: string, window0Ms: number, window1Ms: number, options: RangeDecodeOptions, onFrame?: (frame: RgbImage, ptsMs: number) => void | Promise<void>): Promise<Array<{
41
- ptsMs: number;
42
- image: RgbImage;
43
- }>>;
44
36
  export interface StreamDecodeResult {
45
37
  frameCount: number;
46
- /** 帧序号超出 PTS 索引长度时按最近 PTS 钳制的帧数。 */
38
+ /** 索引耗尽后按最近 PTS 钳制重对齐消费的解码裕量帧数(窗口外帧,PTS 钳到末帧)。 */
47
39
  realigned: number;
48
40
  }
49
41
  /**