@buoy-gg/agent-core 7.0.43 → 7.0.44

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.CATALOG_ACTIONS=void 0;const CATALOG_ACTIONS=exports.CATALOG_ACTIONS={"env":["getSnapshot"],"console":["getSnapshot","clearEntries"],"sentry":["getSnapshot","clearEnvelopes"],"jotai":["listAtoms","getAtomValue","getChangeDetail","setAtom","clearEvents"],"route-events":["getSnapshot","getCurrentRoute","navigate","stackGoBack","stackNavigateToIndex","stackPopToIndex","stackPopToTop","clearEvents"],"debug-borders":["cycleMode","setMode"],"zustand":["listStores","getStoreState","getChangeDetail","setState","rehydrate","clearEvents"],"redux":["getState","getActionDetail","dispatch","clearEvents"],"impersonate":["searchUsers","startImpersonation","stopImpersonation","pauseImpersonation","resumeImpersonation","updateSettings","removeFromHistory","clearHistory"],"query":["listQueries","getQueryData","refetch","invalidate","reset","remove","setQueryData","triggerError","restoreError","triggerLoading","restoreLoading","clearQueryCache","clearMutationCache","setOnline"],"events":["exportEvents","setEnabledSources","clearEvents"],"network":["getSnapshot","getCaptureStatus","getEventBody","setPinned","setSaved","removeSavedRecord","clearSavedRequests","clearPinnedRequests","clearEvents","listOverrideRules","getOverrideRuleBody","debugOverrides","upsertOverrideRule","setOverrideRuleEnabled","setOverridesEnabled","deleteOverrideRule","clearOverrideRules","getNetworkConditions","setNetworkConditions"],"js-top":["sample","getOriginDetail","setEnabled","pause","resume","clear"],"app":["ping","reloadApp"],"time-machine":["list","capture","captureBaseline","wipeAll","restore","preview","inspect","delete","rename","duplicate","setExclusions","setScope","setRestoreRoute"],"clock":["getState","setTime","shift","freeze","resume","setRate","reset","updateSettings","jumpToTokenExpiry","failNextRequest","stopTokenCheck"],"storage":["getRequiredKeys","async.getAllKeys","async.multiGet","async.getItem","async.setItem","async.removeItem","async.multiRemove","async.multiSet","async.clear","clearAppStorage","getEventDetail","clearEvents","timeTravel.undo","timeTravel.jump","mmkv.snapshot","mmkv.get","mmkv.set","mmkv.remove","secure.keys","secure.snapshot","secure.get","secure.set","secure.delete"],"highlight-updates":["describeScreen","tapElement","waitFor","beginMeasurement","endMeasurement","locateComponent","getRenderDetail","setEnabled","toggle","setSilentTracking","toggleFreeze","setSpotlight","clearRenderCounts","startTouchCapture","stopTouchCapture","clearTouchCapture","readTouchCapture"],"scenarios":["listScenarios","getScenario","save","acceptDraft","discardDraft","preview","run","deactivate","delete","setFolder","listFolders","getActive","export"],"perf-monitor":["setEnabled","startRecording","stopRecording","savePending","discardPending","mark","startAutomation","cancelAutomation","acknowledgeAutomation","refreshIndex","getAutomationConfig","setAutomationConfig","loadReport","deleteReport","deleteBatch","clearAll"],"assets":["list","getDetail","rescan","measureSizes","saveBaseline","clearBaseline","getDiff","clearRecords","getScanStatus"],"tv-remote":["arm","getEventsSince","setMenuCapture","disarm","clear"],"focus-inspector":["rescan","focusElement","setTracking","clearHistory"],"images":["list","getDetail","getCaptureStatus","retry","flash","proveSavings","setOverride","clearOverride","setNetworkMode","setBlankImages","hardReload","evictDisk","massAction","clearRecords","clearExpoCaches"],"ask-buoy":["listChanges","undoAll","retrieve","openProcedure"],"push-notifications":["getSnapshot","getCapabilities","getEvent","getPermissions","listPresented","refreshToken","setCaptureSession","clearCapturedEvents","scheduleLocal"],"image-overlay":["getSnapshot","listTargets","selectTarget","loadImage","setSettings","fitToScreen","resetSettings","remove"]};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.CATALOG_ACTIONS=void 0;const CATALOG_ACTIONS=exports.CATALOG_ACTIONS={"env":["getSnapshot"],"console":["getSnapshot","clearEntries"],"sentry":["getSnapshot","clearEnvelopes"],"jotai":["listAtoms","getAtomValue","getChangeDetail","setAtom","clearEvents"],"route-events":["getSnapshot","getCurrentRoute","navigate","stackGoBack","stackNavigateToIndex","stackPopToIndex","stackPopToTop","clearEvents"],"debug-borders":["cycleMode","setMode"],"zustand":["listStores","getStoreState","getChangeDetail","setState","rehydrate","clearEvents"],"redux":["getState","getActionDetail","dispatch","clearEvents"],"impersonate":["searchUsers","startImpersonation","stopImpersonation","pauseImpersonation","resumeImpersonation","updateSettings","removeFromHistory","clearHistory"],"query":["listQueries","getQueryData","refetch","invalidate","reset","remove","setQueryData","triggerError","restoreError","triggerLoading","restoreLoading","clearQueryCache","clearMutationCache","setOnline"],"events":["exportEvents","setEnabledSources","clearEvents"],"network":["getSnapshot","getCaptureStatus","getEventBody","setPinned","setSaved","removeSavedRecord","clearSavedRequests","clearPinnedRequests","clearEvents","listOverrideRules","getOverrideRuleBody","debugOverrides","upsertOverrideRule","setOverrideRuleEnabled","setOverridesEnabled","deleteOverrideRule","clearOverrideRules","getNetworkConditions","setNetworkConditions"],"js-top":["sample","getOriginDetail","setEnabled","pause","resume","clear"],"app":["ping","reloadApp"],"time-machine":["list","capture","captureBaseline","wipeAll","restore","preview","inspect","delete","rename","duplicate","setExclusions","setScope","setRestoreRoute"],"clock":["getState","setTime","shift","freeze","resume","setRate","reset","updateSettings","jumpToTokenExpiry","failNextRequest","stopTokenCheck"],"lifecycle":["getState","background","interrupt","returnToApp","memoryWarning","openUrl","pressBack","setColorScheme","setPower","resetPower","relaunch","runRecipe","clearReport","reset"],"location":["getState","setLocation","startRoute","pauseRoute","resumeRoute","stopRoute","seekRoute","setSpeed","enterRegion","exitRegion","setConditions","setSignal","setServices","tune","useRealLocation","reset","updateSettings","clearLog"],"permissions":["getState","setOverride","clearOverride","resetAll","requestReal","updateSettings","simulateReturnFromSettings","clearLog"],"storage":["getRequiredKeys","async.getAllKeys","async.multiGet","async.getItem","async.setItem","async.removeItem","async.multiRemove","async.multiSet","async.clear","clearAppStorage","getEventDetail","clearEvents","timeTravel.undo","timeTravel.jump","mmkv.snapshot","mmkv.get","mmkv.set","mmkv.remove","secure.keys","secure.snapshot","secure.get","secure.set","secure.delete"],"highlight-updates":["describeScreen","tapElement","waitFor","beginMeasurement","endMeasurement","locateComponent","getRenderDetail","setEnabled","toggle","setSilentTracking","toggleFreeze","setSpotlight","clearRenderCounts","startTouchCapture","stopTouchCapture","clearTouchCapture","readTouchCapture"],"scenarios":["listScenarios","getScenario","save","acceptDraft","discardDraft","preview","run","deactivate","delete","setFolder","listFolders","getActive","export"],"perf-monitor":["setEnabled","startRecording","stopRecording","savePending","discardPending","mark","startAutomation","cancelAutomation","acknowledgeAutomation","refreshIndex","getAutomationConfig","setAutomationConfig","loadReport","deleteReport","deleteBatch","clearAll"],"assets":["list","getDetail","rescan","measureSizes","saveBaseline","clearBaseline","getDiff","clearRecords","getScanStatus"],"tv-remote":["arm","getEventsSince","setMenuCapture","disarm","clear"],"focus-inspector":["rescan","focusElement","setTracking","clearHistory"],"images":["list","getDetail","getCaptureStatus","retry","flash","proveSavings","setOverride","clearOverride","setNetworkMode","setBlankImages","hardReload","evictDisk","massAction","clearRecords","clearExpoCaches"],"ask-buoy":["listChanges","undoAll","retrieve","openProcedure"],"push-notifications":["getSnapshot","getCapabilities","getEvent","getPermissions","listPresented","refreshToken","setCaptureSession","clearCapturedEvents","scheduleLocal"],"image-overlay":["getSnapshot","listTargets","selectTarget","loadImage","setSettings","fitToScreen","resetSettings","remove"]};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.buildContextDigest=buildContextDigest;exports.buildLiveContext=buildLiveContext;var _snapshotReads=require("../catalog/snapshotReads");var _realNow=require("../realNow");const PROBE_TIMEOUT_MS=2500;const list=e=>Array.isArray(e)?e:Array.isArray(e?.items)?e.items:[];const rec=e=>e&&typeof e==="object"?e:{};const names=(e,t,s=40)=>list(e).slice(0,s).map(n=>{if(!n||typeof n!=="object")return n;const a=n;for(const o of t){if(a[o]!==void 0)return a[o]}return a.id??a.name??a.key});const DIGEST_STORE_CAP=30;const DIGEST_STORE_KEYS=24;const DIGEST_LISTS_PER_STORE=8;const DIGEST_ITEM_CHARS=240;const DIGEST_SHAPES_TOTAL_CHARS=12e3;const clampText=(e,t)=>e.length<=t?e:`${e.slice(0,t-1)}\u2026`;function topLevelFields(e){const t=new Map;if(typeof e!=="string"||!e.startsWith("{"))return t;let s=0;let n="";const a=()=>{const o=n.indexOf(":");if(o>0)t.set(n.slice(0,o).trim(),n.slice(o+1).trim());n=""};for(const o of e.slice(1,-1)){if(o==="{"||o==="["||o==="(")s++;else if(o==="}"||o==="]"||o===")")s--;if(o===","&&s===0)a();else n+=o}a();return t}const STABLE_PROBES=[{key:"routes",toolId:"route-events",action:_snapshotReads.SNAPSHOT_ACTION,shape:e=>list(e?.routes).slice(0,60)},{key:"reduxSlices",toolId:"redux",action:"getState",params:{includeValues:false},shape:e=>e&&typeof e==="object"?Object.keys(e.state??e).slice(0,40):e},{key:"zustandStores",toolId:"zustand",action:"listStores",shape:e=>{let t=0;return list(e?.stores??e).slice(0,DIGEST_STORE_CAP).map(s=>{const n=s??{};const a=typeof n.name==="string"?n.name:n.id;const o=list(n.shape?.lists).map(rec);const u={};const l=[];for(const r of o.slice(0,DIGEST_LISTS_PER_STORE)){const i=typeof r.path==="string"?r.path:void 0;if(!i)continue;if(i.includes("[]."))continue;if(typeof r.item!=="string"){l.push(i);continue}const c=clampText(r.item,DIGEST_ITEM_CHARS);if(t+c.length>DIGEST_SHAPES_TOTAL_CHARS)continue;t+=c.length;u[i]=c}return{name:a,...typeof n.persistName==="string"?{persistsTo:n.persistName}:{},...(()=>{if(!Array.isArray(n.keys)||!n.keys.length)return{};const r=topLevelFields(n.shape?.shape);const i=n.keys.filter(c=>r.get(String(c))!=="function");return i.length?{keys:i.slice(0,DIGEST_STORE_KEYS)}:{}})(),...Object.keys(u).length?{listItemShapes:u}:{},...l.length?{unknownLists:l}:{}}})}},{key:"jotaiAtoms",toolId:"jotai",action:"listAtoms",shape:e=>names(e,["debugLabel","label","id"],40)},{key:"storageKeys",toolId:"storage",action:"async.getAllKeys",shape:e=>list(e).slice(0,60)},{key:"env",toolId:"env",action:_snapshotReads.SNAPSHOT_ACTION,shape:e=>{const t=e?.env;return t&&typeof t==="object"?Object.keys(t).slice(0,40):void 0}}];const LIVE_QUERY_CAP=25;const LIVE_QUERY_SCAN=LIVE_QUERY_CAP*2;const LIVE_REQUEST_CAP=8;const LIVE_PROBES=[{key:"currentRoute",toolId:"route-events",action:"getCurrentRoute",shape:e=>{const t=rec(e);if(typeof t.path!=="string")return void 0;return t.params&&Object.keys(rec(t.params)).length?{path:t.path,params:t.params}:{path:t.path}}},{key:"queries",toolId:"query",action:"listQueries",params:{limit:LIVE_QUERY_SCAN},shape:e=>{const t=list(e?.queries??e).map(rec);const s=t.map(n=>{const a=typeof n.observers==="number"?n.observers:0;return{key:n.queryKey??n.queryHash,status:n.status,...a>0?{onScreen:true,observers:a}:{}}});s.sort((n,a)=>Number(Boolean(a.onScreen))-Number(Boolean(n.onScreen)));return s.slice(0,LIVE_QUERY_CAP)}},{key:"networkCapture",toolId:"network",action:"getCaptureStatus",shape:e=>{const t=rec(e);if(typeof t.capturing!=="boolean")return void 0;return{recording:t.capturing,...t.interceptorLive===false?{interceptorLive:false}:{},captured:typeof t.eventCount==="number"?t.eventCount:void 0}}},{key:"recentRequests",toolId:"network",action:_snapshotReads.SNAPSHOT_ACTION,params:{limit:LIVE_REQUEST_CAP},shape:e=>list(e?.requests).map(t=>{const s=rec(t);return{id:s.id,method:s.method,url:s.url,status:s.status,...s.overridden?{overridden:true}:{}}})},{key:"appClock",toolId:"clock",action:"getState",shape:e=>{const t=rec(e);if(t.active!==true||typeof t.virtualIso!=="string")return void 0;return{appTime:t.virtualIso,mode:t.mode,...typeof t.rate==="number"&&t.rate!==1?{rate:t.rate}:{},offsetMs:t.offsetMs}}},{key:"networkOverrides",toolId:"network",action:"listOverrideRules",shape:e=>{const t=rec(e);const s=list(t.rules).map(rec).filter(n=>n.enabled!==false).slice(0,10).map(n=>({id:n.id,urlPattern:n.urlPattern,kind:n.kind,status:n.status}));if(!s.length)return void 0;return{enabled:t.enabled===true,rules:s}}}];async function withTimeout(e,t){return await Promise.race([e.catch(()=>void 0),new Promise(s=>(0,_realNow.realSetTimeout)(()=>s(void 0),t))])}async function runProbes(e,{dispatch:t,readSnapshot:s,availableToolIds:n,availableActions:a}){const o=e.filter(r=>{if(!n.includes(r.toolId))return false;const i=a?.[r.toolId];return!i||i.includes(r.action)});const u=await Promise.all(o.map(async r=>{const i=r.action===_snapshotReads.SNAPSHOT_ACTION?s?Promise.resolve(s(r.toolId)).then(y=>(0,_snapshotReads.projectSnapshot)(r.toolId,y,r.params??{})):Promise.resolve(void 0):Promise.resolve(t(r.toolId,r.action,r.params));const c=await withTimeout(i,PROBE_TIMEOUT_MS);if(c===void 0)return[r.key,void 0];try{return[r.key,r.shape(c)]}catch{return[r.key,void 0]}}));const l={};for(const[r,i]of u){const c=i===void 0||i===null||Array.isArray(i)&&i.length===0;if(!c)l[r]=i}return l}function buildContextDigest(e){return runProbes(STABLE_PROBES,e)}function keyTokens(e){const t=Array.isArray(e)?e:typeof e==="string"?(()=>{try{const s=JSON.parse(e);return Array.isArray(s)?s:[e]}catch{return[e]}})():[e];return t.flatMap(s=>s===null||s===void 0?[]:splitTokens(String(typeof s==="object"?JSON.stringify(s):s)))}function splitTokens(e){return e.toLowerCase().split(/[^a-z0-9]+/i).filter(Boolean)}function annotateLikelyScreen(e){const t=e.currentRoute;const s=e.queries;if(!t?.path||!Array.isArray(s))return;const n=Object.values(t.params??{}).map(r=>splitTokens(String(r))).filter(r=>r.length>0);const a=splitTokens(t.path);let o=-1;let u=-1;let l=false;s.forEach((r,i)=>{if(!r.onScreen)return;const c=new Set(keyTokens(r.key));const y=n.filter(d=>d.every(p=>c.has(p))).length;const h=a.filter(d=>c.has(d)||[...c].some(p=>p.includes(d)||d.includes(p))).length;const f=y*3+h;if(f<=0)return;if(f>o){o=f;u=i;l=false}else if(f===o){l=true}});if(u>=0&&!l){s[u].likelyScreen=true;const[r]=s.splice(u,1);s.unshift(r)}}async function buildLiveContext(e){const t=await runProbes(LIVE_PROBES,e);annotateLikelyScreen(t);return t}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.buildContextDigest=buildContextDigest;exports.buildLiveContext=buildLiveContext;var _snapshotReads=require("../catalog/snapshotReads");var _realNow=require("../realNow");const PROBE_TIMEOUT_MS=2500;const list=e=>Array.isArray(e)?e:Array.isArray(e?.items)?e.items:[];const rec=e=>e&&typeof e==="object"?e:{};const names=(e,t,n=40)=>list(e).slice(0,n).map(s=>{if(!s||typeof s!=="object")return s;const i=s;for(const o of t){if(i[o]!==void 0)return i[o]}return i.id??i.name??i.key});const DIGEST_STORE_CAP=30;const DIGEST_STORE_KEYS=24;const DIGEST_LISTS_PER_STORE=8;const DIGEST_ITEM_CHARS=240;const DIGEST_SHAPES_TOTAL_CHARS=12e3;const clampText=(e,t)=>e.length<=t?e:`${e.slice(0,t-1)}\u2026`;function topLevelFields(e){const t=new Map;if(typeof e!=="string"||!e.startsWith("{"))return t;let n=0;let s="";const i=()=>{const o=s.indexOf(":");if(o>0)t.set(s.slice(0,o).trim(),s.slice(o+1).trim());s=""};for(const o of e.slice(1,-1)){if(o==="{"||o==="["||o==="(")n++;else if(o==="}"||o==="]"||o===")")n--;if(o===","&&n===0)i();else s+=o}i();return t}const STABLE_PROBES=[{key:"routes",toolId:"route-events",action:_snapshotReads.SNAPSHOT_ACTION,shape:e=>list(e?.routes).slice(0,60)},{key:"reduxSlices",toolId:"redux",action:"getState",params:{includeValues:false},shape:e=>e&&typeof e==="object"?Object.keys(e.state??e).slice(0,40):e},{key:"zustandStores",toolId:"zustand",action:"listStores",shape:e=>{let t=0;return list(e?.stores??e).slice(0,DIGEST_STORE_CAP).map(n=>{const s=n??{};const i=typeof s.name==="string"?s.name:s.id;const o=list(s.shape?.lists).map(rec);const u={};const l=[];for(const r of o.slice(0,DIGEST_LISTS_PER_STORE)){const a=typeof r.path==="string"?r.path:void 0;if(!a)continue;if(a.includes("[]."))continue;if(typeof r.item!=="string"){l.push(a);continue}const c=clampText(r.item,DIGEST_ITEM_CHARS);if(t+c.length>DIGEST_SHAPES_TOTAL_CHARS)continue;t+=c.length;u[a]=c}return{name:i,...typeof s.persistName==="string"?{persistsTo:s.persistName}:{},...(()=>{if(!Array.isArray(s.keys)||!s.keys.length)return{};const r=topLevelFields(s.shape?.shape);const a=s.keys.filter(c=>r.get(String(c))!=="function");return a.length?{keys:a.slice(0,DIGEST_STORE_KEYS)}:{}})(),...Object.keys(u).length?{listItemShapes:u}:{},...l.length?{unknownLists:l}:{}}})}},{key:"jotaiAtoms",toolId:"jotai",action:"listAtoms",shape:e=>names(e,["debugLabel","label","id"],40)},{key:"storageKeys",toolId:"storage",action:"async.getAllKeys",shape:e=>list(e).slice(0,60)},{key:"env",toolId:"env",action:_snapshotReads.SNAPSHOT_ACTION,shape:e=>{const t=e?.env;return t&&typeof t==="object"?Object.keys(t).slice(0,40):void 0}}];const LIVE_QUERY_CAP=25;const LIVE_QUERY_SCAN=LIVE_QUERY_CAP*2;const LIVE_REQUEST_CAP=8;const LIVE_PROBES=[{key:"currentRoute",toolId:"route-events",action:"getCurrentRoute",shape:e=>{const t=rec(e);if(typeof t.path!=="string")return void 0;return t.params&&Object.keys(rec(t.params)).length?{path:t.path,params:t.params}:{path:t.path}}},{key:"queries",toolId:"query",action:"listQueries",params:{limit:LIVE_QUERY_SCAN},shape:e=>{const t=list(e?.queries??e).map(rec);const n=t.map(s=>{const i=typeof s.observers==="number"?s.observers:0;return{key:s.queryKey??s.queryHash,status:s.status,...i>0?{onScreen:true,observers:i}:{}}});n.sort((s,i)=>Number(Boolean(i.onScreen))-Number(Boolean(s.onScreen)));return n.slice(0,LIVE_QUERY_CAP)}},{key:"networkCapture",toolId:"network",action:"getCaptureStatus",shape:e=>{const t=rec(e);if(typeof t.capturing!=="boolean")return void 0;return{recording:t.capturing,...t.interceptorLive===false?{interceptorLive:false}:{},captured:typeof t.eventCount==="number"?t.eventCount:void 0}}},{key:"recentRequests",toolId:"network",action:_snapshotReads.SNAPSHOT_ACTION,params:{limit:LIVE_REQUEST_CAP},shape:e=>list(e?.requests).map(t=>{const n=rec(t);return{id:n.id,method:n.method,url:n.url,status:n.status,...n.overridden?{overridden:true}:{}}})},{key:"appClock",toolId:"clock",action:"getState",shape:e=>{const t=rec(e);if(t.active!==true||typeof t.virtualIso!=="string")return void 0;return{appTime:t.virtualIso,mode:t.mode,...typeof t.rate==="number"&&t.rate!==1?{rate:t.rate}:{},offsetMs:t.offsetMs}}},{key:"appLocation",toolId:"location",action:"getState",shape:e=>{const t=rec(e);if(t.active!==true)return void 0;const n=rec(t.override);const s=rec(t.current);const i=rec(s.fix);const o=rec(n.place);const u=rec(n.route);return{mode:n.mode,...typeof i.latitude==="number"?{latitude:i.latitude,longitude:i.longitude,accuracy:i.accuracy}:{noFix:s.reason},...n.mode==="fixed"&&typeof o.label==="string"?{place:o.label}:{},...n.mode==="route"?{route:u.name??u.id,playing:n.playing===true}:{},...n.signal===false?{signal:false}:{},...n.services===false?{services:false}:{}}}},{key:"appPermissions",toolId:"permissions",action:_snapshotReads.SNAPSHOT_ACTION,shape:e=>{const t=list(rec(e).permissions).map(rec).filter(n=>typeof n.override==="string");if(!t.length)return void 0;return Object.fromEntries(t.map(n=>[String(n.id),n.real&&n.real!==n.override?`${n.override} (system: ${n.real})`:n.override]))}},{key:"networkOverrides",toolId:"network",action:"listOverrideRules",shape:e=>{const t=rec(e);const n=list(t.rules).map(rec).filter(s=>s.enabled!==false).slice(0,10).map(s=>({id:s.id,urlPattern:s.urlPattern,kind:s.kind,status:s.status}));if(!n.length)return void 0;return{enabled:t.enabled===true,rules:n}}}];async function withTimeout(e,t){return await Promise.race([e.catch(()=>void 0),new Promise(n=>(0,_realNow.realSetTimeout)(()=>n(void 0),t))])}async function runProbes(e,{dispatch:t,readSnapshot:n,availableToolIds:s,availableActions:i}){const o=e.filter(r=>{if(!s.includes(r.toolId))return false;const a=i?.[r.toolId];return!a||a.includes(r.action)});const u=await Promise.all(o.map(async r=>{const a=r.action===_snapshotReads.SNAPSHOT_ACTION?n?Promise.resolve(n(r.toolId)).then(y=>(0,_snapshotReads.projectSnapshot)(r.toolId,y,r.params??{})):Promise.resolve(void 0):Promise.resolve(t(r.toolId,r.action,r.params));const c=await withTimeout(a,PROBE_TIMEOUT_MS);if(c===void 0)return[r.key,void 0];try{return[r.key,r.shape(c)]}catch{return[r.key,void 0]}}));const l={};for(const[r,a]of u){const c=a===void 0||a===null||Array.isArray(a)&&a.length===0;if(!c)l[r]=a}return l}function buildContextDigest(e){return runProbes(STABLE_PROBES,e)}function keyTokens(e){const t=Array.isArray(e)?e:typeof e==="string"?(()=>{try{const n=JSON.parse(e);return Array.isArray(n)?n:[e]}catch{return[e]}})():[e];return t.flatMap(n=>n===null||n===void 0?[]:splitTokens(String(typeof n==="object"?JSON.stringify(n):n)))}function splitTokens(e){return e.toLowerCase().split(/[^a-z0-9]+/i).filter(Boolean)}function annotateLikelyScreen(e){const t=e.currentRoute;const n=e.queries;if(!t?.path||!Array.isArray(n))return;const s=Object.values(t.params??{}).map(r=>splitTokens(String(r))).filter(r=>r.length>0);const i=splitTokens(t.path);let o=-1;let u=-1;let l=false;n.forEach((r,a)=>{if(!r.onScreen)return;const c=new Set(keyTokens(r.key));const y=s.filter(d=>d.every(p=>c.has(p))).length;const m=i.filter(d=>c.has(d)||[...c].some(p=>p.includes(d)||d.includes(p))).length;const f=y*3+m;if(f<=0)return;if(f>o){o=f;u=a;l=false}else if(f===o){l=true}});if(u>=0&&!l){n[u].likelyScreen=true;const[r]=n.splice(u,1);n.unshift(r)}}async function buildLiveContext(e){const t=await runProbes(LIVE_PROBES,e);annotateLikelyScreen(t);return t}
@@ -67,5 +67,5 @@ ${u.map(o=>`- ${o.id} \u2014 ${o.summary}`).join("\n")}`)}if(e?.extra)t.push(e.e
67
67
  YOU HAVE ALREADY CHANGED THIS APP, this conversation. What the app shows may be your own doing, not the server's or the user's \u2014 say so rather than reporting it as found state.
68
68
  ${e.slice(-s).map(h=>`- ${h.label}${h.undone?" (undone)":""}`).join("\n")}${e.length>s?`
69
69
  - \u2026and ${e.length-s} earlier`:""}`:"";return`RIGHT NOW
70
- Re-read just before this message. \`currentRoute\` is the screen the user sees, with its params. A query marked \`likelyScreen:true\` backs THAT screen \u2014 edit that one. \`onScreen:true\` only means the query is mounted somewhere in the nav stack (a stack navigator keeps the screen beneath the current one mounted, so several queries can be onScreen at once); the one tied to \`currentRoute\` is \`likelyScreen\`. If nothing is marked likelyScreen, match \`currentRoute\` yourself \u2014 and never pick a query just because its key contains the word the user said. \`recentRequests\` are the newest API calls (ids work with network.getEventBody and upsertOverrideRule.fromRequestId). \`networkOverrides\` lists armed rules: a response that disagrees with the server may be one of these, not a bug. \`networkCapture.recording:false\` means the request recorder is OFF right now: recentRequests is only what was captured earlier, an empty list says nothing about the app, and you say that in your first sentence rather than reading the list three times to find out. \`appClock\` appears only while the Clock tool overrides the app's clock: \`appTime\` is what the app thinks now is (\`offsetMs\` ahead of real time, \`mode\` frozen or running, \`rate\` if sped up), so judge expiry, countdowns and "last seen" against appTime, and say the clock is overridden before calling a date bug.
70
+ Re-read just before this message. \`currentRoute\` is the screen the user sees, with its params. A query marked \`likelyScreen:true\` backs THAT screen \u2014 edit that one. \`onScreen:true\` only means the query is mounted somewhere in the nav stack (a stack navigator keeps the screen beneath the current one mounted, so several queries can be onScreen at once); the one tied to \`currentRoute\` is \`likelyScreen\`. If nothing is marked likelyScreen, match \`currentRoute\` yourself \u2014 and never pick a query just because its key contains the word the user said. \`recentRequests\` are the newest API calls (ids work with network.getEventBody and upsertOverrideRule.fromRequestId). \`networkOverrides\` lists armed rules: a response that disagrees with the server may be one of these, not a bug. \`networkCapture.recording:false\` means the request recorder is OFF right now: recentRequests is only what was captured earlier, an empty list says nothing about the app, and you say that in your first sentence rather than reading the list three times to find out. \`appClock\` appears only while the Clock tool overrides the app's clock: \`appTime\` is what the app thinks now is (\`offsetMs\` ahead of real time, \`mode\` frozen or running, \`rate\` if sped up), so judge expiry, countdowns and "last seen" against appTime, and say the clock is overridden before calling a date bug. \`appLocation\` appears only while the Location tool overrides where the app is: distances, "nearby" lists and geofence check-ins are computed from that position (or \`noFix\` when the signal or location services are off), so say the location is simulated before calling one of them a bug. \`appPermissions\` appears only while the Permissions tool overrides a permission: each entry is what the app sees for that permission (\`denied\`, \`limited\`\u2026, with the real OS answer when it differs), so a Settings prompt, a missing camera view or an unsorted store list may be the override; say so before calling it a bug.
71
71
  ${r}${i}`}