dsh-pf-stream 0.1.3 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +26 -4
- package/README.md +28 -5
- package/lib/entry/adapter.d.ts +2 -0
- package/lib/entry/adapter.js +4 -1
- package/lib/entry/adapter.js.map +1 -1
- package/lib/entry/legacyNormalizer.d.ts +6 -2
- package/lib/entry/legacyNormalizer.js +19 -9
- package/lib/entry/legacyNormalizer.js.map +1 -1
- package/lib/index.d.ts +40 -5
- package/lib/index.js +81 -6
- package/lib/index.js.map +1 -1
- package/lib/session/state.js +5 -23
- package/lib/session/state.js.map +1 -1
- package/lib/stage0/decoder.d.ts +2 -0
- package/lib/stage0/decoder.js +23 -3
- package/lib/stage0/decoder.js.map +1 -1
- package/lib/stage2/stateMachine.js +0 -3
- package/lib/stage2/stateMachine.js.map +1 -1
- package/lib/stage3/deterministicRouter.d.ts +4 -2
- package/lib/stage3/deterministicRouter.js +129 -80
- package/lib/stage3/deterministicRouter.js.map +1 -1
- package/lib/stage3/streamSampler.d.ts +2 -0
- package/lib/stage3/streamSampler.js +33 -26
- package/lib/stage3/streamSampler.js.map +1 -1
- package/lib/stage4/viewport.d.ts +2 -1
- package/lib/stage4/viewport.js +7 -3
- package/lib/stage4/viewport.js.map +1 -1
- package/lib/stage5/controller.js +1 -1
- package/lib/stage5/intent.d.ts +2 -0
- package/lib/stage5/intent.js +23 -10
- package/lib/stage5/intent.js.map +1 -1
- package/lib/stage6/precheck.d.ts +4 -2
- package/lib/stage6/precheck.js +5 -5
- package/lib/stage6/precheck.js.map +1 -1
- package/lib/tool/handler.d.ts +34 -0
- package/lib/tool/handler.js +29 -9
- package/lib/tool/handler.js.map +1 -1
- package/lib/tool/schema.d.ts +4 -1
- package/lib/tool/schema.js +15 -1
- package/lib/tool/schema.js.map +1 -1
- package/lib/tool/streamCall.d.ts +24 -2
- package/lib/tool/streamCall.js +29 -7
- package/lib/tool/streamCall.js.map +1 -1
- package/lib/types.d.ts +2 -4
- package/package.json +1 -1
package/lib/tool/streamCall.js
CHANGED
|
@@ -7,23 +7,28 @@
|
|
|
7
7
|
import { runStreamPass } from '../stage3/streamSampler.js';
|
|
8
8
|
import { timelineHintLine } from '../stage4/canvasPacker.js';
|
|
9
9
|
import { coldRefHintLine, compactEpoch, HOT_WINDOW, planHistoryRefs, recordPackets, } from '../stage6/history.js';
|
|
10
|
-
import { precheckBundle } from '../stage6/precheck.js';
|
|
11
|
-
import { baselinesFromIntent, mergeSessionIntent } from '../stage5/intent.js';
|
|
10
|
+
import { precheckBundle, } from '../stage6/precheck.js';
|
|
11
|
+
import { baselinesFromIntent, mergeSessionIntent, sessionIntentChanged } from '../stage5/intent.js';
|
|
12
12
|
import { fingerprintOf, getSessionState, getVideoSlot } from '../session/state.js';
|
|
13
13
|
export async function runStreamCall(videoPath, probe, intent, sessionId, options) {
|
|
14
14
|
const session = getSessionState(sessionId);
|
|
15
15
|
const fingerprint = fingerprintOf(videoPath);
|
|
16
16
|
const slot = getVideoSlot(session, fingerprint);
|
|
17
|
-
// 意图层:字段级合并到 session_intent(规格《五》§1.3
|
|
18
|
-
|
|
19
|
-
const
|
|
17
|
+
// 意图层:字段级合并到 session_intent(规格《五》§1.3);
|
|
18
|
+
// 会话意图实际变化时才递增 intentSeq(probe/重复调用不产生新 intentId)。
|
|
19
|
+
const prevIntent = session.intent;
|
|
20
|
+
const merged = mergeSessionIntent(prevIntent, intent, {
|
|
20
21
|
mode: 'standard',
|
|
21
22
|
focus: 'balanced',
|
|
22
23
|
});
|
|
24
|
+
if (sessionIntentChanged(prevIntent, merged) || session.intentSeq === 0) {
|
|
25
|
+
session.intentSeq += 1;
|
|
26
|
+
}
|
|
23
27
|
merged.intentId = `intent_${session.intentSeq}`;
|
|
24
28
|
session.intent = merged;
|
|
25
29
|
const result = await runStreamPass(videoPath, probe, merged, slot.cursor, {
|
|
26
30
|
ffmpegPath: options.ffmpegPath,
|
|
31
|
+
ffprobePath: options.ffprobePath,
|
|
27
32
|
renderVisualId: options.renderVisualId,
|
|
28
33
|
windowMs: intent.pts_window
|
|
29
34
|
? Math.max(1, intent.pts_window[1] - intent.pts_window[0])
|
|
@@ -55,10 +60,17 @@ export async function runStreamCall(videoPath, probe, intent, sessionId, options
|
|
|
55
60
|
return session.packetSeq;
|
|
56
61
|
}, merged.intentId);
|
|
57
62
|
const { cold } = planHistoryRefs(slot, merged.intentId);
|
|
63
|
+
// 本次增量包被 Epoch 收编为冷区引用时,原始条带不再重复输出
|
|
64
|
+
// (规格《六》§3:按最终包龄输出冷区 FORM_3 与热区条带,每包只出现一次)。
|
|
65
|
+
const newPacketIds = new Set(result.packets.map((a) => a.packet.packetId));
|
|
66
|
+
const absorbedNewIds = new Set(slot.epoch.coldRefs
|
|
67
|
+
.map((c) => c.sourcePacketId)
|
|
68
|
+
.filter((id) => newPacketIds.has(id)));
|
|
69
|
+
const incremental = result.packets.filter((a) => !absorbedNewIds.has(a.packet.packetId));
|
|
58
70
|
const items = [
|
|
59
71
|
...cold.map((artifact) => ({ kind: 'cold', artifact })),
|
|
60
72
|
...hot.map((artifact) => ({ kind: 'hot', artifact })),
|
|
61
|
-
...
|
|
73
|
+
...incremental.map((artifact) => ({ kind: 'new', artifact })),
|
|
62
74
|
];
|
|
63
75
|
const precheck = precheckBundle(items, {
|
|
64
76
|
maxRequestBytes: options.maxRequestBytes,
|
|
@@ -91,13 +103,23 @@ export async function runStreamCall(videoPath, probe, intent, sessionId, options
|
|
|
91
103
|
...result,
|
|
92
104
|
packets: keptPackets,
|
|
93
105
|
hintLines: keptHintLines,
|
|
94
|
-
telemetry: { ...result.telemetry, precheck },
|
|
106
|
+
telemetry: { ...result.telemetry, precheck: summarizePrecheck(precheck) },
|
|
95
107
|
coldRefCount: precheck.kept.filter((it) => it.kind === 'cold').length,
|
|
96
108
|
hotRefCount: precheck.kept.filter((it) => it.kind === 'hot').length,
|
|
97
109
|
sessionIntentId: merged.intentId,
|
|
98
110
|
appliedIntentId: merged.intentId,
|
|
99
111
|
};
|
|
100
112
|
}
|
|
113
|
+
/** 预检结果 → 无损 JSON 投影(剔除 PNG Buffer 载体)。 */
|
|
114
|
+
function summarizePrecheck(precheck) {
|
|
115
|
+
return {
|
|
116
|
+
kept: precheck.kept.map((it) => ({ kind: it.kind, packetId: it.artifact.packet.packetId })),
|
|
117
|
+
dropped: precheck.dropped.map((it) => ({ kind: it.kind, packetId: it.packetId })),
|
|
118
|
+
truncatedCurrent: precheck.truncatedCurrent,
|
|
119
|
+
encodedBytes: precheck.encodedBytes,
|
|
120
|
+
tokens: precheck.tokens,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
101
123
|
/** 供 handler 输出遥测的基准参数(不触发解码)。 */
|
|
102
124
|
export function describeBaselines(intent) {
|
|
103
125
|
return baselinesFromIntent(intent.mode ?? 'standard', intent.focus ?? 'balanced');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamCall.js","sourceRoot":"","sources":["../../src/tool/streamCall.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAwB,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAuB,MAAM,2BAA2B,CAAC;AAClF,OAAO,EACL,eAAe,EACf,YAAY,EACZ,UAAU,EACV,eAAe,EACf,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,
|
|
1
|
+
{"version":3,"file":"streamCall.js","sourceRoot":"","sources":["../../src/tool/streamCall.ts"],"names":[],"mappings":"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"}
|
package/lib/types.d.ts
CHANGED
|
@@ -221,16 +221,12 @@ export interface StateMachineSnapshot {
|
|
|
221
221
|
gEma: number;
|
|
222
222
|
emaWarmupLeft: number;
|
|
223
223
|
settleStartPtsMs: number | null;
|
|
224
|
-
lastKCandidates: number[] | null;
|
|
225
|
-
lastMotionVec: [number, number] | null;
|
|
226
|
-
arena: ArenaCandidate | null;
|
|
227
224
|
mergeStartPtsMs?: number | null;
|
|
228
225
|
switchStaticSincePtsMs?: number | null;
|
|
229
226
|
fSwitchPending?: boolean;
|
|
230
227
|
clarityWarmupLeft?: number;
|
|
231
228
|
rhoHistory?: number[];
|
|
232
229
|
motionEnteredAtPtsMs?: number | null;
|
|
233
|
-
maxDSinceLastF?: number;
|
|
234
230
|
lastHeartbeatPtsMs?: number | null;
|
|
235
231
|
/** 自闭环控制器状态(M3 起填充)。 */
|
|
236
232
|
ctrl?: ControllerSnapshot;
|
|
@@ -340,6 +336,8 @@ export interface MeteringProfile {
|
|
|
340
336
|
export interface PfStreamPluginConfig {
|
|
341
337
|
renderVisualId: boolean;
|
|
342
338
|
maxPacketsPerCall: number;
|
|
339
|
+
/** 单次调用回传画布图像的上限(宿主单条消息图像上限 20)。 */
|
|
340
|
+
maxImagesPerCall: number;
|
|
343
341
|
maxTokensBudgetPerCall: number;
|
|
344
342
|
maxRequestBytes: number;
|
|
345
343
|
maxColdRefs: number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-pf-stream",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "DeepSeek Harness video perception plugin: adaptive dual-scale streaming sampling plus deterministic inspection, aligned to the DeepSeek-V4.1-Flash vision pipeline (42px superpixel grid, <=1024 tokens per image).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|