@hailer/mcp 1.3.10 → 1.3.12

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 (39) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/bot/bot.d.ts +10 -0
  3. package/dist/bot/bot.d.ts.map +1 -1
  4. package/dist/bot/bot.js +189 -17
  5. package/dist/bot/bot.js.map +1 -1
  6. package/dist/bot/services/helper-prompt.d.ts +1 -1
  7. package/dist/bot/services/helper-prompt.d.ts.map +1 -1
  8. package/dist/bot/services/helper-prompt.js +60 -5
  9. package/dist/bot/services/helper-prompt.js.map +1 -1
  10. package/dist/bot/services/system-prompt.d.ts.map +1 -1
  11. package/dist/bot/services/system-prompt.js +13 -2
  12. package/dist/bot/services/system-prompt.js.map +1 -1
  13. package/dist/lib/logger.js +2 -2
  14. package/dist/lib/logger.js.map +1 -1
  15. package/dist/mcp/publish-auth-injector.d.ts +37 -9
  16. package/dist/mcp/publish-auth-injector.d.ts.map +1 -1
  17. package/dist/mcp/publish-auth-injector.js +77 -26
  18. package/dist/mcp/publish-auth-injector.js.map +1 -1
  19. package/dist/mcp/tool-profiles.d.ts.map +1 -1
  20. package/dist/mcp/tool-profiles.js +1 -0
  21. package/dist/mcp/tool-profiles.js.map +1 -1
  22. package/dist/mcp/tools/app-marketplace.d.ts.map +1 -1
  23. package/dist/mcp/tools/app-marketplace.js +78 -41
  24. package/dist/mcp/tools/app-marketplace.js.map +1 -1
  25. package/dist/mcp/tools/workflow.d.ts +1 -0
  26. package/dist/mcp/tools/workflow.d.ts.map +1 -1
  27. package/dist/mcp/tools/workflow.js +57 -1
  28. package/dist/mcp/tools/workflow.js.map +1 -1
  29. package/dist/public-chat/graduate.d.ts.map +1 -1
  30. package/dist/public-chat/graduate.js +175 -49
  31. package/dist/public-chat/graduate.js.map +1 -1
  32. package/dist/public-chat/rate-limit.js +1 -1
  33. package/dist/public-chat/rate-limit.js.map +1 -1
  34. package/dist/public-chat/studio-prewarm.js +2 -2
  35. package/dist/public-chat/studio-prewarm.js.map +1 -1
  36. package/dist/public-chat/system-prompt.d.ts.map +1 -1
  37. package/dist/public-chat/system-prompt.js +511 -286
  38. package/dist/public-chat/system-prompt.js.map +1 -1
  39. package/package.json +14 -12
@@ -90,9 +90,9 @@ class Logger {
90
90
  } : {},
91
91
  });
92
92
  const loggerProvider = new sdk_logs_1.LoggerProvider({
93
- resource: new resources_1.Resource({ 'service.name': 'hailer-mcp-server' })
93
+ resource: (0, resources_1.resourceFromAttributes)({ 'service.name': 'hailer-mcp-server' }),
94
+ processors: [new sdk_logs_1.BatchLogRecordProcessor(logExporter)],
94
95
  });
95
- loggerProvider.addLogRecordProcessor(new sdk_logs_1.BatchLogRecordProcessor(logExporter));
96
96
  this.otelLogger = loggerProvider.getLogger('hailer-mcp', config_1.APP_VERSION);
97
97
  }
98
98
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAiVH,oCAEC;AAGD,4CAEC;AAtVD,uDAAuD;AACvD,sDAAkF;AAClF,sFAA0E;AAC1E,sDAA4F;AAC5F,wDAAkE;AAClE,sCAAwC;AAExC,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;AACX,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB;AAED;;;GAGG;AACH,SAAS,kBAAkB;IACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC;IACtD,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC,QAAiC,CAAC,CAAC;IACvD,CAAC;IACD,0DAA0D;IAC1D,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjF,CAAC;AAmBD,8BAA8B;AAC9B,IAAY,MAQX;AARD,WAAY,MAAM;IAChB,2BAAiB,CAAA;IACjB,+BAAqB,CAAA;IACrB,iCAAuB,CAAA;IACvB,uCAA6B,CAAA;IAC7B,uBAAa,CAAA;IACb,iCAAuB,CAAA;IACvB,yBAAe,CAAA;AACjB,CAAC,EARW,MAAM,sBAAN,MAAM,QAQjB;AAGD,iEAAiE;AACjE,MAAM,OAAO,GAAG,CAAC,GAAQ,EAAE,MAAM,GAAG,EAAE,EAA6C,EAAE;IACjF,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAA8C,EAAE,CAAS,EAAE,EAAE;QACzF,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACJ,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,MAAa,MAAM;IACP,UAAU,CAAc;IACxB,KAAK,CAAW;IAChB,OAAO,GAAe,EAAE,CAAC;IACzB,YAAY,CAAU;IAE9B,YACI,UAAsB,EAAE,EACxB,KAAgB;QAEhB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,kBAAkB,EAAE,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;QAE1D,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAChC,CAAC;QACL,yDAAyD;IACzD,CAAC;IAEO,oBAAoB;QACxB,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,0CAAe,CAAC;gBACpC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,2DAA2D;gBACvF,gBAAgB,EAAE,CAAC;gBACnB,SAAS,EAAE,IAAI;gBACf,2CAA2C;gBAC3C,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACtB,gBAAgB,EAAE;wBACd,kBAAkB,EAAE,KAAK;qBAC5B;iBACJ,CAAC,CAAC,CAAC,EAAE;aACT,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,IAAI,yBAAc,CAAC;gBACtC,QAAQ,EAAE,IAAA,kCAAsB,EAAC,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAC;gBACzE,UAAU,EAAE,CAAC,IAAI,kCAAuB,CAAC,WAAW,CAAC,CAAC;aACzD,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,SAAS,CAAC,YAAY,EAAE,oBAAW,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC5D,mCAAmC;QACvC,CAAC;IACL,CAAC;IAEO,SAAS,CAAC,KAAe;QAC7B,OAAO,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;IAC/B,CAAC;IAEO,iBAAiB;QACrB,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC;IAEO,SAAS,CAAC,KAAe,EAAE,OAAe,EAAE,GAAW,EAAE,OAAmB;QAChF,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnB,OAAO;QACX,CAAC;QAED,MAAM,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;QACpD,MAAM,WAAW,GAAG;YAChB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,yBAAc,CAAC,KAAK;YACtC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,yBAAc,CAAC,IAAI;YACpC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,yBAAc,CAAC,IAAI;YACpC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,yBAAc,CAAC,KAAK;SACzC,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACjB,cAAc,EAAE,WAAW,CAAC,KAAK,CAAC;YAClC,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE;YAC3C,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,OAAO,CAAC;gBAChB,SAAS,EAAE,GAAG;gBACd,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,YAAY;gBACvD,GAAG,WAAW;aACjB,CAA2B;SAC/B,CAAC,CAAC;IACP,CAAC;IAEO,GAAG,CAAC,KAAe,EAAE,OAAe,EAAE,MAAc,MAAM,CAAC,MAAM,EAAE,UAAsB,EAAE;QAC/F,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;QACX,CAAC;QAED,MAAM,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;QAEpD,4BAA4B;QAC5B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QACrD,CAAC;QAED,8DAA8D;QAC9D,2DAA2D;QAC3D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,IAAI,KAAK,CAAC;QAE5C,2DAA2D;QAC3D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;QAChE,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/C,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACnD,SAAS;YACb,CAAC;YACD,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAClE,uBAAuB;YACvB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE/D,mBAAmB;QACnB,MAAM,GAAG,GAAG,SAAS,CAAC;QACtB,MAAM,KAAK,GAAG,SAAS,CAAC;QACxB,MAAM,MAAM,GAAG,UAAU,CAAC;QAC1B,MAAM,GAAG,GAAG,UAAU,CAAC;QACvB,MAAM,IAAI,GAAG,SAAS,CAAC;QACvB,MAAM,IAAI,GAAG,UAAU,CAAC;QAExB,MAAM,IAAI,GAAG,IAAI,IAAI,KAAK,OAAO,GAAG,MAAM,EAAE,CAAC;QAE7C,IAAI,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,UAAU,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,KAAK,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;QACvE,CAAC;aAAM,IAAI,KAAK,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,UAAU,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,UAAU,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC;QACzD,CAAC;IACL,CAAC;IAED,uBAAuB;IACvB,KAAK,CAAC,OAAe,EAAE,OAAoB,EAAE,MAAc,MAAM,CAAC,MAAM;QACpE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,OAAoB,EAAE,MAAc,MAAM,CAAC,MAAM;QACnE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,OAAoB,EAAE,MAAc,MAAM,CAAC,MAAM;QACnE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,KAAuB,EAAE,OAAoB,EAAE,MAAc,MAAM,CAAC,KAAK;QAC5F,IAAI,WAAW,GAAG,OAAO,CAAC;QAC1B,MAAM,WAAW,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAEnC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YACzB,WAAW,GAAG,GAAG,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;YAC7C,WAAW,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;YACrC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;QACvC,CAAC;aAAM,IAAI,KAAK,EAAE,CAAC;YACf,4DAA4D;YAC5D,IAAI,WAAmB,CAAC;YACxB,IAAI,SAAc,CAAC;YAEnB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC9C,IAAI,CAAC;oBACD,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC7C,SAAS,GAAG,KAAK,CAAC,CAAC,yCAAyC;gBAChE,CAAC;gBAAC,MAAM,CAAC;oBACL,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC5B,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9B,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5B,SAAS,GAAG,WAAW,CAAC;YAC5B,CAAC;YAED,WAAW,GAAG,GAAG,OAAO,KAAK,WAAW,EAAE,CAAC;YAC3C,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC;IAED,4CAA4C;IAC5C,OAAO,CAAC,SAAiB,EAAE,QAAgB,EAAE,MAAY,EAAE,OAAoB;QAC3E,IAAI,CAAC,KAAK,CAAC,aAAa,SAAS,EAAE,EAAE;YACjC,SAAS;YACT,QAAQ;YACR,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YACnD,GAAG,OAAO;SACb,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IAED,UAAU,CAAC,SAAiB,EAAE,QAAgB,EAAE,QAAiB,EAAE,OAAoB;QACnF,IAAI,CAAC,IAAI,CAAC,gBAAgB,SAAS,EAAE,EAAE;YACnC,SAAS;YACT,QAAQ;YACR,QAAQ;YACR,GAAG,OAAO;SACb,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IAED,QAAQ,CAAC,SAAiB,EAAE,QAAgB,EAAE,KAAsB,EAAE,QAAiB,EAAE,OAAoB;QACzG,IAAI,CAAC,KAAK,CAAC,cAAc,SAAS,EAAE,EAAE,KAAK,EAAE;YACzC,SAAS;YACT,QAAQ;YACR,QAAQ;YACR,GAAG,OAAO;SACb,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IAED,QAAQ,CAAC,QAAgB,EAAE,QAAgB,EAAE,IAAU,EAAE,OAAoB;QACzE,IAAI,CAAC,KAAK,CAAC,cAAc,QAAQ,EAAE,EAAE;YACjC,QAAQ;YACR,QAAQ;YACR,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YAClD,GAAG,OAAO;SACb,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IAED,WAAW,CAAC,QAAgB,EAAE,QAAgB,EAAE,QAAiB,EAAE,OAAoB;QACnF,IAAI,CAAC,IAAI,CAAC,iBAAiB,QAAQ,EAAE,EAAE;YACnC,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,GAAG,OAAO;SACb,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IAED,SAAS,CAAC,QAAgB,EAAE,QAAgB,EAAE,KAAsB,EAAE,QAAiB,EAAE,OAAoB;QACzG,IAAI,CAAC,KAAK,CAAC,eAAe,QAAQ,EAAE,EAAE,KAAK,EAAE;YACzC,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,GAAG,OAAO;SACb,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IAED,WAAW,CAAC,QAAgB,EAAE,OAAoB;QAC9C,IAAI,CAAC,IAAI,CAAC,iBAAiB,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACzE,CAAC;IAED,cAAc,CAAC,SAAiB,EAAE,MAAc,EAAE,OAAoB;QAClE,IAAI,CAAC,IAAI,CAAC,oBAAoB,SAAS,MAAM,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IACxG,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,OAAoB;QACtC,IAAI,CAAC,IAAI,CAAC,SAAS,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,SAAS,CAAC,OAAe,EAAE,KAAuB,EAAE,OAAoB;QACpE,IAAI,CAAC,KAAK,CAAC,eAAe,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,8CAA8C;IAC9C,KAAK,CAAC,iBAA6B;QAC/B,OAAO,IAAI,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,iBAAiB,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7E,CAAC;IAED,gBAAgB;IAChB,QAAQ,CAAC,KAAe;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;CACJ;AAlQD,wBAkQC;AAED;;;GAGG;AACH,SAAgB,YAAY,CAAC,UAAsB,EAAE;IACjD,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,sEAAsE;AACtE,SAAgB,gBAAgB;IAC5B,OAAO,IAAI,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;AAChD,CAAC"}
@@ -5,18 +5,46 @@
5
5
  * Studio writes the session's user API key into the sandbox's `~/.env` so the
6
6
  * app publish script (`@hailer/app-sdk` publish.cjs) authenticates with no
7
7
  * flags. Locally there's no session key, but the CLI server already has the
8
- * project bot's credentials in CLIENT_CONFIGS — so on first boot we mint a
9
- * user API key on the bot's authenticated socket and write it to `~/.env`,
10
- * exactly where publish.cjs looks.
8
+ * project bot's credentials in CLIENT_CONFIGS — so on boot we mint a user API
9
+ * key on the bot's authenticated socket and write it to `~/.env`, exactly
10
+ * where publish.cjs looks.
11
11
  *
12
- * Idempotent (skips if a key is already present), best-effort (never blocks
13
- * or fails server startup), and CLI-gated (prod never imports this).
12
+ * The minted key is workspace-scoped, but `~/.env` is machine-global: whichever
13
+ * project booted first used to win it permanently, so every other project then
14
+ * published silently into the first project's workspace. To prevent that, the
15
+ * injector records the workspace in the `~/.env` marker and re-mints whenever
16
+ * the booting project's workspace differs — the last server to boot owns
17
+ * `~/.env`.
18
+ *
19
+ * Best-effort (never blocks or fails server startup) and CLI-gated (prod never
20
+ * imports this). A key the user set themselves — exported, or hand-added to
21
+ * `~/.env` without our marker — is always left untouched.
22
+ */
23
+ interface ExistingKey {
24
+ /** True when this injector wrote the key (our marker comment is present). */
25
+ managed: boolean;
26
+ /** Workspace id recorded in the marker, or null for our pre-1.3.11 format. */
27
+ workspaceId: string | null;
28
+ }
29
+ /**
30
+ * Inspect `~/.env` for a publish key. Returns null when none is present, an
31
+ * unmanaged entry when the user added the key themselves (no marker), or a
32
+ * managed entry carrying the workspace the key was minted for.
33
+ */
34
+ export declare function readExistingKey(envPath: string): ExistingKey | null;
35
+ /**
36
+ * Rewrite `~/.env` with a freshly minted key, stripping any block we wrote
37
+ * before and preserving every other line. The file holds a live credential,
38
+ * so keep it owner-only (0600).
14
39
  */
40
+ export declare function writeManagedKey(envPath: string, key: string, workspaceId: string): void;
15
41
  /**
16
- * Mint a publish user API key from the project bot's CLIENT_CONFIGS account
17
- * and append it to ~/.env. No-op when a key already exists or no account is
18
- * configured. Swallows every error publishing convenience must never break
19
- * the server.
42
+ * Mint a publish user API key from the project bot's CLIENT_CONFIGS account and
43
+ * write it to `~/.env`, scoped to the project's workspace. No-op when the file
44
+ * already holds our key for this workspace, when the user owns the key, or when
45
+ * no account is configured. Swallows every error — publishing convenience must
46
+ * never break the server.
20
47
  */
21
48
  export declare function injectLocalPublishAuth(): Promise<void>;
49
+ export {};
22
50
  //# sourceMappingURL=publish-auth-injector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"publish-auth-injector.d.ts","sourceRoot":"","sources":["../../src/mcp/publish-auth-injector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA+BH;;;;;GAKG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CA2D5D"}
1
+ {"version":3,"file":"publish-auth-injector.d.ts","sourceRoot":"","sources":["../../src/mcp/publish-auth-injector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAkBH,UAAU,WAAW;IACjB,6EAA6E;IAC7E,OAAO,EAAE,OAAO,CAAC;IACjB,8EAA8E;IAC9E,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAmBnE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAkBvF;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAuE5D"}
@@ -6,14 +6,24 @@
6
6
  * Studio writes the session's user API key into the sandbox's `~/.env` so the
7
7
  * app publish script (`@hailer/app-sdk` publish.cjs) authenticates with no
8
8
  * flags. Locally there's no session key, but the CLI server already has the
9
- * project bot's credentials in CLIENT_CONFIGS — so on first boot we mint a
10
- * user API key on the bot's authenticated socket and write it to `~/.env`,
11
- * exactly where publish.cjs looks.
9
+ * project bot's credentials in CLIENT_CONFIGS — so on boot we mint a user API
10
+ * key on the bot's authenticated socket and write it to `~/.env`, exactly
11
+ * where publish.cjs looks.
12
12
  *
13
- * Idempotent (skips if a key is already present), best-effort (never blocks
14
- * or fails server startup), and CLI-gated (prod never imports this).
13
+ * The minted key is workspace-scoped, but `~/.env` is machine-global: whichever
14
+ * project booted first used to win it permanently, so every other project then
15
+ * published silently into the first project's workspace. To prevent that, the
16
+ * injector records the workspace in the `~/.env` marker and re-mints whenever
17
+ * the booting project's workspace differs — the last server to boot owns
18
+ * `~/.env`.
19
+ *
20
+ * Best-effort (never blocks or fails server startup) and CLI-gated (prod never
21
+ * imports this). A key the user set themselves — exported, or hand-added to
22
+ * `~/.env` without our marker — is always left untouched.
15
23
  */
16
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.readExistingKey = readExistingKey;
26
+ exports.writeManagedKey = writeManagedKey;
17
27
  exports.injectLocalPublishAuth = injectLocalPublishAuth;
18
28
  const cli_1 = require("@hailer/cli");
19
29
  const fs_1 = require("fs");
@@ -22,30 +32,71 @@ const path_1 = require("path");
22
32
  const config_1 = require("../config");
23
33
  const logger_1 = require("../lib/logger");
24
34
  const logger = (0, logger_1.createLogger)({ component: 'publish-auth' });
25
- /** Already have a publish key on this machine? (~/.env or the live env) */
26
- function publishKeyAlreadyPresent(envPath) {
27
- if (process.env.HAILER_USER_API_KEY || process.env.USER_API_KEY) {
28
- return true;
29
- }
35
+ const MANAGED_MARKER = '# Added by hailer-mcp for local app publishing';
36
+ /**
37
+ * Inspect `~/.env` for a publish key. Returns null when none is present, an
38
+ * unmanaged entry when the user added the key themselves (no marker), or a
39
+ * managed entry carrying the workspace the key was minted for.
40
+ */
41
+ function readExistingKey(envPath) {
30
42
  if (!(0, fs_1.existsSync)(envPath)) {
31
- return false;
43
+ return null;
32
44
  }
45
+ let content = '';
33
46
  try {
34
- return /^\s*(HAILER_USER_API_KEY|USER_API_KEY)\s*=/m.test((0, fs_1.readFileSync)(envPath, 'utf-8'));
47
+ content = (0, fs_1.readFileSync)(envPath, 'utf-8');
35
48
  }
36
49
  catch {
37
- return false;
50
+ return null;
51
+ }
52
+ if (!/^\s*(HAILER_USER_API_KEY|USER_API_KEY)\s*=/m.test(content)) {
53
+ return null;
38
54
  }
55
+ const markerLine = content.match(/^# Added by hailer-mcp for local app publishing[^\n]*$/m);
56
+ if (!markerLine) {
57
+ return { managed: false, workspaceId: null };
58
+ }
59
+ const wsMatch = markerLine[0].match(/\(workspace ([a-f0-9]{24})\)/);
60
+ return { managed: true, workspaceId: wsMatch ? wsMatch[1] : null };
39
61
  }
40
62
  /**
41
- * Mint a publish user API key from the project bot's CLIENT_CONFIGS account
42
- * and append it to ~/.env. No-op when a key already exists or no account is
43
- * configured. Swallows every error — publishing convenience must never break
44
- * the server.
63
+ * Rewrite `~/.env` with a freshly minted key, stripping any block we wrote
64
+ * before and preserving every other line. The file holds a live credential,
65
+ * so keep it owner-only (0600).
66
+ */
67
+ function writeManagedKey(envPath, key, workspaceId) {
68
+ let body = '';
69
+ if ((0, fs_1.existsSync)(envPath)) {
70
+ try {
71
+ body = (0, fs_1.readFileSync)(envPath, 'utf-8');
72
+ }
73
+ catch {
74
+ body = '';
75
+ }
76
+ }
77
+ const withoutOldBlock = body.replace(/\n?# Added by hailer-mcp for local app publishing[^\n]*\n(?:HAILER_USER_API_KEY|USER_API_KEY)=[^\n]*\n?/g, '\n');
78
+ const preserved = withoutOldBlock.replace(/\s*$/, '');
79
+ const block = `${MANAGED_MARKER} (workspace ${workspaceId})\nHAILER_USER_API_KEY="${key}"\n`;
80
+ const next = preserved.length > 0 ? `${preserved}\n\n${block}` : block;
81
+ (0, fs_1.writeFileSync)(envPath, next, { mode: 0o600 });
82
+ (0, fs_1.chmodSync)(envPath, 0o600);
83
+ }
84
+ /**
85
+ * Mint a publish user API key from the project bot's CLIENT_CONFIGS account and
86
+ * write it to `~/.env`, scoped to the project's workspace. No-op when the file
87
+ * already holds our key for this workspace, when the user owns the key, or when
88
+ * no account is configured. Swallows every error — publishing convenience must
89
+ * never break the server.
45
90
  */
46
91
  async function injectLocalPublishAuth() {
47
92
  const envPath = (0, path_1.join)((0, os_1.homedir)(), '.env');
48
- if (publishKeyAlreadyPresent(envPath)) {
93
+ // An exported key is a deliberate override — never touch it.
94
+ if (process.env.HAILER_USER_API_KEY || process.env.USER_API_KEY) {
95
+ return;
96
+ }
97
+ // A key the user hand-added (no marker) is theirs to manage.
98
+ const existing = readExistingKey(envPath);
99
+ if (existing && !existing.managed) {
49
100
  return;
50
101
  }
51
102
  const accounts = Object.values(config_1.environment.CLIENT_CONFIGS);
@@ -68,20 +119,20 @@ async function injectLocalPublishAuth() {
68
119
  logger.debug('Skipping publish-auth injection — no workspace on bot account');
69
120
  return;
70
121
  }
122
+ // Our key is already scoped to this project's workspace — leave it.
123
+ if (existing?.managed && existing.workspaceId === workspaceId) {
124
+ return;
125
+ }
71
126
  const keyName = `hailer-mcp local (${(0, os_1.hostname)()})`;
72
127
  const created = await client.request('v3.user.apikey.create', [keyName, workspaceId, []]);
73
128
  if (!created?.key) {
74
129
  return;
75
130
  }
76
- // ~/.env holds a live credential — keep it owner-only (0600). Create
77
- // it with restrictive mode if absent, and tighten an existing file too.
78
- if (!(0, fs_1.existsSync)(envPath)) {
79
- (0, fs_1.writeFileSync)(envPath, '', { mode: 0o600 });
80
- }
81
- (0, fs_1.chmodSync)(envPath, 0o600);
82
- (0, fs_1.appendFileSync)(envPath, `\n# Added by hailer-mcp for local app publishing\nHAILER_USER_API_KEY="${created.key}"\n`);
131
+ writeManagedKey(envPath, created.key, workspaceId);
83
132
  process.env.HAILER_USER_API_KEY = created.key;
84
- logger.info('Minted local publish key → ~/.env', { keyName, workspaceId });
133
+ logger.info(existing?.managed
134
+ ? 'Re-minted local publish key for current workspace → ~/.env'
135
+ : 'Minted local publish key → ~/.env', { keyName, workspaceId });
85
136
  }
86
137
  catch (error) {
87
138
  logger.debug('Publish-auth injection skipped', {
@@ -1 +1 @@
1
- {"version":3,"file":"publish-auth-injector.js","sourceRoot":"","sources":["../../src/mcp/publish-auth-injector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish-auth-injector.js","sourceRoot":"","sources":["../../src/mcp/publish-auth-injector.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-profiles.d.ts","sourceRoot":"","sources":["../../src/mcp/tool-profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,UAAU,GAAG,KAAK,GAAG,OAAO,CAAC;AAE/D;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,aAyEpB,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,aA0BpB,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,aAGlC,CAAC;AAEH,kFAAkF;AAClF,eAAO,MAAM,eAAe,EAAE,SAAS,EAA4D,CAAC;AAEpG;;;;GAIG;AACH,wBAAgB,uBAAuB,CACnC,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,GACzC,OAAO,CAWT;AAED,uFAAuF;AACvF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG;IACvD,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,CAcA"}
1
+ {"version":3,"file":"tool-profiles.d.ts","sourceRoot":"","sources":["../../src/mcp/tool-profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,UAAU,GAAG,KAAK,GAAG,OAAO,CAAC;AAE/D;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,aAyEpB,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,aA2BpB,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,aAGlC,CAAC;AAEH,kFAAkF;AAClF,eAAO,MAAM,eAAe,EAAE,SAAS,EAA4D,CAAC;AAEpG;;;;GAIG;AACH,wBAAgB,uBAAuB,CACnC,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,GACzC,OAAO,CAWT;AAED,uFAAuF;AACvF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG;IACvD,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,CAcA"}
@@ -115,6 +115,7 @@ exports.BOT_TOOLS = new Set([
115
115
  'search_workspace_users', 'get_workspace_balance',
116
116
  'create_activity', 'update_activity',
117
117
  'install_workflow', 'update_workflow_structure', 'test_function_field',
118
+ 'set_workflow_cover_photo',
118
119
  // remove_workflow / remove_insight deliberately absent: NUCLEAR group is
119
120
  // filtered out of bot tool definitions anyway — listing them was dead weight
120
121
  'list_my_discussions', 'fetch_discussion_messages',
@@ -1 +1 @@
1
- {"version":3,"file":"tool-profiles.js","sourceRoot":"","sources":["../../src/mcp/tool-profiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-profiles.js","sourceRoot":"","sources":["../../src/mcp/tool-profiles.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"app-marketplace.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/app-marketplace.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAa,MAAM,kBAAkB,CAAC;AA+TnD,eAAO,MAAM,qBAAqB,EAAE,IAanC,CAAC;AAiFF,eAAO,MAAM,sBAAsB,EAAE,IA4GpC,CAAC;AAsKF,eAAO,MAAM,sBAAsB,EAAE,IA0KpC,CAAC;AAYF,eAAO,MAAM,uBAAuB,EAAE,IA+DrC,CAAC;AAWF,eAAO,MAAM,4BAA4B,EAAE,IAuD1C,CAAC;AAWF,eAAO,MAAM,4BAA4B,EAAE,IAqD1C,CAAC;AAiCF,eAAO,MAAM,yBAAyB,EAAE,IA+DvC,CAAC;AAEF,gCAAgC;AAChC,eAAO,MAAM,mBAAmB,2CAQ/B,CAAC"}
1
+ {"version":3,"file":"app-marketplace.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/app-marketplace.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAa,MAAM,kBAAkB,CAAC;AAuUnD,eAAO,MAAM,qBAAqB,EAAE,IAanC,CAAC;AAqFF,eAAO,MAAM,sBAAsB,EAAE,IA8IpC,CAAC;AAsKF,eAAO,MAAM,sBAAsB,EAAE,IA0KpC,CAAC;AAYF,eAAO,MAAM,uBAAuB,EAAE,IA+DrC,CAAC;AAWF,eAAO,MAAM,4BAA4B,EAAE,IAuD1C,CAAC;AAWF,eAAO,MAAM,4BAA4B,EAAE,IAqD1C,CAAC;AAiCF,eAAO,MAAM,yBAAyB,EAAE,IA+DvC,CAAC;AAEF,gCAAgC;AAChC,eAAO,MAAM,mBAAmB,2CAQ/B,CAAC"}
@@ -27,10 +27,10 @@ function textResponse(text) {
27
27
  }
28
28
  async function fetchProductDetail(productId, context) {
29
29
  try {
30
- logger.debug('Calling v3.app.product.get', { productId });
31
- const result = await context.hailer.request('v3.app.product.get', [productId]);
30
+ logger.debug('Calling v3.product.get', { productId });
31
+ const result = await context.hailer.request('v3.product.get', [productId]);
32
32
  if (result) {
33
- return { product: result, source: 'v3' };
33
+ return { product: result, source: 'v3', targetId: result.targetId };
34
34
  }
35
35
  }
36
36
  catch (v3Error) {
@@ -43,13 +43,13 @@ async function fetchProductDetail(productId, context) {
43
43
  const legacyResult = await context.hailer.request('v2.network.product.get', [productId]);
44
44
  return { product: legacyResult?.product || legacyResult, source: 'v2' };
45
45
  }
46
- async function fetchProductManifest(productId, source, context) {
46
+ async function fetchProductManifest(manifestId, source, context) {
47
47
  if (source === 'v3') {
48
- logger.debug('Calling v3.app.product.getManifest', { productId });
49
- return context.hailer.request('v3.app.product.getManifest', [productId]);
48
+ logger.debug('Calling v3.app.product.getManifest', { targetId: manifestId });
49
+ return context.hailer.request('v3.app.product.getManifest', [manifestId]);
50
50
  }
51
- logger.debug('Calling v2.network.product.getManifest', { productId });
52
- return context.hailer.request('v2.network.product.getManifest', [productId]);
51
+ logger.debug('Calling v2.network.product.getManifest', { productId: manifestId });
52
+ return context.hailer.request('v2.network.product.getManifest', [manifestId]);
53
53
  }
54
54
  function resolveProductType(source, product) {
55
55
  if (source === 'v2') {
@@ -104,19 +104,21 @@ async function executeListProducts(args, context) {
104
104
  if (!workspaceId) {
105
105
  return (0, tool_helpers_1.missingWorkspaceCacheResponse)();
106
106
  }
107
- logger.debug('Calling v3.product.list', { workspaceId, public: showPublic });
108
- // v3.product.list endpoint with public flag
109
- const result = await context.hailer.request('v3.product.list', [
110
- { cid: workspaceId, public: showPublic },
111
- {} // pagination options
112
- ]);
107
+ // The public marketplace spans ALL workspaces — filtering by cid would only
108
+ // return THIS workspace's own public listings (the bug that made the public
109
+ // marketplace look empty). Scope by cid only for the private/workspace view.
110
+ const filter = showPublic ? { public: true } : { cid: workspaceId, public: false };
111
+ logger.debug('Calling v3.product.list', { filter });
112
+ const result = await context.hailer.request('v3.product.list', [filter, {}]);
113
113
  logger.debug('Product list response', {
114
114
  result: JSON.stringify(result)
115
115
  });
116
116
  const listingType = showPublic ? 'Public Marketplace' : 'Private/Workspace';
117
117
  let responseText = `✅ **${listingType} Products**\n\n`;
118
- responseText += `**Workspace:** ${workspaceId}\n`;
119
- responseText += `**Filter:** ${showPublic ? 'Public only' : 'Private/workspace'}\n\n`;
118
+ if (!showPublic) {
119
+ responseText += `**Workspace:** ${workspaceId}\n`;
120
+ }
121
+ responseText += `**Filter:** ${showPublic ? 'Public marketplace (all workspaces)' : 'Private/workspace'}\n\n`;
120
122
  // Handle response: {products: [], totalCount: 0}
121
123
  const products = result?.products || [];
122
124
  if (products.length === 0) {
@@ -164,9 +166,9 @@ async function executeListProducts(args, context) {
164
166
  `**Common Issues:**\n- API endpoint not available\n- Permission issues`);
165
167
  }
166
168
  }
167
- async function buildManifestSection(productId, source, context) {
169
+ async function buildManifestSection(manifestId, source, context) {
168
170
  try {
169
- const manifest = await fetchProductManifest(productId, source, context);
171
+ const manifest = await fetchProductManifest(manifestId, source, context);
170
172
  logger.debug('Product manifest response', { manifest: JSON.stringify(manifest) });
171
173
  if (!manifest) {
172
174
  return '';
@@ -242,8 +244,10 @@ async function executeProductDetail(args, context) {
242
244
  if (detail.source === 'v2') {
243
245
  responseText += `**Source:** Legacy template (v2)\n`;
244
246
  }
245
- if (args.includeManifest) {
246
- responseText += await buildManifestSection(productId, detail.source, context);
247
+ // v3 manifest is keyed by the appProductDb targetId; v2 by the productId.
248
+ const manifestId = detail.source === 'v3' ? detail.targetId : productId;
249
+ if (args.includeManifest && manifestId) {
250
+ responseText += await buildManifestSection(manifestId, detail.source, context);
247
251
  }
248
252
  if (detail.source === 'v2') {
249
253
  responseText += buildInstalledSection(await checkTemplateInstalled(productId, context));
@@ -310,21 +314,24 @@ async function persistInstallAdminCredentials(productId, workspaceId, context) {
310
314
  });
311
315
  }
312
316
  }
313
- async function findExistingInstall(productId, workspaceId, context) {
314
- logger.debug('Checking if product is already installed', { productId, workspaceId });
317
+ async function findExistingInstall(productId, workspaceId, productType, context) {
318
+ // Apps live in appProductDb (v3 check); templates in workspaceProductDb (v2 check).
319
+ // Both take [productId, workspaceId] and return a bare boolean. Using the app
320
+ // check on a template 127s ("Version not found") — so pick by type.
321
+ const method = productType === 'template'
322
+ ? 'v2.network.product.isProductInstalled'
323
+ : 'v3.app.product.isProductInstalled';
324
+ logger.debug('Checking if product is already installed', { productId, workspaceId, productType, method });
315
325
  try {
316
- const isInstalledResult = await context.hailer.request('v3.app.product.isProductInstalled', [
317
- productId,
318
- workspaceId
319
- ]);
320
- return isInstalledResult || null;
326
+ const isInstalled = await context.hailer.request(method, [productId, workspaceId]);
327
+ return isInstalled === true;
321
328
  }
322
329
  catch (checkError) {
323
330
  // Ignore check errors and proceed with installation
324
331
  logger.debug('Could not check installation status, proceeding', {
325
- error: checkError instanceof Error ? checkError.message : String(checkError)
332
+ error: (0, tool_helpers_1.extractErrorMessage)(checkError)
326
333
  });
327
- return null;
334
+ return false;
328
335
  }
329
336
  }
330
337
  async function installTemplateProduct(productId, workspaceId, context) {
@@ -353,15 +360,16 @@ exports.installMarketplaceTool = {
353
360
  productId: zod_1.z
354
361
  .string()
355
362
  .min(1)
356
- .describe('Marketplace product ID to install'),
363
+ .describe('Marketplace product ID (24-char hex) or product name to install. Names are resolved via search automatically.'),
357
364
  workspaceId: zod_1.z
358
365
  .string()
359
366
  .optional()
360
367
  .describe('Target workspace ID (defaults to current)'),
361
368
  }),
362
369
  async execute(args, context) {
370
+ let resolvedProductId = args.productId;
363
371
  logger.debug('Installing marketplace product', {
364
- productId: args.productId,
372
+ productId: resolvedProductId,
365
373
  apiKey: context.apiKey.substring(0, 8) + '...'
366
374
  });
367
375
  try {
@@ -369,17 +377,41 @@ exports.installMarketplaceTool = {
369
377
  if (!workspaceId) {
370
378
  return (0, tool_helpers_1.missingWorkspaceCacheResponse)();
371
379
  }
372
- const existing = await findExistingInstall(args.productId, workspaceId, context);
373
- if (existing?.installed) {
374
- return textResponse(`ℹ️ **Product Already Installed**\n\nThis product is already installed in your workspace.\n\n` +
375
- `**App ID:** \`${existing.appId || 'unknown'}\`\n\n**Tips:**\n- Use \`list_apps()\` to see installed apps\n` +
376
- `- Use \`browse_marketplace({ productId: "${args.productId}" })\` to view product details`);
380
+ // If productId doesn't look like a 24-char hex ObjectId, treat it
381
+ // as a product name and search via v3.product.list.
382
+ if (!/^[0-9a-f]{24}$/i.test(resolvedProductId)) {
383
+ logger.debug('productId is not an ObjectId searching by name', { name: resolvedProductId });
384
+ try {
385
+ const searchResult = await context.hailer.request('v3.product.list', [
386
+ { public: true },
387
+ { search: resolvedProductId, limit: 10 },
388
+ ]);
389
+ const products = searchResult?.products ?? [];
390
+ const exact = products.find((p) => (p.name || '').toLowerCase() === resolvedProductId.toLowerCase());
391
+ const match = exact || products[0];
392
+ if (match?._id) {
393
+ logger.debug('Resolved product name to ID', {
394
+ name: resolvedProductId, resolvedId: match._id, matchedName: match.name,
395
+ });
396
+ resolvedProductId = match._id;
397
+ }
398
+ else {
399
+ return textResponse(`❌ **Product Not Found**\n\nNo marketplace product found matching "${args.productId}".\n\n` +
400
+ `**Tips:**\n- Check the exact product name\n- Use \`browse_marketplace({ publicOnly: true })\` to see available products`);
401
+ }
402
+ }
403
+ catch (searchError) {
404
+ logger.debug('Product name search failed', {
405
+ error: searchError instanceof Error ? searchError.message : String(searchError),
406
+ });
407
+ }
377
408
  }
378
- // Detect product type to route v2 template install vs v3 app install
409
+ // Detect product type FIRST it selects both the install route and the
410
+ // matching "already installed" check (app vs template use different RPCs).
379
411
  let productName = 'Unknown';
380
412
  let productType = 'app';
381
413
  try {
382
- const detail = await fetchProductDetail(args.productId, context);
414
+ const detail = await fetchProductDetail(resolvedProductId, context);
383
415
  productName = detail.product?.name || detail.product?.title || 'Unknown';
384
416
  productType = resolveProductType(detail.source, detail.product);
385
417
  }
@@ -388,13 +420,18 @@ exports.installMarketplaceTool = {
388
420
  error: productError instanceof Error ? productError.message : String(productError)
389
421
  });
390
422
  }
423
+ if (await findExistingInstall(resolvedProductId, workspaceId, productType, context)) {
424
+ return textResponse(`ℹ️ **Product Already Installed**\n\nThis product is already installed in your workspace.\n\n` +
425
+ `**Tips:**\n- Use \`list_apps()\` to see installed apps\n` +
426
+ `- Use \`browse_marketplace({ productId: "${resolvedProductId}" })\` to view product details`);
427
+ }
391
428
  const installResult = productType === 'template'
392
- ? await installTemplateProduct(args.productId, workspaceId, context)
393
- : await installAppProduct(args.productId, workspaceId, context);
429
+ ? await installTemplateProduct(resolvedProductId, workspaceId, context)
430
+ : await installAppProduct(resolvedProductId, workspaceId, context);
394
431
  const installedAppId = installResult?.appId || installResult?.details?.appId || installResult?._id;
395
432
  let responseText = `✅ **${productType === 'template' ? 'Template' : 'App'} Installed Successfully**\n\n`;
396
433
  responseText += `**Product:** ${productName}\n`;
397
- responseText += `**Product ID:** \`${args.productId}\`\n`;
434
+ responseText += `**Product ID:** \`${resolvedProductId}\`\n`;
398
435
  if (installedAppId) {
399
436
  responseText += `**Installed App ID:** \`${installedAppId}\`\n`;
400
437
  }