Capture guarded human gestures and verify agent administration
This commit is contained in:
1 parent
244f01630b
commit
adf0940e5f
32 files changed
+523
-52
No files matched your search
@@ -1,10 +1,11 @@
|
||||
'use strict';
|
||||
const {z}=require('zod');
|
||||
const InteractionFactsSchema=z.object({action:z.enum(['copy','cut','paste','click','submit']),outcome:z.enum(['authorized','completed','denied']),sessionId:z.string().uuid()}).strict();
|
||||
const InteractionFactsSchema=z.object({action:z.enum(['copy','cut','paste','click','submit']),outcome:z.enum(['authorized','completed','denied','observed']),sessionId:z.string().uuid()}).strict();
|
||||
function interactionFacts(value){return InteractionFactsSchema.parse(value);}
|
||||
function interactionFactsForEvent(kind,value){
|
||||
const parsed=InteractionFactsSchema.safeParse(value);if(!parsed.success)return null;
|
||||
const facts=parsed.data;
|
||||
if(kind==='browser.interaction')return facts.outcome==='observed'&&['click','submit'].includes(facts.action)?facts:null;
|
||||
if(kind==='clipboard.block')return facts.outcome==='denied'&&['copy','cut','paste'].includes(facts.action)?facts:null;
|
||||
return ['clipboard.copy','clipboard.cut','clipboard.paste'].includes(kind)&&facts.action===kind.split('.')[1]&&['authorized','completed'].includes(facts.outcome)?facts:null;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user