kimaki 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/bot.d.ts +6 -1
  2. package/dist/bot.js +9 -3
  3. package/dist/bot.js.map +1 -1
  4. package/dist/cli/bot.js +13 -5
  5. package/dist/cli/bot.js.map +1 -1
  6. package/dist/cli-lock.e2e.test.js +4 -2
  7. package/dist/cli-lock.e2e.test.js.map +1 -1
  8. package/dist/cli-sessions.e2e.test.js +2 -4
  9. package/dist/cli-sessions.e2e.test.js.map +1 -1
  10. package/dist/commands/worktree-commands.d.ts +1 -1
  11. package/dist/event-loop.d.ts +2 -1
  12. package/dist/event-loop.js +2 -2
  13. package/dist/event-loop.js.map +1 -1
  14. package/dist/hello-thread.e2e.test.js +31 -0
  15. package/dist/hello-thread.e2e.test.js.map +1 -1
  16. package/dist/ingress.d.ts +1 -1
  17. package/dist/ingress.js +25 -17
  18. package/dist/ingress.js.map +1 -1
  19. package/dist/lock-routes.d.ts +13 -13
  20. package/dist/main.d.ts +2 -0
  21. package/dist/main.js +3 -1
  22. package/dist/main.js.map +1 -1
  23. package/dist/plugin/index.js +42 -9
  24. package/dist/plugin/index.js.map +1 -1
  25. package/dist/scheduler.d.ts +1 -1
  26. package/dist/session-events.d.ts +1 -1
  27. package/dist/sessions.d.ts +5 -5
  28. package/dist/sessions.js +3 -3
  29. package/dist/sessions.js.map +1 -1
  30. package/dist/slash-commands.js +1 -1
  31. package/dist/slash-commands.js.map +1 -1
  32. package/dist/system-prompt.d.ts +14 -0
  33. package/dist/system-prompt.js +34 -0
  34. package/dist/system-prompt.js.map +1 -1
  35. package/dist/test/harness.d.ts +2 -1
  36. package/dist/test/harness.js +2 -1
  37. package/dist/test/harness.js.map +1 -1
  38. package/dist/test/replay.js +1 -0
  39. package/dist/test/replay.js.map +1 -1
  40. package/dist/thread-reducer.d.ts +3 -0
  41. package/dist/thread-reducer.fixtures.test.js +2 -2
  42. package/dist/thread-reducer.fixtures.test.js.map +1 -1
  43. package/dist/thread-reducer.js +32 -4
  44. package/dist/thread-reducer.js.map +1 -1
  45. package/dist/thread-reducer.test.js +31 -0
  46. package/dist/thread-reducer.test.js.map +1 -1
  47. package/dist/tunnel.d.ts +12 -0
  48. package/dist/tunnel.js +207 -0
  49. package/dist/tunnel.js.map +1 -0
  50. package/dist/tunnel.test.d.ts +1 -0
  51. package/dist/tunnel.test.js +38 -0
  52. package/dist/tunnel.test.js.map +1 -0
  53. package/dist/voice-call.js +1 -1
  54. package/dist/voice-call.js.map +1 -1
  55. package/package.json +5 -5
  56. package/skills/kimaki-tunnel/SKILL.md +14 -10
  57. package/src/bot.ts +16 -4
  58. package/src/cli/bot.ts +12 -5
  59. package/src/cli-lock.e2e.test.ts +4 -2
  60. package/src/event-loop.ts +4 -1
  61. package/src/hello-thread.e2e.test.ts +35 -0
  62. package/src/ingress.ts +25 -16
  63. package/src/main.ts +6 -1
  64. package/src/message-tool.e2e.test.ts +45 -0
  65. package/src/plugin/index.ts +42 -9
  66. package/src/sessions.ts +3 -2
  67. package/src/slash-commands.ts +1 -1
  68. package/src/system-prompt.ts +38 -0
  69. package/src/test/harness.ts +3 -0
  70. package/src/test/replay.ts +1 -0
  71. package/src/thread-reducer.fixtures.test.ts +2 -2
  72. package/src/thread-reducer.test.ts +31 -0
  73. package/src/thread-reducer.ts +36 -4
  74. package/src/tunnel.test.ts +39 -0
  75. package/src/tunnel.ts +209 -0
  76. package/src/voice-call.ts +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnel.js","sourceRoot":"","sources":["../src/tunnel.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,8EAA8E;AAC9E,4EAA4E;AAC5E,wEAAwE;AAExE,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAA;AACvE,OAAO,GAAG,MAAM,UAAU,CAAA;AAC1B,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAC/D,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAA6B,MAAM,oBAAoB,CAAA;AAE1F,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;AAEzC,MAAM,UAAU,GAAG,wCAAwC,CAAA;AAC3D,MAAM,YAAY,GAAG,MAAM,CAAA;AAC3B,MAAM,iBAAiB,GAAG,MAAM,CAAA;AAChC,MAAM,mBAAmB,GAAG,KAAK,CAAA;AAEjC,sEAAsE;AACtE,MAAM,kBAAkB,GAAG,yEAAyE,CAAA;AACpG,MAAM,qBAAqB,GAAG,CAAC,sCAAsC,EAAE,yBAAyB,CAAC,CAAA;AAEjG,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,kEAAkE;IAClE,KAAK,MAAM,IAAI,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9D,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAAE,SAAQ;QACzE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACxD,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,MAAM;YAAE,OAAO,IAAI,CAAA;IAC9C,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAiD;IAClG,IAAI,IAAI;QAAE,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAA;IAChJ,MAAM,WAAW,GAAG,iBAAiB,EAAE,WAAW,EAAE,CAAA;IACpD,IAAI,WAAW,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;QAAE,OAAO,WAAW,CAAA;IACnE,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC9C,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAkC;IACjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1C,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QACjE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;IAClE,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAuD;IACpG,OAAO,CAAC,CAAC,MAAM,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,IAAI,KAAK,CAAC,yBAAyB,IAAI,IAAI,IAAI,wBAAwB,CAAC,CAAA;QACnG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAY;IACvC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IACxI,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAA;AACzF,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAkC;IAC7E,KAAK,MAAM,MAAM,IAAI,CAAC,SAAS,EAAE,SAAS,CAAU,EAAE,CAAC;QACrD,KAAK,MAAM,GAAG,IAAI,MAAM,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QAC5C,CAAC;QACD,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,MAAM,IAAI,GAAG,EAAE,CAAC;YACnD,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAAE,OAAM;YAChD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,QAAQ,IAAI,+BAA+B,CAAC,CAAA;AAC/D,CAAC;AAED,SAAS,oBAAoB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAgD;IAC3F,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,MAAM,MAAM,GAAG,CAAC,MAAsB,EAAE,EAAE;YACxC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACjC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACjC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACzB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC5C,OAAO,CAAC,MAAM,CAAC,CAAA;QACjB,CAAC,CAAA;QACD,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE;YAC/B,MAAM,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAA;YAClD,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;YACvC,IAAI,IAAI;gBAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QACxB,CAAC,CAAA;QACD,MAAM,MAAM,GAAG,CAAC,IAAmB,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,IAAI,+CAA+C,CAAC,CAAC,CAAA;QAC1I,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gDAAgD,YAAY,GAAG,IAAI,gBAAgB,CAAC,CAAC,CAAA;QAC5H,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC1B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAA+B,EAAE,SAAyB,SAAS;IACpF,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC5F,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAA;QACzF,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA,CAAC,CAAC,CAAC,CAAA;QAC5D,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACpB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAA;AAE/D,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAM/B;IACC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,WAAW,CAAA;IACxC,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAA;IACtG,IAAI,KAAK,YAAY,KAAK;QAAE,OAAO,KAAK,CAAA;IACxC,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI;QAAE,OAAO,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;IAE1E,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACpE,IAAI,MAAM,YAAY,KAAK;YAAE,OAAO,MAAM,CAAA;IAC5C,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,MAAM,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAChG,OAAO,IAAI,KAAK,CAAC,QAAQ,OAAO,CAAC,IAAI,iEAAiE,CAAC,CAAA;IACzG,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAA;IACjC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IACjE,IAAI,CAAC,QAAQ;QAAE,GAAG,CAAC,iGAAiG,CAAC,CAAA;IACrH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,wCAAwC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IACvI,IAAI,QAAQ,YAAY,KAAK;QAAE,OAAO,QAAQ,CAAA;IAC9C,MAAM,GAAG,GAAG,WAAW,KAAK,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAA;IAEnD,IAAI,KAA+B,CAAA;IACnC,IAAI,UAA4C,CAAA;IAChD,sFAAsF;IACtF,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAsB,EAAE,EAAE;QAChD,IAAI,QAAQ;YAAE,OAAM;QACpB,QAAQ,GAAG,IAAI,CAAA;QACf,GAAG,CAAC,kBAAkB,CAAC,CAAA;QACvB,MAAM,UAAU,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAChD,MAAM,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAA;IACD,KAAK,MAAM,MAAM,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAU;QAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;IAEhH,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;QACtC,KAAK,GAAG,KAAK,CAAC,GAAI,EAAE,IAAI,EAAE;YACxB,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;YAClC,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,iBAAiB,EAAE,GAAG;gBACtB,kEAAkE;gBAClE,WAAW,EAAE,GAAG;gBAChB,iGAAiG;gBACjG,8BAA8B,EAAE,MAAM;gBACtC,WAAW,EAAE,GAAG;gBAChB,QAAQ,EAAE,OAAO;gBACjB,uBAAuB,EAAE,GAAG;aAC7B;SACF,CAAC,CAAA;QACF,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAClC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAClC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,GAAG,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QACnG,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YAChC,IAAI,QAAQ;gBAAE,OAAM;YACpB,GAAG,CAAC,uBAAuB,MAAM,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAA;YACtD,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,EAAE,KAAY,EAAE,EAAE,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,CAAA,CAAC,CAAC,CAAA;IAE9F,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;IACvB,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IACpD,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;QAC1E,IAAI,QAAQ,YAAY,KAAK;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAA;QACpD,IAAI,GAAG,QAAQ,CAAA;IACjB,CAAC;IACD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC,CAAA;IAC/E,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;IACnE,IAAI,KAAK,YAAY,KAAK;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA;IAE9C,8FAA8F;IAC9F,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IACpF,MAAM,OAAO,GAAG,KAAK,CAAC,iBAAiB,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;IAC9D,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IAC1I,IAAI,QAAQ,YAAY,KAAK;QAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAA;IACpD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,4BAA4B,iBAAiB,GAAG,IAAI,4CAA4C,KAAK,EAAE,CAAC,CAAC,CAAA;IAC9I,UAAU,GAAG,QAAQ,CAAA;IAErB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,IAAI,IAAI,aAAa,GAAG,MAAM,CAAC,CAAA;IAE5E,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;gBAAE,GAAG,CAAC,wBAAwB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;YAC9E,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;gBAAE,GAAG,CAAC,kBAAkB,CAAC,CAAA;QACzD,CAAC;IACH,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IACtH,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAA;AACpD,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,38 @@
1
+ import { expect, test } from 'vitest';
2
+ import { detectPortFromText, routeName } from "./tunnel.js";
3
+ test('detects the dev server port and skips noise lines', () => {
4
+ const vite = '\u001b[33mPort 5173 is in use, trying another one...\u001b[39m\n ➜ Local: \u001b[36mhttp://localhost:\u001b[1m5174\u001b[22m/\u001b[39m\n';
5
+ expect({
6
+ vite: detectPortFromText(vite),
7
+ next: detectPortFromText(' - Local: http://127.0.0.1:3000'),
8
+ bare: detectPortFromText('Server running at 0.0.0.0:4321'),
9
+ inspector: detectPortFromText('Debugger listening on ws://127.0.0.1:9229/abc\nready on http://localhost:4173'),
10
+ outOfRange: detectPortFromText('listening on localhost:70000'),
11
+ portOnly: detectPortFromText('Port 5173 is in use'),
12
+ }).toMatchInlineSnapshot(`
13
+ {
14
+ "bare": 4321,
15
+ "inspector": 4173,
16
+ "next": 3000,
17
+ "outOfRange": null,
18
+ "portOnly": null,
19
+ "vite": 5174,
20
+ }
21
+ `);
22
+ });
23
+ test('route name: explicit, then tuistory session, then random', () => {
24
+ expect({
25
+ explicit: routeName({ name: 'docs', tuistorySessionId: 'abc123' }),
26
+ invalid: String(routeName({ name: 'Bad_Name' })),
27
+ tuistory: routeName({ tuistorySessionId: 'ABC123' }),
28
+ random: String(routeName({})).length,
29
+ }).toMatchInlineSnapshot(`
30
+ {
31
+ "explicit": "docs",
32
+ "invalid": "Error: Invalid tunnel ID "Bad_Name": use lowercase letters, digits and dashes",
33
+ "random": 16,
34
+ "tuistory": "abc123",
35
+ }
36
+ `);
37
+ });
38
+ //# sourceMappingURL=tunnel.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnel.test.js","sourceRoot":"","sources":["../src/tunnel.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE3D,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;IAC7D,MAAM,IAAI,GAAG,+IAA+I,CAAA;IAC5J,MAAM,CAAC;QACL,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC;QAC9B,IAAI,EAAE,kBAAkB,CAAC,0CAA0C,CAAC;QACpE,IAAI,EAAE,kBAAkB,CAAC,gCAAgC,CAAC;QAC1D,SAAS,EAAE,kBAAkB,CAAC,+EAA+E,CAAC;QAC9G,UAAU,EAAE,kBAAkB,CAAC,8BAA8B,CAAC;QAC9D,QAAQ,EAAE,kBAAkB,CAAC,qBAAqB,CAAC;KACpD,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;GASxB,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,0DAA0D,EAAE,GAAG,EAAE;IACpE,MAAM,CAAC;QACL,QAAQ,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC;QAClE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAChD,QAAQ,EAAE,SAAS,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC;QACpD,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;KACrC,CAAC,CAAC,qBAAqB,CAAC;;;;;;;GAOxB,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -309,7 +309,7 @@ export function createVoiceCalls({ opencodeConfigDir }) {
309
309
  const states = guild.voiceStates.cache.filter((state) => state.channelId === channelId && state.id !== bot.discord.user?.id);
310
310
  const users = new Map();
311
311
  for (const state of states.values()) {
312
- if (!(await canUseKimaki({ guild, userId: state.id })))
312
+ if (!(await canUseKimaki(bot, { guild, userId: state.id })))
313
313
  continue;
314
314
  const user = await bot.discord.users.fetch(state.id).catch(() => null);
315
315
  users.set(state.id, { id: state.id, username: user?.username ?? state.id });
@@ -1 +1 @@
1
- {"version":3,"file":"voice-call.js","sourceRoot":"","sources":["../src/voice-call.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"voice-call.js","sourceRoot":"","sources":["../src/voice-call.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kimaki",
3
- "version": "1.1.0",
3
+ "version": "1.3.0",
4
4
  "description": "A collaborative agent orchestrator for OpenCode, inside Discord",
5
5
  "repository": "https://github.com/remorses/kimaki",
6
6
  "type": "module",
@@ -20,6 +20,7 @@
20
20
  "@libsql/client": "^0.17.2",
21
21
  "@opencode/client": "2.0.29",
22
22
  "@opencode/plugin": "2.0.29",
23
+ "@opentunnel/client": "0.5.2",
23
24
  "@strada.sh/sdk": "^0.8.0",
24
25
  "cron-parser": "^5.5.0",
25
26
  "discord-api-types": "^0.38.40",
@@ -39,8 +40,7 @@
39
40
  "werift": "^0.25.0",
40
41
  "zod": "^4.4.3",
41
42
  "zustand": "^5.0.14",
42
- "errore": "^0.14.1",
43
- "traforo": "^0.7.2"
43
+ "errore": "^0.14.1"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@opencode/cli": "2.0.29",
@@ -52,8 +52,8 @@
52
52
  "typescript": "^5.9.2",
53
53
  "vitest": "^3.2.4",
54
54
  "ws": "^8.18.0",
55
- "opencode-deterministic-provider": "^0.0.1",
56
- "discord-digital-twin": "^0.1.2"
55
+ "discord-digital-twin": "^0.1.2",
56
+ "opencode-deterministic-provider": "^0.0.1"
57
57
  },
58
58
  "scripts": {
59
59
  "build": "tsc",
@@ -5,26 +5,30 @@ description: Share a local dev server with the user through a public URL. Use wh
5
5
 
6
6
  # Dev servers with tunnel access
7
7
 
8
- Localhost URLs are useless from Discord. Wrap the dev server in `kimaki tunnel` to get a public URL, and run it in a named background `tuistory` session so you can wait for output, read logs and stop it later. Name the session descriptively (e.g. `projectname-dev`) and reuse it. Run `tuistory --help` first (or `bunx tuistory` when it is not installed). Invoke `kimaki` directly, not via `npx` or `bunx`.
8
+ Localhost URLs are useless from Discord. Wrap the dev server in `kimaki tunnel` to get a public `https://<name>.<id>.opentunnel.xyz` URL, and run it in a named background `tuistory` session so you can wait for output, read logs and stop it later. Name the session descriptively (e.g. `projectname-dev`) and reuse it. Run `tuistory --help` first (or `bunx tuistory` when it is not installed). Invoke `kimaki` directly, not via `npx` or `bunx`.
9
9
 
10
- - Use random tunnel IDs by default. Pass `-t <id>` only for services that are safe to be publicly discoverable.
11
- - `kimaki tunnel` detects the local port from the child output. Pass `--port` only when the server prints no detectable localhost URL or port line.
12
- - `kimaki tunnel` injects `TRAFORO_URL` into the child process. Wire the app to it so OAuth callbacks, webhook URLs and absolute links use the public URL.
10
+ - Use random names by default. Pass `-t <name>` only for services that are safe to be publicly discoverable.
11
+ - `kimaki tunnel` detects the local port from the child output. Pass `--port` only when the server prints no detectable localhost URL.
12
+ - `kimaki tunnel` injects `KIMAKI_TUNNEL_URL` into the child process. Wire the app to it so OAuth callbacks, webhook URLs and absolute links use the public URL.
13
+ - TLS ends on this machine and the request reaches the app unchanged. Dev servers that check the `Host` header (Vite) must allow it, e.g. `server.allowedHosts: true` or `['.opentunnel.xyz']`.
14
+ - The first run on a machine creates the tunnel and waits up to a minute for its certificate.
13
15
 
14
16
  ```bash
15
17
  # start in a named background session, wait for output, then read the tunnel URL
16
18
  tuistory launch "kimaki tunnel -- pnpm dev" -s myapp-dev
17
- tuistory -s myapp-dev wait "/ready|local|tunnel/i" --timeout 30000
19
+ tuistory -s myapp-dev wait "/Tunnel: https/" --timeout 90000
18
20
  tuistory read -s myapp-dev
19
21
 
20
- # pass the public URL to the app (better-auth, Next.js, Vite; node reads process.env.TRAFORO_URL)
21
- tuistory launch "kimaki tunnel -- sh -c 'BETTER_AUTH_URL=$TRAFORO_URL exec pnpm dev'" -s myapp-dev
22
- tuistory launch "kimaki tunnel -- sh -c 'APP_URL=$TRAFORO_URL exec pnpm dev'" -s myapp-dev
23
- tuistory launch "kimaki tunnel -- sh -c 'VITE_BASE_URL=$TRAFORO_URL exec pnpm dev'" -s myapp-dev
22
+ # pass the public URL to the app (better-auth, Next.js, Vite; node reads process.env.KIMAKI_TUNNEL_URL)
23
+ tuistory launch "kimaki tunnel -- sh -c 'BETTER_AUTH_URL=\$KIMAKI_TUNNEL_URL exec pnpm dev'" -s myapp-dev
24
+ tuistory launch "kimaki tunnel -- sh -c 'APP_URL=\$KIMAKI_TUNNEL_URL exec pnpm dev'" -s myapp-dev
24
25
 
25
- # custom tunnel ID (only for intentionally public-safe services)
26
+ # fixed name (only for intentionally public-safe services)
26
27
  tuistory launch "kimaki tunnel -t holocron -- pnpm dev" -s holocron-dev
27
28
 
29
+ # restart the server on a known port and keep the URL
30
+ tuistory launch "kimaki tunnel -t holocron -p 5173 --kill -- pnpm dev --port 5173" -s holocron-dev
31
+
28
32
  # list sessions; stop with Ctrl+C, then close
29
33
  tuistory sessions
30
34
  tuistory -s myapp-dev press ctrl c
package/src/bot.ts CHANGED
@@ -65,8 +65,12 @@ export type Bot = {
65
65
  realtimeBaseUrls: RealtimeBaseUrls
66
66
  // Default for channels without a channel_worktrees row.
67
67
  autoWorktrees: boolean
68
+ // --allow-all-users: every guild member can use the bot (canUseKimaki). Admin-only commands stay admin-only.
69
+ allowAllUsers: boolean
68
70
  // Built-in skill ids (builtin-skills.ts) denied through the permissions of new sessions.
69
71
  disabledSkills: readonly string[]
72
+ // `kimaki --message-tool`: root sessions also reply through send_message; Discord hides their plain text.
73
+ messageTool: boolean
70
74
  features: BotFeatures
71
75
  }
72
76
 
@@ -132,6 +136,7 @@ export type SessionMarker = {
132
136
  fields: { readonly [key: string]: JsonValue }
133
137
  dataDir: string | null
134
138
  lockPort: number | null
139
+ messageTool: boolean
135
140
  // Explicit `kimaki send --parent-session`, so /resume keeps the instruction line.
136
141
  parentSessionId: string | null
137
142
  // The scheduled run stored at session.create, so /resume keeps the same instruction section.
@@ -145,7 +150,7 @@ function jsonObject(value: JsonValue | undefined): { readonly [key: string]: Jso
145
150
  export function readMarker(metadata: SessionMetadata | undefined): SessionMarker | null {
146
151
  const fields = jsonObject(metadata?.['kimaki'])
147
152
  if (!fields) return null
148
- const { dataDir, lockPort, parentSessionId } = fields
153
+ const { dataDir, lockPort, messageTool, parentSessionId } = fields
149
154
  const task = jsonObject(fields['task'])
150
155
  const taskId = task?.['id']
151
156
  const cronExpr = task?.['cronExpr']
@@ -154,6 +159,7 @@ export function readMarker(metadata: SessionMetadata | undefined): SessionMarker
154
159
  fields,
155
160
  dataDir: typeof dataDir === 'string' ? dataDir : null,
156
161
  lockPort: typeof lockPort === 'number' ? lockPort : null,
162
+ messageTool: messageTool === true,
157
163
  parentSessionId: typeof parentSessionId === 'string' ? parentSessionId : null,
158
164
  task: typeof taskId === 'number'
159
165
  ? { id: taskId, cronExpr: typeof cronExpr === 'string' ? cronExpr : null, timezone: typeof timezone === 'string' ? timezone : null }
@@ -161,9 +167,15 @@ export function readMarker(metadata: SessionMetadata | undefined): SessionMarker
161
167
  }
162
168
  }
163
169
 
164
- // The marker fields that point the agent's `kimaki` calls at this bot.
165
- export function cliContext(bot: Bot) {
166
- return { dataDir: bot.dataDir, lockPort: bot.lockPort }
170
+ // The marker fields that follow this bot run: where the agent's `kimaki` calls
171
+ // go, and whether the plugin gives the session send_message.
172
+ export function cliContext(bot: Pick<Bot, 'dataDir' | 'lockPort' | 'messageTool'>) {
173
+ return { dataDir: bot.dataDir, lockPort: bot.lockPort, messageTool: bot.messageTool }
174
+ }
175
+
176
+ // False when the session marker was written by another bot run or with another --message-tool.
177
+ export function markerIsCurrent(bot: Pick<Bot, 'dataDir' | 'lockPort' | 'messageTool'>, marker: SessionMarker): boolean {
178
+ return marker.dataDir === bot.dataDir && marker.lockPort === bot.lockPort && marker.messageTool === bot.messageTool
167
179
  }
168
180
 
169
181
  // Default model of new sessions in channels without their own (/model "All channels").
package/src/cli/bot.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  // Bot lifecycle and setup: the root command (start + onboarding), provider
2
2
  // login, tools (tunnel, tts), and bot status, logs, credentials and keys.
3
- // main.ts, onboarding.ts, traforo, SQLite and voice are loaded only by the
3
+ // main.ts, onboarding.ts, tunnel.ts, SQLite and voice are loaded only by the
4
4
  // commands that run them (see the note in shared.ts).
5
5
 
6
6
  import { spawn, type ChildProcess } from 'node:child_process'
@@ -88,6 +88,8 @@ export function registerStartCommand(cli: Goke) {
88
88
  .option('--machine-name <name>', 'Name in this machine\'s category "Kimaki <name>" (default: hostname)')
89
89
  .option('--restart-onboarding', 'Choose credentials again')
90
90
  .option('--worktrees', 'Use a fresh Git worktree for new sessions unless the channel overrides it')
91
+ .option('--allow-all-users', 'Every server member can use the bot (role "no-kimaki" still denies; provider login stays admin-only)')
92
+ .option('--message-tool', 'Discord shows only a concise reply the agent sends with a send_message tool; plain text stays visible in the OpenCode TUI')
91
93
  .option('--voice <name>', 'Voice of voice calls, saved for later starts (e.g. cove, juniper, sol). "default" resets it')
92
94
  .option('--disable-skills <list>', 'Built-in Kimaki skills to turn off: "all" or a comma separated list (kimaki-debug,kimaki-tunnel)')
93
95
  .option('--no-analytics', 'Disable anonymous usage analytics (same as KIMAKI_STRADA_ENABLED=0)')
@@ -216,7 +218,9 @@ export function registerStartCommand(cli: Goke) {
216
218
  opencodeDbFile: opencodeDbFile(),
217
219
  analytics: createAnalytics({ dataDir, botMode: credentials.mode, enabled: !options.noAnalytics }),
218
220
  autoWorktrees: Boolean(options.worktrees),
221
+ allowAllUsers: Boolean(options.allowAllUsers),
219
222
  disabledSkills,
223
+ messageTool: Boolean(options.messageTool),
220
224
  })
221
225
  if (bot instanceof Error) failStartup(bot)
222
226
  // exit() keeps process.exitCode: the restart route sets RESTART_EXIT_CODE before its SIGTERM.
@@ -244,7 +248,9 @@ export function registerStartCommand(cli: Goke) {
244
248
  if (lock.port === DEFAULT_LOCK_PORT) {
245
249
  const autostart = await writeAutostartScript({ dataDir, args: [
246
250
  ...(options.worktrees ? ['--worktrees'] : []),
251
+ ...(options.allowAllUsers ? ['--allow-all-users'] : []),
247
252
  ...(options.disableSkills ? ['--disable-skills', options.disableSkills] : []),
253
+ ...(options.messageTool ? ['--message-tool'] : []),
248
254
  ...(options.noAnalytics ? ['--no-analytics'] : []),
249
255
  ...(options.machineName ? ['--machine-name', options.machineName] : []),
250
256
  ] })
@@ -280,9 +286,9 @@ export function registerLoginCommands(cli: Goke) {
280
286
 
281
287
  // tunnel, tts
282
288
  export function registerToolCommands(cli: Goke) {
283
- cli.command('tunnel', 'Run a command and expose its local port with a public URL. The child gets TRAFORO_URL')
289
+ cli.command('tunnel', 'Run a command and expose its local port with a public opentunnel.xyz URL. The child gets KIMAKI_TUNNEL_URL')
284
290
  .option('-p, --port <port>', 'Local port (default: read from the command output)')
285
- .option('-t, --tunnel-id <id>', 'Fixed tunnel ID (default: random). Only for public-safe services')
291
+ .option('-t, --tunnel-id <id>', 'Fixed subdomain (default: random). Only for public-safe services')
286
292
  .option('--host <host>', 'Local host (default: localhost)')
287
293
  .option('-k, --kill', 'Kill the process on --port first')
288
294
  .example('kimaki tunnel -- pnpm dev')
@@ -291,8 +297,9 @@ export function registerToolCommands(cli: Goke) {
291
297
  const port = options.port ? Number(options.port) : undefined
292
298
  if (port !== undefined && (!Number.isInteger(port) || port < 1 || port > 65_535)) fail(new Error(`Invalid --port ${options.port}`))
293
299
  if (!port && command.length === 0) fail(new Error('Pass a command after --, or --port <port>. Example: kimaki tunnel -- pnpm dev'))
294
- const { runTunnel } = await import('traforo/run-tunnel')
295
- await runTunnel({ port, command: command.length > 0 ? command : undefined, tunnelId: options.tunnelId, localHost: options.host, baseDomain: 'kimaki.dev', kill: options.kill })
300
+ const { runTunnel } = await import('../tunnel.ts')
301
+ const result = await runTunnel({ port, command: command.length > 0 ? command : undefined, name: options.tunnelId, host: options.host, kill: options.kill })
302
+ if (result instanceof Error) fail(result)
296
303
  })
297
304
 
298
305
  cli.command('tts [text]', 'Text to speech with OpenAI or Gemini. Reads stdin if no text is given')
@@ -321,9 +321,9 @@ test('CLI help documents the supported P7 commands', async () => {
321
321
  -c, --channel <id> Kimaki voice channel to post in (default in voice calls: KIMAKI_CHANNEL_ID)
322
322
 
323
323
  Tools:
324
- tunnel Run a command and expose its local port with a public URL. The child gets TRAFORO_URL
324
+ tunnel Run a command and expose its local port with a public opentunnel.xyz URL. The child gets KIMAKI_TUNNEL_URL
325
325
  -p, --port <port> Local port (default: read from the command output)
326
- -t, --tunnel-id <id> Fixed tunnel ID (default: random). Only for public-safe services
326
+ -t, --tunnel-id <id> Fixed subdomain (default: random). Only for public-safe services
327
327
  --host <host> Local host (default: localhost)
328
328
  -k, --kill Kill the process on --port first
329
329
 
@@ -375,6 +375,8 @@ test('CLI help documents the supported P7 commands', async () => {
375
375
  --machine-name <name> Name in this machine's category "Kimaki <name>" (default: hostname)
376
376
  --restart-onboarding Choose credentials again
377
377
  --worktrees Use a fresh Git worktree for new sessions unless the channel overrides it
378
+ --allow-all-users Every server member can use the bot (role "no-kimaki" still denies; provider login stays admin-only)
379
+ --message-tool Discord shows only a concise reply the agent sends with a send_message tool; plain text stays visible in the OpenCode TUI
378
380
  --voice <name> Voice of voice calls, saved for later starts (e.g. cove, juniper, sol). "default" resets it
379
381
  --disable-skills <list> Built-in Kimaki skills to turn off: "all" or a comma separated list (kimaki-debug,kimaki-tunnel)
380
382
  --no-analytics Disable anonymous usage analytics (same as KIMAKI_STRADA_ENABLED=0)
package/src/event-loop.ts CHANGED
@@ -67,6 +67,7 @@ export function createEventLoop({
67
67
  effects,
68
68
  recorder,
69
69
  analytics,
70
+ messageTool,
70
71
  onRunEnded,
71
72
  onTranscriptDue,
72
73
  }: {
@@ -76,6 +77,8 @@ export function createEventLoop({
76
77
  effects: EffectsRunner
77
78
  recorder: EventRecorder
78
79
  analytics: Analytics
80
+ // `kimaki --message-tool`: plain text of root sessions stays hidden (Prefs.messageTool).
81
+ messageTool: boolean
79
82
  // Every finished or failed run of a thread's root session (voice call notifications).
80
83
  onRunEnded: (run: RunEnded) => void
81
84
  // A root session stopped running (also after an interrupt): its transcript file is stale.
@@ -122,7 +125,7 @@ export function createEventLoop({
122
125
  if (!view) return
123
126
  const verbosity = state.verbosity[view.channelId] ?? verbosityFromV1(null)
124
127
  const contextLimits = modelLimits.get(view.directory)?.limits ?? {}
125
- const result = reduce({ view, event, prefs: { verbosity, contextLimits } })
128
+ const result = reduce({ view, event, prefs: { verbosity, contextLimits, messageTool } })
126
129
  if (result.view !== view) store.setState((current) => ({ threads: { ...current.threads, [threadId]: result.view } }))
127
130
  effects.run(threadId, result.effects)
128
131
  if (event.type === 'session.moved' && event.data.sessionID === view.sessionId) void loadModelLimits(event.data.location.directory)
@@ -177,6 +177,41 @@ test('message from a user without permission creates no thread', async () => {
177
177
  await expectNoNewThread({ channelId, before })
178
178
  })
179
179
 
180
+ test('another bot needs the Kimaki role, and no-kimaki still denies it', async () => {
181
+ const { discord, channelId } = twin
182
+ const helperBotId = '200000000000000050'
183
+ const guildId = discord.guildId
184
+ await discord.prisma.user.create({ data: { id: helperBotId, username: 'helper-bot', bot: true } })
185
+ await discord.prisma.guildMember.create({ data: { guildId, userId: helperBotId } })
186
+ const member = { guildId_userId: { guildId, userId: helperBotId } }
187
+ const helper = discord.channel(channelId).user(helperBotId)
188
+
189
+ const before = (await discord.channel(channelId).getThreads()).length
190
+ await helper.sendMessage({ content: 'no role bot-marker hello-marker' })
191
+ await expectNoNewThread({ channelId, before })
192
+
193
+ const guild = await bot.discord.guilds.fetch(guildId)
194
+ const kimakiRole = await guild.roles.create({ name: 'Kimaki' })
195
+ const denyRole = await guild.roles.create({ name: 'no-kimaki' })
196
+ await discord.prisma.guildMember.update({ where: member, data: { roles: JSON.stringify([kimakiRole.id]) } })
197
+ await helper.sendMessage({ content: 'with role bot-marker hello-marker' })
198
+ const thread = await discord.channel(channelId).waitForThread({ predicate: (thread) => thread.name?.startsWith('with role bot-marker') ?? false })
199
+ await waitForFooter({ discord, threadId: thread.id })
200
+ expect(await discord.thread(thread.id).text()).toMatchInlineSnapshot(`
201
+ "--- from: assistant (helper-bot)
202
+ with role bot-marker hello-marker
203
+ --- from: assistant (TestBot)
204
+ -# *using deterministic-provider/deterministic-v2 ⋅ build*
205
+ Hello from the deterministic model.
206
+ -# *project ⋅ main ⋅ Ns ⋅ N% ⋅ deterministic-v2*"
207
+ `)
208
+
209
+ const withRole = (await discord.channel(channelId).getThreads()).length
210
+ await discord.prisma.guildMember.update({ where: member, data: { roles: JSON.stringify([kimakiRole.id, denyRole.id]) } })
211
+ await helper.sendMessage({ content: 'denied bot-marker hello-marker' })
212
+ await expectNoNewThread({ channelId, before: withRole })
213
+ })
214
+
180
215
  test('message in a channel without a project creates no thread', async () => {
181
216
  const { discord, unregisteredChannelId } = twin
182
217
  await discord.channel(unregisteredChannelId).user(TEST_USER_ID).sendMessage({ content: 'hello-marker' })