@gracker/smartperfetto 1.0.15 → 1.0.16
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/agents/base/baseAgent.d.ts.map +1 -1
- package/dist/agent/agents/base/baseAgent.js +5 -1
- package/dist/agent/agents/base/baseAgent.js.map +1 -1
- package/dist/agent/context/enhancedSessionContext.d.ts +5 -0
- package/dist/agent/context/enhancedSessionContext.d.ts.map +1 -1
- package/dist/agent/context/enhancedSessionContext.js +13 -0
- package/dist/agent/context/enhancedSessionContext.js.map +1 -1
- package/dist/agent/core/conclusionContract.d.ts +16 -1
- package/dist/agent/core/conclusionContract.d.ts.map +1 -1
- package/dist/agent/core/conclusionGenerator.d.ts.map +1 -1
- package/dist/agent/core/conclusionGenerator.js +90 -7
- package/dist/agent/core/conclusionGenerator.js.map +1 -1
- package/dist/agent/core/executors/directSkillExecutor.d.ts.map +1 -1
- package/dist/agent/core/executors/directSkillExecutor.js +6 -12
- package/dist/agent/core/executors/directSkillExecutor.js.map +1 -1
- package/dist/agent/core/orchestratorTypes.d.ts +6 -0
- package/dist/agent/core/orchestratorTypes.d.ts.map +1 -1
- package/dist/agent/core/orchestratorTypes.js.map +1 -1
- package/dist/agent/experts/crossDomain/moduleExpertInvoker.d.ts.map +1 -1
- package/dist/agent/experts/crossDomain/moduleExpertInvoker.js +4 -1
- package/dist/agent/experts/crossDomain/moduleExpertInvoker.js.map +1 -1
- package/dist/agent/scene/sceneStage1Runner.d.ts +1 -1
- package/dist/agent/scene/sceneStage1Runner.d.ts.map +1 -1
- package/dist/agent/scene/sceneStage1Runner.js +1 -1
- package/dist/agent/scene/sceneStage1Runner.js.map +1 -1
- package/dist/agent/scene/sceneStoryService.d.ts +1 -1
- package/dist/agent/scene/sceneStoryService.d.ts.map +1 -1
- package/dist/agent/scene/sceneStoryService.js +4 -1
- package/dist/agent/scene/sceneStoryService.js.map +1 -1
- package/dist/agent/types/agentProtocol.d.ts.map +1 -1
- package/dist/agent/types/agentProtocol.js +4 -1
- package/dist/agent/types/agentProtocol.js.map +1 -1
- package/dist/agent/types.d.ts +7 -0
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/agentv3/artifactStore.d.ts +5 -0
- package/dist/agentv3/artifactStore.d.ts.map +1 -1
- package/dist/agentv3/artifactStore.js +3 -0
- package/dist/agentv3/artifactStore.js.map +1 -1
- package/dist/agentv3/claudeMcpServer.d.ts.map +1 -1
- package/dist/agentv3/claudeMcpServer.js +125 -86
- package/dist/agentv3/claudeMcpServer.js.map +1 -1
- package/dist/agentv3/claudeRuntime.js.map +1 -1
- package/dist/agentv3/sessionStateSnapshot.d.ts +23 -0
- package/dist/agentv3/sessionStateSnapshot.d.ts.map +1 -1
- package/dist/assistant/application/agentAnalyzeSessionService.d.ts +6 -0
- package/dist/assistant/application/agentAnalyzeSessionService.d.ts.map +1 -1
- package/dist/assistant/application/agentAnalyzeSessionService.js +9 -3
- package/dist/assistant/application/agentAnalyzeSessionService.js.map +1 -1
- package/dist/assistant/application/assistantApplicationService.d.ts.map +1 -1
- package/dist/assistant/application/assistantApplicationService.js +3 -1
- package/dist/assistant/application/assistantApplicationService.js.map +1 -1
- package/dist/cli-user/commands/report.js +64 -0
- package/dist/cli-user/commands/report.js.map +1 -1
- package/dist/cli-user/io/paths.d.ts +3 -0
- package/dist/cli-user/io/paths.d.ts.map +1 -1
- package/dist/cli-user/io/paths.js +6 -0
- package/dist/cli-user/io/paths.js.map +1 -1
- package/dist/cli-user/io/sessionStore.d.ts +1 -0
- package/dist/cli-user/io/sessionStore.d.ts.map +1 -1
- package/dist/cli-user/io/sessionStore.js +5 -0
- package/dist/cli-user/io/sessionStore.js.map +1 -1
- package/dist/cli-user/repl/renderer.d.ts +8 -0
- package/dist/cli-user/repl/renderer.d.ts.map +1 -1
- package/dist/cli-user/repl/renderer.js.map +1 -1
- package/dist/cli-user/services/cliAnalyzeService.d.ts +3 -0
- package/dist/cli-user/services/cliAnalyzeService.d.ts.map +1 -1
- package/dist/cli-user/services/cliAnalyzeService.js +67 -0
- package/dist/cli-user/services/cliAnalyzeService.js.map +1 -1
- package/dist/cli-user/services/turnPersistence.d.ts +0 -10
- package/dist/cli-user/services/turnPersistence.d.ts.map +1 -1
- package/dist/cli-user/services/turnPersistence.js +62 -0
- package/dist/cli-user/services/turnPersistence.js.map +1 -1
- package/dist/routes/agentReportRoutes.d.ts +1 -0
- package/dist/routes/agentReportRoutes.d.ts.map +1 -1
- package/dist/routes/agentReportRoutes.js +13 -2
- package/dist/routes/agentReportRoutes.js.map +1 -1
- package/dist/routes/agentResumeRoutes.d.ts.map +1 -1
- package/dist/routes/agentResumeRoutes.js +29 -5
- package/dist/routes/agentResumeRoutes.js.map +1 -1
- package/dist/routes/agentRoutes.d.ts.map +1 -1
- package/dist/routes/agentRoutes.js +293 -91
- package/dist/routes/agentRoutes.js.map +1 -1
- package/dist/services/agentEventStore.d.ts.map +1 -1
- package/dist/services/agentEventStore.js +13 -3
- package/dist/services/agentEventStore.js.map +1 -1
- package/dist/services/agentReportData.d.ts +3 -0
- package/dist/services/agentReportData.d.ts.map +1 -1
- package/dist/services/agentReportData.js.map +1 -1
- package/dist/services/analysisResultSnapshotPipeline.d.ts +3 -0
- package/dist/services/analysisResultSnapshotPipeline.d.ts.map +1 -1
- package/dist/services/analysisResultSnapshotPipeline.js +3 -0
- package/dist/services/analysisResultSnapshotPipeline.js.map +1 -1
- package/dist/services/analysisResultSnapshotStore.d.ts.map +1 -1
- package/dist/services/analysisResultSnapshotStore.js +34 -2
- package/dist/services/analysisResultSnapshotStore.js.map +1 -1
- package/dist/services/enterpriseSchema.d.ts.map +1 -1
- package/dist/services/enterpriseSchema.js +11 -0
- package/dist/services/enterpriseSchema.js.map +1 -1
- package/dist/services/evidence/evidenceContractBuilder.d.ts +11 -0
- package/dist/services/evidence/evidenceContractBuilder.d.ts.map +1 -0
- package/dist/services/evidence/evidenceContractBuilder.js +530 -0
- package/dist/services/evidence/evidenceContractBuilder.js.map +1 -0
- package/dist/services/htmlReportGenerator.d.ts +7 -0
- package/dist/services/htmlReportGenerator.d.ts.map +1 -1
- package/dist/services/htmlReportGenerator.js +66 -0
- package/dist/services/htmlReportGenerator.js.map +1 -1
- package/dist/services/persistAgentSession.d.ts.map +1 -1
- package/dist/services/persistAgentSession.js +5 -0
- package/dist/services/persistAgentSession.js.map +1 -1
- package/dist/services/processIdentity/identityContractMapper.d.ts +14 -0
- package/dist/services/processIdentity/identityContractMapper.d.ts.map +1 -0
- package/dist/services/processIdentity/identityContractMapper.js +135 -0
- package/dist/services/processIdentity/identityContractMapper.js.map +1 -0
- package/dist/services/processIdentity/types.d.ts +5 -0
- package/dist/services/processIdentity/types.d.ts.map +1 -1
- package/dist/services/processIdentity/types.js.map +1 -1
- package/dist/services/skillEngine/skillExecutor.d.ts +14 -2
- package/dist/services/skillEngine/skillExecutor.d.ts.map +1 -1
- package/dist/services/skillEngine/skillExecutor.js +133 -13
- package/dist/services/skillEngine/skillExecutor.js.map +1 -1
- package/dist/services/skillEngine/types.d.ts +2 -0
- package/dist/services/skillEngine/types.d.ts.map +1 -1
- package/dist/services/verifier/claimVerificationRunner.d.ts +20 -0
- package/dist/services/verifier/claimVerificationRunner.d.ts.map +1 -0
- package/dist/services/verifier/claimVerificationRunner.js +88 -0
- package/dist/services/verifier/claimVerificationRunner.js.map +1 -0
- package/dist/services/verifier/deterministicClaimVerifier.d.ts +8 -0
- package/dist/services/verifier/deterministicClaimVerifier.d.ts.map +1 -0
- package/dist/services/verifier/deterministicClaimVerifier.js +178 -0
- package/dist/services/verifier/deterministicClaimVerifier.js.map +1 -0
- package/dist/types/claimVerification.d.ts +38 -0
- package/dist/types/claimVerification.d.ts.map +1 -0
- package/dist/types/claimVerification.js +6 -0
- package/dist/types/claimVerification.js.map +1 -0
- package/dist/types/dataContract.d.ts +30 -0
- package/dist/types/dataContract.d.ts.map +1 -1
- package/dist/types/dataContract.js +7 -0
- package/dist/types/dataContract.js.map +1 -1
- package/dist/types/evidenceContract.d.ts +100 -0
- package/dist/types/evidenceContract.d.ts.map +1 -0
- package/dist/types/evidenceContract.js +6 -0
- package/dist/types/evidenceContract.js.map +1 -0
- package/dist/types/identityContract.d.ts +57 -0
- package/dist/types/identityContract.d.ts.map +1 -0
- package/dist/types/identityContract.js +6 -0
- package/dist/types/identityContract.js.map +1 -0
- package/dist/types/multiTraceComparison.d.ts +3 -0
- package/dist/types/multiTraceComparison.d.ts.map +1 -1
- package/package.json +1 -1
- package/skills/atomic/process_identity_resolver.skill.yaml +130 -1
- package/skills/atomic/process_slice_cpu_hotspots.skill.yaml +321 -0
- package/strategies/anr.strategy.md +2 -2
- package/strategies/game.strategy.md +1 -1
- package/strategies/general.strategy.md +1 -1
- package/strategies/scrolling.strategy.md +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistAgentSession.js","sourceRoot":"","sources":["../../src/services/persistAgentSession.ts"],"names":[],"mappings":";AAAA,6CAA6C;AAC7C,0CAA0C;AAC1C,+DAA+D;;AA4D/D,
|
|
1
|
+
{"version":3,"file":"persistAgentSession.js","sourceRoot":"","sources":["../../src/services/persistAgentSession.ts"],"names":[],"mappings":";AAAA,6CAA6C;AAC7C,0CAA0C;AAC1C,+DAA+D;;AA4D/D,4CAqJC;AAzLD,2EAAwE;AACxE,oFAAgF;AAChF,gFAAgF;AAChF,kEAA+D;AAE/D,SAAS,qBAAqB,CAAC,WAAiC;IAC9D,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/D,MAAM,QAAQ,GAAG,IAAA,oDAA0B,GAAE,CAAC;IAC9C,OAAO,WAAW;SACf,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SAC3B,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACX,UAAU,EAAE,GAAI,CAAC,UAAU;QAC3B,eAAe,EAAE,GAAI,CAAC,eAAe;QACrC,WAAW,EAAE,GAAI,CAAC,OAAO,CAAC,WAAW;KACtC,CAAC,CAAC,CAAC;AACR,CAAC;AAoBD,SAAgB,gBAAgB,CAAC,KAA4B;IAC3D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACrE,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,kBAAkB,CAAC;IAC9D,MAAM,kBAAkB,GAAG,qDAAyB,CAAC,WAAW,EAAE,CAAC;IAEnE,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,8CAAqB,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEnE,MAAM,QAAQ,GAAG,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,KAAK,UAAU;YACtE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE;gBACtD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;gBACxD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,EAAE;gBAClD,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,EAAE;gBACxC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,EAAE;gBAClD,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;gBAC1C,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;gBAC5C,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;gBAC1C,YAAY,EAAE,OAAO,CAAC,MAAM,EAAE,YAAY,IAAK,OAAe,CAAC,YAAY;gBAC3E,uBAAuB,EAAE,OAAO,CAAC,MAAM,EAAE,uBAAuB,IAAK,OAAe,CAAC,uBAAuB;gBAC5G,mBAAmB,EAAE,OAAO,CAAC,MAAM,EAAE,mBAAmB,IAAK,OAAe,CAAC,mBAAmB;gBAChG,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;gBAClC,sBAAsB,EAAE,OAAO,CAAC,UAAU;gBAC1C,gCAAgC,EAAE,OAAO,CAAC,oBAAoB;gBAC9D,aAAa,EAAG,OAAqC,CAAC,aAAoB;gBAC1E,WAAW,EAAG,OAAoC,CAAC,WAAW;gBAC9D,gBAAgB,EAAE,qBAAqB,CAAE,OAAoC,CAAC,WAAW,CAAC;gBAC1F,iBAAiB,EAAE,mCAAgB,CAAC,OAAO,CAAC,SAAS,EAAE,KAAM,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE;gBACrF,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC;gBACvC,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,IAAI,CAAC;aACtD,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC;QAET,kEAAkE;QAClE,sEAAsE;QACtE,wCAAwC;QACxC,IAAI,QAAQ,EAAE,CAAC;YACZ,OAAiD,CAAC,aAAa,GAAG,QAAQ,CAAC;QAC9E,CAAC;QAED,IAAI,QAAQ,IAAI,cAAc,EAAE,CAAC;YAC/B,MAAM,kBAAkB,GAAG,OAAO,OAAO,CAAC,YAAY,CAAC,aAAa,KAAK,UAAU;gBACjF,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,SAAS,EAAE;gBAClD,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,eAAe,GAAG,cAAc,CAAC,kBAAkB,EAAE,IAAI,SAAS,CAAC;YAEzE,MAAM,KAAK,GAAG,kBAAkB,CAAC,wBAAwB,CACvD,SAAS,EACT,QAAQ,EACR;gBACE,cAAc;gBACd,kBAAkB;gBAClB,eAAe;gBACf,KAAK,EAAE;oBACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,MAAM,EAAE,OAAO,CAAC,MAAM;iBACvB;aACF,CACF,CAAC;YACF,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,6CAA6C,EAAE;oBACvE,SAAS;oBACT,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,MAAM;oBACxC,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM;oBACxC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM;oBACpC,gBAAgB,EAAE,cAAc,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE;iBAC7D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,cAAc,EAAE,CAAC;YAC1B,uEAAuE;YACvE,uEAAuE;YACvE,kCAAkC;YAClC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9C,kBAAkB,CAAC,WAAW,CAAC;oBAC7B,EAAE,EAAE,SAAS;oBACb,OAAO;oBACP,SAAS,EAAE,OAAO;oBAClB,QAAQ,EAAE,KAAK;oBACf,QAAQ,EAAE,EAAE;oBACZ,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,QAAQ,EAAE;wBACR,QAAQ,EAAE,OAAO,CAAC,QAAQ;wBAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;wBAChC,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;wBAC1C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;qBAC3C;iBACF,CAAC,CAAC;YACL,CAAC;YACD,kBAAkB,CAAC,kBAAkB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YACjE,IAAI,OAAO,OAAO,CAAC,YAAY,CAAC,qBAAqB,KAAK,UAAU,EAAE,CAAC;gBACrE,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;gBACvE,IAAI,UAAU;oBAAE,kBAAkB,CAAC,wBAAwB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YACrF,CAAC;YACD,IAAI,OAAO,OAAO,CAAC,YAAY,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;gBAC7D,kBAAkB,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC;YACrF,CAAC;YACD,MAAM,eAAe,GAAG,cAAc,CAAC,kBAAkB,EAAE,CAAC;YAC5D,IAAI,eAAe;gBAAE,kBAAkB,CAAC,mBAAmB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;YACxF,kBAAkB,CAAC,iBAAiB,CAAC,SAAS,EAAE;gBAC9C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,EAAE;gBAClD,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;gBAC1C,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;gBACpC,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,EAAE;gBACxC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,EAAE;aACnD,CAAC,CAAC;QACL,CAAC;QAED,mEAAmE;QACnE,wEAAwE;QACxE,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;gBAC3C,kBAAkB,CAAC,cAAc,CAAC,SAAS,EAAE;oBAC3C;wBACE,EAAE,EAAE,OAAO,SAAS,QAAQ,SAAS,OAAO;wBAC5C,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,KAAK;wBACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC;qBACtD;oBACD;wBACE,EAAE,EAAE,OAAO,SAAS,QAAQ,SAAS,YAAY;wBACjD,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC;wBACtD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;qBACtB;iBACF,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,MAAM,EAAE,CAAC;gBAChB,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,iCAAiC,EAAE;oBAC5D,KAAK,EAAG,MAAgB,CAAC,OAAO;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,sEAAsE;QACtE,oEAAoE;QACpE,8CAA8C;QAC9C,MAAM,OAAO,GAAI,GAAa,CAAC,OAAO,CAAC;QACvC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,iCAAiC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACnF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,gDAAgD,SAAS,eAAe,OAAO,EAAE,CAAC,CAAC;QAClG,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AnalysisIdentityTargetV1, IdentityResolutionStatus, IdentityResolutionV1, IdentityTraceSide } from '../../types/identityContract';
|
|
2
|
+
import type { ProcessIdentityResolution, ProcessIdentityTarget } from './types';
|
|
3
|
+
export interface BuildIdentityResolutionFromProcessGateInput {
|
|
4
|
+
traceId: string;
|
|
5
|
+
traceSide?: IdentityTraceSide;
|
|
6
|
+
target?: ProcessIdentityTarget;
|
|
7
|
+
resolution?: ProcessIdentityResolution;
|
|
8
|
+
source?: AnalysisIdentityTargetV1['source'];
|
|
9
|
+
statusOverride?: IdentityResolutionStatus;
|
|
10
|
+
warnings?: string[];
|
|
11
|
+
}
|
|
12
|
+
export declare function mapProcessIdentityStatus(resolution: ProcessIdentityResolution | undefined): IdentityResolutionStatus;
|
|
13
|
+
export declare function buildIdentityResolutionFromProcessGate(input: BuildIdentityResolutionFromProcessGateInput): IdentityResolutionV1 | undefined;
|
|
14
|
+
//# sourceMappingURL=identityContractMapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identityContractMapper.d.ts","sourceRoot":"","sources":["../../../src/services/processIdentity/identityContractMapper.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EAGlB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAEV,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,2CAA2C;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC,MAAM,CAAC,EAAE,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAC5C,cAAc,CAAC,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAUD,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,yBAAyB,GAAG,SAAS,GAChD,wBAAwB,CAY1B;AA8DD,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,2CAA2C,GACjD,oBAAoB,GAAG,SAAS,CAgDlC"}
|
|
@@ -0,0 +1,135 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.mapProcessIdentityStatus = mapProcessIdentityStatus;
|
|
10
|
+
exports.buildIdentityResolutionFromProcessGate = buildIdentityResolutionFromProcessGate;
|
|
11
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
12
|
+
function stableHash(value) {
|
|
13
|
+
return crypto_1.default
|
|
14
|
+
.createHash('sha1')
|
|
15
|
+
.update(JSON.stringify(value, (_key, item) => typeof item === 'bigint' ? item.toString() : item))
|
|
16
|
+
.digest('hex')
|
|
17
|
+
.slice(0, 12);
|
|
18
|
+
}
|
|
19
|
+
function mapProcessIdentityStatus(resolution) {
|
|
20
|
+
if (!resolution)
|
|
21
|
+
return 'not_required';
|
|
22
|
+
if (resolution.resolverError)
|
|
23
|
+
return 'error';
|
|
24
|
+
if (resolution.status === 'verified')
|
|
25
|
+
return 'verified';
|
|
26
|
+
if (resolution.status === 'not_found')
|
|
27
|
+
return 'missing';
|
|
28
|
+
if (resolution.status === 'unresolved')
|
|
29
|
+
return 'missing';
|
|
30
|
+
const raw = String(resolution.rawStatus || '').toLowerCase();
|
|
31
|
+
const warningText = resolution.warnings.join(' ').toLowerCase();
|
|
32
|
+
if (raw.includes('weak') || warningText.includes('weak'))
|
|
33
|
+
return 'weak';
|
|
34
|
+
if (resolution.confidenceScore > 0 && resolution.confidenceScore < 50)
|
|
35
|
+
return 'weak';
|
|
36
|
+
return 'ambiguous';
|
|
37
|
+
}
|
|
38
|
+
function buildTarget(traceId, traceSide, target, source) {
|
|
39
|
+
const timeRange = target?.startTs !== undefined && target?.endTs !== undefined
|
|
40
|
+
? { startTs: target.startTs, endTs: target.endTs }
|
|
41
|
+
: undefined;
|
|
42
|
+
return {
|
|
43
|
+
traceId,
|
|
44
|
+
traceSide: traceSide || 'current',
|
|
45
|
+
packageName: target?.requestedName,
|
|
46
|
+
processName: target?.requestedName,
|
|
47
|
+
threadName: target?.threadName,
|
|
48
|
+
upid: target?.upid,
|
|
49
|
+
pid: target?.pid,
|
|
50
|
+
...(timeRange ? { timeRange } : {}),
|
|
51
|
+
source,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function processFromCandidate(candidate) {
|
|
55
|
+
if (candidate.upid === undefined)
|
|
56
|
+
return undefined;
|
|
57
|
+
const matchSources = new Set();
|
|
58
|
+
for (const sourceText of [candidate.targetMatchSources, candidate.supportingSources]) {
|
|
59
|
+
if (typeof sourceText !== 'string')
|
|
60
|
+
continue;
|
|
61
|
+
for (const part of sourceText.split(',')) {
|
|
62
|
+
const source = part.trim();
|
|
63
|
+
if (source)
|
|
64
|
+
matchSources.add(source);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
upid: candidate.upid,
|
|
69
|
+
pid: candidate.pid,
|
|
70
|
+
processName: candidate.processName || candidate.metadataProcessName || candidate.recommendedProcessNameParam,
|
|
71
|
+
packageName: candidate.packageName || candidate.canonicalPackageName,
|
|
72
|
+
matchSources: Array.from(matchSources),
|
|
73
|
+
confidence: Math.max(0, Math.min(1, candidate.confidenceScore / 100)),
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
function threadFromCandidate(candidate, target) {
|
|
77
|
+
if (candidate.threadUtid === undefined)
|
|
78
|
+
return undefined;
|
|
79
|
+
if (target?.threadName && candidate.threadTargetMatched !== true)
|
|
80
|
+
return undefined;
|
|
81
|
+
return {
|
|
82
|
+
utid: candidate.threadUtid,
|
|
83
|
+
tid: candidate.threadTid,
|
|
84
|
+
threadName: candidate.threadName,
|
|
85
|
+
role: candidate.threadRole,
|
|
86
|
+
owningUpid: candidate.upid,
|
|
87
|
+
processName: candidate.processName || candidate.metadataProcessName || candidate.recommendedProcessNameParam,
|
|
88
|
+
matchSources: candidate.threadName ? ['thread.name'] : [],
|
|
89
|
+
confidence: Math.max(0, Math.min(1, candidate.confidenceScore / 100)),
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
function buildIdentityResolutionFromProcessGate(input) {
|
|
93
|
+
if (!input.target && !input.resolution)
|
|
94
|
+
return undefined;
|
|
95
|
+
const target = buildTarget(input.traceId, input.traceSide, input.target, input.source || 'skill_param');
|
|
96
|
+
const resolution = input.resolution;
|
|
97
|
+
const status = input.statusOverride || mapProcessIdentityStatus(resolution);
|
|
98
|
+
const processes = (resolution?.candidates || [])
|
|
99
|
+
.map(processFromCandidate)
|
|
100
|
+
.filter((item) => Boolean(item));
|
|
101
|
+
const threads = (resolution?.candidates || [])
|
|
102
|
+
.map(candidate => threadFromCandidate(candidate, input.target))
|
|
103
|
+
.filter((item) => Boolean(item));
|
|
104
|
+
const warnings = [
|
|
105
|
+
...(input.warnings || []),
|
|
106
|
+
...(resolution?.warnings || []),
|
|
107
|
+
...(resolution?.resolverError ? [`resolver failed: ${resolution.resolverError}`] : []),
|
|
108
|
+
];
|
|
109
|
+
const recommendedParams = {};
|
|
110
|
+
if (resolution?.recommendedProcessNameParam) {
|
|
111
|
+
recommendedParams.process_name = resolution.recommendedProcessNameParam;
|
|
112
|
+
recommendedParams.package = resolution.recommendedProcessNameParam;
|
|
113
|
+
}
|
|
114
|
+
if (resolution?.upids?.length) {
|
|
115
|
+
recommendedParams.upid = resolution.upids[0];
|
|
116
|
+
}
|
|
117
|
+
return {
|
|
118
|
+
version: 'identity_contract@1',
|
|
119
|
+
identityRefId: `identity:${stableHash({
|
|
120
|
+
traceId: input.traceId,
|
|
121
|
+
traceSide: input.traceSide || 'current',
|
|
122
|
+
target,
|
|
123
|
+
status,
|
|
124
|
+
upids: resolution?.upids || [],
|
|
125
|
+
confidence: resolution?.confidenceScore,
|
|
126
|
+
})}`,
|
|
127
|
+
target,
|
|
128
|
+
status,
|
|
129
|
+
processes,
|
|
130
|
+
threads,
|
|
131
|
+
warnings,
|
|
132
|
+
...(Object.keys(recommendedParams).length > 0 ? { recommendedParams } : {}),
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=identityContractMapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identityContractMapper.js","sourceRoot":"","sources":["../../../src/services/processIdentity/identityContractMapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,11 @@ export interface ProcessIdentityCandidate {
|
|
|
31
31
|
targetMatchSources?: string;
|
|
32
32
|
supportingSources?: string;
|
|
33
33
|
identityWarning?: string;
|
|
34
|
+
threadUtid?: number;
|
|
35
|
+
threadTid?: number;
|
|
36
|
+
threadName?: string;
|
|
37
|
+
threadRole?: 'app_main' | 'render_thread' | 'unknown';
|
|
38
|
+
threadTargetMatched?: boolean;
|
|
34
39
|
}
|
|
35
40
|
export interface ProcessIdentityResolution {
|
|
36
41
|
status: ProcessIdentityStatus;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/processIdentity/types.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,CAAC;AAE1F,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,mBAAmB,GAAG,UAAU,CAAC;AAEvF,MAAM,MAAM,0BAA0B,GAAG,gCAAgC,GAAG,MAAM,CAAC;AAEnF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/processIdentity/types.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,CAAC;AAE1F,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,mBAAmB,GAAG,UAAU,CAAC;AAEvF,MAAM,MAAM,0BAA0B,GAAG,gCAAgC,GAAG,MAAM,CAAC;AAEnF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,GAAG,eAAe,GAAG,SAAS,CAAC;IACtD,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,wBAAwB,EAAE,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,gCAAgC,UAQ5C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/processIdentity/types.ts"],"names":[],"mappings":";AAAA,6CAA6C;AAC7C,0CAA0C;AAC1C,+DAA+D;;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/processIdentity/types.ts"],"names":[],"mappings":";AAAA,6CAA6C;AAC7C,0CAA0C;AAC1C,+DAA+D;;;AA6DlD,QAAA,gCAAgC,GAAG;IAC9C,SAAS;IACT,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,aAAa;IACb,aAAa;IACb,aAAa;CACd,CAAC"}
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
* - 展示控制(display)
|
|
10
10
|
*/
|
|
11
11
|
import { SkillDefinition, SkillExecutionContext, SkillExecutionResult, StepResult, SkillEvent, SynthesizeConfig } from './types';
|
|
12
|
-
import { DataEnvelope, ColumnDefinition } from '../../types/dataContract';
|
|
12
|
+
import { DataEnvelope, DataEnvelopeTraceSide, ColumnDefinition } from '../../types/dataContract';
|
|
13
|
+
import type { IdentityResolutionV1 } from '../../types/identityContract';
|
|
13
14
|
import { DisplayLayer } from './types';
|
|
14
15
|
/**
|
|
15
16
|
* Synthesize Data - 标记为 synthesize 的步骤数据
|
|
@@ -106,10 +107,13 @@ export declare class SkillExecutor {
|
|
|
106
107
|
* 发送事件到前端
|
|
107
108
|
*/
|
|
108
109
|
private emit;
|
|
110
|
+
private resolveTraceSide;
|
|
109
111
|
private buildIdentityCacheKey;
|
|
110
112
|
private toNumber;
|
|
111
113
|
private splitSources;
|
|
112
114
|
private rowToIdentityCandidate;
|
|
115
|
+
private hasExactProcessIdTarget;
|
|
116
|
+
private identityQualityWarnings;
|
|
113
117
|
private normalizeIdentityStatus;
|
|
114
118
|
private resolveProcessIdentityForGate;
|
|
115
119
|
private applyIdentityGate;
|
|
@@ -297,7 +301,15 @@ export declare class SkillExecutor {
|
|
|
297
301
|
*
|
|
298
302
|
* 用于 v2.0 数据契约,统一 SSE 事件格式
|
|
299
303
|
*/
|
|
300
|
-
static toDataEnvelopes(result: SkillExecutionResult, columnDefinitions?: Record<string, Partial<ColumnDefinition>[]
|
|
304
|
+
static toDataEnvelopes(result: SkillExecutionResult, columnDefinitions?: Record<string, Partial<ColumnDefinition>[]>, provenance?: {
|
|
305
|
+
traceId?: string;
|
|
306
|
+
traceSide?: DataEnvelopeTraceSide;
|
|
307
|
+
}): DataEnvelope[];
|
|
308
|
+
static attachTraceProvenanceToEnvelope(envelope: DataEnvelope, provenance?: {
|
|
309
|
+
traceId?: string;
|
|
310
|
+
traceSide?: DataEnvelopeTraceSide;
|
|
311
|
+
}): DataEnvelope;
|
|
312
|
+
static attachIdentityResolutionToEnvelope(envelope: DataEnvelope, identityResolution?: IdentityResolutionV1): DataEnvelope;
|
|
301
313
|
/**
|
|
302
314
|
* 检查数据是否是迭代器结果
|
|
303
315
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skillExecutor.d.ts","sourceRoot":"","sources":["../../../src/services/skillEngine/skillExecutor.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAEH,OAAO,EACL,eAAe,EAWf,qBAAqB,EACrB,oBAAoB,EACpB,UAAU,EAKV,UAAU,EACV,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAwBjB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAKjB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"skillExecutor.d.ts","sourceRoot":"","sources":["../../../src/services/skillEngine/skillExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,7 @@ const teaching_types_1 = require("../../types/teaching.types");
|
|
|
22
22
|
const dataContract_1 = require("../../types/dataContract");
|
|
23
23
|
const displayContractValidator_1 = require("./displayContractValidator");
|
|
24
24
|
const identityGate_1 = require("../processIdentity/identityGate");
|
|
25
|
+
const identityContractMapper_1 = require("../processIdentity/identityContractMapper");
|
|
25
26
|
/**
|
|
26
27
|
* 将 YAML 中的 layer 值规范化为语义名称
|
|
27
28
|
*/
|
|
@@ -929,6 +930,12 @@ class SkillExecutor {
|
|
|
929
930
|
});
|
|
930
931
|
}
|
|
931
932
|
}
|
|
933
|
+
resolveTraceSide(inherited) {
|
|
934
|
+
const value = inherited.__traceSide;
|
|
935
|
+
return value === 'current' || value === 'reference' || value === 'unknown'
|
|
936
|
+
? value
|
|
937
|
+
: 'current';
|
|
938
|
+
}
|
|
932
939
|
buildIdentityCacheKey(traceId, target) {
|
|
933
940
|
return JSON.stringify({
|
|
934
941
|
traceId,
|
|
@@ -975,17 +982,65 @@ class SkillExecutor {
|
|
|
975
982
|
targetMatchSources: row.target_match_sources ? String(row.target_match_sources) : undefined,
|
|
976
983
|
supportingSources: row.supporting_sources ? String(row.supporting_sources) : undefined,
|
|
977
984
|
identityWarning: row.identity_warning ? String(row.identity_warning) : undefined,
|
|
985
|
+
threadUtid: this.toNumber(row.thread_utid),
|
|
986
|
+
threadTid: this.toNumber(row.thread_tid),
|
|
987
|
+
threadName: row.thread_name ? String(row.thread_name) : undefined,
|
|
988
|
+
threadRole: row.thread_role === 'app_main' || row.thread_role === 'render_thread'
|
|
989
|
+
? row.thread_role
|
|
990
|
+
: this.toNumber(row.thread_utid) !== undefined ? 'unknown' : undefined,
|
|
991
|
+
threadTargetMatched: this.toNumber(row.thread_target_matched) === 1,
|
|
978
992
|
};
|
|
979
993
|
}
|
|
980
|
-
|
|
994
|
+
hasExactProcessIdTarget(target, candidate) {
|
|
995
|
+
if (!candidate)
|
|
996
|
+
return false;
|
|
997
|
+
const sources = new Set(this.splitSources(candidate.targetMatchSources));
|
|
998
|
+
return Boolean(target.upid !== undefined && sources.has('upid'));
|
|
999
|
+
}
|
|
1000
|
+
identityQualityWarnings(candidate, candidates, target) {
|
|
1001
|
+
if (!candidate)
|
|
1002
|
+
return [];
|
|
1003
|
+
const warnings = new Set();
|
|
1004
|
+
const warning = candidate.identityWarning && candidate.identityWarning !== 'ok'
|
|
1005
|
+
? candidate.identityWarning
|
|
1006
|
+
: undefined;
|
|
1007
|
+
if (warning)
|
|
1008
|
+
warnings.add(warning);
|
|
1009
|
+
const targetSources = new Set(this.splitSources(candidate.targetMatchSources));
|
|
1010
|
+
const hasProcessTarget = Boolean(target.requestedName ||
|
|
1011
|
+
target.upid !== undefined ||
|
|
1012
|
+
target.pid !== undefined);
|
|
1013
|
+
const hasExactProcessId = this.hasExactProcessIdTarget(target, candidate);
|
|
1014
|
+
const processLevelSources = Array.from(targetSources)
|
|
1015
|
+
.filter(source => source !== 'thread.name');
|
|
1016
|
+
if (target.threadName && !hasProcessTarget) {
|
|
1017
|
+
warnings.add('thread-only identity target is not enough to verify a unique process');
|
|
1018
|
+
}
|
|
1019
|
+
if (processLevelSources.length === 0) {
|
|
1020
|
+
warnings.add('identity candidate has no process-level target match source');
|
|
1021
|
+
}
|
|
1022
|
+
if (candidate.rawStatus === 'probable' && !hasExactProcessId) {
|
|
1023
|
+
warnings.add('probable identity match requires additional confirmation before parameter rewrite');
|
|
1024
|
+
}
|
|
1025
|
+
const second = candidates.find(item => item !== candidate &&
|
|
1026
|
+
item.confidenceScore > 0);
|
|
1027
|
+
if (second && candidate.confidenceScore - second.confidenceScore < 20) {
|
|
1028
|
+
warnings.add('multiple close process identity candidates require manual confirmation');
|
|
1029
|
+
}
|
|
1030
|
+
return Array.from(warnings);
|
|
1031
|
+
}
|
|
1032
|
+
normalizeIdentityStatus(candidate, candidates, target) {
|
|
981
1033
|
if (!candidate)
|
|
982
1034
|
return 'not_found';
|
|
983
|
-
if ((candidate.rawStatus === 'confirmed' || candidate.rawStatus === 'probable') &&
|
|
984
|
-
candidate.confidenceScore >= 50) {
|
|
985
|
-
return 'verified';
|
|
986
|
-
}
|
|
987
1035
|
if (candidate.confidenceScore <= 0)
|
|
988
1036
|
return 'not_found';
|
|
1037
|
+
const qualityWarnings = this.identityQualityWarnings(candidate, candidates, target);
|
|
1038
|
+
const hasExactProcessId = this.hasExactProcessIdTarget(target, candidate);
|
|
1039
|
+
if (qualityWarnings.length === 0 &&
|
|
1040
|
+
((candidate.rawStatus === 'confirmed' && candidate.confidenceScore >= 80) ||
|
|
1041
|
+
(hasExactProcessId && candidate.confidenceScore >= 50))) {
|
|
1042
|
+
return 'verified';
|
|
1043
|
+
}
|
|
989
1044
|
return 'ambiguous';
|
|
990
1045
|
}
|
|
991
1046
|
async resolveProcessIdentityForGate(traceId, target, inherited) {
|
|
@@ -1031,9 +1086,9 @@ class SkillExecutor {
|
|
|
1031
1086
|
: [];
|
|
1032
1087
|
const candidates = rows.map(row => this.rowToIdentityCandidate(row));
|
|
1033
1088
|
const top = candidates[0];
|
|
1034
|
-
const
|
|
1089
|
+
const qualityWarnings = this.identityQualityWarnings(top, candidates, target);
|
|
1035
1090
|
resolution = {
|
|
1036
|
-
status: this.normalizeIdentityStatus(top),
|
|
1091
|
+
status: this.normalizeIdentityStatus(top, candidates, target),
|
|
1037
1092
|
requestedName: target.requestedName,
|
|
1038
1093
|
canonicalPackageName: top?.canonicalPackageName,
|
|
1039
1094
|
recommendedProcessNameParam: top?.recommendedProcessNameParam,
|
|
@@ -1041,7 +1096,7 @@ class SkillExecutor {
|
|
|
1041
1096
|
confidenceScore: top?.confidenceScore ?? 0,
|
|
1042
1097
|
rawStatus: top?.rawStatus,
|
|
1043
1098
|
evidenceSources: this.splitSources(top?.targetMatchSources, top?.supportingSources),
|
|
1044
|
-
warnings:
|
|
1099
|
+
warnings: qualityWarnings,
|
|
1045
1100
|
candidates,
|
|
1046
1101
|
};
|
|
1047
1102
|
}
|
|
@@ -1072,13 +1127,31 @@ class SkillExecutor {
|
|
|
1072
1127
|
resolve: (target) => this.resolveProcessIdentityForGate(traceId, target, inherited),
|
|
1073
1128
|
});
|
|
1074
1129
|
}
|
|
1075
|
-
buildIdentityBlockedResult(skillId, skill, startTime, gate) {
|
|
1130
|
+
buildIdentityBlockedResult(skillId, skill, traceId, traceSide, startTime, gate) {
|
|
1076
1131
|
const error = gate.error || `Process identity gate blocked skill: ${skillId}`;
|
|
1132
|
+
const identityResolution = (0, identityContractMapper_1.buildIdentityResolutionFromProcessGate)({
|
|
1133
|
+
traceId,
|
|
1134
|
+
traceSide,
|
|
1135
|
+
target: gate.target,
|
|
1136
|
+
resolution: gate.resolution,
|
|
1137
|
+
...(gate.config.policy === 'required' && !gate.resolution
|
|
1138
|
+
? { statusOverride: 'missing', warnings: [error] }
|
|
1139
|
+
: {}),
|
|
1140
|
+
});
|
|
1077
1141
|
return {
|
|
1078
1142
|
skillId,
|
|
1079
1143
|
skillName: skill.meta.display_name,
|
|
1080
1144
|
success: false,
|
|
1081
|
-
displayResults: [
|
|
1145
|
+
displayResults: [{
|
|
1146
|
+
stepId: 'process_identity_gate',
|
|
1147
|
+
title: 'Process identity gate blocked',
|
|
1148
|
+
level: 'detail',
|
|
1149
|
+
layer: 'diagnosis',
|
|
1150
|
+
format: 'text',
|
|
1151
|
+
data: {
|
|
1152
|
+
text: error,
|
|
1153
|
+
},
|
|
1154
|
+
}],
|
|
1082
1155
|
diagnostics: [{
|
|
1083
1156
|
id: 'process_identity_gate_blocked',
|
|
1084
1157
|
diagnosis: error,
|
|
@@ -1095,6 +1168,7 @@ class SkillExecutor {
|
|
|
1095
1168
|
],
|
|
1096
1169
|
source: 'rule',
|
|
1097
1170
|
}],
|
|
1171
|
+
...(identityResolution ? { identityResolution } : {}),
|
|
1098
1172
|
executionTimeMs: Date.now() - startTime,
|
|
1099
1173
|
error,
|
|
1100
1174
|
};
|
|
@@ -1167,6 +1241,7 @@ class SkillExecutor {
|
|
|
1167
1241
|
*/
|
|
1168
1242
|
async execute(skillId, traceId, params = {}, inherited = {}) {
|
|
1169
1243
|
const startTime = Date.now();
|
|
1244
|
+
const traceSide = this.resolveTraceSide(inherited);
|
|
1170
1245
|
const skill = this.skillRegistry.get(skillId);
|
|
1171
1246
|
if (!skill) {
|
|
1172
1247
|
return {
|
|
@@ -1191,8 +1266,14 @@ class SkillExecutor {
|
|
|
1191
1266
|
skillId,
|
|
1192
1267
|
data: { error: gate.error },
|
|
1193
1268
|
});
|
|
1194
|
-
return this.buildIdentityBlockedResult(skillId, skill, startTime, gate);
|
|
1269
|
+
return this.buildIdentityBlockedResult(skillId, skill, traceId, traceSide, startTime, gate);
|
|
1195
1270
|
}
|
|
1271
|
+
const identityResolution = (0, identityContractMapper_1.buildIdentityResolutionFromProcessGate)({
|
|
1272
|
+
traceId,
|
|
1273
|
+
traceSide,
|
|
1274
|
+
target: gate.target,
|
|
1275
|
+
resolution: gate.resolution,
|
|
1276
|
+
});
|
|
1196
1277
|
// Validate and coerce input parameters against skill.inputs declarations
|
|
1197
1278
|
const validated = (0, skillValidator_1.validateSkillInputs)(skillId, skill.inputs, gate.params);
|
|
1198
1279
|
for (const w of validated.warnings) {
|
|
@@ -1207,6 +1288,7 @@ class SkillExecutor {
|
|
|
1207
1288
|
success: false,
|
|
1208
1289
|
displayResults: [],
|
|
1209
1290
|
diagnostics: [],
|
|
1291
|
+
...(identityResolution ? { identityResolution } : {}),
|
|
1210
1292
|
executionTimeMs: Date.now() - startTime,
|
|
1211
1293
|
error: `Input validation failed: ${msg}`,
|
|
1212
1294
|
};
|
|
@@ -1235,6 +1317,7 @@ class SkillExecutor {
|
|
|
1235
1317
|
success: false,
|
|
1236
1318
|
displayResults: [],
|
|
1237
1319
|
diagnostics: [],
|
|
1320
|
+
...(identityResolution ? { identityResolution } : {}),
|
|
1238
1321
|
executionTimeMs: Date.now() - startTime,
|
|
1239
1322
|
error: `Skipped: ${prereqCheck.error}`,
|
|
1240
1323
|
};
|
|
@@ -1262,6 +1345,7 @@ class SkillExecutor {
|
|
|
1262
1345
|
success: false,
|
|
1263
1346
|
displayResults: [],
|
|
1264
1347
|
diagnostics: [],
|
|
1348
|
+
...(identityResolution ? { identityResolution } : {}),
|
|
1265
1349
|
executionTimeMs: Date.now() - startTime,
|
|
1266
1350
|
error: atomicResult.error,
|
|
1267
1351
|
};
|
|
@@ -1283,6 +1367,7 @@ class SkillExecutor {
|
|
|
1283
1367
|
success: false,
|
|
1284
1368
|
displayResults: [],
|
|
1285
1369
|
diagnostics: [],
|
|
1370
|
+
...(identityResolution ? { identityResolution } : {}),
|
|
1286
1371
|
executionTimeMs: Date.now() - startTime,
|
|
1287
1372
|
error: 'No SQL or steps defined for atomic skill',
|
|
1288
1373
|
};
|
|
@@ -1305,6 +1390,7 @@ class SkillExecutor {
|
|
|
1305
1390
|
success: false,
|
|
1306
1391
|
displayResults: [],
|
|
1307
1392
|
diagnostics: [],
|
|
1393
|
+
...(identityResolution ? { identityResolution } : {}),
|
|
1308
1394
|
executionTimeMs: Date.now() - startTime,
|
|
1309
1395
|
error: `No steps defined for skill: ${skillId}`,
|
|
1310
1396
|
};
|
|
@@ -1321,6 +1407,7 @@ class SkillExecutor {
|
|
|
1321
1407
|
success: false,
|
|
1322
1408
|
displayResults: [],
|
|
1323
1409
|
diagnostics: [],
|
|
1410
|
+
...(identityResolution ? { identityResolution } : {}),
|
|
1324
1411
|
executionTimeMs: Date.now() - startTime,
|
|
1325
1412
|
error: `Skill type '${skill.type}' is metadata-only and not executable by the single-trace SkillExecutor: ${skillId}`,
|
|
1326
1413
|
};
|
|
@@ -1350,6 +1437,7 @@ class SkillExecutor {
|
|
|
1350
1437
|
aiSummary,
|
|
1351
1438
|
synthesizeData: synthesizeData.length > 0 ? synthesizeData : undefined,
|
|
1352
1439
|
rawResults: context.results,
|
|
1440
|
+
...(identityResolution ? { identityResolution } : {}),
|
|
1353
1441
|
executionTimeMs: Date.now() - startTime,
|
|
1354
1442
|
};
|
|
1355
1443
|
}
|
|
@@ -1365,6 +1453,7 @@ class SkillExecutor {
|
|
|
1365
1453
|
success: false,
|
|
1366
1454
|
displayResults: [],
|
|
1367
1455
|
diagnostics: [],
|
|
1456
|
+
...(identityResolution ? { identityResolution } : {}),
|
|
1368
1457
|
executionTimeMs: Date.now() - startTime,
|
|
1369
1458
|
error: error.message,
|
|
1370
1459
|
};
|
|
@@ -3557,7 +3646,7 @@ class SkillExecutor {
|
|
|
3557
3646
|
*
|
|
3558
3647
|
* 用于 v2.0 数据契约,统一 SSE 事件格式
|
|
3559
3648
|
*/
|
|
3560
|
-
static toDataEnvelopes(result, columnDefinitions) {
|
|
3649
|
+
static toDataEnvelopes(result, columnDefinitions, provenance) {
|
|
3561
3650
|
return result.displayResults.map(dr => {
|
|
3562
3651
|
// Prefer external columnDefinitions, fallback to embedded columnDefinitions in DisplayResult
|
|
3563
3652
|
const explicitColumns = columnDefinitions?.[dr.stepId] ?? dr.columnDefinitions;
|
|
@@ -3568,9 +3657,40 @@ class SkillExecutor {
|
|
|
3568
3657
|
...drAny,
|
|
3569
3658
|
metadataConfig: drAny.metadataConfig || (Array.isArray(drAny.metadataFields) ? { fields: drAny.metadataFields } : undefined),
|
|
3570
3659
|
};
|
|
3571
|
-
return (0, dataContract_1.displayResultToEnvelope)(drForEnvelope, result.skillId, explicitColumns);
|
|
3660
|
+
return SkillExecutor.attachTraceProvenanceToEnvelope(SkillExecutor.attachIdentityResolutionToEnvelope((0, dataContract_1.displayResultToEnvelope)(drForEnvelope, result.skillId, explicitColumns), result.identityResolution), provenance);
|
|
3572
3661
|
});
|
|
3573
3662
|
}
|
|
3663
|
+
static attachTraceProvenanceToEnvelope(envelope, provenance) {
|
|
3664
|
+
if (!provenance?.traceId && !provenance?.traceSide)
|
|
3665
|
+
return envelope;
|
|
3666
|
+
return {
|
|
3667
|
+
...envelope,
|
|
3668
|
+
meta: {
|
|
3669
|
+
...envelope.meta,
|
|
3670
|
+
...(provenance.traceId && !envelope.meta.traceId ? { traceId: provenance.traceId } : {}),
|
|
3671
|
+
...(provenance.traceSide && !envelope.meta.traceSide ? { traceSide: provenance.traceSide } : {}),
|
|
3672
|
+
},
|
|
3673
|
+
};
|
|
3674
|
+
}
|
|
3675
|
+
static attachIdentityResolutionToEnvelope(envelope, identityResolution) {
|
|
3676
|
+
if (!identityResolution)
|
|
3677
|
+
return envelope;
|
|
3678
|
+
const traceSide = identityResolution.target.traceSide === 'current' || identityResolution.target.traceSide === 'reference'
|
|
3679
|
+
? identityResolution.target.traceSide
|
|
3680
|
+
: undefined;
|
|
3681
|
+
return {
|
|
3682
|
+
...envelope,
|
|
3683
|
+
meta: {
|
|
3684
|
+
...envelope.meta,
|
|
3685
|
+
...(!envelope.meta.traceId ? { traceId: identityResolution.target.traceId } : {}),
|
|
3686
|
+
...(traceSide && !envelope.meta.traceSide ? { traceSide } : {}),
|
|
3687
|
+
identityRefId: identityResolution.identityRefId,
|
|
3688
|
+
identityStatus: identityResolution.status,
|
|
3689
|
+
identityWarnings: identityResolution.warnings,
|
|
3690
|
+
identityResolution,
|
|
3691
|
+
},
|
|
3692
|
+
};
|
|
3693
|
+
}
|
|
3574
3694
|
/**
|
|
3575
3695
|
* 检查数据是否是迭代器结果
|
|
3576
3696
|
*/
|