agentfootprint 6.40.0 → 6.42.0

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.
Files changed (83) hide show
  1. package/dist/adapters/llm/BrowserOpenAIProvider.js +37 -13
  2. package/dist/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
  3. package/dist/adapters/llm/OpenAIProvider.js +49 -20
  4. package/dist/adapters/llm/OpenAIProvider.js.map +1 -1
  5. package/dist/adapters/memory/agentcore.js +176 -156
  6. package/dist/adapters/memory/agentcore.js.map +1 -1
  7. package/dist/core/agent/buildAgentChart.js +6 -2
  8. package/dist/core/agent/buildAgentChart.js.map +1 -1
  9. package/dist/core/agent/buildDynamicAgentChart.js +6 -2
  10. package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
  11. package/dist/core/agent/memoryRecallInjections.js +59 -0
  12. package/dist/core/agent/memoryRecallInjections.js.map +1 -0
  13. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +37 -13
  14. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
  15. package/dist/esm/adapters/llm/OpenAIProvider.js +49 -20
  16. package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
  17. package/dist/esm/adapters/memory/agentcore.js +176 -156
  18. package/dist/esm/adapters/memory/agentcore.js.map +1 -1
  19. package/dist/esm/core/agent/buildAgentChart.js +6 -2
  20. package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
  21. package/dist/esm/core/agent/buildDynamicAgentChart.js +6 -2
  22. package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
  23. package/dist/esm/core/agent/memoryRecallInjections.js +54 -0
  24. package/dist/esm/core/agent/memoryRecallInjections.js.map +1 -0
  25. package/dist/esm/observability/contextError/finders/compareFinders.js +22 -0
  26. package/dist/esm/observability/contextError/finders/compareFinders.js.map +1 -0
  27. package/dist/esm/observability/contextError/finders/index.js +7 -0
  28. package/dist/esm/observability/contextError/finders/index.js.map +1 -0
  29. package/dist/esm/observability/contextError/finders/rankSuspects.js +50 -0
  30. package/dist/esm/observability/contextError/finders/rankSuspects.js.map +1 -0
  31. package/dist/esm/observability/contextError/finders/removeAndRetry.js +43 -0
  32. package/dist/esm/observability/contextError/finders/removeAndRetry.js.map +1 -0
  33. package/dist/esm/observability/contextError/finders/shrinkToCause.js +87 -0
  34. package/dist/esm/observability/contextError/finders/shrinkToCause.js.map +1 -0
  35. package/dist/esm/observability/contextError/finders/testManyCombos.js +94 -0
  36. package/dist/esm/observability/contextError/finders/testManyCombos.js.map +1 -0
  37. package/dist/esm/observability/contextError/finders/traceSteps.js +62 -0
  38. package/dist/esm/observability/contextError/finders/traceSteps.js.map +1 -0
  39. package/dist/esm/observability/contextError/finders/types.js +2 -0
  40. package/dist/esm/observability/contextError/finders/types.js.map +1 -0
  41. package/dist/observability/contextError/finders/compareFinders.js +26 -0
  42. package/dist/observability/contextError/finders/compareFinders.js.map +1 -0
  43. package/dist/observability/contextError/finders/index.js +16 -0
  44. package/dist/observability/contextError/finders/index.js.map +1 -0
  45. package/dist/observability/contextError/finders/rankSuspects.js +53 -0
  46. package/dist/observability/contextError/finders/rankSuspects.js.map +1 -0
  47. package/dist/observability/contextError/finders/removeAndRetry.js +46 -0
  48. package/dist/observability/contextError/finders/removeAndRetry.js.map +1 -0
  49. package/dist/observability/contextError/finders/shrinkToCause.js +90 -0
  50. package/dist/observability/contextError/finders/shrinkToCause.js.map +1 -0
  51. package/dist/observability/contextError/finders/testManyCombos.js +97 -0
  52. package/dist/observability/contextError/finders/testManyCombos.js.map +1 -0
  53. package/dist/observability/contextError/finders/traceSteps.js +65 -0
  54. package/dist/observability/contextError/finders/traceSteps.js.map +1 -0
  55. package/dist/observability/contextError/finders/types.js +3 -0
  56. package/dist/observability/contextError/finders/types.js.map +1 -0
  57. package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts +7 -0
  58. package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts.map +1 -1
  59. package/dist/types/adapters/llm/OpenAIProvider.d.ts +24 -1
  60. package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
  61. package/dist/types/adapters/memory/agentcore.d.ts +74 -86
  62. package/dist/types/adapters/memory/agentcore.d.ts.map +1 -1
  63. package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
  64. package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
  65. package/dist/types/core/agent/memoryRecallInjections.d.ts +9 -0
  66. package/dist/types/core/agent/memoryRecallInjections.d.ts.map +1 -0
  67. package/dist/types/observability/contextError/finders/compareFinders.d.ts +20 -0
  68. package/dist/types/observability/contextError/finders/compareFinders.d.ts.map +1 -0
  69. package/dist/types/observability/contextError/finders/index.d.ts +23 -0
  70. package/dist/types/observability/contextError/finders/index.d.ts.map +1 -0
  71. package/dist/types/observability/contextError/finders/rankSuspects.d.ts +3 -0
  72. package/dist/types/observability/contextError/finders/rankSuspects.d.ts.map +1 -0
  73. package/dist/types/observability/contextError/finders/removeAndRetry.d.ts +12 -0
  74. package/dist/types/observability/contextError/finders/removeAndRetry.d.ts.map +1 -0
  75. package/dist/types/observability/contextError/finders/shrinkToCause.d.ts +12 -0
  76. package/dist/types/observability/contextError/finders/shrinkToCause.d.ts.map +1 -0
  77. package/dist/types/observability/contextError/finders/testManyCombos.d.ts +12 -0
  78. package/dist/types/observability/contextError/finders/testManyCombos.d.ts.map +1 -0
  79. package/dist/types/observability/contextError/finders/traceSteps.d.ts +3 -0
  80. package/dist/types/observability/contextError/finders/traceSteps.d.ts.map +1 -0
  81. package/dist/types/observability/contextError/finders/types.d.ts +89 -0
  82. package/dist/types/observability/contextError/finders/types.d.ts.map +1 -0
  83. package/package.json +11 -2
@@ -1 +1 @@
1
- {"version":3,"file":"buildDynamicAgentChart.js","sourceRoot":"","sources":["../../../../src/core/agent/buildDynamicAgentChart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildDynamicAgentChart.js","sourceRoot":"","sources":["../../../../src/core/agent/buildDynamicAgentChart.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EACL,oBAAoB,GAErB,MAAM,2DAA2D,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAI3D;;;;;;;;;;GAUG;AACH,SAAS,eAAe,CAAC,KAA6B;IACpD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAQvB,CAAC;IAEL,qEAAqE;IACrE,yDAAyD;IACzD,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC;IACzD,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,IAAI,CAAC,CAAC;IAC3D,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC;IACrD,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,oBAAoB,IAAI,CAAC,CAAC;IACvD,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,oBAAoB,IAAI,CAAC,CAAC;IACvD,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,IAAI,KAAK,CAAC;IACvD,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC;IAElD,wEAAwE;IACxE,+DAA+D;IAC/D,oDAAoD;IACpD,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC;IAC5B,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC;IAClC,KAAK,CAAC,kBAAkB,GAAG,EAAE,CAAC;IAC9B,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;IAC3B,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;IACxB,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC;IAC5B,KAAK,CAAC,kBAAkB,GAAG,EAAE,CAAC;IAC9B,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAoB;IACzD,uEAAuE;IACvE,gEAAgE;IAChE,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjD,gEAAgE;IAChE,+DAA+D;IAC/D,mEAAmE;IACnE,kEAAkE;IAClE,yCAAyC;IACzC,IAAI,kBAAkB,GAAG,SAAS,CAChC,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf;QACE,GAAG,CAAC,IAAI,CAAC,kBAAkB,KAAK,SAAS,IAAI;YAC3C,kBAAkB,EAAE,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;SACjD,CAAC;QACF,WAAW,EAAE,mDAAmD;KACjE,CACF,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACZ,kBAAkB,GAAG,gBAAgB,CAAC,kBAAkB,EAAE;gBACxD,QAAQ,EAAE;oBACR,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAU;oBAC5C,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAU;iBAC/C;gBACD,WAAW,EAAE,aAAa;gBAC1B,aAAa,EAAE,YAAY;gBAC3B,gBAAgB,EAAE,wBAAwB;gBAC1C,cAAc,EAAE,aAAa;gBAC7B,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAAE,EAAE;gBACzC,oEAAoE;gBACpE,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ;oBACrB,IAAI,CAAC,oBAAoB,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC9E,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,MAAM,gBAAgB,GAAG,kBAAkB;SACxC,WAAW,CAAC,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,0BAA0B,CAAC;SACrF,KAAK,EAAE,CAAC;IAEX,gEAAgE;IAChE,mEAAmE;IACnE,kEAAkE;IAClE,iEAAiE;IACjE,oEAAoE;IACpE,mEAAmE;IACnE,IAAI,KAAK,GAAG,SAAS,CAAa,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE;QAC1E,GAAG,CAAC,IAAI,CAAC,kBAAkB,KAAK,SAAS,IAAI;YAC3C,kBAAkB,EAAE,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;SACjD,CAAC;QACF,sEAAsE;QACtE,wEAAwE;QACxE,sEAAsE;QACtE,sEAAsE;QACtE,oEAAoE;QACpE,WAAW,EAAE,+BAA+B;KAC7C,CAAC;SACC,mBAAmB,CAClB,WAAW,CAAC,gBAAgB,EAC5B,IAAI,CAAC,sBAAsB,EAC3B,kBAAkB,EAClB;QACE,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACxB,SAAS,EAAE,MAAM,CAAC,SAA+B;YACjD,WAAW,EAAE,MAAM,CAAC,WAAiC;YACrD,OAAO,EAAE,MAAM,CAAC,OAA4C;YAC5D,cAAc,EAAE,MAAM,CAAC,cAAkE;YACzF,qBAAqB,EAClB,MAAM,CAAC,qBAAuD,IAAI,EAAE;YACvE,uEAAuE;YACvE,qEAAqE;YACrE,oEAAoE;YACpE,uEAAuE;YACvE,iBAAiB,EACd,MAAM,CAAC,YAAyC,IAAI,oBAAoB;YAC3E,2EAA2E;YAC3E,wEAAwE;YACxE,cAAc,EAAE,MAAM,CAAC,cAAoC;YAC3D,4EAA4E;YAC5E,WAAW,EAAE,MAAM,CAAC,WAEP;SACd,CAAC;QACF,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACrB,gBAAgB,EAAE,EAAE,CAAC,gBAAgB;YACrC,YAAY,EAAE,EAAE,CAAC,YAAY;YAC7B,gEAAgE;YAChE,mEAAmE;YACnE,mEAAmE;YACnE,eAAe,EAAE,EAAE,CAAC,eAAe;SACpC,CAAC;QACF,UAAU,EAAE,cAAc,CAAC,OAAO;KACnC,CACF;QACD,yEAAyE;QACzE,0EAA0E;QAC1E,4EAA4E;QAC5E,0EAA0E;QAC1E,wEAAwE;QACxE,yEAAyE;SACxE,mBAAmB,CAClB,SAAS,EACT,CAAC,CAAC,KAA6B,EAAE,EAAE,CACjC,MAAM,CAAC,KAAK,EAAE;QACZ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,aAAa,EAAE,KAAK,EAAE,wBAAwB,EAAE;QACtF,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE;QAC5E,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE;KACvE,CAAC,CAAU,EACd,SAAS,CAAC,OAAO,EACjB,uEAAuE,EACvE,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB;QACD,0EAA0E;QAC1E,wEAAwE;SACvE,qBAAqB,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,EAAE;QAC3F,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACxB,WAAW,EAAE,MAAM,CAAC,WAAiC;YACrD,SAAS,EAAE,MAAM,CAAC,SAA+B;YACjD,gBAAgB,EAAE,gBAAgB,CAChC,MAAM,CAAC,gBAA0D,EACjE,MAAM,EACN,SAAS,CACV;SACF,CAAC;QACF,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,sBAAsB,EAAE,EAAE,CAAC,sBAAsB,EAAE,CAAC;QAC7E,UAAU,EAAE,cAAc,CAAC,OAAO;KACnC,CAAC;SACD,qBAAqB,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,EAAE;QAC7E,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACxB,QAAQ,EAAE,MAAM,CAAC,OAA4C;YAC7D,SAAS,EAAE,MAAM,CAAC,SAA+B;YACjD,gBAAgB,EAAE,gBAAgB,CAChC,MAAM,CAAC,gBAA0D,EACjE,MAAM,EACN,SAAS,CACV;SACF,CAAC;QACF,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAE,CAAC,kBAAkB,EAAE,CAAC;QACrE,UAAU,EAAE,cAAc,CAAC,OAAO;KACnC,CAAC;SACD,qBAAqB,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE;QACpE,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACxB,SAAS,EAAE,MAAM,CAAC,SAA+B;YACjD,gBAAgB,EAAE,MAAM,CAAC,gBAA0D;YACnF,qBAAqB,EAAE,MAAM,CAAC,qBAAsD;YACpF,WAAW,EAAE,MAAM,CAAC,WAEP;SACd,CAAC;QACF,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACrB,eAAe,EAAE,EAAE,CAAC,eAAe;YACnC,kBAAkB,EAAE,EAAE,CAAC,WAAW;SACnC,CAAC;QACF,UAAU,EAAE,cAAc,CAAC,OAAO;QAClC,uEAAuE;QACvE,uEAAuE;QACvE,2DAA2D;QAC3D,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK;KAChF,CAAC;SACD,GAAG,EAAE,CAAC;IAET,oEAAoE;IACpE,4EAA4E;IAC5E,6EAA6E;IAC7E,wEAAwE;IACxE,mEAAmE;IACnE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,KAAK,GAAG,KAAK,CAAC,WAAW,CACvB,oBAAoB,EACpB,IAAI,CAAC,uBAAgC,EACrC,SAAS,CAAC,oBAAoB,EAC9B,mEAAmE,CACpE,CAAC;IACJ,CAAC;IAED,KAAK,GAAG,KAAK;SACV,mBAAmB,CAAC,WAAW,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE;QACpE,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACxB,gBAAgB,EAAG,MAAM,CAAC,gBAAqD,IAAI,EAAE;YACrF,SAAS,EAAG,MAAM,CAAC,SAAgC,IAAI,CAAC;YACxD,aAAa,EAAG,MAAM,CAAC,aAAoC,IAAI,IAAI,CAAC,aAAa;YACjF,WAAW,EAAG,MAAM,CAAC,WAAkC,IAAI,EAAE;YAC7D,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI;gBACzC,YAAY,EAAG,MAAM,CAAC,cAAmD,EAAE,QAAQ;aACpF,CAAC;YACF,qBAAqB,EAAG,MAAM,CAAC,gBAAuC,IAAI,CAAC;YAC3E,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,eAAe,EAAG,MAAM,CAAC,eAAuC,IAAI,KAAK;YACzE,aAAa,EAAE,MAAM,CAAC,aAAmC;YACzD,YAAY,EAAG,MAAM,CAAC,YAA4D,IAAI,EAAE;SACzF,CAAC;QACF,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC;QACzD,UAAU,EAAE,cAAc,CAAC,OAAO;KACnC,CAAC;QACF,sEAAsE;QACtE,uEAAuE;SACtE,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,OAAgB,EAAE,SAAS,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAEvF,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,KAAK,GAAG,KAAK,CAAC,mBAAmB,CAC/B,WAAW,CAAC,QAAQ,EACpB,IAAI,CAAC,eAAe,EACpB,mBAAmB,EACnB;YACE,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACxB,WAAW,EAAE,MAAM,CAAC,WAAsB;gBAC1C,SAAS,EAAE,MAAM,CAAC,SAA+B;aAClD,CAAC;YACF,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC,cAAc,EAAE,CAAC;YAC7D,UAAU,EAAE,cAAc,CAAC,OAAO;SACnC,CACF,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;IAErC,gEAAgE;IAChE,mEAAmE;IACnE,sCAAsC;IACtC,IAAI,OAAO,GAAG,SAAS,CAAa,YAAY,EAAE,IAAI,CAAC,IAAa,EAAE,SAAS,CAAC,IAAI,EAAE;QACpF,GAAG,CAAC,IAAI,CAAC,kBAAkB,KAAK,SAAS,IAAI;YAC3C,kBAAkB,EAAE,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;SACjD,CAAC;QACF,WAAW,EAAE,mBAAmB;KACjC,CAAC,CAAC;IAEH,mEAAmE;IACnE,sEAAsE;IACtE,qEAAqE;IACrE,qCAAqC;IACrC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE;YACjC,QAAQ,EAAE;gBACR,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAU;gBAC5C,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAU,EAAE,CAAC;aACjF;YACD,WAAW,EAAE,aAAa;YAC1B,aAAa,EAAE,YAAY;YAC3B,gBAAgB,EAAE,wBAAwB;YAC1C,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,aAAa,EAAE,kBAAkB,CAAC,CAAC,EAAE,EAAE;SACxC,CAAC,CAAC;IACL,CAAC;IAED,kFAAkF;IAClF,gFAAgF;IAChF,8EAA8E;IAC9E,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,OAAO,GAAG,OAAO,CAAC,WAAW,CAC3B,WAAW,EACX,IAAI,CAAC,cAAuB,EAC5B,SAAS,CAAC,UAAU,EACpB,wEAAwE,CACzE,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,OAAO;SACd,mBAAmB,CAAC,WAAW,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE;QAChE,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;YACtB,MAAM,CAAC,GAAG,MAAiC,CAAC;YAC5C,yDAAyD;YACzD,MAAM,UAAU,GAA4B,EAAE,CAAC;YAC/C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;YACD,OAAO;gBACL,6DAA6D;gBAC7D,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,aAAa,EAAE,CAAC,CAAC,aAAa;gBAC9B,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,eAAe,EAAE,CAAC,CAAC,eAAe;gBAClC,aAAa,EAAE,CAAC,CAAC,aAAa;gBAC9B,qBAAqB,EAAE,CAAC,CAAC,qBAAqB;gBAC9C,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,0EAA0E;gBAC1E,yEAAyE;gBACzE,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,2EAA2E;gBAC3E,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,GAAG,UAAU;gBACb,6DAA6D;gBAC7D,4DAA4D;gBAC5D,qBAAqB,EAAE,CAAC,CAAC,gBAAgB;gBACzC,sBAAsB,EAAE,CAAC,CAAC,iBAAiB;gBAC3C,mBAAmB,EAAE,CAAC,CAAC,cAAc;gBACrC,oBAAoB,EAAE,CAAC,CAAC,eAAe;gBACvC,oBAAoB,EAAE,CAAC,CAAC,eAAe;gBACvC,kBAAkB,EAAE,CAAC,CAAC,aAAa;gBACnC,iBAAiB,EAAE,CAAC,CAAC,YAAY;aAClC,CAAC;QACJ,CAAC;QACD,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE;YACnB,MAAM,CAAC,GAAG,EAA6B,CAAC;YACxC,OAAO;gBACL,wDAAwD;gBACxD,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;gBACpC,kBAAkB,EAAE,CAAC,CAAC,kBAAkB;gBACxC,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,iEAAiE;gBACjE,8DAA8D;gBAC9D,+DAA+D;gBAC/D,6CAA6C;gBAC7C,kEAAkE;gBAClE,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;gBACpC,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;gBACtC,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,eAAe,EAAE,CAAC,CAAC,eAAe;gBAClC,eAAe,EAAE,CAAC,CAAC,eAAe;gBAClC,aAAa,EAAE,CAAC,CAAC,aAAa;gBAC9B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,kEAAkE;gBAClE,+DAA+D;gBAC/D,cAAc,EAAE,CAAC,CAAC,eAAe;aAClC,CAAC;QACJ,CAAC;QACD,kEAAkE;QAClE,gEAAgE;QAChE,UAAU,EAAE,cAAc,CAAC,OAAO;KACnC,CAAC;SACD,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAqB,EAAE,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC;SAC3F,yBAAyB,CACxB,YAAY,EACZ,WAAW,EACX,IAAI,CAAC,gBAAyB,EAC9B,yCAAyC;IACzC,wEAAwE;IACxE,0EAA0E;IAC1E,yEAAyE;IACzE,sEAAsE;IACtE,sEAAsE;IACtE,2DAA2D;IAC3D,wEAAwE;IACxE,EAAE,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,CACjC;SACA,qBAAqB,CAAC,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE;QACnE,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;YACtB,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;YAC/D,KAAK,EAAE,CAAC;YACR,KAAK,GAAG,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QACD,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACrB,YAAY,EAAE,EAAE,CAAC,YAAsB;SACxC,CAAC;QACF,2EAA2E;QAC3E,6EAA6E;QAC7E,cAAc,EAAE,IAAI;KACrB,CAAC;SACD,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC;SAC7B,GAAG,EAAE,CAAC;IACT,kEAAkE;IAClE,6EAA6E;IAC7E,2DAA2D;IAE3D,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;AACzB,CAAC"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Bridge memory recall into the injection-engine model.
3
+ *
4
+ * Each memory's READ subflow writes its formatted recall to the per-id scope key
5
+ * `memoryInjection_<id>` (an array of `{ role, content }`). The slot composers
6
+ * (`buildSystemPromptSlot` / `buildMessagesSlot`) only iterate `activeInjections` —
7
+ * so on the Agent path the recall was read, formatted, and persisted but NEVER
8
+ * composed into the prompt (a dead-end key). This turns those recalls into
9
+ * `'memory'`-flavored `ActiveInjection`s so the existing composers inject them:
10
+ * system-role content → the system slot (`inject.systemPrompt`), everything else →
11
+ * the messages slot (`inject.messages`).
12
+ */
13
+ import { memoryInjectionKey } from '../../memory/define.types.js';
14
+ /** Build `'memory'`-flavored ActiveInjections from the per-id recall keys in `parent`. */
15
+ export function memoryRecallInjections(parent, memoryIds) {
16
+ const out = [];
17
+ for (const id of memoryIds) {
18
+ const recall = parent[memoryInjectionKey(id)];
19
+ if (!Array.isArray(recall) || recall.length === 0)
20
+ continue;
21
+ const msgs = recall;
22
+ const systemContent = msgs
23
+ .filter((m) => m.role === 'system')
24
+ .map((m) => m.content)
25
+ .join('\n\n');
26
+ const messages = msgs
27
+ .filter((m) => m.role !== 'system')
28
+ .map((m) => ({ role: m.role, content: m.content }));
29
+ if (!systemContent && messages.length === 0)
30
+ continue;
31
+ out.push({
32
+ id: `memory:${id}`,
33
+ flavor: 'memory',
34
+ description: `recall from memory '${id}'`,
35
+ inject: {
36
+ ...(systemContent ? { systemPrompt: systemContent } : {}),
37
+ ...(messages.length > 0 ? { messages } : {}),
38
+ },
39
+ });
40
+ }
41
+ return out;
42
+ }
43
+ /**
44
+ * Append memory recalls to the active-injection set a slot-fork inputMapper hands to
45
+ * the system / messages slot subflows. No-op when the agent has no memories.
46
+ */
47
+ export function withMemoryRecall(activeInjections, parent, memoryIds) {
48
+ const base = activeInjections ?? [];
49
+ if (memoryIds.length === 0)
50
+ return base;
51
+ const recall = memoryRecallInjections(parent, memoryIds);
52
+ return recall.length === 0 ? base : [...base, ...recall];
53
+ }
54
+ //# sourceMappingURL=memoryRecallInjections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memoryRecallInjections.js","sourceRoot":"","sources":["../../../../src/core/agent/memoryRecallInjections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AASlE,0FAA0F;AAC1F,MAAM,UAAU,sBAAsB,CACpC,MAA+B,EAC/B,SAA4B;IAE5B,MAAM,GAAG,GAAsB,EAAE,CAAC;IAClC,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAC5D,MAAM,IAAI,GAAG,MAAkC,CAAC;QAChD,MAAM,aAAa,GAAG,IAAI;aACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;aACrB,IAAI,CAAC,MAAM,CAAC,CAAC;QAChB,MAAM,QAAQ,GAAG,IAAI;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,aAAa,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACtD,GAAG,CAAC,IAAI,CAAC;YACP,EAAE,EAAE,UAAU,EAAE,EAAE;YAClB,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,uBAAuB,EAAE,GAAG;YACzC,MAAM,EAAE;gBACN,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7C;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,gBAAwD,EACxD,MAA+B,EAC/B,SAA4B;IAE5B,MAAM,IAAI,GAAG,gBAAgB,IAAI,EAAE,CAAC;IACpC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACzD,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Run each finder on `input`; a finder that throws (e.g. missing a dep it needs)
3
+ * becomes a row with `result: null` and `error` set, so one finder cannot abort
4
+ * the comparison.
5
+ */
6
+ export async function compareFinders(finders, input) {
7
+ const rows = [];
8
+ for (const f of finders) {
9
+ try {
10
+ rows.push({ finder: f.name, result: await f.find(input) });
11
+ }
12
+ catch (e) {
13
+ rows.push({
14
+ finder: f.name,
15
+ result: null,
16
+ error: e instanceof Error ? e.message : String(e),
17
+ });
18
+ }
19
+ }
20
+ return rows;
21
+ }
22
+ //# sourceMappingURL=compareFinders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compareFinders.js","sourceRoot":"","sources":["../../../../../src/observability/contextError/finders/compareFinders.ts"],"names":[],"mappings":"AAeA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAA0B,EAC1B,KAAgB;IAEhB,MAAM,IAAI,GAAiB,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC;gBACR,MAAM,EAAE,CAAC,CAAC,IAAI;gBACd,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;aAClD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { rankSuspects } from './rankSuspects.js';
2
+ export { removeAndRetry } from './removeAndRetry.js';
3
+ export { traceSteps } from './traceSteps.js';
4
+ export { testManyCombos } from './testManyCombos.js';
5
+ export { shrinkToCause } from './shrinkToCause.js';
6
+ export { compareFinders } from './compareFinders.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/observability/contextError/finders/index.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAmB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * rankSuspects — the free, instant finder. Ranks context pieces by embedding
3
+ * influence on the wrong answer and says when it cannot confidently pick one
4
+ * (escalate). Zero model tokens (embeddings only); a guess, not a verdict.
5
+ *
6
+ * Method: four-signal embedding-influence composite + ranking-confidence escalation.
7
+ * Thin adapter over `scoreInfluence` / `rankingConfidence` (influence-core).
8
+ */
9
+ import { rankingConfidence, scoreInfluence } from '../../../lib/influence-core/index.js';
10
+ export const rankSuspects = {
11
+ name: 'rankSuspects',
12
+ meta: {
13
+ label: 'Ranks context pieces by how much each resembles the wrong answer (free)',
14
+ method: 'four-signal embedding-influence composite + ranking-confidence escalation',
15
+ paper: 'this work',
16
+ },
17
+ async find(input) {
18
+ if (!input.embedder)
19
+ throw new Error('rankSuspects needs input.embedder');
20
+ const evidence = input.suspects.map((s) => ({
21
+ id: s.id,
22
+ text: s.text,
23
+ ancestorTexts: [],
24
+ }));
25
+ const scores = await scoreInfluence({
26
+ evidence,
27
+ finalAnswerText: input.wrongOutput,
28
+ embedder: input.embedder,
29
+ });
30
+ const conf = rankingConfidence(scores);
31
+ const explanation = [
32
+ `rankSuspects: scored ${scores.length} context pieces by embedding influence on the wrong answer.`,
33
+ conf.clearWinner
34
+ ? `Clear lead: ${conf.lead ?? '(none)'}.`
35
+ : `No clear winner → escalate; shortlist: ${conf.shortlist.join(', ') || '(none)'}.`,
36
+ `This is a guess (similarity proxy), not proof — confirm with removeAndRetry.`,
37
+ ].join('\n');
38
+ return {
39
+ finder: 'rankSuspects',
40
+ suspects: scores.map((s) => ({ id: s.id, score: s.score })),
41
+ lead: conf.lead,
42
+ shortlist: [...conf.shortlist],
43
+ evidence: 'guessed',
44
+ granularity: 'piece',
45
+ checks: 0,
46
+ explanation,
47
+ };
48
+ },
49
+ };
50
+ //# sourceMappingURL=rankSuspects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rankSuspects.js","sourceRoot":"","sources":["../../../../../src/observability/contextError/finders/rankSuspects.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAGzF,MAAM,CAAC,MAAM,YAAY,GAAW;IAClC,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE;QACJ,KAAK,EAAE,yEAAyE;QAChF,MAAM,EAAE,2EAA2E;QACnF,KAAK,EAAE,WAAW;KACnB;IACD,KAAK,CAAC,IAAI,CAAC,KAAgB;QACzB,IAAI,CAAC,KAAK,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1C,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,aAAa,EAAE,EAAc;SAC9B,CAAC,CAAC,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;YAClC,QAAQ;YACR,eAAe,EAAE,KAAK,CAAC,WAAW;YAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG;YAClB,wBAAwB,MAAM,CAAC,MAAM,6DAA6D;YAClG,IAAI,CAAC,WAAW;gBACd,CAAC,CAAC,eAAe,IAAI,CAAC,IAAI,IAAI,QAAQ,GAAG;gBACzC,CAAC,CAAC,0CAA0C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,GAAG;YACtF,8EAA8E;SAC/E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,OAAO;YACL,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3D,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YAC9B,QAAQ,EAAE,SAAS;YACnB,WAAW,EAAE,OAAO;YACpB,MAAM,EAAE,CAAC;YACT,WAAW;SACZ,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,43 @@
1
+ export const removeAndRetry = {
2
+ name: 'removeAndRetry',
3
+ meta: {
4
+ label: 'Removes each piece and re-runs; keeps the ones whose removal fixes the answer',
5
+ method: 'leave-one-out ablation (counterfactual necessity)',
6
+ paper: 'CausalArmor (Kim 2026) / ContextCite (Cohen-Wang 2024)',
7
+ },
8
+ async find(input) {
9
+ if (!input.rerun)
10
+ throw new Error('removeAndRetry needs input.rerun');
11
+ const rerun = input.rerun;
12
+ const results = [];
13
+ for (const s of input.suspects) {
14
+ const r = await rerun([s.id]);
15
+ results.push({ id: s.id, recovered: r.recovered });
16
+ }
17
+ const flippers = results.filter((r) => r.recovered).map((r) => r.id);
18
+ // flippers first (causally necessary); stable for ties
19
+ const ranked = [...results].sort((a, b) => Number(b.recovered) - Number(a.recovered));
20
+ const explanation = [
21
+ `removeAndRetry: removed each of ${input.suspects.length} pieces and re-ran (${results.length} checks).`,
22
+ flippers.length
23
+ ? `Removing these flipped the outcome (causally necessary): ${flippers.join(', ')}.`
24
+ : `No single removal flipped the outcome — possible over-determination (no necessary single cause).`,
25
+ flippers.length > 1
26
+ ? `NOTE: ${flippers.length} pieces each flip — multiple necessary causes or incidental reroutes; narrow with a slice (rankSuspects) first.`
27
+ : '',
28
+ ]
29
+ .filter(Boolean)
30
+ .join('\n');
31
+ return {
32
+ finder: 'removeAndRetry',
33
+ suspects: ranked.map((r) => ({ id: r.id })),
34
+ lead: flippers[0],
35
+ shortlist: flippers,
36
+ evidence: 'proven',
37
+ granularity: 'piece',
38
+ checks: results.length,
39
+ explanation,
40
+ };
41
+ },
42
+ };
43
+ //# sourceMappingURL=removeAndRetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removeAndRetry.js","sourceRoot":"","sources":["../../../../../src/observability/contextError/finders/removeAndRetry.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,cAAc,GAAW;IACpC,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE;QACJ,KAAK,EAAE,+EAA+E;QACtF,MAAM,EAAE,mDAAmD;QAC3D,KAAK,EAAE,wDAAwD;KAChE;IACD,KAAK,CAAC,IAAI,CAAC,KAAgB;QACzB,IAAI,CAAC,KAAK,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,MAAM,OAAO,GAAyC,EAAE,CAAC;QACzD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrE,uDAAuD;QACvD,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACtF,MAAM,WAAW,GAAG;YAClB,mCAAmC,KAAK,CAAC,QAAQ,CAAC,MAAM,uBAAuB,OAAO,CAAC,MAAM,WAAW;YACxG,QAAQ,CAAC,MAAM;gBACb,CAAC,CAAC,4DAA4D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBACpF,CAAC,CAAC,kGAAkG;YACtG,QAAQ,CAAC,MAAM,GAAG,CAAC;gBACjB,CAAC,CAAC,SAAS,QAAQ,CAAC,MAAM,iHAAiH;gBAC3I,CAAC,CAAC,EAAE;SACP;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO;YACL,MAAM,EAAE,gBAAgB;YACxB,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3C,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;YACjB,SAAS,EAAE,QAAQ;YACnB,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,OAAO;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,WAAW;SACZ,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,87 @@
1
+ export const shrinkToCause = {
2
+ name: 'shrinkToCause',
3
+ meta: {
4
+ label: 'Shrinks the suspect set to the smallest whose removal still fixes the answer',
5
+ method: 'delta-debugging minimization (ddmin) to the minimal recovering set',
6
+ paper: 'BugDoc, Lourenço et al. 2020 (SIGMOD)',
7
+ },
8
+ async find(input) {
9
+ if (!input.rerun)
10
+ throw new Error('shrinkToCause needs input.rerun');
11
+ const rerun = input.rerun;
12
+ const ids = input.suspects.map((s) => s.id);
13
+ let checks = 0;
14
+ const recovers = async (removed) => {
15
+ checks++;
16
+ return (await rerun(removed)).recovered;
17
+ };
18
+ // Precondition: removing everything must recover, else there is no removable cause here.
19
+ if (ids.length === 0 || !(await recovers(ids))) {
20
+ return {
21
+ finder: 'shrinkToCause',
22
+ suspects: ids.map((id) => ({ id })),
23
+ shortlist: [],
24
+ lead: undefined,
25
+ evidence: 'guessed',
26
+ granularity: 'piece',
27
+ checks,
28
+ explanation: `shrinkToCause: removing all ${ids.length} pieces did not recover — no single removable cause (over-determined or absent).`,
29
+ };
30
+ }
31
+ // ddmin: minimize the removal set that still recovers.
32
+ let candidates = [...ids];
33
+ let n = 2;
34
+ while (candidates.length > 1) {
35
+ const size = Math.ceil(candidates.length / n);
36
+ let reduced = false;
37
+ // a single chunk's removal already recovers → narrow to it
38
+ for (let i = 0; i < candidates.length; i += size) {
39
+ const chunk = candidates.slice(i, i + size);
40
+ if (chunk.length && (await recovers(chunk))) {
41
+ candidates = chunk;
42
+ n = 2;
43
+ reduced = true;
44
+ break;
45
+ }
46
+ }
47
+ if (!reduced) {
48
+ // removing a complement recovers → drop that chunk
49
+ for (let i = 0; i < candidates.length; i += size) {
50
+ const complement = [...candidates.slice(0, i), ...candidates.slice(i + size)];
51
+ if (complement.length && (await recovers(complement))) {
52
+ candidates = complement;
53
+ n = Math.max(n - 1, 2);
54
+ reduced = true;
55
+ break;
56
+ }
57
+ }
58
+ }
59
+ if (!reduced) {
60
+ if (n >= candidates.length)
61
+ break;
62
+ n = Math.min(candidates.length, n * 2);
63
+ }
64
+ }
65
+ const rest = ids.filter((id) => !candidates.includes(id));
66
+ const explanation = [
67
+ `shrinkToCause: delta-debugging minimization over ${ids.length} pieces in ${checks} checks.`,
68
+ `Minimal recovering set: ${candidates.join(', ')} (removing it flips the outcome; nothing smaller does).`,
69
+ checks < ids.length
70
+ ? `Reached the cause in fewer checks than leave-one-out (${checks} vs ${ids.length}).`
71
+ : '',
72
+ ]
73
+ .filter(Boolean)
74
+ .join('\n');
75
+ return {
76
+ finder: 'shrinkToCause',
77
+ suspects: [...candidates, ...rest].map((id) => ({ id })),
78
+ shortlist: candidates,
79
+ lead: candidates[0],
80
+ evidence: 'proven',
81
+ granularity: 'piece',
82
+ checks,
83
+ explanation,
84
+ };
85
+ },
86
+ };
87
+ //# sourceMappingURL=shrinkToCause.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shrinkToCause.js","sourceRoot":"","sources":["../../../../../src/observability/contextError/finders/shrinkToCause.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ /** Deterministic LCG so the masking is reproducible across runs (and in tests). */
2
+ function lcg(seed) {
3
+ let s = seed >>> 0;
4
+ return () => {
5
+ s = (Math.imul(s, 1664525) + 1013904223) >>> 0;
6
+ return s / 0x100000000;
7
+ };
8
+ }
9
+ export const testManyCombos = {
10
+ name: 'testManyCombos',
11
+ meta: {
12
+ label: 'Turns pieces on/off in many combinations and learns which drive the answer',
13
+ method: 'random-subset ablation + linear-surrogate attribution, then one confirming ablation',
14
+ paper: 'ContextCite, Cohen-Wang et al. 2024 (arXiv:2409.00729)',
15
+ },
16
+ async find(input) {
17
+ if (!input.rerun)
18
+ throw new Error('testManyCombos needs input.rerun');
19
+ const rerun = input.rerun;
20
+ const ids = input.suspects.map((s) => s.id);
21
+ if (ids.length === 0) {
22
+ return {
23
+ finder: 'testManyCombos',
24
+ suspects: [],
25
+ shortlist: [],
26
+ evidence: 'guessed',
27
+ granularity: 'piece',
28
+ checks: 0,
29
+ explanation: 'testManyCombos: no suspects to test.',
30
+ };
31
+ }
32
+ const samples = Math.max(4, input.samples ?? Math.min(40, ids.length * 4));
33
+ const rand = lcg(0x9e3779b9 ^ ids.length);
34
+ // per-id recovery rate when the piece is removed vs kept
35
+ const stat = new Map(ids.map((id) => [id, { remHits: 0, remN: 0, keepHits: 0, keepN: 0 }]));
36
+ for (let k = 0; k < samples; k++) {
37
+ const removed = ids.filter(() => rand() < 0.5);
38
+ const removedSet = new Set(removed);
39
+ const recovered = (await rerun(removed)).recovered ? 1 : 0;
40
+ for (const id of ids) {
41
+ const st = stat.get(id);
42
+ if (removedSet.has(id)) {
43
+ st.remHits += recovered;
44
+ st.remN++;
45
+ }
46
+ else {
47
+ st.keepHits += recovered;
48
+ st.keepN++;
49
+ }
50
+ }
51
+ }
52
+ // coefficient = P(recover | removed) − P(recover | kept): high ⇒ removing it fixes the answer
53
+ const scored = ids
54
+ .map((id) => {
55
+ const st = stat.get(id);
56
+ const remMean = st.remN ? st.remHits / st.remN : 0;
57
+ const keepMean = st.keepN ? st.keepHits / st.keepN : 0;
58
+ return { id, score: remMean - keepMean };
59
+ })
60
+ .sort((a, b) => b.score - a.score);
61
+ const lead = scored[0]?.id;
62
+ // confirm the top candidate with one clean single-piece ablation
63
+ let evidence = 'guessed';
64
+ let checks = samples;
65
+ if (lead) {
66
+ const r = await rerun([lead]);
67
+ checks++;
68
+ // 'proven' requires BOTH a positive learned contrast AND the lead flipping alone —
69
+ // guards against a degenerate rerun that recovers for every subset (no real signal,
70
+ // every score 0), which would otherwise falsely convict an arbitrary innocent.
71
+ evidence = r.recovered && (scored[0]?.score ?? 0) > 0 ? 'proven' : 'guessed';
72
+ }
73
+ const cutoff = Math.max(0.25, (scored[0]?.score ?? 0) / 2);
74
+ const shortlist = scored.filter((s) => s.score >= cutoff).map((s) => s.id);
75
+ const explanation = [
76
+ `testManyCombos: ran ${samples} random on/off combinations + 1 confirming check.`,
77
+ `Strongest learned effect: ${lead ?? '(none)'} (removing it most increases recovery).`,
78
+ evidence === 'proven'
79
+ ? `Confirmed: removing ${lead} alone recovers the outcome.`
80
+ : `The top candidate did not confirm alone — treat as a guess (possible over-determination).`,
81
+ ].join('\n');
82
+ return {
83
+ finder: 'testManyCombos',
84
+ suspects: scored,
85
+ lead,
86
+ shortlist: shortlist.length ? shortlist : lead ? [lead] : [],
87
+ evidence,
88
+ granularity: 'piece',
89
+ checks,
90
+ explanation,
91
+ };
92
+ },
93
+ };
94
+ //# sourceMappingURL=testManyCombos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testManyCombos.js","sourceRoot":"","sources":["../../../../../src/observability/contextError/finders/testManyCombos.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * traceSteps — the step-level finder. Traces backward through the agent's steps
3
+ * (tool-calls) from the failure to the most suspicious step, then optionally checks
4
+ * whether correcting that step recovers the outcome. Its UNIT is the STEP: if the
5
+ * root cause is a context element (an injected fact/instruction), that is outside
6
+ * this finder's vocabulary — pair it with rankSuspects/removeAndRetry for elements.
7
+ *
8
+ * Method: dependency-guided backward search + step-recovery counterfactual.
9
+ */
10
+ import { scoreInfluence } from '../../../lib/influence-core/index.js';
11
+ export const traceSteps = {
12
+ name: 'traceSteps',
13
+ meta: {
14
+ label: 'Traces backward through the agent steps to the one that led to the wrong answer',
15
+ method: 'dependency-guided backward search + step-recovery counterfactual (step granularity)',
16
+ paper: 'FALAT, Rafi et al. 2026 (arXiv:2606.00765)',
17
+ },
18
+ async find(input) {
19
+ if (!input.steps || !input.embedder)
20
+ throw new Error('traceSteps needs input.steps and input.embedder');
21
+ const evidence = input.steps.map((s) => ({
22
+ id: s.id,
23
+ text: s.text,
24
+ ancestorTexts: [],
25
+ }));
26
+ const ranked = await scoreInfluence({
27
+ evidence,
28
+ finalAnswerText: input.wrongOutput,
29
+ embedder: input.embedder,
30
+ });
31
+ const topId = ranked[0]?.id;
32
+ const step = input.steps.find((s) => s.id === topId);
33
+ let recovers;
34
+ let checks = 0;
35
+ if (input.rerun && topId) {
36
+ const r = await input.rerun([topId]);
37
+ recovers = r.recovered;
38
+ checks = 1;
39
+ }
40
+ const explanation = [
41
+ `traceSteps: backward dependency search over ${input.steps.length} agent steps.`,
42
+ `Most suspicious step: ${step?.label ?? topId ?? '(none)'}.`,
43
+ recovers === undefined
44
+ ? ''
45
+ : `Correcting that step ${recovers ? 'recovered' : 'did NOT recover'} the outcome.`,
46
+ `Granularity is the STEP — if the root cause is a context element, it is outside this finder's vocabulary.`,
47
+ ]
48
+ .filter(Boolean)
49
+ .join('\n');
50
+ return {
51
+ finder: 'traceSteps',
52
+ suspects: ranked.map((s) => ({ id: s.id, score: s.score })),
53
+ lead: topId,
54
+ shortlist: topId ? [topId] : [],
55
+ evidence: input.rerun ? 'proven' : 'guessed',
56
+ granularity: 'step',
57
+ checks,
58
+ explanation,
59
+ };
60
+ },
61
+ };
62
+ //# sourceMappingURL=traceSteps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traceSteps.js","sourceRoot":"","sources":["../../../../../src/observability/contextError/finders/traceSteps.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAGtE,MAAM,CAAC,MAAM,UAAU,GAAW;IAChC,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE;QACJ,KAAK,EAAE,iFAAiF;QACxF,MAAM,EAAE,qFAAqF;QAC7F,KAAK,EAAE,4CAA4C;KACpD;IACD,KAAK,CAAC,IAAI,CAAC,KAAgB;QACzB,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ;YACjC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,aAAa,EAAE,EAAc;SAC9B,CAAC,CAAC,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;YAClC,QAAQ;YACR,eAAe,EAAE,KAAK,CAAC,WAAW;YAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;QACrD,IAAI,QAA6B,CAAC;QAClC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACrC,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC;YACvB,MAAM,GAAG,CAAC,CAAC;QACb,CAAC;QACD,MAAM,WAAW,GAAG;YAClB,+CAA+C,KAAK,CAAC,KAAK,CAAC,MAAM,eAAe;YAChF,yBAAyB,IAAI,EAAE,KAAK,IAAI,KAAK,IAAI,QAAQ,GAAG;YAC5D,QAAQ,KAAK,SAAS;gBACpB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,wBAAwB,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,eAAe;YACrF,2GAA2G;SAC5G;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3D,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YAC/B,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAC5C,WAAW,EAAE,MAAM;YACnB,MAAM;YACN,WAAW;SACZ,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/observability/contextError/finders/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compareFinders = void 0;
4
+ /**
5
+ * Run each finder on `input`; a finder that throws (e.g. missing a dep it needs)
6
+ * becomes a row with `result: null` and `error` set, so one finder cannot abort
7
+ * the comparison.
8
+ */
9
+ async function compareFinders(finders, input) {
10
+ const rows = [];
11
+ for (const f of finders) {
12
+ try {
13
+ rows.push({ finder: f.name, result: await f.find(input) });
14
+ }
15
+ catch (e) {
16
+ rows.push({
17
+ finder: f.name,
18
+ result: null,
19
+ error: e instanceof Error ? e.message : String(e),
20
+ });
21
+ }
22
+ }
23
+ return rows;
24
+ }
25
+ exports.compareFinders = compareFinders;
26
+ //# sourceMappingURL=compareFinders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compareFinders.js","sourceRoot":"","sources":["../../../../src/observability/contextError/finders/compareFinders.ts"],"names":[],"mappings":";;;AAeA;;;;GAIG;AACI,KAAK,UAAU,cAAc,CAClC,OAA0B,EAC1B,KAAgB;IAEhB,MAAM,IAAI,GAAiB,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC;gBACR,MAAM,EAAE,CAAC,CAAC,IAAI;gBACd,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;aAClD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAjBD,wCAiBC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compareFinders = exports.shrinkToCause = exports.testManyCombos = exports.traceSteps = exports.removeAndRetry = exports.rankSuspects = void 0;
4
+ var rankSuspects_js_1 = require("./rankSuspects.js");
5
+ Object.defineProperty(exports, "rankSuspects", { enumerable: true, get: function () { return rankSuspects_js_1.rankSuspects; } });
6
+ var removeAndRetry_js_1 = require("./removeAndRetry.js");
7
+ Object.defineProperty(exports, "removeAndRetry", { enumerable: true, get: function () { return removeAndRetry_js_1.removeAndRetry; } });
8
+ var traceSteps_js_1 = require("./traceSteps.js");
9
+ Object.defineProperty(exports, "traceSteps", { enumerable: true, get: function () { return traceSteps_js_1.traceSteps; } });
10
+ var testManyCombos_js_1 = require("./testManyCombos.js");
11
+ Object.defineProperty(exports, "testManyCombos", { enumerable: true, get: function () { return testManyCombos_js_1.testManyCombos; } });
12
+ var shrinkToCause_js_1 = require("./shrinkToCause.js");
13
+ Object.defineProperty(exports, "shrinkToCause", { enumerable: true, get: function () { return shrinkToCause_js_1.shrinkToCause; } });
14
+ var compareFinders_js_1 = require("./compareFinders.js");
15
+ Object.defineProperty(exports, "compareFinders", { enumerable: true, get: function () { return compareFinders_js_1.compareFinders; } });
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/observability/contextError/finders/index.ts"],"names":[],"mappings":";;;AA2BA,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AACrB,yDAAqD;AAA5C,mHAAA,cAAc,OAAA;AACvB,iDAA6C;AAApC,2GAAA,UAAU,OAAA;AACnB,yDAAqD;AAA5C,mHAAA,cAAc,OAAA;AACvB,uDAAmD;AAA1C,iHAAA,aAAa,OAAA;AACtB,yDAAsE;AAA7D,mHAAA,cAAc,OAAA"}