@gracker/smartperfetto 1.0.19 → 1.0.21
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/dist/agent/config/domainManifest.d.ts +5 -3
- package/dist/agent/config/domainManifest.d.ts.map +1 -1
- package/dist/agent/config/domainManifest.js +120 -5
- package/dist/agent/config/domainManifest.js.map +1 -1
- package/dist/agent/core/conclusionContract.d.ts +1 -0
- package/dist/agent/core/conclusionContract.d.ts.map +1 -1
- package/dist/agent/core/orchestratorTypes.d.ts +5 -0
- package/dist/agent/core/orchestratorTypes.d.ts.map +1 -1
- package/dist/agent/core/orchestratorTypes.js.map +1 -1
- package/dist/agent/scene/buildSmartChatReport.d.ts +13 -0
- package/dist/agent/scene/buildSmartChatReport.d.ts.map +1 -0
- package/dist/agent/scene/buildSmartChatReport.js +333 -0
- package/dist/agent/scene/buildSmartChatReport.js.map +1 -0
- package/dist/agent/scene/sceneAnalysisJobRunner.d.ts +8 -4
- package/dist/agent/scene/sceneAnalysisJobRunner.d.ts.map +1 -1
- package/dist/agent/scene/sceneAnalysisJobRunner.js +78 -3
- package/dist/agent/scene/sceneAnalysisJobRunner.js.map +1 -1
- package/dist/agent/scene/sceneIntervalBuilder.d.ts +14 -5
- package/dist/agent/scene/sceneIntervalBuilder.d.ts.map +1 -1
- package/dist/agent/scene/sceneIntervalBuilder.js +578 -1
- package/dist/agent/scene/sceneIntervalBuilder.js.map +1 -1
- package/dist/agent/scene/sceneStage1Verifier.d.ts +8 -0
- package/dist/agent/scene/sceneStage1Verifier.d.ts.map +1 -0
- package/dist/agent/scene/sceneStage1Verifier.js +245 -0
- package/dist/agent/scene/sceneStage1Verifier.js.map +1 -0
- package/dist/agent/scene/sceneStoryService.d.ts +20 -2
- package/dist/agent/scene/sceneStoryService.d.ts.map +1 -1
- package/dist/agent/scene/sceneStoryService.js +238 -25
- package/dist/agent/scene/sceneStoryService.js.map +1 -1
- package/dist/agent/scene/smartCancelBridge.d.ts +13 -0
- package/dist/agent/scene/smartCancelBridge.d.ts.map +1 -0
- package/dist/agent/scene/smartCancelBridge.js +44 -0
- package/dist/agent/scene/smartCancelBridge.js.map +1 -0
- package/dist/agent/scene/smartDeepDiveDispatch.d.ts +15 -0
- package/dist/agent/scene/smartDeepDiveDispatch.d.ts.map +1 -0
- package/dist/agent/scene/smartDeepDiveDispatch.js +170 -0
- package/dist/agent/scene/smartDeepDiveDispatch.js.map +1 -0
- package/dist/agent/scene/types.d.ts +97 -6
- package/dist/agent/scene/types.d.ts.map +1 -1
- package/dist/agent/tools/frameAnalyzer.d.ts.map +1 -1
- package/dist/agent/tools/frameAnalyzer.js +1 -0
- package/dist/agent/tools/frameAnalyzer.js.map +1 -1
- package/dist/agent/types.d.ts +1 -1
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/agentOpenAI/openAiRuntime.d.ts +24 -0
- package/dist/agentOpenAI/openAiRuntime.d.ts.map +1 -1
- package/dist/agentOpenAI/openAiRuntime.js +159 -191
- package/dist/agentOpenAI/openAiRuntime.js.map +1 -1
- package/dist/agentRuntime/index.d.ts +1 -0
- package/dist/agentRuntime/index.d.ts.map +1 -1
- package/dist/agentRuntime/index.js +16 -1
- package/dist/agentRuntime/index.js.map +1 -1
- package/dist/agentRuntime/runtimeCommon.d.ts +34 -0
- package/dist/agentRuntime/runtimeCommon.d.ts.map +1 -0
- package/dist/agentRuntime/runtimeCommon.js +231 -0
- package/dist/agentRuntime/runtimeCommon.js.map +1 -0
- package/dist/agentv3/claudeConfig.d.ts +6 -2
- package/dist/agentv3/claudeConfig.d.ts.map +1 -1
- package/dist/agentv3/claudeConfig.js +50 -48
- package/dist/agentv3/claudeConfig.js.map +1 -1
- package/dist/agentv3/claudeMcpServer.d.ts.map +1 -1
- package/dist/agentv3/claudeMcpServer.js +74 -66
- package/dist/agentv3/claudeMcpServer.js.map +1 -1
- package/dist/agentv3/claudeRuntime.d.ts +18 -2
- package/dist/agentv3/claudeRuntime.d.ts.map +1 -1
- package/dist/agentv3/claudeRuntime.js +198 -265
- package/dist/agentv3/claudeRuntime.js.map +1 -1
- package/dist/agentv3/claudeSseBridge.js +1 -1
- package/dist/agentv3/claudeSseBridge.js.map +1 -1
- package/dist/agentv3/claudeVerifier.d.ts.map +1 -1
- package/dist/agentv3/claudeVerifier.js +3 -6
- package/dist/agentv3/claudeVerifier.js.map +1 -1
- package/dist/agentv3/strategyLoader.d.ts +3 -0
- package/dist/agentv3/strategyLoader.d.ts.map +1 -1
- package/dist/agentv3/strategyLoader.js +17 -4
- package/dist/agentv3/strategyLoader.js.map +1 -1
- package/dist/cli-user/bin.js +83 -2
- package/dist/cli-user/bin.js.map +1 -1
- package/dist/cli-user/commands/analyze.d.ts +2 -0
- package/dist/cli-user/commands/analyze.d.ts.map +1 -1
- package/dist/cli-user/commands/analyze.js +1 -0
- package/dist/cli-user/commands/analyze.js.map +1 -1
- package/dist/cli-user/commands/capture.d.ts +37 -2
- package/dist/cli-user/commands/capture.d.ts.map +1 -1
- package/dist/cli-user/commands/capture.js +184 -95
- package/dist/cli-user/commands/capture.js.map +1 -1
- package/dist/cli-user/commands/compare.d.ts +2 -0
- package/dist/cli-user/commands/compare.d.ts.map +1 -1
- package/dist/cli-user/commands/compare.js +1 -0
- package/dist/cli-user/commands/compare.js.map +1 -1
- package/dist/cli-user/commands/doctor.js +4 -0
- package/dist/cli-user/commands/doctor.js.map +1 -1
- package/dist/cli-user/services/androidCapture.d.ts +59 -0
- package/dist/cli-user/services/androidCapture.d.ts.map +1 -0
- package/dist/cli-user/services/androidCapture.js +375 -0
- package/dist/cli-user/services/androidCapture.js.map +1 -0
- package/dist/cli-user/services/captureConfig.d.ts +38 -0
- package/dist/cli-user/services/captureConfig.d.ts.map +1 -0
- package/dist/cli-user/services/captureConfig.js +434 -0
- package/dist/cli-user/services/captureConfig.js.map +1 -0
- package/dist/cli-user/services/captureTools.d.ts +11 -0
- package/dist/cli-user/services/captureTools.d.ts.map +1 -0
- package/dist/cli-user/services/captureTools.js +247 -0
- package/dist/cli-user/services/captureTools.js.map +1 -0
- package/dist/cli-user/services/cliAnalyzeService.d.ts +2 -0
- package/dist/cli-user/services/cliAnalyzeService.d.ts.map +1 -1
- package/dist/cli-user/services/cliAnalyzeService.js +1 -0
- package/dist/cli-user/services/cliAnalyzeService.js.map +1 -1
- package/dist/cli-user/services/runtimeGuard.d.ts +10 -0
- package/dist/cli-user/services/runtimeGuard.d.ts.map +1 -1
- package/dist/cli-user/services/runtimeGuard.js +48 -0
- package/dist/cli-user/services/runtimeGuard.js.map +1 -1
- package/dist/cli-user/services/turnRunner.d.ts +3 -0
- package/dist/cli-user/services/turnRunner.d.ts.map +1 -1
- package/dist/cli-user/services/turnRunner.js +4 -0
- package/dist/cli-user/services/turnRunner.js.map +1 -1
- package/dist/cli-user/types.d.ts +57 -0
- package/dist/cli-user/types.d.ts.map +1 -1
- package/dist/config/index.d.ts +12 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +6 -0
- package/dist/config/index.js.map +1 -1
- package/dist/perfetto-recording-tools-pin.env +24 -0
- package/dist/routes/agent/finalizeAgentDrivenSession.d.ts +67 -0
- package/dist/routes/agent/finalizeAgentDrivenSession.d.ts.map +1 -0
- package/dist/routes/agent/finalizeAgentDrivenSession.js +103 -0
- package/dist/routes/agent/finalizeAgentDrivenSession.js.map +1 -0
- package/dist/routes/agent/normalizeAnalyzeOptions.d.ts +42 -0
- package/dist/routes/agent/normalizeAnalyzeOptions.d.ts.map +1 -0
- package/dist/routes/agent/normalizeAnalyzeOptions.js +185 -0
- package/dist/routes/agent/normalizeAnalyzeOptions.js.map +1 -0
- package/dist/routes/agentRoutes.d.ts.map +1 -1
- package/dist/routes/agentRoutes.js +285 -125
- package/dist/routes/agentRoutes.js.map +1 -1
- package/dist/scripts/verifyAgentSseScrolling.js +131 -8
- package/dist/scripts/verifyAgentSseScrolling.js.map +1 -1
- package/dist/services/agentResultNormalizer.d.ts.map +1 -1
- package/dist/services/agentResultNormalizer.js +32 -4
- package/dist/services/agentResultNormalizer.js.map +1 -1
- package/dist/services/evidence/evidenceContractBuilder.d.ts.map +1 -1
- package/dist/services/evidence/evidenceContractBuilder.js +17 -3
- package/dist/services/evidence/evidenceContractBuilder.js.map +1 -1
- package/dist/services/perfettoSqlSkill.d.ts.map +1 -1
- package/dist/services/perfettoSqlSkill.js +1 -0
- package/dist/services/perfettoSqlSkill.js.map +1 -1
- package/dist/services/providerManager/connectionTester.d.ts.map +1 -1
- package/dist/services/providerManager/connectionTester.js +4 -68
- package/dist/services/providerManager/connectionTester.js.map +1 -1
- package/dist/services/providerManager/index.d.ts +1 -0
- package/dist/services/providerManager/index.d.ts.map +1 -1
- package/dist/services/providerManager/index.js +8 -1
- package/dist/services/providerManager/index.js.map +1 -1
- package/dist/services/providerManager/providerService.d.ts.map +1 -1
- package/dist/services/providerManager/providerService.js +37 -106
- package/dist/services/providerManager/providerService.js.map +1 -1
- package/dist/services/providerManager/providerSnapshot.d.ts.map +1 -1
- package/dist/services/providerManager/providerSnapshot.js +13 -12
- package/dist/services/providerManager/providerSnapshot.js.map +1 -1
- package/dist/services/providerManager/runtimeCapabilities.d.ts +9 -0
- package/dist/services/providerManager/runtimeCapabilities.d.ts.map +1 -0
- package/dist/services/providerManager/runtimeCapabilities.js +105 -0
- package/dist/services/providerManager/runtimeCapabilities.js.map +1 -0
- package/dist/services/sceneReport/sceneJobArtifactStore.d.ts +22 -0
- package/dist/services/sceneReport/sceneJobArtifactStore.d.ts.map +1 -0
- package/dist/services/sceneReport/sceneJobArtifactStore.js +65 -0
- package/dist/services/sceneReport/sceneJobArtifactStore.js.map +1 -0
- package/dist/services/sceneReport/sceneReportMemoryCache.d.ts +5 -3
- package/dist/services/sceneReport/sceneReportMemoryCache.d.ts.map +1 -1
- package/dist/services/sceneReport/sceneReportMemoryCache.js +15 -10
- package/dist/services/sceneReport/sceneReportMemoryCache.js.map +1 -1
- package/dist/services/sceneReport/sceneReportStore.d.ts +9 -4
- package/dist/services/sceneReport/sceneReportStore.d.ts.map +1 -1
- package/dist/services/sceneReport/sceneReportStore.js +27 -7
- package/dist/services/sceneReport/sceneReportStore.js.map +1 -1
- package/dist/services/skillEngine/skillExecutor.d.ts +1 -0
- package/dist/services/skillEngine/skillExecutor.d.ts.map +1 -1
- package/dist/services/skillEngine/skillExecutor.js +64 -12
- package/dist/services/skillEngine/skillExecutor.js.map +1 -1
- package/dist/services/traceProcessor/sqlSemaphore.d.ts +16 -0
- package/dist/services/traceProcessor/sqlSemaphore.d.ts.map +1 -0
- package/dist/services/traceProcessor/sqlSemaphore.js +63 -0
- package/dist/services/traceProcessor/sqlSemaphore.js.map +1 -0
- package/dist/types/dataContract.d.ts +1 -1
- package/dist/types/dataContract.d.ts.map +1 -1
- package/dist/types/dataContract.js +2 -0
- package/dist/types/dataContract.js.map +1 -1
- package/package.json +3 -3
- package/prebuilts/android-platform-tools/README.md +13 -0
- package/prebuilts/perfetto-recording-tools/README.md +17 -0
- package/skills/README.md +13 -5
- package/skills/atomic/cpu_topology_detection.skill.yaml +105 -159
- package/skills/atomic/cpu_topology_view.skill.yaml +2 -0
- package/skills/composite/device_state_snapshot.skill.yaml +204 -0
- package/skills/composite/scene_reconstruction.skill.yaml +5 -1
- package/strategies/prompt-openai-final-report-continuation-en.template.md +3 -1
- package/strategies/prompt-openai-final-report-continuation-zh.template.md +3 -1
- package/strategies/prompt-output-format.template.md +1 -1
- package/strategies/scene-reconstruction-verifier.template.md +18 -0
- package/strategies/scrolling.strategy.md +5 -1
- package/strategies/smart.strategy.md +53 -0
- package/strategies/startup.strategy.md +4 -4
- package/skills/atomic/device_state_snapshot.skill.yaml +0 -171
|
@@ -33,10 +33,12 @@ const uuid_1 = require("../../utils/uuid");
|
|
|
33
33
|
const skillExecutor_1 = require("../../services/skillEngine/skillExecutor");
|
|
34
34
|
const config_1 = require("../../config");
|
|
35
35
|
const resourceOwnership_1 = require("../../services/resourceOwnership");
|
|
36
|
+
const sqlSemaphore_1 = require("../../services/traceProcessor/sqlSemaphore");
|
|
36
37
|
const sceneCostEstimator_1 = require("./sceneCostEstimator");
|
|
37
38
|
const sceneIntervalBuilder_1 = require("./sceneIntervalBuilder");
|
|
38
39
|
const sceneAnalysisJobRunner_1 = require("./sceneAnalysisJobRunner");
|
|
39
40
|
const sceneStage1Runner_1 = require("./sceneStage1Runner");
|
|
41
|
+
const sceneStage1Verifier_1 = require("./sceneStage1Verifier");
|
|
40
42
|
const sceneStage3Summarizer_1 = require("./sceneStage3Summarizer");
|
|
41
43
|
// ---------------------------------------------------------------------------
|
|
42
44
|
// Service
|
|
@@ -46,6 +48,7 @@ class SceneStoryService {
|
|
|
46
48
|
this.deps = deps;
|
|
47
49
|
this.runners = new Map();
|
|
48
50
|
this.inProgress = new Set();
|
|
51
|
+
this.memoryReportById = new Map();
|
|
49
52
|
/**
|
|
50
53
|
* Concurrent-request dedupe: while a pipeline for an owner-scoped
|
|
51
54
|
* `traceHash` is running, peer requests for the same owner + hash await the
|
|
@@ -70,6 +73,10 @@ class SceneStoryService {
|
|
|
70
73
|
async start(args) {
|
|
71
74
|
const { sessionId, traceId, skillExecutor, options } = args;
|
|
72
75
|
const forceRefresh = options?.forceRefresh ?? false;
|
|
76
|
+
const routeProfile = options?.routeProfile ?? 'legacy';
|
|
77
|
+
const previewOnly = options?.previewOnly === true;
|
|
78
|
+
const selection = options?.selection ?? { scope: 'all' };
|
|
79
|
+
const cacheableByHash = !previewOnly && selection.scope === 'all';
|
|
73
80
|
const session = this.deps.getSession(sessionId);
|
|
74
81
|
if (!session) {
|
|
75
82
|
throw new Error(`SceneStoryService.start: session ${sessionId} not found`);
|
|
@@ -82,10 +89,12 @@ class SceneStoryService {
|
|
|
82
89
|
session.lastActivityAt = Date.now();
|
|
83
90
|
let scenes = [];
|
|
84
91
|
let intervals = [];
|
|
92
|
+
let sceneVerification;
|
|
85
93
|
let runner;
|
|
86
94
|
let traceDurationSec = 0;
|
|
87
95
|
let pipelineError;
|
|
88
96
|
let traceHash = null;
|
|
97
|
+
let pendingKeyToDelete = null;
|
|
89
98
|
let resolvePending;
|
|
90
99
|
let rejectPending;
|
|
91
100
|
try {
|
|
@@ -94,23 +103,26 @@ class SceneStoryService {
|
|
|
94
103
|
// response on the same trace. Hashing reads the file (~5-10s for 1GB);
|
|
95
104
|
// RPC traces skip the hash and check the memory cache by traceId.
|
|
96
105
|
traceHash = await this.deps.computeHash(traceId);
|
|
97
|
-
|
|
106
|
+
options?.cancelToken?.throwIfAborted();
|
|
107
|
+
if (cacheableByHash && !forceRefresh) {
|
|
98
108
|
// Disk (by hash) or memory (by traceId) cache lookup.
|
|
99
|
-
const cached = await this.lookupCachedReport(traceHash, traceId, args.owner);
|
|
109
|
+
const cached = await this.lookupCachedReport(traceHash, traceId, routeProfile, args.owner);
|
|
100
110
|
if (cached) {
|
|
101
111
|
this.emitCachedReport(sessionId, session, cached);
|
|
102
|
-
return;
|
|
112
|
+
return cached;
|
|
103
113
|
}
|
|
104
114
|
}
|
|
105
115
|
// 3) In-flight pipeline dedupe — only file-backed traces have a hash
|
|
106
116
|
// key, so concurrent RPC requests fall through and run independently.
|
|
107
|
-
const pendingKey = traceHash
|
|
108
|
-
|
|
117
|
+
const pendingKey = traceHash
|
|
118
|
+
? buildOwnerScopedCacheKey(traceHash, routeProfile, args.owner)
|
|
119
|
+
: null;
|
|
120
|
+
if (cacheableByHash && pendingKey && !forceRefresh) {
|
|
109
121
|
const inFlight = this.pendingByHash.get(pendingKey);
|
|
110
122
|
if (inFlight) {
|
|
111
123
|
const shared = await inFlight;
|
|
112
124
|
this.emitCachedReport(sessionId, session, shared);
|
|
113
|
-
return;
|
|
125
|
+
return shared;
|
|
114
126
|
}
|
|
115
127
|
// Register a deferred promise so peer requests can wait on us.
|
|
116
128
|
const pending = new Promise((res, rej) => {
|
|
@@ -118,6 +130,7 @@ class SceneStoryService {
|
|
|
118
130
|
rejectPending = rej;
|
|
119
131
|
});
|
|
120
132
|
this.pendingByHash.set(pendingKey, pending);
|
|
133
|
+
pendingKeyToDelete = pendingKey;
|
|
121
134
|
// Swallow unhandled-rejection — peer awaiters that come and go later
|
|
122
135
|
// will see the rejection through their own await.
|
|
123
136
|
pending.catch(() => undefined);
|
|
@@ -131,6 +144,7 @@ class SceneStoryService {
|
|
|
131
144
|
// We also capture each envelope into a local array so the finalised
|
|
132
145
|
// SceneReport can persist them for cache-hit replay; without this,
|
|
133
146
|
// re-opening a cached trace would lose the lane-overlay state.
|
|
147
|
+
options?.cancelToken?.throwIfAborted();
|
|
134
148
|
const stage1Envelopes = [];
|
|
135
149
|
const stage1 = await new sceneStage1Runner_1.SceneStage1Runner({
|
|
136
150
|
execute: (skillId, tid, params) => skillExecutor.execute(skillId, tid, params),
|
|
@@ -147,9 +161,34 @@ class SceneStoryService {
|
|
|
147
161
|
});
|
|
148
162
|
scenes = stage1.scenes;
|
|
149
163
|
traceDurationSec = stage1.traceDurationSec;
|
|
164
|
+
sceneVerification = await (0, sceneStage1Verifier_1.runSceneStage1Verifier)({
|
|
165
|
+
scenes,
|
|
166
|
+
traceDurationSec,
|
|
167
|
+
enableLlm: routeProfile === 'smart' && options?.verifyWithLlm === true,
|
|
168
|
+
});
|
|
169
|
+
options?.cancelToken?.throwIfAborted();
|
|
150
170
|
const cap = args.options?.analysisCap ??
|
|
151
171
|
(0, sceneCostEstimator_1.estimateSceneStoryCost)({ traceDurationSec }).expectedScenes;
|
|
152
|
-
|
|
172
|
+
const candidateIntervals = (0, sceneIntervalBuilder_1.buildAnalysisIntervals)(scenes, { cap, routeProfile });
|
|
173
|
+
const selectedScenes = previewOnly
|
|
174
|
+
? []
|
|
175
|
+
: (0, sceneIntervalBuilder_1.selectAnalysisEligibleScenes)(scenes, selection);
|
|
176
|
+
intervals = previewOnly
|
|
177
|
+
? []
|
|
178
|
+
: (0, sceneIntervalBuilder_1.buildAnalysisIntervals)(selectedScenes, { cap, routeProfile });
|
|
179
|
+
if (routeProfile === 'smart') {
|
|
180
|
+
this.deps.broadcast(sessionId, {
|
|
181
|
+
type: 'scene_story_smart_eta_refined',
|
|
182
|
+
content: {
|
|
183
|
+
etaSec: estimateSmartEtaSec(previewOnly ? candidateIntervals.length : intervals.length),
|
|
184
|
+
etaConfidence: 'medium',
|
|
185
|
+
expectedDeepDives: previewOnly ? candidateIntervals.length : intervals.length,
|
|
186
|
+
selectionMode: previewOnly ? 'selection_required' : selection.scope,
|
|
187
|
+
selectedSceneCount: selectedScenes.length,
|
|
188
|
+
},
|
|
189
|
+
timestamp: Date.now(),
|
|
190
|
+
});
|
|
191
|
+
}
|
|
153
192
|
// Mark which scenes were selected for analysis.
|
|
154
193
|
const selectedSceneIds = new Set(intervals.map((i) => i.displayedSceneId));
|
|
155
194
|
for (const scene of scenes) {
|
|
@@ -163,7 +202,13 @@ class SceneStoryService {
|
|
|
163
202
|
session.trackEvents = scenes.map(toLegacyTrackEventShape);
|
|
164
203
|
this.deps.broadcast(sessionId, {
|
|
165
204
|
type: 'scene_story_detected',
|
|
166
|
-
content: {
|
|
205
|
+
content: {
|
|
206
|
+
scenes,
|
|
207
|
+
analysisIntervals: intervals.length,
|
|
208
|
+
candidateIntervals: candidateIntervals.length,
|
|
209
|
+
sceneVerification,
|
|
210
|
+
previewOnly,
|
|
211
|
+
},
|
|
167
212
|
timestamp: Date.now(),
|
|
168
213
|
});
|
|
169
214
|
// Legacy `track_data` event for the rollout period.
|
|
@@ -172,8 +217,24 @@ class SceneStoryService {
|
|
|
172
217
|
content: { tracks: session.trackEvents, scenes: session.scenes },
|
|
173
218
|
timestamp: Date.now(),
|
|
174
219
|
});
|
|
220
|
+
if (previewOnly) {
|
|
221
|
+
const previewReport = this.finalizeSelectionPreview({
|
|
222
|
+
sessionId,
|
|
223
|
+
traceId,
|
|
224
|
+
session,
|
|
225
|
+
scenes,
|
|
226
|
+
traceDurationSec,
|
|
227
|
+
traceHash,
|
|
228
|
+
stage1Envelopes,
|
|
229
|
+
routeProfile,
|
|
230
|
+
candidateIntervalCount: candidateIntervals.length,
|
|
231
|
+
sceneVerification,
|
|
232
|
+
});
|
|
233
|
+
return previewReport;
|
|
234
|
+
}
|
|
175
235
|
// Skip Stage 2 entirely if nothing matched a route.
|
|
176
236
|
if (intervals.length === 0) {
|
|
237
|
+
options?.cancelToken?.throwIfAborted();
|
|
177
238
|
const emptyReport = await this.finalize({
|
|
178
239
|
sessionId,
|
|
179
240
|
traceId,
|
|
@@ -185,17 +246,27 @@ class SceneStoryService {
|
|
|
185
246
|
traceDurationSec,
|
|
186
247
|
traceHash,
|
|
187
248
|
stage1Envelopes,
|
|
249
|
+
routeProfile,
|
|
250
|
+
cacheableByHash,
|
|
251
|
+
sceneVerification,
|
|
188
252
|
});
|
|
189
253
|
resolvePending?.(emptyReport);
|
|
190
|
-
return;
|
|
254
|
+
return emptyReport;
|
|
191
255
|
}
|
|
192
256
|
// ── Stage 2: per-interval Agent deep-dive ────────────────────────────
|
|
257
|
+
options?.cancelToken?.throwIfAborted();
|
|
193
258
|
runner = new sceneAnalysisJobRunner_1.SceneAnalysisJobRunner({
|
|
194
259
|
concurrency: config_1.sceneStoryConfig.analysisConcurrency,
|
|
195
260
|
maxRetries: config_1.sceneStoryConfig.jobMaxRetries,
|
|
196
261
|
traceId,
|
|
197
262
|
analysisId: sessionId,
|
|
198
263
|
skillExecutor,
|
|
264
|
+
runExecution: routeProfile === 'smart'
|
|
265
|
+
? (fn) => (0, sqlSemaphore_1.runWithSmartTraceSqlSemaphore)(traceId, fn)
|
|
266
|
+
: undefined,
|
|
267
|
+
toDataEnvelopes: routeProfile === 'smart'
|
|
268
|
+
? (result, tid) => this.toEnvelopes(result, tid)
|
|
269
|
+
: undefined,
|
|
199
270
|
onEvent: (event) => this.handleJobEvent(sessionId, scenes, event),
|
|
200
271
|
});
|
|
201
272
|
this.runners.set(sessionId, runner);
|
|
@@ -203,6 +274,7 @@ class SceneStoryService {
|
|
|
203
274
|
await runner.waitForAllDone();
|
|
204
275
|
const jobs = runner.getJobs();
|
|
205
276
|
const cancelled = runner.isCancelled();
|
|
277
|
+
options?.cancelToken?.throwIfAborted();
|
|
206
278
|
// ── Stage 3: cross-scene narrative summary ──────────────────────────
|
|
207
279
|
let summary = null;
|
|
208
280
|
if (!cancelled) {
|
|
@@ -211,9 +283,11 @@ class SceneStoryService {
|
|
|
211
283
|
content: { phase: 'summarizing', message: '生成整体叙述' },
|
|
212
284
|
timestamp: Date.now(),
|
|
213
285
|
});
|
|
286
|
+
options?.cancelToken?.throwIfAborted();
|
|
214
287
|
summary = await (0, sceneStage3Summarizer_1.runStage3Summary)({ scenes, jobs });
|
|
215
288
|
}
|
|
216
289
|
// ── Stage 4: finalise + persist ──────────────────────────────────────
|
|
290
|
+
options?.cancelToken?.throwIfAborted();
|
|
217
291
|
const finalReport = await this.finalize({
|
|
218
292
|
sessionId,
|
|
219
293
|
traceId,
|
|
@@ -225,8 +299,12 @@ class SceneStoryService {
|
|
|
225
299
|
traceDurationSec,
|
|
226
300
|
traceHash,
|
|
227
301
|
stage1Envelopes,
|
|
302
|
+
routeProfile,
|
|
303
|
+
cacheableByHash,
|
|
304
|
+
sceneVerification,
|
|
228
305
|
});
|
|
229
306
|
resolvePending?.(finalReport);
|
|
307
|
+
return finalReport;
|
|
230
308
|
}
|
|
231
309
|
catch (err) {
|
|
232
310
|
pipelineError = err;
|
|
@@ -240,10 +318,11 @@ class SceneStoryService {
|
|
|
240
318
|
// Wake any peer requests that were awaiting this hash so they propagate
|
|
241
319
|
// the same failure on their own SSE channels (instead of hanging).
|
|
242
320
|
rejectPending?.(pipelineError);
|
|
321
|
+
return null;
|
|
243
322
|
}
|
|
244
323
|
finally {
|
|
245
|
-
if (
|
|
246
|
-
this.pendingByHash.delete(
|
|
324
|
+
if (pendingKeyToDelete)
|
|
325
|
+
this.pendingByHash.delete(pendingKeyToDelete);
|
|
247
326
|
this.runners.delete(sessionId);
|
|
248
327
|
this.inProgress.delete(sessionId);
|
|
249
328
|
}
|
|
@@ -314,6 +393,13 @@ class SceneStoryService {
|
|
|
314
393
|
});
|
|
315
394
|
}
|
|
316
395
|
async finalize(args) {
|
|
396
|
+
const jobs = args.routeProfile === 'smart'
|
|
397
|
+
? await attachSmartJobArtifactRefs({
|
|
398
|
+
traceId: args.traceId,
|
|
399
|
+
jobs: args.jobs,
|
|
400
|
+
artifactStore: this.deps.jobArtifactStore,
|
|
401
|
+
})
|
|
402
|
+
: args.jobs;
|
|
317
403
|
const report = buildSceneReport({
|
|
318
404
|
analysisId: args.sessionId,
|
|
319
405
|
traceId: args.traceId,
|
|
@@ -322,12 +408,14 @@ class SceneStoryService {
|
|
|
322
408
|
userId: args.session.userId,
|
|
323
409
|
createdAt: args.session.createdAt,
|
|
324
410
|
scenes: args.scenes,
|
|
325
|
-
jobs
|
|
411
|
+
jobs,
|
|
326
412
|
summary: args.summary,
|
|
327
413
|
cancelled: args.cancelled,
|
|
328
414
|
traceDurationSec: args.traceDurationSec,
|
|
329
415
|
traceHash: args.traceHash,
|
|
330
416
|
stage1Envelopes: args.stage1Envelopes,
|
|
417
|
+
routeProfile: args.routeProfile,
|
|
418
|
+
sceneVerification: args.sceneVerification,
|
|
331
419
|
});
|
|
332
420
|
args.session.sceneStoryReport = report;
|
|
333
421
|
args.session.status = args.cancelled ? 'cancelled' : 'completed';
|
|
@@ -335,7 +423,9 @@ class SceneStoryService {
|
|
|
335
423
|
// Persist BEFORE broadcasting scene_story_report_ready so any client
|
|
336
424
|
// that immediately calls GET /scene-reconstruct/report/:id is guaranteed
|
|
337
425
|
// to find the report rather than racing the disk write.
|
|
338
|
-
await this.persistReport(report, args.traceId
|
|
426
|
+
await this.persistReport(report, args.traceId, args.routeProfile, {
|
|
427
|
+
indexByHash: args.cacheableByHash,
|
|
428
|
+
});
|
|
339
429
|
this.deps.broadcast(args.sessionId, {
|
|
340
430
|
type: 'scene_story_report_ready',
|
|
341
431
|
content: {
|
|
@@ -358,6 +448,49 @@ class SceneStoryService {
|
|
|
358
448
|
});
|
|
359
449
|
return report;
|
|
360
450
|
}
|
|
451
|
+
finalizeSelectionPreview(args) {
|
|
452
|
+
const report = buildSceneReport({
|
|
453
|
+
analysisId: args.sessionId,
|
|
454
|
+
traceId: args.traceId,
|
|
455
|
+
tenantId: args.session.tenantId,
|
|
456
|
+
workspaceId: args.session.workspaceId,
|
|
457
|
+
userId: args.session.userId,
|
|
458
|
+
createdAt: args.session.createdAt,
|
|
459
|
+
scenes: args.scenes,
|
|
460
|
+
jobs: [],
|
|
461
|
+
summary: '场景盘点已完成,等待用户选择智能分析深钻范围。',
|
|
462
|
+
cancelled: false,
|
|
463
|
+
traceDurationSec: args.traceDurationSec,
|
|
464
|
+
traceHash: args.traceHash,
|
|
465
|
+
stage1Envelopes: args.stage1Envelopes,
|
|
466
|
+
routeProfile: args.routeProfile,
|
|
467
|
+
sceneVerification: args.sceneVerification,
|
|
468
|
+
});
|
|
469
|
+
args.session.sceneStoryReport = report;
|
|
470
|
+
args.session.status = 'completed';
|
|
471
|
+
args.session.lastActivityAt = Date.now();
|
|
472
|
+
this.memoryReportById.set(report.reportId, report);
|
|
473
|
+
this.deps.broadcast(args.sessionId, {
|
|
474
|
+
type: 'scene_story_selection_ready',
|
|
475
|
+
content: {
|
|
476
|
+
sceneCount: report.displayedScenes.length,
|
|
477
|
+
candidateIntervalCount: args.candidateIntervalCount,
|
|
478
|
+
sceneTypeCounts: countSceneTypes(report.displayedScenes),
|
|
479
|
+
reportId: report.reportId,
|
|
480
|
+
sceneVerification: report.sceneVerification,
|
|
481
|
+
},
|
|
482
|
+
timestamp: Date.now(),
|
|
483
|
+
});
|
|
484
|
+
this.deps.broadcast(args.sessionId, {
|
|
485
|
+
type: 'progress',
|
|
486
|
+
content: {
|
|
487
|
+
phase: 'selection_ready',
|
|
488
|
+
message: '场景盘点完成,请选择智能分析范围',
|
|
489
|
+
},
|
|
490
|
+
timestamp: Date.now(),
|
|
491
|
+
});
|
|
492
|
+
return report;
|
|
493
|
+
}
|
|
361
494
|
/**
|
|
362
495
|
* Persist a finalised SceneReport to whichever cache layer matches the
|
|
363
496
|
* trace's origin. File-backed traces go into the disk store with the
|
|
@@ -369,12 +502,18 @@ class SceneStoryService {
|
|
|
369
502
|
* a save failure would let peer requests get a `reportId` they can't
|
|
370
503
|
* subsequently load via `GET /scene-reconstruct/report/:id`.
|
|
371
504
|
*/
|
|
372
|
-
async persistReport(report, traceId) {
|
|
505
|
+
async persistReport(report, traceId, routeProfile, options = {}) {
|
|
373
506
|
if (report.traceOrigin === 'file' && report.traceHash) {
|
|
374
|
-
await this.deps.reportStore.save(report
|
|
507
|
+
await this.deps.reportStore.save(report, routeProfile, {
|
|
508
|
+
indexByHash: options.indexByHash !== false,
|
|
509
|
+
});
|
|
510
|
+
this.memoryReportById.set(report.reportId, report);
|
|
375
511
|
}
|
|
376
512
|
else {
|
|
377
|
-
|
|
513
|
+
if (options.indexByHash !== false) {
|
|
514
|
+
this.deps.memoryCache.set(traceId, report, routeProfile);
|
|
515
|
+
}
|
|
516
|
+
this.memoryReportById.set(report.reportId, report);
|
|
378
517
|
}
|
|
379
518
|
}
|
|
380
519
|
/**
|
|
@@ -421,6 +560,8 @@ class SceneStoryService {
|
|
|
421
560
|
content: {
|
|
422
561
|
scenes: report.displayedScenes,
|
|
423
562
|
analysisIntervals: report.jobs.length,
|
|
563
|
+
sceneVerification: report.sceneVerification,
|
|
564
|
+
previewOnly: report.jobs.length === 0 && report.summary === '场景盘点已完成,等待用户选择智能分析深钻范围。',
|
|
424
565
|
},
|
|
425
566
|
timestamp: now,
|
|
426
567
|
});
|
|
@@ -464,6 +605,7 @@ class SceneStoryService {
|
|
|
464
605
|
*/
|
|
465
606
|
async previewOnly(args) {
|
|
466
607
|
const { traceId, owner } = args;
|
|
608
|
+
const routeProfile = args.routeProfile ?? 'legacy';
|
|
467
609
|
// Hash and probe are independent — run in parallel. Hash dominates for
|
|
468
610
|
// large files (5-10s for 1GB), probe is ~50ms. Parallelising cuts cold
|
|
469
611
|
// preview latency from `hash + probe` to `max(hash, probe)`.
|
|
@@ -471,7 +613,7 @@ class SceneStoryService {
|
|
|
471
613
|
this.deps.computeHash(traceId),
|
|
472
614
|
this.deps.probeDuration(traceId),
|
|
473
615
|
]);
|
|
474
|
-
const cached = await this.lookupCachedReport(hash, traceId, owner);
|
|
616
|
+
const cached = await this.lookupCachedReport(hash, traceId, routeProfile, owner);
|
|
475
617
|
if (cached) {
|
|
476
618
|
const dur = cached.traceMeta.durationSec;
|
|
477
619
|
return {
|
|
@@ -492,7 +634,15 @@ class SceneStoryService {
|
|
|
492
634
|
* existed; the route handler maps null to a 404.
|
|
493
635
|
*/
|
|
494
636
|
async getReport(reportId) {
|
|
495
|
-
|
|
637
|
+
const persisted = await this.deps.reportStore.loadById(reportId);
|
|
638
|
+
if (persisted)
|
|
639
|
+
return persisted;
|
|
640
|
+
const memory = this.memoryReportById.get(reportId) ?? null;
|
|
641
|
+
if (memory && memory.expiresAt !== null && memory.expiresAt < Date.now()) {
|
|
642
|
+
this.memoryReportById.delete(reportId);
|
|
643
|
+
return null;
|
|
644
|
+
}
|
|
645
|
+
return memory;
|
|
496
646
|
}
|
|
497
647
|
/**
|
|
498
648
|
* Unified cache lookup: file-backed traces go via the disk store by hash;
|
|
@@ -500,10 +650,10 @@ class SceneStoryService {
|
|
|
500
650
|
* start() (cache check) and previewOnly() so the lookup strategy is
|
|
501
651
|
* defined in exactly one place.
|
|
502
652
|
*/
|
|
503
|
-
async lookupCachedReport(hash, traceId, owner) {
|
|
653
|
+
async lookupCachedReport(hash, traceId, routeProfile, owner) {
|
|
504
654
|
const report = hash
|
|
505
|
-
? await this.deps.reportStore.loadByHash(hash)
|
|
506
|
-
: this.deps.memoryCache.get(traceId) ?? null;
|
|
655
|
+
? await this.deps.reportStore.loadByHash(hash, routeProfile)
|
|
656
|
+
: this.deps.memoryCache.get(traceId, routeProfile) ?? null;
|
|
507
657
|
if (!report)
|
|
508
658
|
return null;
|
|
509
659
|
return owner ? ((0, resourceOwnership_1.ownersMatch)(report, owner) ? report : null) : report;
|
|
@@ -513,10 +663,17 @@ exports.SceneStoryService = SceneStoryService;
|
|
|
513
663
|
// ---------------------------------------------------------------------------
|
|
514
664
|
// Helpers
|
|
515
665
|
// ---------------------------------------------------------------------------
|
|
516
|
-
function buildOwnerScopedCacheKey(hash, owner) {
|
|
666
|
+
function buildOwnerScopedCacheKey(hash, routeProfile, owner) {
|
|
517
667
|
if (!owner)
|
|
518
|
-
return `${hash}:legacy`;
|
|
519
|
-
return `${hash}:${owner.tenantId || ''}:${owner.workspaceId || ''}:${owner.userId || owner.ownerUserId || ''}`;
|
|
668
|
+
return `${hash}:${routeProfile}:legacy-owner`;
|
|
669
|
+
return `${hash}:${routeProfile}:${owner.tenantId || ''}:${owner.workspaceId || ''}:${owner.userId || owner.ownerUserId || ''}`;
|
|
670
|
+
}
|
|
671
|
+
function countSceneTypes(scenes) {
|
|
672
|
+
const counts = {};
|
|
673
|
+
for (const scene of scenes) {
|
|
674
|
+
counts[scene.sceneType] = (counts[scene.sceneType] || 0) + 1;
|
|
675
|
+
}
|
|
676
|
+
return counts;
|
|
520
677
|
}
|
|
521
678
|
function jobStateToAnalysisState(jobEventType) {
|
|
522
679
|
switch (jobEventType) {
|
|
@@ -541,6 +698,42 @@ function mapJobEventToSseType(type) {
|
|
|
541
698
|
default: return null;
|
|
542
699
|
}
|
|
543
700
|
}
|
|
701
|
+
async function attachSmartJobArtifactRefs(args) {
|
|
702
|
+
if (!args.artifactStore)
|
|
703
|
+
return args.jobs;
|
|
704
|
+
const out = [];
|
|
705
|
+
for (const job of args.jobs) {
|
|
706
|
+
const result = job.result;
|
|
707
|
+
const projection = result?.projection;
|
|
708
|
+
if (!result ||
|
|
709
|
+
!projection ||
|
|
710
|
+
projection.omittedRowCount <= 0 ||
|
|
711
|
+
projection.artifactRef) {
|
|
712
|
+
out.push(job);
|
|
713
|
+
continue;
|
|
714
|
+
}
|
|
715
|
+
const artifactRef = await args.artifactStore.save({
|
|
716
|
+
traceId: args.traceId,
|
|
717
|
+
jobId: job.jobId,
|
|
718
|
+
displayedSceneId: result.displayedSceneId,
|
|
719
|
+
skillId: result.skillId,
|
|
720
|
+
displayResults: result.displayResults,
|
|
721
|
+
dataEnvelopes: result.dataEnvelopes,
|
|
722
|
+
createdAt: Date.now(),
|
|
723
|
+
});
|
|
724
|
+
out.push({
|
|
725
|
+
...job,
|
|
726
|
+
result: {
|
|
727
|
+
...result,
|
|
728
|
+
projection: {
|
|
729
|
+
...projection,
|
|
730
|
+
artifactRef,
|
|
731
|
+
},
|
|
732
|
+
},
|
|
733
|
+
});
|
|
734
|
+
}
|
|
735
|
+
return out;
|
|
736
|
+
}
|
|
544
737
|
function buildSceneReport(args) {
|
|
545
738
|
const failedCount = args.jobs.filter((j) => j.state === 'failed').length;
|
|
546
739
|
const partial = args.cancelled || failedCount > 0;
|
|
@@ -578,8 +771,11 @@ function buildSceneReport(args) {
|
|
|
578
771
|
createdAt: args.createdAt,
|
|
579
772
|
traceMeta: { durationSec: args.traceDurationSec },
|
|
580
773
|
displayedScenes: args.scenes,
|
|
774
|
+
sceneVerification: args.sceneVerification,
|
|
581
775
|
cachedDataEnvelopes: args.stage1Envelopes,
|
|
582
|
-
jobs: args.
|
|
776
|
+
jobs: args.routeProfile === 'smart'
|
|
777
|
+
? args.jobs.map(sanitizeSmartReportJob)
|
|
778
|
+
: args.jobs,
|
|
583
779
|
summary: args.summary,
|
|
584
780
|
insights,
|
|
585
781
|
partialReport: partial,
|
|
@@ -590,6 +786,23 @@ function buildSceneReport(args) {
|
|
|
590
786
|
},
|
|
591
787
|
};
|
|
592
788
|
}
|
|
789
|
+
function sanitizeSmartReportJob(job) {
|
|
790
|
+
if (!job.result)
|
|
791
|
+
return job;
|
|
792
|
+
return {
|
|
793
|
+
...job,
|
|
794
|
+
result: {
|
|
795
|
+
...job.result,
|
|
796
|
+
displayResults: [],
|
|
797
|
+
dataEnvelopes: [],
|
|
798
|
+
},
|
|
799
|
+
};
|
|
800
|
+
}
|
|
801
|
+
function estimateSmartEtaSec(intervalCount) {
|
|
802
|
+
if (intervalCount <= 0)
|
|
803
|
+
return 3;
|
|
804
|
+
return Math.max(10, Math.ceil(intervalCount * 12));
|
|
805
|
+
}
|
|
593
806
|
// ---------------------------------------------------------------------------
|
|
594
807
|
// Legacy session shape conversion
|
|
595
808
|
// ---------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sceneStoryService.js","sourceRoot":"","sources":["../../../src/agent/scene/sceneStoryService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sceneStoryService.js","sourceRoot":"","sources":["../../../src/agent/scene/sceneStoryService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface SmartCancelToken {
|
|
2
|
+
readonly signal: AbortSignal;
|
|
3
|
+
throwIfAborted(): void;
|
|
4
|
+
}
|
|
5
|
+
export declare class SmartCancelBridge {
|
|
6
|
+
private readonly controllers;
|
|
7
|
+
private readonly terminalClaims;
|
|
8
|
+
create(parentSessionId: string): SmartCancelToken;
|
|
9
|
+
cancel(parentSessionId: string): boolean;
|
|
10
|
+
tryClaimTerminal(parentSessionId: string): boolean;
|
|
11
|
+
release(parentSessionId: string): void;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=smartCancelBridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smartCancelBridge.d.ts","sourceRoot":"","sources":["../../../src/agent/scene/smartCancelBridge.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,cAAc,IAAI,IAAI,CAAC;CACxB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IAEpD,MAAM,CAAC,eAAe,EAAE,MAAM,GAAG,gBAAgB;IAcjD,MAAM,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO;IAOxC,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO;IAMlD,OAAO,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI;CAIvC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
3
|
+
// Copyright (C) 2024-2026 Gracker (Chris)
|
|
4
|
+
// This file is part of SmartPerfetto. See LICENSE for details.
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SmartCancelBridge = void 0;
|
|
7
|
+
class SmartCancelBridge {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.controllers = new Map();
|
|
10
|
+
this.terminalClaims = new Set();
|
|
11
|
+
}
|
|
12
|
+
create(parentSessionId) {
|
|
13
|
+
this.release(parentSessionId);
|
|
14
|
+
const controller = new AbortController();
|
|
15
|
+
this.controllers.set(parentSessionId, controller);
|
|
16
|
+
return {
|
|
17
|
+
signal: controller.signal,
|
|
18
|
+
throwIfAborted() {
|
|
19
|
+
if (controller.signal.aborted) {
|
|
20
|
+
throw new Error('Smart analysis cancelled');
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
cancel(parentSessionId) {
|
|
26
|
+
const controller = this.controllers.get(parentSessionId);
|
|
27
|
+
if (!controller)
|
|
28
|
+
return false;
|
|
29
|
+
controller.abort();
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
tryClaimTerminal(parentSessionId) {
|
|
33
|
+
if (this.terminalClaims.has(parentSessionId))
|
|
34
|
+
return false;
|
|
35
|
+
this.terminalClaims.add(parentSessionId);
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
release(parentSessionId) {
|
|
39
|
+
this.controllers.delete(parentSessionId);
|
|
40
|
+
this.terminalClaims.delete(parentSessionId);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.SmartCancelBridge = SmartCancelBridge;
|
|
44
|
+
//# sourceMappingURL=smartCancelBridge.js.map
|