@trenchwork/erosolar 1.1.36 → 1.1.38

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.

Potentially problematic release.


This version of @trenchwork/erosolar might be problematic. Click here for more details.

Files changed (98) hide show
  1. package/README.md +219 -170
  2. package/SECURITY.md +28 -6
  3. package/agents/engagement-delivery.rules.json +7 -0
  4. package/agents/variant-research.rules.json +7 -0
  5. package/dist/bin/erosolar.js +192 -85
  6. package/dist/bin/erosolar.js.map +1 -1
  7. package/dist/capabilities/_opsContext.d.ts +65 -1
  8. package/dist/capabilities/_opsContext.d.ts.map +1 -1
  9. package/dist/capabilities/_opsContext.js +43 -0
  10. package/dist/capabilities/_opsContext.js.map +1 -1
  11. package/dist/capabilities/heliaCapability.d.ts +15 -0
  12. package/dist/capabilities/heliaCapability.d.ts.map +1 -0
  13. package/dist/capabilities/heliaCapability.js +34 -0
  14. package/dist/capabilities/heliaCapability.js.map +1 -0
  15. package/dist/capabilities/index.d.ts +1 -0
  16. package/dist/capabilities/index.d.ts.map +1 -1
  17. package/dist/capabilities/index.js +1 -0
  18. package/dist/capabilities/index.js.map +1 -1
  19. package/dist/capabilities/llmRedteamCapability.d.ts.map +1 -1
  20. package/dist/capabilities/llmRedteamCapability.js +47 -0
  21. package/dist/capabilities/llmRedteamCapability.js.map +1 -1
  22. package/dist/core/artifactLog.d.ts +82 -0
  23. package/dist/core/artifactLog.d.ts.map +1 -0
  24. package/dist/core/artifactLog.js +224 -0
  25. package/dist/core/artifactLog.js.map +1 -0
  26. package/dist/core/artifactStore.d.ts +17 -0
  27. package/dist/core/artifactStore.d.ts.map +1 -1
  28. package/dist/core/artifactStore.js +22 -0
  29. package/dist/core/artifactStore.js.map +1 -1
  30. package/dist/core/cliTriggerHandlers.d.ts +15 -0
  31. package/dist/core/cliTriggerHandlers.d.ts.map +1 -0
  32. package/dist/core/cliTriggerHandlers.js +60 -0
  33. package/dist/core/cliTriggerHandlers.js.map +1 -0
  34. package/dist/core/hitl.d.ts +4 -1
  35. package/dist/core/hitl.d.ts.map +1 -1
  36. package/dist/core/hitl.js +60 -171
  37. package/dist/core/hitl.js.map +1 -1
  38. package/dist/core/portalPresence.d.ts +74 -0
  39. package/dist/core/portalPresence.d.ts.map +1 -0
  40. package/dist/core/portalPresence.js +187 -0
  41. package/dist/core/portalPresence.js.map +1 -0
  42. package/dist/core/updateChecker.d.ts.map +1 -1
  43. package/dist/core/updateChecker.js +8 -6
  44. package/dist/core/updateChecker.js.map +1 -1
  45. package/dist/headless/interactiveShell.js +23 -0
  46. package/dist/headless/interactiveShell.js.map +1 -1
  47. package/dist/plugins/tools/mcp/mcpClient.js +1 -1
  48. package/dist/plugins/tools/mcp/mcpClient.js.map +1 -1
  49. package/dist/runtime/node.d.ts.map +1 -1
  50. package/dist/runtime/node.js +2 -2
  51. package/dist/runtime/node.js.map +1 -1
  52. package/dist/runtime/phaseEmitter.d.ts +6 -0
  53. package/dist/runtime/phaseEmitter.d.ts.map +1 -1
  54. package/dist/runtime/phaseEmitter.js +0 -0
  55. package/dist/runtime/phaseEmitter.js.map +1 -1
  56. package/dist/tools/engagementTools.d.ts.map +1 -1
  57. package/dist/tools/engagementTools.js +73 -1
  58. package/dist/tools/engagementTools.js.map +1 -1
  59. package/dist/tools/heliaControl.d.ts +17 -0
  60. package/dist/tools/heliaControl.d.ts.map +1 -1
  61. package/dist/tools/heliaControl.js +108 -2
  62. package/dist/tools/heliaControl.js.map +1 -1
  63. package/dist/tools/heliaTools.d.ts +22 -0
  64. package/dist/tools/heliaTools.d.ts.map +1 -0
  65. package/dist/tools/heliaTools.js +125 -0
  66. package/dist/tools/heliaTools.js.map +1 -0
  67. package/dist/tools/interactionTools.d.ts.map +1 -1
  68. package/dist/tools/interactionTools.js +31 -15
  69. package/dist/tools/interactionTools.js.map +1 -1
  70. package/dist/tools/scheduleTools.d.ts.map +1 -1
  71. package/dist/tools/scheduleTools.js +5 -2
  72. package/dist/tools/scheduleTools.js.map +1 -1
  73. package/dist/tools/webTools.js +1 -1
  74. package/dist/tools/webTools.js.map +1 -1
  75. package/dist/ui/ink/AskUserMenu.d.ts +16 -0
  76. package/dist/ui/ink/AskUserMenu.d.ts.map +1 -0
  77. package/dist/ui/ink/AskUserMenu.js +85 -0
  78. package/dist/ui/ink/AskUserMenu.js.map +1 -0
  79. package/dist/ui/ink/HitlDecisionMenu.d.ts +23 -0
  80. package/dist/ui/ink/HitlDecisionMenu.d.ts.map +1 -0
  81. package/dist/ui/ink/HitlDecisionMenu.js +124 -0
  82. package/dist/ui/ink/HitlDecisionMenu.js.map +1 -0
  83. package/dist/ui/ink/oneShot.d.ts +33 -0
  84. package/dist/ui/ink/oneShot.d.ts.map +1 -0
  85. package/dist/ui/ink/oneShot.js +70 -0
  86. package/dist/ui/ink/oneShot.js.map +1 -0
  87. package/dist/utils/heliaClient.d.ts +23 -0
  88. package/dist/utils/heliaClient.d.ts.map +1 -0
  89. package/dist/utils/heliaClient.js +79 -0
  90. package/dist/utils/heliaClient.js.map +1 -0
  91. package/dist/utils/lambdaClient.d.ts.map +1 -1
  92. package/dist/utils/lambdaClient.js +9 -0
  93. package/dist/utils/lambdaClient.js.map +1 -1
  94. package/dist/utils/statusReporter.d.ts +13 -0
  95. package/dist/utils/statusReporter.d.ts.map +1 -1
  96. package/dist/utils/statusReporter.js +26 -0
  97. package/dist/utils/statusReporter.js.map +1 -1
  98. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"phaseEmitter.js","sourceRoot":"","sources":["../../src/runtime/phaseEmitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"phaseEmitter.js","sourceRoot":"","sources":["../../src/runtime/phaseEmitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAKH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAIrE;;;GAGG;AACH,MAAM,oBAAoB,GAA4C;IACpE,6CAA6C;IAC7C,CAAC,gBAAgB,EAAK,OAAO,CAAC;IAC9B,CAAC,YAAY,EAAS,OAAO,CAAC;IAC9B,CAAC,cAAc,EAAO,OAAO,CAAC;IAC9B,CAAC,eAAe,EAAM,OAAO,CAAC;IAC9B,CAAC,WAAW,EAAU,OAAO,CAAC;IAC9B,CAAC,kBAAkB,EAAG,OAAO,CAAC;IAC9B,CAAC,YAAY,EAAS,OAAO,CAAC;IAC9B,CAAC,aAAa,EAAQ,OAAO,CAAC;IAC9B,gEAAgE;IAChE,CAAC,MAAM,EAAe,QAAQ,CAAC;IAC/B,CAAC,SAAS,EAAY,QAAQ,CAAC;IAC/B,0CAA0C;IAC1C,CAAC,MAAM,EAAe,MAAM,CAAC;IAC7B,8BAA8B;IAC9B,CAAC,MAAM,EAAe,QAAQ,CAAC;IAC/B,2DAA2D;IAC3D,CAAC,MAAM,EAAe,SAAS,CAAC;IAChC,2DAA2D;IAC3D,CAAC,aAAa,EAAQ,UAAU,CAAC;IACjC,CAAC,YAAY,EAAS,UAAU,CAAC;IACjC,CAAC,WAAW,EAAU,UAAU,CAAC;IACjC,CAAC,cAAc,EAAO,UAAU,CAAC;CAClC,CAAC;AAEF;;;;GAIG;AACH,MAAM,eAAe,GAAwD,IAAI,GAAG,CAAC;IACnF,CAAC,gBAAgB,EAAM,EAAE,IAAI,EAAE,MAAM,EAAI,IAAI,EAAE,OAAO,EAAE,CAAC;IACzD,CAAC,cAAc,EAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC1D,CAAC,cAAc,EAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;CAC3D,CAAC,CAAC;AAEH,MAAM,aAAa,GAAuD,IAAI,GAAG,CAAC;IAChF,CAAC,eAAe,EAAG,SAAS,CAAC;IAC7B,CAAC,aAAa,EAAK,SAAS,CAAC;CAC9B,CAAC,CAAC;AAEH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,oBAAoB,EAAE,CAAC;QACnD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;IAC/D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACzC,CAAC;AAED,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,SAAS,UAAU,CAAC,KAAa,EAAE,GAAG,GAAG,gBAAgB;IACvD,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IACtC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,iBAAiB,KAAK,CAAC,MAAM,GAAG,GAAG,SAAS,CAAC;AAC5E,CAAC;AAQD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAqB,EACrB,MAAc,EACd,GAAgB;IAEhB,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO;IAC5D,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,MAAM,GAAG,GAAG,sBAAsB,EAAE,CAAC;IACrC,oEAAoE;IACpE,iEAAiE;IACjE,oEAAoE;IACpE,mBAAmB;IACnB,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,SAAS;QAAE,OAAO;IAEjE,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACvF,MAAM,OAAO,GAA4B;QACvC,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,EAAE,EAAE,GAAG,CAAC,SAAS;QACjB,KAAK;QACL,CAAC,KAAK,CAAC,EAAE;YACP,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,SAAS;YACpB,MAAM,EAAE,aAAa;YACrB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;SACf;KACF,CAAC;IACF,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;QAChE,mCAAmC;IACrC,CAAC;IAED,qEAAqE;IACrE,gEAAgE;IAChE,+DAA+D;IAC/D,+DAA+D;IAC/D,oEAAoE;IACpE,+DAA+D;IAC/D,wDAAwD;IACxD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;YACrB,IAAI,CAAC;gBAAC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YAAC,CAAC;YACpD,MAAM,CAAC;gBAAC,OAAO,EAAE,CAAC;YAAC,CAAC;QACtB,CAAC,CAAC,EAAE,CAAC;QACL,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE;YACvB,IAAI,CAAC;gBACH,oEAAoE;gBACpE,kEAAkE;gBAClE,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAiC,CAAC;gBACjE,OAAO,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9F,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAAC,CAAC;QAC7C,CAAC,CAAC,EAAE,CAAC;QACL,gEAAgE;QAChE,8DAA8D;QAC9D,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC;QAChC,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,gBAAwB,CAAC;QAC7B,IAAI,SAAiB,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAiC,CAAC;YACjE,gBAAgB,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxG,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;iBAC/B,MAAM,CAAC,GAAG,UAAU,IAAI,SAAS,IAAI,gBAAgB,EAAE,CAAC;iBACxD,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB,GAAG,UAAU,CAAC;YAC9B,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,kBAAkB,EAAE;gBACnC,SAAS;gBACT,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACrD,cAAc,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE;gBAClE,+DAA+D;gBAC/D,6DAA6D;gBAC7D,6DAA6D;gBAC7D,kBAAkB;gBAClB,GAAG,EAAE;oBACH,OAAO,EAAE,kBAAkB;oBAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC;wBACrC,CAAC,CAAE,IAAI,CAAC,SAAS,CAAC,GAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;wBAChD,CAAC,CAAC,IAAI;oBACR,aAAa,EAAE,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,aAAa,CAAC;iBAC9E;aACF,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,kBAAkB,CAAC,QAAgB,EAAE,cAAsB,EAAE,OAAe;IACnF,MAAM,IAAI,GAA4B,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IAC9F,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,UAAyF,CAAC;QACpG,MAAM,IAAI,GAAG,CAAC,CAAC,qBAAqB,CAAC;QACrC,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAClE,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;YAC7B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;YAC9B,8DAA8D;YAC9D,6DAA6D;YAC7D,gEAAgE;YAChE,2CAA2C;YAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QACjG,CAAC;QACD,CAAC,CAAC,qBAAqB,GAAG,SAAS,CAAC;IACtC,CAAC;SAAM,IAAI,QAAQ,KAAK,sBAAsB,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,UAAsH,CAAC;QACjI,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,CAAC;QAClC,IAAI,IAAI,EAAE,CAAC;YACT,uDAAuD;YACvD,wDAAwD;YACxD,uCAAuC;YACvC,IAAI,CAAC,aAAa,GAAG;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;gBAC3B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAClE,oBAAoB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACpF,CAAC;QACJ,CAAC;QACD,CAAC,CAAC,kBAAkB,GAAG,SAAS,CAAC;IACnC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,QAAgB;IACvC,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IACjD,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,eAAe,CAAC;IAC3D,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,MAAM,CAAC;IACnD,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,kBAAkB,CAAC;IAC3D,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,YAAY,CAAC;IACrD,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,cAAc,CAAC;IACvD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAqB,EACrB,MAAc,EACd,GAAgB;IAEhB,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO;IAC5D,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,MAAM,GAAG,GAAG,sBAAsB,EAAE,CAAC;IACrC,kEAAkE;IAClE,8DAA8D;IAC9D,2DAA2D;IAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACvF,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACtG,MAAM,OAAO,GAA4B;QACvC,EAAE;QACF,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAC;IACF,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAAqB,EACrB,MAAc,EACd,GAAgB;IAEhB,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO;IAC5D,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,yEAAyE;IACzE,MAAM,EAAE,GAAG,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,QAAQ;QACjD,CAAC,CAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAY;QAClC,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,CAAC,EAAE;QAAE,OAAO;IAChB,KAAK,MAAM,CAAC;IACZ,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,gBAAgB,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAoB;IAC7D,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAgB,EAAE,OAAO,EAAE,CAAC;IACrC,OAAO;QACL,YAAY,CAAC,IAAI,EAAE,MAAM;YACvB,wDAAwD;YACxD,KAAK,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;YACxC,KAAK,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;YACrC,KAAK,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"engagementTools.d.ts","sourceRoot":"","sources":["../../src/tools/engagementTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,UAAU,gBAAgB;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAQD,wBAAgB,sBAAsB,IAAI,gBAAgB,CAEzD;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAI/C;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAehF;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAAC,CAW3H;AA0ED,wBAAgB,qBAAqB,IAAI,cAAc,EAAE,CAiWxD"}
1
+ {"version":3,"file":"engagementTools.d.ts","sourceRoot":"","sources":["../../src/tools/engagementTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAO7D,UAAU,gBAAgB;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAQD,wBAAgB,sBAAsB,IAAI,gBAAgB,CAEzD;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAI/C;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAehF;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAAC,CAW3H;AA0ED,wBAAgB,qBAAqB,IAAI,cAAc,EAAE,CAqaxD"}
@@ -9,7 +9,11 @@
9
9
  * state so subsequent tool calls in the same session can omit the
10
10
  * engagement/target ids and operate on the active record.
11
11
  */
12
+ import { createHash } from 'node:crypto';
12
13
  import { callLambda } from '../utils/lambdaClient.js';
14
+ async function sha256Hex(s) {
15
+ return createHash('sha256').update(s).digest('hex');
16
+ }
13
17
  const SELECTION = {
14
18
  engagementId: null,
15
19
  targetId: null,
@@ -218,7 +222,7 @@ export function createEngagementTools() {
218
222
  authorizedRecipient: { type: 'string', description: 'Sponsor / agency / vendor PSIRT / program owner.' },
219
223
  scopeStatement: { type: 'string', description: 'Plain-text scope summary.' },
220
224
  scopeUrls: { type: 'array', items: { type: 'string' }, description: 'In-scope URLs / hostnames.' },
221
- earScope: { type: 'string', description: 'EAR / ITAR scope confirmation text.' },
225
+ earScope: { type: 'string', description: 'EAR scope confirmation text.' },
222
226
  notes: { type: 'string' },
223
227
  },
224
228
  },
@@ -484,6 +488,74 @@ export function createEngagementTools() {
484
488
  return items.map((f) => `${f.id} [${f.status ?? 'triaging'}] ${f.severity ?? '?'} · ${f.title ?? ''}`.trim()).join('\n');
485
489
  },
486
490
  },
491
+ {
492
+ name: 'ExploitUpsert',
493
+ description: 'Record a verified exploit run against the active target. Idempotent — ' +
494
+ 'the same identity tuple (targetHost + vulnClass + payloadSignature) maps ' +
495
+ 'to the same canonical exploit doc, so re-runs append a runs/<ts> row and ' +
496
+ 'update lastVerifiedAt rather than creating duplicates. Distinct chains ' +
497
+ '(different primitive or payload) become separate exploit docs and are ' +
498
+ 'tracked side-by-side. The verdict set is {still-vulnerable, patched, ' +
499
+ 'regressed, inconclusive, errored} — the Lambda derives status (live → ' +
500
+ 'patched → regressed) from successive verdicts and emits the matching ' +
501
+ 'event in the disclosure ledger.',
502
+ parameters: {
503
+ type: 'object',
504
+ properties: {
505
+ exploitId: { type: 'string', description: '12–32 hex chars; sha256(targetHost+vulnClass+payloadSignature) sliced to 16. Auto-derived if omitted.' },
506
+ targetHost: { type: 'string', description: 'Stable target identity (URL host, repo path, binary path).' },
507
+ vulnClass: { type: 'string', description: 'rop | jit | deserialization | ssrf | auth-bypass | …' },
508
+ payloadSignature: { type: 'string', description: 'Stable hash / fingerprint of the payload for distinguishing chains.' },
509
+ engagementId: { type: 'string' },
510
+ targetId: { type: 'string' },
511
+ severity: { type: 'string', enum: ['info', 'low', 'medium', 'high', 'critical'] },
512
+ cwe: { type: 'string' },
513
+ tool: { type: 'string', description: 'pwntools | manual | msf | afl++ | …' },
514
+ cmd: { type: 'array', items: { type: 'string' }, description: 'argv used to run the chain (truncated to 64 entries).' },
515
+ verdict: {
516
+ type: 'string',
517
+ enum: ['still-vulnerable', 'patched', 'regressed', 'inconclusive', 'errored'],
518
+ description: 'Outcome of THIS run. The Lambda derives the exploit-level status from successive verdicts.',
519
+ },
520
+ jobId: { type: 'string' },
521
+ evidence: { type: 'string', description: 'Tool stdout / observed delta (≤4KB).' },
522
+ },
523
+ required: ['targetHost', 'vulnClass', 'verdict', 'tool'],
524
+ },
525
+ handler: async (args) => {
526
+ const targetHost = String(args['targetHost'] ?? '').trim();
527
+ const vulnClass = String(args['vulnClass'] ?? '').trim();
528
+ const payloadSignature = String(args['payloadSignature'] ?? '').trim()
529
+ || (await sha256Hex(`${args['tool']}|${JSON.stringify(args['cmd'] ?? '')}`)).slice(0, 16);
530
+ const exploitId = String(args['exploitId'] ?? '').trim()
531
+ || (await sha256Hex(`${targetHost}|${vulnClass}|${payloadSignature}`)).slice(0, 16);
532
+ const engagementId = args['engagementId'] ?? SELECTION.engagementId ?? null;
533
+ const targetId = args['targetId'] ?? SELECTION.targetId ?? null;
534
+ const result = await callLambda('cliExploitUpsert', {
535
+ exploitId,
536
+ engagementId, targetId,
537
+ identity: { targetHost, vulnClass, payloadSignature },
538
+ classification: {
539
+ severity: args['severity'] ?? null,
540
+ cwe: args['cwe'] ?? null,
541
+ },
542
+ run: {
543
+ verdict: args['verdict'],
544
+ tool: args['tool'],
545
+ cmd: Array.isArray(args['cmd']) ? args['cmd'] : null,
546
+ jobId: typeof args['jobId'] === 'string' ? args['jobId'] : null,
547
+ evidenceDelta: typeof args['evidence'] === 'string'
548
+ ? { snippet: args['evidence'].slice(0, 4 * 1024) }
549
+ : null,
550
+ },
551
+ });
552
+ if (!result.ok)
553
+ return fmtLambdaError('ExploitUpsert', result);
554
+ const r = result.result;
555
+ const tag = r?.isFirstSeen ? 'discovered' : 'updated';
556
+ return `Exploit "${r?.exploitId ?? exploitId}" ${tag} · status=${r?.status ?? '?'} · verdict=${args['verdict']}`;
557
+ },
558
+ },
487
559
  ];
488
560
  }
489
561
  //# sourceMappingURL=engagementTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engagementTools.js","sourceRoot":"","sources":["../../src/tools/engagementTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engagementTools.js","sourceRoot":"","sources":["../../src/tools/engagementTools.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,22 @@ export interface HeliaPing {
5
5
  version: string;
6
6
  }
7
7
  export declare function ping(): Promise<HeliaPing | null>;
8
+ /**
9
+ * Spawn Helia detached and wait until its control server answers
10
+ * `/helia/ping` (or `timeoutMs` elapses, default 10s). Returns a tag
11
+ * indicating which path resolved:
12
+ * 'already-running' ping succeeded before we did anything
13
+ * 'launched' we spawned and ping then succeeded
14
+ * 'no-binary' couldn't locate Helia on disk — operator needs
15
+ * to install Helia or set $HELIA_BIN
16
+ * 'timeout' spawned but the control server never came up
17
+ */
18
+ export declare function ensureHeliaRunning(opts?: {
19
+ timeoutMs?: number;
20
+ }): Promise<{
21
+ status: 'already-running' | 'launched' | 'no-binary' | 'timeout';
22
+ bin?: string;
23
+ }>;
8
24
  export interface HeliaTab {
9
25
  id: string;
10
26
  title: string;
@@ -13,6 +29,7 @@ export interface HeliaTab {
13
29
  }
14
30
  export declare const heliaControl: {
15
31
  ping: typeof ping;
32
+ ensureRunning: typeof ensureHeliaRunning;
16
33
  tokenPath: typeof tokenPath;
17
34
  tabs: () => Promise<HeliaTab[]>;
18
35
  openTab: (url?: string) => Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"heliaControl.d.ts","sourceRoot":"","sources":["../../src/tools/heliaControl.ts"],"names":[],"mappings":"AAoCA,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,SAAS,IAAI,MAAM,GAAG,IAAI,CAOzC;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,IAAI,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAQtD;AA4BD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,YAAY;;;;oBAIH,MAAM;YAAuB,MAAM;;mBACrC,MAAM;YAAyB,OAAO;;oBACtC,MAAM;YAAyB,OAAO;;kBACrC,MAAM;YAAwB,OAAO;;oBACrC,MAAM;YAAwB,OAAO;;;cACL,MAAM;gBAAU,MAAM;eAAS,MAAM;mBAAa,MAAM,EAAE;;mBACzF,MAAM;YAAuB,OAAO;eAAS,MAAM;;;YACtB,OAAO;iBAAW,MAAM;;;YACxB,OAAO;;CACzD,CAAC"}
1
+ {"version":3,"file":"heliaControl.d.ts","sourceRoot":"","sources":["../../src/tools/heliaControl.ts"],"names":[],"mappings":"AAqCA,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,SAAS,IAAI,MAAM,GAAG,IAAI,CAOzC;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,IAAI,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAQtD;AA4DD;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACxE,OAAO,CAAC;IAAE,MAAM,EAAE,iBAAiB,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAqB5F;AAmDD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,YAAY;;;;;oBAKH,MAAM;YAAuB,MAAM;;mBACrC,MAAM;YAAyB,OAAO;;oBACtC,MAAM;YAAyB,OAAO;;kBACrC,MAAM;YAAwB,OAAO;;oBACrC,MAAM;YAAwB,OAAO;;;cACL,MAAM;gBAAU,MAAM;eAAS,MAAM;mBAAa,MAAM,EAAE;;mBACzF,MAAM;YAAuB,OAAO;eAAS,MAAM;;;YACtB,OAAO;iBAAW,MAAM;;;YACxB,OAAO;;CACzD,CAAC"}
@@ -10,6 +10,7 @@
10
10
  * the surface stays safe against drive-by browser attacks (a malicious
11
11
  * page can hit 127.0.0.1 but cannot read a file under the user's home).
12
12
  */
13
+ import { spawn } from 'node:child_process';
13
14
  import * as fs from 'node:fs';
14
15
  import * as os from 'node:os';
15
16
  import * as path from 'node:path';
@@ -54,10 +55,114 @@ export async function ping() {
54
55
  return null;
55
56
  }
56
57
  }
58
+ /**
59
+ * Best-effort cross-platform locator for the installed Helia binary.
60
+ * Returns the first existing path. Caller is responsible for handling
61
+ * `null` (which means the user hasn't installed Helia yet).
62
+ *
63
+ * $HELIA_BIN → highest priority override
64
+ * macOS /Applications/Helia.app/... + ~/Applications fallback
65
+ * Linux /usr/bin/helia → AppImage in common dirs
66
+ * Windows %LOCALAPPDATA%\Programs\Helia + Program Files fallback
67
+ */
68
+ function locateHeliaBinary() {
69
+ const override = process.env['HELIA_BIN'];
70
+ if (override && fs.existsSync(override))
71
+ return override;
72
+ const home = os.homedir();
73
+ const candidates = [];
74
+ switch (os.platform()) {
75
+ case 'darwin':
76
+ candidates.push('/Applications/Helia.app/Contents/MacOS/Helia', path.join(home, 'Applications/Helia.app/Contents/MacOS/Helia'));
77
+ break;
78
+ case 'win32': {
79
+ const local = process.env['LOCALAPPDATA'] || path.join(home, 'AppData', 'Local');
80
+ const pf = process.env['ProgramFiles'] || 'C:\\Program Files';
81
+ candidates.push(path.join(local, 'Programs', 'Helia', 'Helia.exe'), path.join(pf, 'Helia', 'Helia.exe'));
82
+ break;
83
+ }
84
+ default: {
85
+ // Linux: check the common install + AppImage layouts.
86
+ candidates.push('/usr/bin/helia', '/usr/local/bin/helia', '/opt/Helia/helia', path.join(home, 'Applications/Helia.AppImage'), path.join(home, '.local/bin/helia'));
87
+ // Plus any AppImage with a Helia-* prefix in ~/Applications/.
88
+ try {
89
+ const appsDir = path.join(home, 'Applications');
90
+ if (fs.existsSync(appsDir)) {
91
+ for (const f of fs.readdirSync(appsDir)) {
92
+ if (/^Helia[-.].*\.AppImage$/i.test(f))
93
+ candidates.push(path.join(appsDir, f));
94
+ }
95
+ }
96
+ }
97
+ catch { /* ignore */ }
98
+ }
99
+ }
100
+ for (const c of candidates) {
101
+ try {
102
+ if (fs.existsSync(c))
103
+ return c;
104
+ }
105
+ catch { /* ignore */ }
106
+ }
107
+ return null;
108
+ }
109
+ /**
110
+ * Spawn Helia detached and wait until its control server answers
111
+ * `/helia/ping` (or `timeoutMs` elapses, default 10s). Returns a tag
112
+ * indicating which path resolved:
113
+ * 'already-running' ping succeeded before we did anything
114
+ * 'launched' we spawned and ping then succeeded
115
+ * 'no-binary' couldn't locate Helia on disk — operator needs
116
+ * to install Helia or set $HELIA_BIN
117
+ * 'timeout' spawned but the control server never came up
118
+ */
119
+ export async function ensureHeliaRunning(opts = {}) {
120
+ if (await ping())
121
+ return { status: 'already-running' };
122
+ const bin = locateHeliaBinary();
123
+ if (!bin)
124
+ return { status: 'no-binary' };
125
+ // macOS .app bundles open via `open -a` so the OS-level singleton
126
+ // semantics are preserved (re-launching just focuses the existing
127
+ // window). Linux/Windows: spawn the binary directly, detach so the
128
+ // CLI's exit doesn't take Helia with it.
129
+ if (os.platform() === 'darwin' && bin.endsWith('.app/Contents/MacOS/Helia')) {
130
+ spawn('open', ['-a', 'Helia'], { detached: true, stdio: 'ignore' }).unref();
131
+ }
132
+ else {
133
+ spawn(bin, [], { detached: true, stdio: 'ignore' }).unref();
134
+ }
135
+ const deadline = Date.now() + (opts.timeoutMs ?? 10_000);
136
+ while (Date.now() < deadline) {
137
+ if (await ping())
138
+ return { status: 'launched', bin };
139
+ await new Promise((r) => { const t = setTimeout(r, 250); t.unref?.(); });
140
+ }
141
+ return { status: 'timeout', bin };
142
+ }
57
143
  async function call(method, route, body) {
58
- const token = readToken();
144
+ // If Helia isn't running, try to spawn it now. This is the
145
+ // load-bearing "auto-launch" behaviour — the agent doesn't have to
146
+ // ask the operator to start the browser before, e.g., a screenshot
147
+ // tool fires. The boot is detached so a long-running Helia outlives
148
+ // the CLI session.
149
+ let token = readToken();
59
150
  if (!token) {
60
- throw new Error(`Helia is not running (no token file at ${tokenPath()}). Launch Helia.app first.`);
151
+ const r = await ensureHeliaRunning();
152
+ if (r.status === 'no-binary') {
153
+ throw new Error('Helia is not installed on this machine. Install the Helia browser ' +
154
+ 'companion (https://trenchwork.org/helia) or set $HELIA_BIN to point ' +
155
+ 'at a custom build.');
156
+ }
157
+ if (r.status === 'timeout') {
158
+ throw new Error(`Helia spawned (${r.bin}) but its control server did not come up at ` +
159
+ `http://${HOST}:${PORT} within 10s. Start Helia manually and retry.`);
160
+ }
161
+ token = readToken();
162
+ if (!token) {
163
+ throw new Error(`Helia is running but no pairing token at ${tokenPath()}. The browser ` +
164
+ `may still be initialising; retry in a moment.`);
165
+ }
61
166
  }
62
167
  const url = new URL(`http://${HOST}:${PORT}${route}`);
63
168
  url.searchParams.set('token', token);
@@ -78,6 +183,7 @@ async function call(method, route, body) {
78
183
  }
79
184
  export const heliaControl = {
80
185
  ping,
186
+ ensureRunning: ensureHeliaRunning,
81
187
  tokenPath,
82
188
  tabs: () => call('GET', '/helia/tabs'),
83
189
  openTab: (url) => call('POST', '/helia/tab/new', { url }),
@@ -1 +1 @@
1
- {"version":3,"file":"heliaControl.js","sourceRoot":"","sources":["../../src/tools/heliaControl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heliaControl.js","sourceRoot":"","sources":["../../src/tools/heliaControl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * helia_* tool family.
3
+ *
4
+ * Drives the locally-attached Helia browser via its RPC surface so the
5
+ * offsec agent can reach bug classes that fundamentally need a real
6
+ * Chromium process: DOM XSS, postMessage handler abuse, OAuth /
7
+ * WebAuthn ceremony quirks, browser-parser desync, BFCache leaks.
8
+ *
9
+ * Gated to offsec profiles only — see src/runtime/node.ts. The default
10
+ * coding profile MUST NOT see these (CLAUDE.md "Capability separation").
11
+ *
12
+ * Each tool returns short, JSON-friendly text. Screenshot returns a
13
+ * tag the agent can pass to FindingUpdatePhase / ExploitUpsert as
14
+ * evidence; the base64 itself is too large to thread through chat
15
+ * but is captured in the tool's structured result for the phase
16
+ * emitter to attach as `evidenceDelta.snippet`.
17
+ *
18
+ * v2.2 hardening 2026-05-10.
19
+ */
20
+ import type { ToolDefinition } from '../core/toolRuntime.js';
21
+ export declare function createHeliaTools(): ToolDefinition[];
22
+ //# sourceMappingURL=heliaTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heliaTools.d.ts","sourceRoot":"","sources":["../../src/tools/heliaTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAO7D,wBAAgB,gBAAgB,IAAI,cAAc,EAAE,CAqGnD"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * helia_* tool family.
3
+ *
4
+ * Drives the locally-attached Helia browser via its RPC surface so the
5
+ * offsec agent can reach bug classes that fundamentally need a real
6
+ * Chromium process: DOM XSS, postMessage handler abuse, OAuth /
7
+ * WebAuthn ceremony quirks, browser-parser desync, BFCache leaks.
8
+ *
9
+ * Gated to offsec profiles only — see src/runtime/node.ts. The default
10
+ * coding profile MUST NOT see these (CLAUDE.md "Capability separation").
11
+ *
12
+ * Each tool returns short, JSON-friendly text. Screenshot returns a
13
+ * tag the agent can pass to FindingUpdatePhase / ExploitUpsert as
14
+ * evidence; the base64 itself is too large to thread through chat
15
+ * but is captured in the tool's structured result for the phase
16
+ * emitter to attach as `evidenceDelta.snippet`.
17
+ *
18
+ * v2.2 hardening 2026-05-10.
19
+ */
20
+ import { callHelia, isHeliaRunning } from '../utils/heliaClient.js';
21
+ const HELIA_LAUNCH_HINT = 'Launch Helia (the Erosolar browser companion) and try again. ' +
22
+ 'Helia drops its RPC config at ~/.erosolar/helia-rpc.json on launch.';
23
+ export function createHeliaTools() {
24
+ return [
25
+ {
26
+ name: 'helia_navigate',
27
+ description: 'Navigate the active Helia tab to a URL and wait for the load event. ' +
28
+ 'Returns the post-load URL + page title (useful for confirming a redirect ' +
29
+ 'chain landed where expected). Use this whenever the bug class needs a real ' +
30
+ 'rendered page — DOM XSS, OAuth callback, postMessage handler.',
31
+ parameters: {
32
+ type: 'object',
33
+ properties: { url: { type: 'string', description: 'http(s)://… target' } },
34
+ required: ['url'],
35
+ },
36
+ handler: async (args) => {
37
+ if (!isHeliaRunning())
38
+ return `helia_navigate: ${HELIA_LAUNCH_HINT}`;
39
+ const r = await callHelia('/navigate', {
40
+ url: String(args['url'] ?? ''),
41
+ });
42
+ if (!r.ok)
43
+ return `helia_navigate failed: ${r.error}`;
44
+ return `Loaded ${r.result?.url} · "${r.result?.title}"`;
45
+ },
46
+ },
47
+ {
48
+ name: 'helia_eval',
49
+ description: 'Evaluate a JavaScript expression in the active Helia tab and return the ' +
50
+ 'JSON-serialised result. The script runs in the page world (no Node primitives); ' +
51
+ 'returned values are JSON.stringify\'d server-side, so functions and DOM nodes ' +
52
+ 'come back as null/string rather than throwing. Use this to probe DOM state, ' +
53
+ 'fire postMessage, walk the prototype chain, harvest CSP / Headers via fetch.',
54
+ parameters: {
55
+ type: 'object',
56
+ properties: { script: { type: 'string', description: 'JS expression or block (≤256KB).' } },
57
+ required: ['script'],
58
+ },
59
+ handler: async (args) => {
60
+ if (!isHeliaRunning())
61
+ return `helia_eval: ${HELIA_LAUNCH_HINT}`;
62
+ const r = await callHelia('/eval', {
63
+ script: String(args['script'] ?? ''),
64
+ });
65
+ if (!r.ok)
66
+ return `helia_eval failed: ${r.error}`;
67
+ // Render the result compactly. The agent can read it back; if it's
68
+ // too large, suggest the caller snapshot less.
69
+ const json = JSON.stringify(r.result?.result ?? null);
70
+ return json.length > 8000 ? `${json.slice(0, 8000)}\n…[truncated ${json.length - 8000} chars]` : json;
71
+ },
72
+ },
73
+ {
74
+ name: 'helia_screenshot',
75
+ description: 'Capture the visible viewport of the active Helia tab as a PNG. Returns a ' +
76
+ 'short summary (URL, title, byte size) — the actual base64 lives on the tool ' +
77
+ 'result envelope and is auto-attached as evidence to the active exploit run ' +
78
+ 'via the phase emitter. Use this for submission-grade repro evidence: ' +
79
+ 'HackerOne triage, vendor disclosure, before/after on a hypothesised patch.',
80
+ parameters: { type: 'object', properties: {} },
81
+ handler: async () => {
82
+ if (!isHeliaRunning())
83
+ return `helia_screenshot: ${HELIA_LAUNCH_HINT}`;
84
+ const r = await callHelia('/screenshot', {});
85
+ if (!r.ok)
86
+ return `helia_screenshot failed: ${r.error}`;
87
+ const meta = r.result;
88
+ // Stash the base64 on a side channel for the phase emitter to
89
+ // pick up. Non-standard but contained — the phase emitter
90
+ // reads tool.lastScreenshot when it sees helia_screenshot.
91
+ globalThis.__heliaLastScreenshot = {
92
+ base64: meta?.base64 || '',
93
+ url: meta?.url,
94
+ size: meta?.size,
95
+ };
96
+ return `Screenshot · ${meta?.url} · ${meta?.size} bytes (base64 attached to exploit evidence on next FindingUpdate / ExploitUpsert)`;
97
+ },
98
+ },
99
+ {
100
+ name: 'helia_session_export',
101
+ description: 'Export cookies + localStorage for the active Helia tab\'s origin so the CLI ' +
102
+ 'can replay the authenticated session via curl / pwntools / a custom fetch. ' +
103
+ 'Origin-scoped — the entire browser cookie jar is NOT exported. Use this when ' +
104
+ 'the bug needs an authenticated request the CLI can craft headlessly after the ' +
105
+ 'browser established the session.',
106
+ parameters: { type: 'object', properties: {} },
107
+ handler: async () => {
108
+ if (!isHeliaRunning())
109
+ return `helia_session_export: ${HELIA_LAUNCH_HINT}`;
110
+ const r = await callHelia('/session/export', {});
111
+ if (!r.ok)
112
+ return `helia_session_export failed: ${r.error}`;
113
+ const sess = r.result;
114
+ const cookieCount = sess?.cookies?.length ?? 0;
115
+ const lsCount = Object.keys(sess?.localStorage ?? {}).length;
116
+ // Surface the structured shape on the side channel for the
117
+ // agent to format / forward to a follow-on tool, but render
118
+ // a concise text summary in the chat output.
119
+ globalThis.__heliaLastSession = sess;
120
+ return `Session for ${sess?.origin} · ${cookieCount} cookies, ${lsCount} localStorage keys (full payload on the tool result envelope)`;
121
+ },
122
+ },
123
+ ];
124
+ }
125
+ //# sourceMappingURL=heliaTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heliaTools.js","sourceRoot":"","sources":["../../src/tools/heliaTools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interactionTools.d.ts","sourceRoot":"","sources":["../../src/tools/interactionTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAiI7D,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC,CAS9F;AAED,wBAAgB,sBAAsB,IAAI,cAAc,EAAE,CA0EzD"}
1
+ {"version":3,"file":"interactionTools.d.ts","sourceRoot":"","sources":["../../src/tools/interactionTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAiJ7D,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC,CAS9F;AAED,wBAAgB,sBAAsB,IAAI,cAAc,EAAE,CA0EzD"}