@indemn/cli 1.7.7 → 1.7.9

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 (73) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.mcp.json +1 -1
  4. package/README.md +5 -3
  5. package/dist/cli/auth.d.ts.map +1 -1
  6. package/dist/cli/auth.js +95 -62
  7. package/dist/cli/auth.js.map +1 -1
  8. package/dist/mcp/registry.d.ts +12 -0
  9. package/dist/mcp/registry.d.ts.map +1 -1
  10. package/dist/mcp/registry.js +36 -3
  11. package/dist/mcp/registry.js.map +1 -1
  12. package/dist/mcp/server.d.ts.map +1 -1
  13. package/dist/mcp/server.js +15 -1
  14. package/dist/mcp/server.js.map +1 -1
  15. package/dist/mcp/tool-meta.d.ts.map +1 -1
  16. package/dist/mcp/tool-meta.js +47 -2
  17. package/dist/mcp/tool-meta.js.map +1 -1
  18. package/dist/mcp/tools.d.ts.map +1 -1
  19. package/dist/mcp/tools.js +139 -4
  20. package/dist/mcp/tools.js.map +1 -1
  21. package/dist/sdk/access.d.ts +60 -0
  22. package/dist/sdk/access.d.ts.map +1 -0
  23. package/dist/sdk/access.js +115 -0
  24. package/dist/sdk/access.js.map +1 -0
  25. package/dist/sdk/auth.d.ts +7 -0
  26. package/dist/sdk/auth.d.ts.map +1 -1
  27. package/dist/sdk/auth.js +21 -2
  28. package/dist/sdk/auth.js.map +1 -1
  29. package/dist/sdk/browser-login.d.ts +49 -0
  30. package/dist/sdk/browser-login.d.ts.map +1 -0
  31. package/dist/sdk/browser-login.js +159 -0
  32. package/dist/sdk/browser-login.js.map +1 -0
  33. package/dist/sdk/campaigns.d.ts +82 -3
  34. package/dist/sdk/campaigns.d.ts.map +1 -1
  35. package/dist/sdk/campaigns.js +106 -4
  36. package/dist/sdk/campaigns.js.map +1 -1
  37. package/dist/sdk/client.d.ts +2 -0
  38. package/dist/sdk/client.d.ts.map +1 -1
  39. package/dist/sdk/client.js +31 -3
  40. package/dist/sdk/client.js.map +1 -1
  41. package/dist/sdk/credentials.d.ts +2 -0
  42. package/dist/sdk/credentials.d.ts.map +1 -1
  43. package/dist/sdk/credentials.js +4 -0
  44. package/dist/sdk/credentials.js.map +1 -1
  45. package/dist/sdk/eval.d.ts +3 -3
  46. package/dist/sdk/eval.js +3 -3
  47. package/dist/sdk/types.d.ts +3 -0
  48. package/dist/sdk/types.d.ts.map +1 -1
  49. package/dist/sdk/types.js +0 -1
  50. package/dist/sdk/types.js.map +1 -1
  51. package/package.json +1 -1
  52. package/src/cli/auth.ts +93 -63
  53. package/src/mcp/registry.ts +43 -4
  54. package/src/mcp/server.ts +20 -1
  55. package/src/mcp/tool-meta.ts +49 -2
  56. package/src/mcp/tools.ts +177 -5
  57. package/src/sdk/access.ts +143 -0
  58. package/src/sdk/auth.ts +23 -2
  59. package/src/sdk/browser-login.ts +193 -0
  60. package/src/sdk/campaigns.ts +125 -4
  61. package/src/sdk/client.ts +25 -3
  62. package/src/sdk/credentials.ts +5 -0
  63. package/src/sdk/eval.ts +3 -3
  64. package/src/sdk/types.ts +3 -0
  65. package/test/mcp/__snapshots__/tools-snapshot.test.ts.snap +7 -0
  66. package/test/mcp/access.test.ts +158 -0
  67. package/test/mcp/campaigns.test.ts +165 -0
  68. package/test/mcp/tools-snapshot.test.ts +2 -2
  69. package/test/sdk/auth.test.ts +2 -1
  70. package/test/sdk/browser-login.test.ts +147 -0
  71. package/test/sdk/campaigns.test.ts +76 -18
  72. package/test/sdk/client.test.ts +134 -1
  73. package/test/sdk/credentials.test.ts +6 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tool-meta.js","sourceRoot":"","sources":["../../src/mcp/tool-meta.ts"],"names":[],"mappings":"AAqBA,MAAM,IAAI,GAAG,CAAC,KAAa,EAAY,EAAE,CAAC,CAAC;IACzC,KAAK;IACL,WAAW,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;CAC/G,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,QAAkC,EAAE,EAAY,EAAE,CAAC,CAAC;IAChF,KAAK;IACL,WAAW,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE;CAC3H,CAAC,CAAC;AAEH,oFAAoF;AACpF,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,QAAkC,EAAE,EAAY,EAAE,CAAC,CAAC;IAClF,KAAK;IACL,WAAW,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE;CAC1H,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAA6B;IACjD,0BAA0B;IAC1B,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;IACjD,kBAAkB,EAAE,EAAE,GAAG,IAAI,CAAC,uBAAuB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;IAC1E,kBAAkB,EAAE;QAClB,GAAG,KAAK,CAAC,6BAA6B,CAAC;QACvC,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,wCAAwC,CAAC,CAAC,IAAI,oGAAoG;KACpK;IACD,gBAAgB,EAAE,EAAE,GAAG,IAAI,CAAC,2BAA2B,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1E,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;IAEpC,SAAS;IACT,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;IACvD,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;IAC5B,YAAY,EAAE,KAAK,CAAC,cAAc,CAAC;IACnC,YAAY,EAAE,EAAE,GAAG,KAAK,CAAC,cAAc,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,0BAA0B,CAAC,CAAC,QAAQ,GAAG,EAAE;IAC3I,YAAY,EAAE,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,0BAA0B,CAAC,CAAC,QAAQ,0BAA0B,EAAE;IAC1I,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC;IACtC,WAAW,EAAE,IAAI,CAAC,4BAA4B,CAAC;IAC/C,mBAAmB,EAAE;QACnB,GAAG,KAAK,CAAC,wBAAwB,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QAC5D,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,CAAC,QAAQ,kBAAkB,CAAC,CAAC,SAAS,wCAAwC;KACzH;IACD,oBAAoB,EAAE;QACpB,GAAG,KAAK,CAAC,0BAA0B,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QAC9D,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC,QAAQ,uBAAuB,CAAC,CAAC,QAAQ,GAAG;KACvF;IACD,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC;IACjC,YAAY,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACzC,YAAY,EAAE;QACZ,GAAG,KAAK,CAAC,qBAAqB,CAAC;QAC/B,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iCAAiC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAK,CAAC,CAAC,MAAoD,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,UAAU,CAAE,CAAC,CAAC,MAA6C,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,YAAY;KAC5O;IAED,2BAA2B;IAC3B,UAAU,EAAE,IAAI,CAAC,yBAAyB,CAAC;IAC3C,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,wCAAwC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IAC3G,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC;IACpC,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,sBAAsB,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IAEzF,8CAA8C;IAC9C,cAAc,EAAE,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1D,eAAe,EAAE,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,QAAQ,iCAAiC,EAAE;IACpK,eAAe,EAAE,EAAE,GAAG,KAAK,CAAC,cAAc,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,0BAA0B,CAAC,CAAC,WAAW,aAAa,CAAC,CAAC,QAAQ,GAAG,EAAE;IACxK,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,0BAA0B,CAAC,CAAC,WAAW,eAAe,CAAC,CAAC,QAAQ,GAAG,EAAE;IAClJ,aAAa,EAAE,EAAE,GAAG,KAAK,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,6CAA6C,CAAC,CAAC,WAAW,aAAa,CAAC,CAAC,QAAQ,GAAG,EAAE;IACtL,gBAAgB,EAAE,IAAI,CAAC,eAAe,CAAC;IACvC,gBAAgB,EAAE;QAChB,GAAG,OAAO,CAAC,wCAAwC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAC7E,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,yCAAyC,CAAC,CAAC,QAAQ,2FAA2F,CAAC,CAAC,GAAG,qBAAqB;KAC1L;IACD,wBAAwB,EAAE,KAAK,CAAC,gCAAgC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IAC1F,kBAAkB,EAAE;QAClB,GAAG,KAAK,CAAC,uBAAuB,CAAC;QACjC,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAE,CAAC,CAAC,SAAmC,IAAI,EAAE,CAAC,CAAC,MAAM,sBAAsB,CAAC,CAAC,QAAQ,GAAG;KAC9H;IACD,wBAAwB,EAAE,IAAI,CAAC,uBAAuB,CAAC;IACvD,gGAAgG;IAChG,sBAAsB,EAAE,EAAE,GAAG,KAAK,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IACxE,yBAAyB,EAAE,EAAE,GAAG,KAAK,CAAC,wBAAwB,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IACxG,yBAAyB,EAAE,EAAE,GAAG,OAAO,CAAC,wBAAwB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,8BAA8B,CAAC,CAAC,YAAY,aAAa,CAAC,CAAC,WAAW,aAAa,CAAC,CAAC,QAAQ,GAAG,EAAE;IACnM,qBAAqB,EAAE,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1E,eAAe,EAAE,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;IAE/D,kBAAkB;IAClB,oBAAoB,EAAE,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;IACzE,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;IAC9C,qBAAqB,EAAE,KAAK,CAAC,uBAAuB,CAAC;IACrD,qBAAqB,EAAE,KAAK,CAAC,uBAAuB,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;IAC/E,qBAAqB,EAAE,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,mCAAmC,CAAC,CAAC,KAAK,oCAAoC,EAAE;IAC5K,YAAY,EAAE,IAAI,CAAC,6BAA6B,CAAC;IACjD,WAAW,EAAE,EAAE,GAAG,KAAK,CAAC,0BAA0B,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,4CAA4C,CAAC,CAAC,KAAK,2CAA2C,EAAE;IACnL,sGAAsG;IACtG,UAAU,EAAE,EAAE,GAAG,KAAK,CAAC,wCAAwC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,GAAG,oBAAoB,wBAAwB,CAAC,CAAC,KAAK,uDAAuD,EAAE;IAC9V,cAAc,EAAE,EAAE,GAAG,KAAK,CAAC,+BAA+B,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,KAAK,uDAAuD,EAAE;IAClN,cAAc,EAAE;QACd,GAAG,KAAK,CAAC,6BAA6B,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QACjE,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,0BAA0B,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG;KACjJ;IACD,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,6BAA6B,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,2BAA2B,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,KAAK,qBAAqB,EAAE;IACvL,OAAO,EAAE;QACP,GAAG,KAAK,CAAC,+BAA+B,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QACnE,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC,QAAQ,kCAAkC,CAAE,CAAC,CAAC,MAA+B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,+CAA+C;KACzL;IACD,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,kCAAkC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,mCAAmC,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC,QAAQ,yCAAyC,EAAE;IACzM,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC;IACxC,SAAS,EAAE;QACT,GAAG,OAAO,CAAC,4BAA4B,CAAC;QACxC,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;YACd,MAAM,OAAO,GAAG,CAAE,CAAC,CAAC,IAAyE,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;YAC9G,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC,CAAC;YAC9F,OAAO,oBAAoB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,wBAAwB,CAAC,CAAC,KAAK,GAAG,CAAC;QACpI,CAAC;KACF;IACD,SAAS,EAAE,IAAI,CAAC,2CAA2C,CAAC;IAC5D,kBAAkB,EAAE;QAClB,GAAG,KAAK,CAAC,2BAA2B,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAC9D,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,6BAA6B,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,KAAK,sCAAsC;KAC7H;IACD,gBAAgB,EAAE,IAAI,CAAC,2BAA2B,CAAC;IACnD,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC;IACrC,QAAQ,EAAE,IAAI,CAAC,uCAAuC,CAAC;IAEvD,gBAAgB;IAChB,kBAAkB,EAAE,IAAI,CAAC,gCAAgC,CAAC;IAC1D,gBAAgB,EAAE,IAAI,CAAC,sCAAsC,CAAC;IAC9D,sBAAsB,EAAE;QACtB,GAAG,KAAK,CAAC,4BAA4B,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QAChE,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAmB,CAAC,CAAC,gBAAyC,EAAE,MAAM,IAAI,CAAC,6BAA6B,CAAC,CAAC,QAAQ,2DAA2D;KAC/L;IAED,QAAQ;IACR,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;IACzD,iBAAiB,EAAE,IAAI,CAAC,oBAAoB,CAAC;IAC7C,eAAe,EAAE,IAAI,CAAC,0BAA0B,CAAC;IACjD,eAAe,EAAE,EAAE,GAAG,KAAK,CAAC,oBAAoB,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,uCAAuC,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,qCAAqC,EAAE;IAC7O,qBAAqB,EAAE,EAAE,GAAG,KAAK,CAAC,0BAA0B,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,8BAA8B,CAAC,CAAC,QAAQ,qBAAqB,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,QAAQ,mCAAmC,EAAE;IAC7P,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;IAC9C,mBAAmB,EAAE,EAAE,GAAG,KAAK,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,YAAY,aAAa,CAAC,CAAC,QAAQ,sGAAsG,EAAE;IACvP,oBAAoB,EAAE,IAAI,CAAC,6BAA6B,CAAC;IACzD,gBAAgB,EAAE,IAAI,CAAC,0BAA0B,CAAC;IAClD,wEAAwE;IACxE,gBAAgB,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,YAAY,uCAAuC,CAAC,CAAC,QAAQ,uEAAuE,EAAE;IAC3O,mBAAmB,EAAE,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,YAAY,eAAe,CAAC,CAAC,QAAQ,wCAAwC,EAAE;IAC7L,aAAa,EAAE,KAAK,CAAC,yBAAyB,CAAC;IAE/C,sCAAsC;IACtC,kBAAkB,EAAE,IAAI,CAAC,4BAA4B,CAAC;IACtD,cAAc,EAAE,IAAI,CAAC,4BAA4B,CAAC;IAClD,mBAAmB,EAAE,EAAE,GAAG,KAAK,CAAC,8BAA8B,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,IAAI,iCAAiC,EAAE;IAC/M,mBAAmB,EAAE,EAAE,GAAG,KAAK,CAAC,+BAA+B,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iCAAiC,CAAC,CAAC,eAAe,gCAAgC,EAAE;IAC9M,cAAc,EAAE,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;IACnE,eAAe,EAAE,EAAE,GAAG,KAAK,CAAC,2BAA2B,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,2BAA2B,CAAC,CAAC,QAAQ,iBAAiB,CAAC,CAAC,IAAI,8DAA8D,EAAE;IACpN,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,6BAA6B,CAAC,CAAC,WAAW,iBAAiB,EAAE;IAC7I,0BAA0B,EAAE,KAAK,CAAC,4BAA4B,CAAC;IAC/D,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;IAEtC,iCAAiC;IACjC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;IACpC,4BAA4B,EAAE,IAAI,CAAC,0CAA0C,CAAC;IAC9E,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;IAC9C,gBAAgB,EAAE,IAAI,CAAC,uBAAuB,CAAC;IAC/C,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;IAC1C,gBAAgB,EAAE,EAAE,GAAG,KAAK,CAAC,kBAAkB,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,qCAAqC,CAAC,CAAC,QAAQ,GAAG,EAAE;IAC9J,kBAAkB,EAAE,EAAE,GAAG,OAAO,CAAC,wBAAwB,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IACnG,WAAW,EAAE,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,8BAA8B,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,EAAE;IAC3H,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,mCAAmC,CAAC,CAAC,IAAI,mCAAmC,EAAE;IAC5J,sBAAsB,EAAE,EAAE,GAAG,KAAK,CAAC,2BAA2B,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IACxG,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC;IAEvC,UAAU;IACV,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;IAClC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;IAC9B,aAAa,EAAE,KAAK,CAAC,eAAe,CAAC;IACrC,aAAa,EAAE,KAAK,CAAC,kCAAkC,CAAC;IACxD,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,4BAA4B,CAAC,CAAC,SAAS,GAAG,EAAE;IAC1H,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;IAC5C,iEAAiE;IACjE,gBAAgB,EAAE;QAChB,GAAG,KAAK,CAAC,gCAAgC,CAAC;QAC1C,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO;YACxB,CAAC,CAAC,gCAAgC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,GAAG;YACtJ,CAAC,CAAC,8BAA8B,CAAC,CAAC,IAAI,IAAI,UAAU,oCAAoC,CAAC,CAAC,MAAM,SAAU,CAAC,CAAC,SAAkC,EAAE,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,gBAAgB;KAC/M;IACD,kBAAkB,EAAE,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,gCAAgC,CAAC,CAAC,OAAO,uCAAuC,EAAE;IAExK,sBAAsB;IACtB,WAAW,EAAE,IAAI,CAAC,0CAA0C,CAAC;IAE7D,wBAAwB;IACxB,aAAa,EAAE,IAAI,CAAC,8BAA8B,CAAC;IAEnD,kCAAkC;IAClC,aAAa,EAAE,IAAI,CAAC,wBAAwB,CAAC;IAC7C,YAAY,EAAE,IAAI,CAAC,wBAAwB,CAAC;IAC5C,aAAa,EAAE,EAAE,GAAG,KAAK,CAAC,qCAAqC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,sBAAsB,EAAE;IACrM,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,2BAA2B,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,wBAAwB,EAAE;IAC1J,0BAA0B,EAAE,IAAI,CAAC,wBAAwB,CAAC;IAC1D,cAAc,EAAE,EAAE,GAAG,KAAK,CAAC,2BAA2B,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,0CAA0C,CAAC,CAAC,QAAQ,yBAAyB,EAAE;IACtK,iBAAiB,EAAE,IAAI,CAAC,6BAA6B,CAAC;IACtD,eAAe,EAAE,IAAI,CAAC,8BAA8B,CAAC;IACrD,iBAAiB,EAAE,EAAE,GAAG,KAAK,CAAC,4CAA4C,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,6DAA6D,CAAE,CAAC,CAAC,OAAqB,IAAI,EAAE,CAAC,CAAC,MAAM,kCAAkC,EAAE;IACnP,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;IAChC,WAAW,EAAE,EAAE,GAAG,KAAK,CAAC,kBAAkB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,wGAAwG,EAAE;IAE7M,OAAO;IACP,eAAe,EAAE,KAAK,CAAC,qCAAqC,CAAC;IAE7D,cAAc;IACd,cAAc,EAAE;QACd,GAAG,KAAK,CAAC,4CAA4C,CAAC;QACtD,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,4BAA4B,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,gBAAgB,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,SAAS,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC,WAAW,IAAI,CAAC,qDAAqD;KACjU;IACD,iBAAiB,EAAE,IAAI,CAAC,8BAA8B,CAAC;IACvD,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC;IACtC,iBAAiB,EAAE,IAAI,CAAC,6BAA6B,CAAC;IACtD,gBAAgB,EAAE,KAAK,CAAC,wCAAwC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;IAC3F,oBAAoB,EAAE,EAAE,GAAG,IAAI,CAAC,4BAA4B,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;IACjF,eAAe,EAAE,IAAI,CAAC,6BAA6B,CAAC;IACpD,iBAAiB,EAAE,EAAE,GAAG,KAAK,CAAC,qCAAqC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,UAAU,kDAAkD,EAAE;IACpN,mBAAmB,EAAE,EAAE,GAAG,KAAK,CAAC,2BAA2B,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,mDAAmD,CAAC,CAAC,QAAQ,yBAAyB,EAAE;IACpL,sBAAsB,EAAE,EAAE,GAAG,IAAI,CAAC,wBAAwB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC7E,eAAe,EAAE,IAAI,CAAC,uBAAuB,CAAC;IAC9C,gBAAgB,EAAE,IAAI,CAAC,wBAAwB,CAAC;IAChD,eAAe,EAAE,IAAI,CAAC,kCAAkC,CAAC;IACzD,YAAY,EAAE,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;IACzD,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;IAC9B,aAAa,EAAE,KAAK,CAAC,eAAe,CAAC;IACrC,aAAa,EAAE,KAAK,CAAC,eAAe,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;IAC/D,aAAa,EAAE,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,2BAA2B,CAAC,CAAC,SAAS,GAAG,EAAE;IACvH,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;IAClD,cAAc,EAAE,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC7D,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;IAClC,eAAe,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACzC,eAAe,EAAE,KAAK,CAAC,iBAAiB,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;IACnE,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,6BAA6B,CAAC,CAAC,WAAW,GAAG,EAAE;IAC/H,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;IAEtD,8BAA8B;IAC9B,oBAAoB,EAAE,EAAE,GAAG,KAAK,CAAC,oCAAoC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;IACpH,kBAAkB,EAAE,EAAE,GAAG,KAAK,CAAC,8BAA8B,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;IAC5G,iBAAiB,EAAE,KAAK,CAAC,uBAAuB,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;CAC5E,CAAC"}
1
+ {"version":3,"file":"tool-meta.js","sourceRoot":"","sources":["../../src/mcp/tool-meta.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA0BrD,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AA6I9D,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,GAAG,QAAQ,CAywE/E"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA0BrD,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAkJ9D,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,GAAG,QAAQ,CA+6E/E"}
package/dist/mcp/tools.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod/v3';
2
+ import { currentAccess, orgDenial, refreshAccess, roleIn, usableSomewhere } from '../sdk/access.js';
2
3
  import { AgentInsightsSDK, AgentsSDK } from '../sdk/agents.js';
3
4
  import { createAgentFromSkeleton, exportAgent, importAgent, missingSkeletonFields, parseModel, } from '../sdk/agent-bundle.js';
4
5
  import { getAskers } from '../core/scope.js';
@@ -154,9 +155,33 @@ const skillDefinition = z.preprocess(parseJsonText, z.object({
154
155
  description: z.string().optional(), required: z.boolean().optional(),
155
156
  }).passthrough()).optional(),
156
157
  }).passthrough());
158
+ // Campaigns are on for an org only when Indemn has turned Solutions on: the dashboard hides them otherwise, and the
159
+ // campaigns service does not check it, so these tools ask first (before any approval card).
160
+ const CAMPAIGN_TOOLS = new Set(['get_campaigns', 'save_campaign', 'set_touchpoint', 'publish_campaign', 'set_campaign_status', 'save_campaign_template', 'save_template_skill', 'save_book']);
161
+ const SOLUTIONS_OFF = 'Campaigns are off for this organization: Solutions is not turned on (the dashboard hides campaigns too). Indemn staff can turn it on with set_org_admin_settings (solutions: true); anyone else asks the Indemn team to turn it on.';
157
162
  export function registerTools(server, client) {
163
+ // Role awareness: the folder's linked org (or INDEMN_ORG_ID) narrows what counts; otherwise any org.
164
+ const orgInView = () => process.env.INDEMN_ORG_ID || client.getLink()?.org_id || undefined;
158
165
  const reg = createRegistry(server, {
159
166
  context: () => client.getResultContext(),
167
+ access: {
168
+ visible: (name) => usableSomewhere(name, currentAccess(client), orgInView()),
169
+ // Refuse early only when the saved access still says no after asking again (it may be stale).
170
+ deny: async (name, orgId) => {
171
+ if (CAMPAIGN_TOOLS.has(name) && orgId) {
172
+ const on = await client.copilotGet(`/organization/${orgId}/configurations`).then((c) => c?.enableSolutions === true, () => false);
173
+ if (!on)
174
+ return SOLUTIONS_OFF;
175
+ }
176
+ if (!orgDenial(name, currentAccess(client), orgId))
177
+ return null;
178
+ return orgDenial(name, await refreshAccess(client), orgId);
179
+ },
180
+ explain: async (orgId) => {
181
+ const role = roleIn((await refreshAccess(client)) ?? currentAccess(client), orgId);
182
+ return role ? `Your role: ${role}.` : null;
183
+ },
184
+ },
160
185
  // Each call decides its own org; an answer given once is not reused for the next call.
161
186
  resolveOrg: (explicit) => client.resolveOrg(explicit, { cache: false }),
162
187
  // The person approves a change by names: look up the ids the call names.
@@ -191,7 +216,12 @@ export function registerTools(server, client) {
191
216
  add(args.ticket_id, null, (id) => tickets.get(id).then((t) => { const x = t; return label([x.ticket_ref, x.title].filter(Boolean).join(' ')); })),
192
217
  add(args.rule_id, null, (id) => tickets.listRules({ includeTrashed: true }).then((rules) => label(rules.find((r) => (r._id ?? r.id) === id)?.name))),
193
218
  add(args.distribution_id, null, (id) => distribution.list().then((d) => { const p = (d.paths ?? []).find((x) => x.id === id); return label(p ? `${p.path_name ?? ''} (${p.host_name ?? '*'}${p.path_expression ?? ''})`.trim() : undefined); })),
194
- add(args.template_id, null, (id) => distribution.listTemplates().then((ts) => label(ts.find((t) => t._id === id)?.name))),
219
+ // A website template, else a campaign template.
220
+ add(args.template_id, null, (id) => distribution.listTemplates().then((ts) => label(ts.find((t) => t._id === id)?.name))
221
+ .then((l) => l.name ? l : new CampaignsSDK(client).template(id).then((t) => label(t.name), () => l))),
222
+ add(args.campaign_id, 'campaign', (id) => new CampaignsSDK(client).get(id)),
223
+ add(args.book_id, 'book', (id) => new CampaignsSDK(client).book(id)),
224
+ add(args.template_skill_id, 'template skill', (id) => new CampaignsSDK(client).templateSkill(id)),
195
225
  add(args.owner_id, null, (id) => orgs.listMembers().then((ms) => { const m = ms.find((x) => x.user_id === id); return label(m?.name ?? m?.email); })),
196
226
  agentId && typeof args.function_id === 'string' ? add(args.parameter_id, null, (id) => skillOf(agentId, String(args.function_id)).then((s) => functions.listParameters(agentId, s._id)).then((ps) => label(ps.find((p) => p._id === id)?.name))) : undefined,
197
227
  add(orgId, null, (id) => client.copilotGet(`/organization/${id}`).then((r) => r.organization)),
@@ -1697,9 +1727,9 @@ export function registerTools(server, client) {
1697
1727
  return error(err);
1698
1728
  }
1699
1729
  });
1700
- reg.tool('get_campaigns', 'Read-only campaigns: list, one campaign (campaign_id), its counts / forecast / next-touchpoints / versions, templates, one template (template_id, versions: true for subject and body), or template skills.', {
1701
- what: z.enum(['list', 'campaign', 'counts', 'forecast', 'next-touchpoints', 'versions', 'templates', 'template', 'template-skills']),
1702
- campaign_id: z.string().optional(), template_id: z.string().optional(), versions: z.boolean().optional(),
1730
+ reg.tool('get_campaigns', 'Read campaigns: list, one campaign (campaign_id, with its draft and touchpoints), its counts / forecast / next-touchpoints / versions, templates, one template (template_id, versions: true for subject and body), template skills, books, or one book (book_id).', {
1731
+ what: z.enum(['list', 'campaign', 'counts', 'forecast', 'next-touchpoints', 'versions', 'templates', 'template', 'template-skills', 'books', 'book']),
1732
+ campaign_id: z.string().optional(), template_id: z.string().optional(), book_id: z.string().optional(), versions: z.boolean().optional(),
1703
1733
  status: z.string().optional(), solution_id: z.string().optional(), channel: z.string().optional(),
1704
1734
  days: z.number().int().min(1).max(365).optional(), limit: z.number().int().min(1).max(500).optional(),
1705
1735
  }, async (args) => {
@@ -1713,6 +1743,8 @@ export function registerTools(server, client) {
1713
1743
  case 'templates': return success(await c.templates({ channel: args.channel, solutionId: args.solution_id, limit: args.limit }));
1714
1744
  case 'template': return success(await c.template(need(args.template_id, 'template_id'), Boolean(args.versions)));
1715
1745
  case 'template-skills': return success(await c.templateSkills(args.solution_id));
1746
+ case 'books': return success(await c.books({ solutionId: args.solution_id, limit: args.limit }));
1747
+ case 'book': return success(await c.book(need(args.book_id, 'book_id')));
1716
1748
  default: return success(await c.detail(need(args.campaign_id, 'campaign_id'), args.what, args.days));
1717
1749
  }
1718
1750
  }
@@ -1720,6 +1752,109 @@ export function registerTools(server, client) {
1720
1752
  return error(err);
1721
1753
  }
1722
1754
  });
1755
+ // Campaigns configuration: every change is approved on a card. Nothing here sends a message, runs a book sync or
1756
+ // deletes (CampaignsSDK WRITABLE); a campaign ends archived. A save_* tool given an id changes that item, else creates.
1757
+ const campaigns = new CampaignsSDK(client);
1758
+ // Only the tool's own arguments reach the service: not confirm/org_id, and not the "" or null a model fills unused
1759
+ // fields with (an empty value never blanks a saved field).
1760
+ const own = (args) => Object.fromEntries(Object.entries(args).filter(([k, v]) => k !== 'confirm' && k !== 'org_id' && v !== '' && v !== null));
1761
+ const lacking = (a, keys) => keys.filter((k) => a[k] === undefined);
1762
+ // `problem` is checked before the card: a call that cannot work is answered at once, without asking or sending.
1763
+ const campaignTool = (name, description, shape, run, problem = () => null) => reg.tool(name, description, shape, async (args) => {
1764
+ try {
1765
+ const a = own(args);
1766
+ const p = problem(a);
1767
+ if (p)
1768
+ throw new Error(p);
1769
+ return success(await run(a));
1770
+ }
1771
+ catch (err) {
1772
+ return error(err);
1773
+ }
1774
+ }, { guardWhen: async (args) => problem(own(args)) === null });
1775
+ // A create and then a change: if the change is refused, the item exists, so it is changed with its id next time.
1776
+ const thenChange = async (what, made, change) => {
1777
+ try {
1778
+ return await change();
1779
+ }
1780
+ catch (err) {
1781
+ throw new Error(`The ${what} was created (id ${made.id}), but ${err instanceof Error ? err.message : String(err)}. Change it with its id; do not create it again.`);
1782
+ }
1783
+ };
1784
+ const rule = (what) => jsonObject().describe(`${what}: a rule as an object or JSON text, e.g. {"all":[{"field":"status","op":"eq","value":"active"},{"field":"derived.days_out","op":"lte","value":60}]}. Ops: eq ne lt lte gt gte in nin exists missing contains; all / any / not combine rules.`);
1785
+ const DRAFT_PARTS = ['audience', 'escalation_policy', 'channel_policy'];
1786
+ campaignTool('save_campaign', "Create a campaign (no campaign_id) as a draft for a solution's book, or change a campaign's draft: its audience (which records belong) and escalation and channel policies; what is not given stays. Touchpoints are set with set_touchpoint. Nothing is sent until the campaign is published (publish_campaign) and started (set_campaign_status running). Find the solution with list_solutions and its book with get_campaigns (what: books).", {
1787
+ campaign_id: z.string().optional().describe('The campaign to change; leave out to create one'),
1788
+ solution_id: z.string().optional(), book_id: z.string().optional(), name: z.string().optional(),
1789
+ campaign_type: z.string().optional().describe('To create: e.g. renewal, outreach'),
1790
+ entry: z.enum(['rolling', 'cohort']).optional().describe('To create: rolling (records join as they match, the default) or cohort (a fixed set, with closes)'),
1791
+ closes: z.string().optional().describe('To create a cohort campaign: ISO date it closes'),
1792
+ audience: rule('Which records belong').optional(),
1793
+ escalation_policy: jsonObject().optional().describe('e.g. {"after":{"touches_exhausted":true},"on_hard_failure":"escalate_immediately","then":"create_work_item","assign_to":null}'),
1794
+ channel_policy: jsonObject().optional().describe('e.g. {"quiet_hours":null,"max_per_record_per_window":null}'),
1795
+ }, async ({ campaign_id, audience, escalation_policy, channel_policy, ...create }) => {
1796
+ const parts = { audience, escalation_policy, channel_policy };
1797
+ if (campaign_id)
1798
+ return campaigns.updateDraft(campaign_id, parts);
1799
+ const made = await campaigns.createCampaign(create);
1800
+ return DRAFT_PARTS.some((k) => parts[k] !== undefined) ? thenChange('campaign', made, async () => ({ ...made, draft: await campaigns.updateDraft(made.id, parts) })) : made;
1801
+ }, (a) => a.campaign_id
1802
+ ? (DRAFT_PARTS.some((k) => a[k] !== undefined) ? null : 'Nothing to change: give audience, escalation_policy or channel_policy (a campaign is not renamed here).')
1803
+ : (lacking(a, ['solution_id', 'book_id', 'name', 'campaign_type']).length ? `To create a campaign also give ${lacking(a, ['solution_id', 'book_id', 'name', 'campaign_type']).join(', ')}; to change one, give its campaign_id.` : null));
1804
+ campaignTool('set_touchpoint', "Add a touchpoint to a campaign's draft, or change the one with the same key (only the fields given change). when is a trigger rule: days before the due date ({\"field\":\"derived.days_out\",\"op\":\"lte\",\"value\":45}), a day of the month (calendar.day_of_month), days without a reply (silence.days) or an inbound intent (intent). terminal_action draft (the default) prepares the message for a person to review; send sends it to the customer, so use send only when the person asks for it. A template given without a version is pinned to its latest.", {
1805
+ campaign_id: z.string(),
1806
+ key: z.string().trim().min(1).describe('Unique in the campaign, e.g. t2_reminder_45'),
1807
+ when: rule('When it fires').optional(),
1808
+ channel: z.enum(['email', 'voice', 'sms']).optional(),
1809
+ terminal_action: z.enum(['draft', 'send']).optional(),
1810
+ order: z.number().int().optional(),
1811
+ template_id: z.string().optional(), template_version_n: z.number().int().optional(),
1812
+ grouping: jsonObject().optional().describe('e.g. {"key":"insured_account","recipient":"resolved"} (key: record, insured_account or fixed_recipient)'),
1813
+ required_variables: jsonArray(z.string()).optional(),
1814
+ }, async ({ campaign_id, ...touchpoint }) => campaigns.setTouchpoint(campaign_id, touchpoint));
1815
+ campaignTool('publish_campaign', "Publish a campaign's draft as its next version (refused, with every problem listed, while it has no audience or touchpoint). A running campaign uses the new version from its next run.", { campaign_id: z.string(), change_summary: z.string().optional() }, async (a) => campaigns.publish(a.campaign_id, a.change_summary));
1816
+ campaignTool('set_campaign_status', 'Start (running), pause (paused) or archive (archived, for good) a campaign. Starting needs a published version; it then enrols the matching records of its book and runs its touchpoints. Campaigns are never deleted: asked to delete one, offer to archive it and say it is archived, not deleted.', { campaign_id: z.string(), status: z.enum(['running', 'paused', 'archived']) }, async (a) => campaigns.setStatus(a.campaign_id, a.status));
1817
+ const TEMPLATE_PARTS = ['subject', 'body', 'html', 'uses_variables', 'skills', 'selection_tags'];
1818
+ campaignTool('save_campaign_template', 'Create a campaign message template (no template_id), or change one: a change is saved as its new version, made from the latest one with the fields given. Touchpoints keep the version they are set to until set_touchpoint sets the template again.', {
1819
+ template_id: z.string().optional().describe('The template to change; leave out to create one'),
1820
+ solution_id: z.string().optional(), name: z.string().optional(), channel: z.enum(['email', 'voice', 'sms']).optional(),
1821
+ subject: z.string().optional().describe('Email subject. Placeholders: {{ record.<book field> }}, e.g. {{ record.policy.number }}, or contact.*, campaign.*, enrollment.*'),
1822
+ body: z.string().optional().describe('Message text, with placeholders as in subject'),
1823
+ html: z.string().optional(),
1824
+ uses_variables: jsonArray(z.string()).optional().describe('Every placeholder key the template uses, e.g. ["record.policy.number","contact.first_name"] (the service refuses an undeclared one)'),
1825
+ skills: jsonObject().optional(), selection_tags: jsonObject().optional(),
1826
+ change_summary: z.string().optional(),
1827
+ }, async ({ template_id, solution_id, name, channel, ...content }) => template_id
1828
+ ? campaigns.updateTemplate(template_id, content)
1829
+ : campaigns.createTemplate({ solution_id, name, channel, ...content }), (a) => a.template_id
1830
+ ? (TEMPLATE_PARTS.some((k) => a[k] !== undefined) ? null : `Nothing to change: give ${TEMPLATE_PARTS.join(', ')}.`)
1831
+ : (lacking(a, ['solution_id', 'name', 'channel', 'body']).length ? `To create a template also give ${lacking(a, ['solution_id', 'name', 'channel', 'body']).join(', ')}; to change one, give its template_id.` : null));
1832
+ campaignTool('save_template_skill', "Create a template skill (no template_skill_id): writing instructions a template uses when its message is composed. Or change one's name or instructions; templates using it write with the new text from their campaigns' next run, with no publish.", {
1833
+ template_skill_id: z.string().optional().describe('The skill to change; leave out to create one'),
1834
+ solution_id: z.string().optional(), key: z.string().optional().describe('To create: unique in the solution, e.g. friendly_tone'),
1835
+ name: z.string().optional(), instructions: z.string().optional(),
1836
+ }, async ({ template_skill_id, solution_id, key, name, instructions }) => template_skill_id
1837
+ ? campaigns.updateTemplateSkill(template_skill_id, { name, instructions })
1838
+ : campaigns.createTemplateSkill({ solution_id, key, name, instructions }), (a) => a.template_skill_id
1839
+ ? (a.name !== undefined || a.instructions !== undefined ? null : 'Nothing to change: give name or instructions.')
1840
+ : (lacking(a, ['solution_id', 'key', 'name', 'instructions']).length ? `To create a template skill also give ${lacking(a, ['solution_id', 'key', 'name', 'instructions']).join(', ')}; to change one, give its template_skill_id.` : null));
1841
+ const BOOK_PARTS = ['source', 'field_map', 'identity_keys', 'display'];
1842
+ campaignTool('save_book', "Create a solution's book, the records a campaign works from (no book_id; a solution has one book, so look with get_campaigns what: books first). Or change a book's source, field map (which source column fills which field), identity keys (what makes a record unique; only while it has no records) or display (fields shown for a record); each part given replaces the book's. Keys are the book's schema keys, e.g. policy.number, insured.name.", {
1843
+ book_id: z.string().optional().describe('The book to change; leave out to create one'),
1844
+ solution_id: z.string().optional(), name: z.string().optional(),
1845
+ schema_id: z.string().optional().describe("To create: the entity schema; left out, the solution type's default fields"),
1846
+ source: jsonObject().optional().describe('{"kind":"upload"} (records uploaded as CSV in the dashboard) or {"kind":"connection","integration_id":"…"}'),
1847
+ field_map: jsonArray(jsonObject()).optional().describe('e.g. [{"schema_key":"policy.number","source_path":"Policy #"}]'),
1848
+ identity_keys: jsonArray(z.string()).optional().describe('e.g. ["policy.number"]'),
1849
+ display: jsonObject().optional().describe('e.g. {"primary":["policy.number"],"secondary":["insured.name"]}'),
1850
+ }, async ({ book_id, solution_id, name, schema_id, source, ...parts }) => {
1851
+ if (book_id)
1852
+ return campaigns.updateBook(book_id, { source, ...parts });
1853
+ const made = await campaigns.createBook({ solution_id, name, schema_id, source });
1854
+ return Object.keys(parts).length ? thenChange('book', made, () => campaigns.updateBook(made.id, parts)) : made;
1855
+ }, (a) => a.book_id
1856
+ ? (BOOK_PARTS.some((k) => a[k] !== undefined) ? null : `Nothing to change: give ${BOOK_PARTS.join(', ')}.`)
1857
+ : (lacking(a, ['solution_id', 'name']).length ? `To create a book also give ${lacking(a, ['solution_id', 'name']).join(', ')}; to change one, give its book_id.` : null));
1723
1858
  const platform = new PlatformSDK(client);
1724
1859
  const platformResource = z.enum(['agents', 'templates', 'components', 'connectors', 'connector-bindings', 'scenarios']);
1725
1860
  reg.tool('platform_list', 'List V2 platform items: agents, templates, components, connectors (shared catalogs), connector-bindings, scenarios (agent_id filters scenarios).', { resource: platformResource, agent_id: z.string().optional() }, async (args) => {