@cotal-ai/cli 0.4.0 → 0.6.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 (62) hide show
  1. package/dist/command.d.ts.map +1 -1
  2. package/dist/command.js +3 -2
  3. package/dist/command.js.map +1 -1
  4. package/dist/commands/completion.d.ts +1 -1
  5. package/dist/commands/completion.d.ts.map +1 -1
  6. package/dist/commands/completion.js +84 -8
  7. package/dist/commands/completion.js.map +1 -1
  8. package/dist/commands/down.d.ts +1 -1
  9. package/dist/commands/down.d.ts.map +1 -1
  10. package/dist/commands/down.js +6 -1
  11. package/dist/commands/down.js.map +1 -1
  12. package/dist/commands/mint.d.ts +4 -1
  13. package/dist/commands/mint.d.ts.map +1 -1
  14. package/dist/commands/mint.js +26 -3
  15. package/dist/commands/mint.js.map +1 -1
  16. package/dist/commands/personas.d.ts.map +1 -1
  17. package/dist/commands/personas.js +77 -7
  18. package/dist/commands/personas.js.map +1 -1
  19. package/dist/commands/send.d.ts +9 -6
  20. package/dist/commands/send.d.ts.map +1 -1
  21. package/dist/commands/send.js +58 -56
  22. package/dist/commands/send.js.map +1 -1
  23. package/dist/commands/setup.d.ts.map +1 -1
  24. package/dist/commands/setup.js +51 -18
  25. package/dist/commands/setup.js.map +1 -1
  26. package/dist/commands/spawn.d.ts.map +1 -1
  27. package/dist/commands/spawn.js +14 -8
  28. package/dist/commands/spawn.js.map +1 -1
  29. package/dist/commands/up.d.ts.map +1 -1
  30. package/dist/commands/up.js +22 -2
  31. package/dist/commands/up.js.map +1 -1
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +14 -42
  34. package/dist/index.js.map +1 -1
  35. package/dist/lib/delivery-proc.d.ts +35 -0
  36. package/dist/lib/delivery-proc.d.ts.map +1 -0
  37. package/dist/lib/delivery-proc.js +128 -0
  38. package/dist/lib/delivery-proc.js.map +1 -0
  39. package/dist/lib/manager-proc.d.ts +11 -2
  40. package/dist/lib/manager-proc.d.ts.map +1 -1
  41. package/dist/lib/manager-proc.js +43 -3
  42. package/dist/lib/manager-proc.js.map +1 -1
  43. package/dist/lib/personas.d.ts +8 -0
  44. package/dist/lib/personas.d.ts.map +1 -1
  45. package/dist/lib/personas.js +31 -0
  46. package/dist/lib/personas.js.map +1 -1
  47. package/dist/lib/transient.d.ts +27 -0
  48. package/dist/lib/transient.d.ts.map +1 -0
  49. package/dist/lib/transient.js +48 -0
  50. package/dist/lib/transient.js.map +1 -0
  51. package/dist/render.js +1 -1
  52. package/dist/web/app.js +143 -44
  53. package/dist/web/index.html +45 -1
  54. package/package.json +2 -2
  55. package/dist/commands/signer.d.ts +0 -6
  56. package/dist/commands/signer.d.ts.map +0 -1
  57. package/dist/commands/signer.js +0 -30
  58. package/dist/commands/signer.js.map +0 -1
  59. package/dist/commands/watch.d.ts +0 -4
  60. package/dist/commands/watch.d.ts.map +0 -1
  61. package/dist/commands/watch.js +0 -7
  62. package/dist/commands/watch.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"up.js","sourceRoot":"","sources":["../../src/commands/up.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EACL,SAAS,EACT,aAAa,EACb,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,GACV,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EACL,WAAW,EACX,cAAc,EACd,OAAO,EACP,eAAe,EACf,aAAa,EACb,aAAa,EACb,YAAY,EACZ,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,mBAAmB,GAGpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAc;IACrC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC3B,IAAI,EAAE,IAAI;QACV,gBAAgB,EAAE,IAAI;QACtB,OAAO,EAAE;YACP,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,sCAAsC;YACjE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,gDAAgD;YAC9E,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,4DAA4D;YACzF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,2EAA2E;SACtG;KACF,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,cAAc,CAAC;IAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC;IACxC,IAAI,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC;YAC9C,MAAM;YACN,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC;YAC7B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI;SACL,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,wBAAwB,MAAM,IAAI,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,yCAAyC,GAAG,2BAA2B,CAAC,CAAC,CAAC;QAC9F,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxF,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAClD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvG,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAElD,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,GAAG,CACH,oCAAoC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,KAAK,MAAM,cAAc,QAAQ,WAAW,IAAI,EAAE,CAC5H,CACF,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACrD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACxB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,gCAAgC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC5B,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAEpD,IAAI,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QAC1C,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,IAAI,OAAO,CAAO,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACpC,CAAC;AAaD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAmB,EAAE;IAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,cAAc,CAAC;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5E,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAClD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvG,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAElD,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9E,SAAS,CAAC,EAAE,CAAC,CAAC;IACd,KAAK,CAAC,KAAK,EAAE,CAAC;IAEd,IAAI,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,MAAM;QAAE,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAE9E,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACpD,OAAO,GAAG,KAAK,CAAC;IAChB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,2CAA2C,MAAM,UAAU,OAAO,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAChD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;AACjD,CAAC;AAED,0FAA0F;AAC1F,SAAS,SAAS,CAAC,IAAY,EAAE,IAAY,EAAE,MAA2B,EAAE,OAAsB;IAChG,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,IAAI,OAAO,EAAE;YAAE,OAAO;QACtB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YACjC,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC;gBAClB,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;gBACxC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACzC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACd,MAAM,GAAG,IAAI,CAAC;gBACd,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;oBAAE,IAAI,IAAI,CAAC,IAAI,EAAE;wBAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2DAA2D;QAC7D,CAAC;QACD,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxB,CAAC,CAAC;IACF,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,MAAc,EAAE,KAAc;IACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,MAAM,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1E,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;wCAKwC;AACxC,KAAK,UAAU,SAAS,CACtB,MAAc,EACd,KAAa,EACb,KAAyB,EACzB,QAA8B;IAE9B,MAAM,iBAAiB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACzE,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,mBAAmB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7F,CAAC;AACH,CAAC;AAED;;0BAE0B;AAC1B,SAAS,gBAAgB,CAAC,QAAiB;IACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACvE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAwB,CAAC;AACvE,CAAC;AAED;;gGAEgG;AAChG,KAAK,UAAU,SAAS,CACtB,QAAgB,EAChB,MAAc,EACd,KAAa,EACb,OAAe,WAAW;IAE1B,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACjC,IAAI,IAAI,GAA0B,aAAa,CAAC,GAAG,CAAC,CAAC;IACrD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC;QACpC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC7C,aAAa,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,wBAAwB;IACvF,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"up.js","sourceRoot":"","sources":["../../src/commands/up.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA0LA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA8JA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -3,7 +3,6 @@ import { up } from "./commands/up.js";
3
3
  import { down } from "./commands/down.js";
4
4
  import { setup, go } from "./commands/setup.js";
5
5
  import { join } from "./commands/join.js";
6
- import { watch } from "./commands/watch.js";
7
6
  import { console_ } from "./commands/console.js";
8
7
  import { demo } from "./commands/demo.js";
9
8
  import { web } from "./commands/web.js";
@@ -11,12 +10,11 @@ import { spawn, spawnComplete } from "./commands/spawn.js";
11
10
  import { personas, personasComplete } from "./commands/personas.js";
12
11
  import { completion, completionComplete, complete } from "./commands/completion.js";
13
12
  import { mint } from "./commands/mint.js";
14
- import { signer } from "./commands/signer.js";
15
13
  import { channels } from "./commands/channels.js";
16
14
  import { history } from "./commands/history.js";
17
15
  import { feedback } from "./commands/feedback.js";
18
- import { dm, msg, ask } from "./commands/send.js";
19
- /** The minimal mesh CLI: thin NATS clients (up/join/watch), plus `spawn` — a
16
+ import { send, sendComplete } from "./commands/send.js";
17
+ /** The minimal mesh CLI: thin NATS clients (up/join/console), plus `spawn` — a
20
18
  * foreground agent launch that reuses the connector's launch recipe. Self-registers
21
19
  * on import; heavier surfaces (the manager's control plane) register the same way
22
20
  * and are composed at a root. */
@@ -58,34 +56,12 @@ const baseCommands = [
58
56
  },
59
57
  {
60
58
  kind: "command",
61
- name: "watch",
59
+ name: "send",
62
60
  group: "Mesh",
63
- summary: "observe all activity in a space --space <s>",
64
- run: watch,
65
- },
66
- {
67
- kind: "command",
68
- name: "dm",
69
- group: "Mesh",
70
- summary: "direct-message a peer by name",
71
- usage: 'dm <agent> "<text>" [--space <s>] [--server <url>] [--creds <path>]',
72
- run: dm,
73
- },
74
- {
75
- kind: "command",
76
- name: "msg",
77
- group: "Mesh",
78
- summary: "broadcast a message to a channel",
79
- usage: 'msg <channel> "<text>" [--space <s>] [--server <url>] [--creds <path>]',
80
- run: msg,
81
- },
82
- {
83
- kind: "command",
84
- name: "ask",
85
- group: "Mesh",
86
- summary: "anycast a message to a role (one instance answers)",
87
- usage: 'ask <role> "<text>" [--space <s>] [--server <url>] [--creds <path>]',
88
- run: ask,
61
+ summary: "send one message, then exitsend <dm <agent> | msg <channel> | ask <role>> \"<text>\"",
62
+ usage: 'send <dm <agent> | msg <channel> | ask <role>> "<text>" [--space <s>] [--server <url>] [--creds <path>]',
63
+ run: send,
64
+ complete: sendComplete,
89
65
  },
90
66
  {
91
67
  kind: "command",
@@ -98,6 +74,9 @@ const baseCommands = [
98
74
  kind: "command",
99
75
  name: "demo",
100
76
  group: "Mesh",
77
+ // A dev/test traffic generator (see docs/protocol-view.md) — runnable, but kept off the
78
+ // top-level help so it doesn't clutter the user-facing surface.
79
+ hidden: true,
101
80
  summary: "replay a scripted multi-agent trace (all message types) to exercise the console/web — --space <s> [--interval <ms>] [--once]",
102
81
  run: demo,
103
82
  },
@@ -112,7 +91,7 @@ const baseCommands = [
112
91
  kind: "command",
113
92
  name: "spawn",
114
93
  group: "Agents",
115
- summary: "launch an agent in this terminal from a file — spawn <name-or-path> | --name <n> --config <path> [--agent <a>] [--role <r>]",
94
+ summary: "launch an agent in this terminal from a file — spawn [<name-or-path>] (defaults to the `default` persona) | --name <n> --config <path> [--agent <a>] [--role <r>]",
116
95
  run: spawn,
117
96
  complete: spawnComplete,
118
97
  },
@@ -120,7 +99,7 @@ const baseCommands = [
120
99
  kind: "command",
121
100
  name: "personas",
122
101
  group: "Agents",
123
- summary: "list/manage local personas (.cotal/agents) — personas <list [-v] | show <name> | new <name> (--prompt <t>|--from <f>) [--role <r>] [--model <m>] | rm <name> --force>",
102
+ summary: "list/manage local personas (.cotal/agents) — personas <list [-v] [--running] | show <name> | edit <name> | new <name> (--prompt <t>|--from <f>) [--role <r>] [--model <m>] | rm <name> --force>",
124
103
  run: personas,
125
104
  complete: personasComplete,
126
105
  },
@@ -128,7 +107,7 @@ const baseCommands = [
128
107
  kind: "command",
129
108
  name: "completion",
130
109
  group: "Agents",
131
- summary: "print a shell-completion script — completion <bash|zsh|fish|powershell>",
110
+ summary: "shell completion — completion <bash|zsh|fish|powershell | install [shell]>",
132
111
  run: completion,
133
112
  complete: completionComplete,
134
113
  },
@@ -143,16 +122,9 @@ const baseCommands = [
143
122
  kind: "command",
144
123
  name: "mint",
145
124
  group: "Mesh",
146
- summary: "mint a creds file for a space (auth mode) — mint <name> --profile <agent|observer> [--out <path>]",
125
+ summary: "mint a creds file for a space (auth mode) — mint <name> --profile <agent|observer> [--out <path>]; --signer emits a stripped account-signing file (no operator key) for a containerized manager",
147
126
  run: mint,
148
127
  },
149
- {
150
- kind: "command",
151
- name: "signer",
152
- group: "Mesh",
153
- summary: "emit a stripped signer file (account signing material only, no operator key) for a containerized manager — [--out <path>] [--force]",
154
- run: signer,
155
- },
156
128
  {
157
129
  kind: "command",
158
130
  name: "channels",
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ type Opts = {
2
+ space?: string;
3
+ server?: string;
4
+ spawn?: string[];
5
+ };
6
+ /** True if the delivery daemon we started for this folder is still running (pid file + liveness). */
7
+ export declare function deliveryUp(): boolean;
8
+ /** Cutover preflight — the FIRST action, BEFORE the daemon can bind: stop any old Plane-3-hosting
9
+ * manager (live `manager.pid` without the delivery-aware marker) so it never double-binds the
10
+ * daemon's durables. A delivery-aware (this-build) manager is left running. No-op on a fresh install. */
11
+ export declare function stopOldHostingManagerIfPresent(): void;
12
+ /** Start the delivery daemon detached (pid in `.cotal/delivery.pid`, output to `.cotal/delivery.log`),
13
+ * stopped by `cotal down`. Re-execs this CLI's `deliver` command; the daemon loads the pre-minted
14
+ * scoped `delivery.creds` (written by {@link ensureDelivery}) — it never sees the signer. */
15
+ export declare function startDeliveryDetached(o?: Opts): number;
16
+ /** Make the server-side delivery daemon available (auth mode only). FAILS CLOSED: refuses to launch
17
+ * while an old Plane-3-hosting manager is live (the preflight should have stopped it) so the daemon
18
+ * never double-binds. Mints a SCOPED `delivery` cred from the local signer ONCE, writes it to
19
+ * `.cotal/delivery.creds` (0600), and launches the daemon WITHOUT signer access. Best-effort — callers
20
+ * treat it as non-fatal (a missing daemon degrades durable delivery, never live). */
21
+ export declare function ensureDelivery(o?: Opts): Promise<{
22
+ running: boolean;
23
+ }>;
24
+ /** Stop the detached delivery daemon if we started one, and drop its creds file. */
25
+ export declare function stopDelivery(): void;
26
+ /** Bring up the control plane in the correct cutover order: OLD-manager preflight → delivery daemon
27
+ * (auth only, fails closed on a live old manager) → manager (lifecycle, writes the delivery-aware
28
+ * marker). The manager no longer depends on the daemon (it hosts no Plane-3), so the daemon is started
29
+ * first only to close the old-manager double-bind window and so freshly-spawned agents find the
30
+ * `ctl.delivery` responder for their boot self-join (a miss honest-degrades to live-only). */
31
+ export declare function ensureControlPlane(o?: Opts): Promise<{
32
+ running: boolean;
33
+ }>;
34
+ export {};
35
+ //# sourceMappingURL=delivery-proc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery-proc.d.ts","sourceRoot":"","sources":["../../src/lib/delivery-proc.ts"],"names":[],"mappings":"AAmBA,KAAK,IAAI,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAWlE,qGAAqG;AACrG,wBAAgB,UAAU,IAAI,OAAO,CAKpC;AAeD;;0GAE0G;AAC1G,wBAAgB,8BAA8B,IAAI,IAAI,CAKrD;AAED;;8FAE8F;AAC9F,wBAAgB,qBAAqB,CAAC,CAAC,GAAE,IAAS,GAAG,MAAM,CAgB1D;AAED;;;;sFAIsF;AACtF,wBAAsB,cAAc,CAAC,CAAC,GAAE,IAAS,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CA6BhF;AAED,oFAAoF;AACpF,wBAAgB,YAAY,IAAI,IAAI,CAanC;AAED;;;;+FAI+F;AAC/F,wBAAsB,kBAAkB,CAAC,CAAC,GAAE,IAAS,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAIpF"}
@@ -0,0 +1,128 @@
1
+ import { spawn } from "node:child_process";
2
+ import { existsSync, openSync, closeSync, writeFileSync, readFileSync, rmSync } from "node:fs";
3
+ import { DEFAULT_SERVER, authDir, findCotalRoot, loadSpaceAuth, mintCreds, newIdentity, waitForDeliveryLease, } from "@cotal-ai/core";
4
+ import { selfArgv } from "./self-exec.js";
5
+ import { resolveSpace } from "./status.js";
6
+ import { cotalPath } from "./paths.js";
7
+ import { ensureManager, managerHasDeliveryMarker, managerUp, stopManager } from "./manager-proc.js";
8
+ const PID_PATH = () => cotalPath("delivery.pid");
9
+ const CREDS_PATH = () => cotalPath("delivery.creds");
10
+ function alive(pid) {
11
+ try {
12
+ process.kill(pid, 0);
13
+ return true;
14
+ }
15
+ catch {
16
+ return false;
17
+ }
18
+ }
19
+ /** True if the delivery daemon we started for this folder is still running (pid file + liveness). */
20
+ export function deliveryUp() {
21
+ const p = PID_PATH();
22
+ if (!existsSync(p))
23
+ return false;
24
+ const pid = Number(readFileSync(p, "utf8").trim());
25
+ return Number.isFinite(pid) && alive(pid);
26
+ }
27
+ /** True when this folder runs an authed mesh — the only mode with a delivery daemon (Plane-3 needs the
28
+ * trusted reader; open dev mode is live-only). */
29
+ function hasAuth() {
30
+ return Boolean(loadSpaceAuth(authDir(findCotalRoot())));
31
+ }
32
+ /** True if an OLD (pre-delivery-daemon) Plane-3-hosting manager is live: a `manager.pid` that is alive
33
+ * but carries no delivery-aware marker. Such a manager still calls `startPlane3` and would double-bind
34
+ * `fanout`/`reader` against the new daemon. */
35
+ function oldHostingManagerLive() {
36
+ return managerUp() && !managerHasDeliveryMarker();
37
+ }
38
+ /** Cutover preflight — the FIRST action, BEFORE the daemon can bind: stop any old Plane-3-hosting
39
+ * manager (live `manager.pid` without the delivery-aware marker) so it never double-binds the
40
+ * daemon's durables. A delivery-aware (this-build) manager is left running. No-op on a fresh install. */
41
+ export function stopOldHostingManagerIfPresent() {
42
+ if (oldHostingManagerLive()) {
43
+ console.error("• stopping an old Plane-3-hosting manager before starting the delivery daemon (cutover preflight)");
44
+ stopManager();
45
+ }
46
+ }
47
+ /** Start the delivery daemon detached (pid in `.cotal/delivery.pid`, output to `.cotal/delivery.log`),
48
+ * stopped by `cotal down`. Re-execs this CLI's `deliver` command; the daemon loads the pre-minted
49
+ * scoped `delivery.creds` (written by {@link ensureDelivery}) — it never sees the signer. */
50
+ export function startDeliveryDetached(o = {}) {
51
+ const fd = openSync(cotalPath("delivery.log"), "a");
52
+ const [node, ...self] = selfArgv();
53
+ const args = [
54
+ ...self,
55
+ "deliver",
56
+ "--space",
57
+ o.space ?? resolveSpace(process.cwd()),
58
+ "--server",
59
+ o.server ?? DEFAULT_SERVER,
60
+ ];
61
+ const child = spawn(node, args, { detached: true, stdio: ["ignore", fd, fd] });
62
+ closeSync(fd);
63
+ child.unref();
64
+ writeFileSync(PID_PATH(), String(child.pid));
65
+ return child.pid ?? 0;
66
+ }
67
+ /** Make the server-side delivery daemon available (auth mode only). FAILS CLOSED: refuses to launch
68
+ * while an old Plane-3-hosting manager is live (the preflight should have stopped it) so the daemon
69
+ * never double-binds. Mints a SCOPED `delivery` cred from the local signer ONCE, writes it to
70
+ * `.cotal/delivery.creds` (0600), and launches the daemon WITHOUT signer access. Best-effort — callers
71
+ * treat it as non-fatal (a missing daemon degrades durable delivery, never live). */
72
+ export async function ensureDelivery(o = {}) {
73
+ if (!hasAuth())
74
+ return { running: false }; // open dev mode — no daemon, agents are live-only
75
+ if (oldHostingManagerLive()) {
76
+ console.error("✗ delivery: an old Plane-3-hosting manager is still live (no delivery-aware marker). Refusing to start the daemon — run `cotal down` first, then retry.");
77
+ return { running: false };
78
+ }
79
+ // Mint a scoped delivery cred (used to probe readiness; for a NEW launch it is ALSO the daemon's cred,
80
+ // written to disk). The daemon process reads the file and never holds the signer (a container mounts it
81
+ // read-only). A reuse (daemon already up) mints a throwaway probe cred — the running daemon keeps its
82
+ // own creds file.
83
+ const auth = loadSpaceAuth(authDir(findCotalRoot()));
84
+ const id = newIdentity();
85
+ const creds = await mintCreds(auth, id, "delivery");
86
+ const space = o.space ?? resolveSpace(process.cwd());
87
+ const server = o.server ?? DEFAULT_SERVER;
88
+ if (!deliveryUp()) {
89
+ writeFileSync(CREDS_PATH(), creds, { mode: 0o600 });
90
+ startDeliveryDetached({ ...o, space, server });
91
+ }
92
+ // ALWAYS wait for the daemon to be READY (lease flipped ready AFTER it bound ctl.delivery) before
93
+ // returning — for a fresh launch AND a reused live daemon — so agents the manager spawns next find the
94
+ // responder for their boot self-join. Non-fatal on timeout: the boot self-join reconciles with backoff,
95
+ // which is the real safety net for a slow start or a later outage.
96
+ const ready = await waitForDeliveryLease({ servers: server, space, creds, id: id.id });
97
+ if (!ready)
98
+ console.error("• delivery daemon not yet ready (responder not bound) — boot durable joins will reconcile when it is");
99
+ return { running: true };
100
+ }
101
+ /** Stop the detached delivery daemon if we started one, and drop its creds file. */
102
+ export function stopDelivery() {
103
+ rmSync(CREDS_PATH(), { force: true });
104
+ const p = PID_PATH();
105
+ if (!existsSync(p))
106
+ return;
107
+ const pid = Number(readFileSync(p, "utf8").trim());
108
+ if (Number.isFinite(pid)) {
109
+ try {
110
+ process.kill(pid, "SIGTERM");
111
+ }
112
+ catch {
113
+ /* already gone */
114
+ }
115
+ }
116
+ rmSync(p);
117
+ }
118
+ /** Bring up the control plane in the correct cutover order: OLD-manager preflight → delivery daemon
119
+ * (auth only, fails closed on a live old manager) → manager (lifecycle, writes the delivery-aware
120
+ * marker). The manager no longer depends on the daemon (it hosts no Plane-3), so the daemon is started
121
+ * first only to close the old-manager double-bind window and so freshly-spawned agents find the
122
+ * `ctl.delivery` responder for their boot self-join (a miss honest-degrades to live-only). */
123
+ export async function ensureControlPlane(o = {}) {
124
+ stopOldHostingManagerIfPresent();
125
+ await ensureDelivery(o);
126
+ return ensureManager(o);
127
+ }
128
+ //# sourceMappingURL=delivery-proc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery-proc.js","sourceRoot":"","sources":["../../src/lib/delivery-proc.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,20 @@
1
1
  /** True if the manager we started for this folder is still running (pid file + liveness). */
2
2
  export declare function managerUp(): boolean;
3
+ /** True if the live manager carries a delivery-aware marker BOUND to its current pid (i.e. it's THIS
4
+ * build, non-hosting). Fail-closed: the marker stores the pid it was written for, and this requires it
5
+ * to equal the live `manager.pid` — a stale marker left by a crash, a mismatch, or an unparseable file
6
+ * all read as NOT delivery-aware, so a live old hosting `manager.pid` can't be mistaken for non-hosting
7
+ * and the delivery preflight stops it. */
8
+ export declare function managerHasDeliveryMarker(): boolean;
3
9
  /** True if any process's full command line matches `pattern` (`pgrep -f`). Detects processes that
4
10
  * have no pid file — the cmux-tab manager and the driving session — which live in cmux tabs. */
5
11
  export declare function pgrepMatches(pattern: string): boolean;
6
12
  /** True if a cmux-runtime manager is live for this space. Its cmux tab persists after the process
7
- * exits, so a workspace listing isn't proof — the process is. Matches prod `cotal.js` and dev
8
- * `cotal.ts` (both carry `cmux --space <space>`). */
13
+ * exits, so a workspace listing isn't proof — the process is. A cmux manager runs `… supervise
14
+ * --runtime cmux --space <space> …`; match order-independently (the session launcher emits the
15
+ * two flags adjacent, but a hand-typed launch may reorder them) by narrowing to `--runtime cmux`
16
+ * processes, then confirming the exact `--space <space>` token in each one's argv. Works for prod
17
+ * `cotal.js` and dev `cotal.ts` alike. */
9
18
  export declare function cmuxManagerRunning(space: string): boolean;
10
19
  /** Start the control-plane manager detached (pid in `.cotal/manager.pid`, output to
11
20
  * `.cotal/manager.log`), stopped by `cotal down`. Re-execs this same CLI's `supervise` — the
@@ -1 +1 @@
1
- {"version":3,"file":"manager-proc.d.ts","sourceRoot":"","sources":["../../src/lib/manager-proc.ts"],"names":[],"mappings":"AAkBA,6FAA6F;AAC7F,wBAAgB,SAAS,IAAI,OAAO,CAKnC;AAED;iGACiG;AACjG,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;sDAEsD;AACtD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;;0FAI0F;AAC1F,wBAAgB,oBAAoB,CAAC,CAAC,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GAAG,MAAM,CAiB1G;AAED;iEACiE;AACjE,wBAAgB,aAAa,CAAC,CAAC,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAIjH;AAED;wGACwG;AACxG,wBAAgB,WAAW,IAAI,IAAI,CAYlC"}
1
+ {"version":3,"file":"manager-proc.d.ts","sourceRoot":"","sources":["../../src/lib/manager-proc.ts"],"names":[],"mappings":"AAwBA,6FAA6F;AAC7F,wBAAgB,SAAS,IAAI,OAAO,CAKnC;AAED;;;;2CAI2C;AAC3C,wBAAgB,wBAAwB,IAAI,OAAO,CAOlD;AAED;iGACiG;AACjG,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;;2CAK2C;AAC3C,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAczD;AAED;;;;0FAI0F;AAC1F,wBAAgB,oBAAoB,CAAC,CAAC,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GAAG,MAAM,CAoB1G;AAED;iEACiE;AACjE,wBAAgB,aAAa,CAAC,CAAC,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAIjH;AAED;wGACwG;AACxG,wBAAgB,WAAW,IAAI,IAAI,CAalC"}
@@ -5,6 +5,12 @@ import { selfArgv } from "./self-exec.js";
5
5
  import { resolveSpace } from "./status.js";
6
6
  import { cotalPath } from "./paths.js";
7
7
  const PID_PATH = () => cotalPath("manager.pid");
8
+ /** Sibling marker of `manager.pid`: written by THIS build's manager (which no longer hosts Plane-3 —
9
+ * the server-side delivery daemon does). Its presence beside a live `manager.pid` proves the manager is
10
+ * "delivery-aware" / non-hosting. A live `manager.pid` WITHOUT this marker is an OLD (pre-delivery-daemon)
11
+ * manager that still calls `startPlane3` — the delivery preflight stops it before the daemon binds, so an
12
+ * old hosting manager never double-binds `fanout`/`reader` against the new daemon. */
13
+ const DELIVERY_AWARE_MARKER = () => cotalPath("manager.delivery-aware");
8
14
  function alive(pid) {
9
15
  try {
10
16
  process.kill(pid, 0); // signal 0: liveness probe, doesn't actually signal
@@ -22,16 +28,46 @@ export function managerUp() {
22
28
  const pid = Number(readFileSync(p, "utf8").trim());
23
29
  return Number.isFinite(pid) && alive(pid);
24
30
  }
31
+ /** True if the live manager carries a delivery-aware marker BOUND to its current pid (i.e. it's THIS
32
+ * build, non-hosting). Fail-closed: the marker stores the pid it was written for, and this requires it
33
+ * to equal the live `manager.pid` — a stale marker left by a crash, a mismatch, or an unparseable file
34
+ * all read as NOT delivery-aware, so a live old hosting `manager.pid` can't be mistaken for non-hosting
35
+ * and the delivery preflight stops it. */
36
+ export function managerHasDeliveryMarker() {
37
+ const markerPath = DELIVERY_AWARE_MARKER();
38
+ const pidPath = PID_PATH();
39
+ if (!existsSync(markerPath) || !existsSync(pidPath))
40
+ return false;
41
+ const markerPid = Number(readFileSync(markerPath, "utf8").trim());
42
+ const livePid = Number(readFileSync(pidPath, "utf8").trim());
43
+ return Number.isFinite(markerPid) && Number.isFinite(livePid) && markerPid === livePid;
44
+ }
25
45
  /** True if any process's full command line matches `pattern` (`pgrep -f`). Detects processes that
26
46
  * have no pid file — the cmux-tab manager and the driving session — which live in cmux tabs. */
27
47
  export function pgrepMatches(pattern) {
28
48
  return spawnSync("pgrep", ["-f", pattern], { stdio: "ignore" }).status === 0;
29
49
  }
30
50
  /** True if a cmux-runtime manager is live for this space. Its cmux tab persists after the process
31
- * exits, so a workspace listing isn't proof — the process is. Matches prod `cotal.js` and dev
32
- * `cotal.ts` (both carry `cmux --space <space>`). */
51
+ * exits, so a workspace listing isn't proof — the process is. A cmux manager runs `… supervise
52
+ * --runtime cmux --space <space> …`; match order-independently (the session launcher emits the
53
+ * two flags adjacent, but a hand-typed launch may reorder them) by narrowing to `--runtime cmux`
54
+ * processes, then confirming the exact `--space <space>` token in each one's argv. Works for prod
55
+ * `cotal.js` and dev `cotal.ts` alike. */
33
56
  export function cmuxManagerRunning(space) {
34
- return pgrepMatches(`cmux --space ${space}`);
57
+ // `--` so pgrep doesn't read the leading `--runtime` as one of its own options.
58
+ const r = spawnSync("pgrep", ["-f", "--", "--runtime cmux"], { encoding: "utf8" });
59
+ if (r.status !== 0)
60
+ return false;
61
+ // Match the `--space` value as a whole token (space names can't contain whitespace), so `demo`
62
+ // never matches a process serving `demo2`. Both `--space <space>` and `--space=<space>` forms.
63
+ const servesSpace = (args) => {
64
+ const tokens = args.split(/\s+/);
65
+ return tokens.some((t, i) => (t === "--space" && tokens[i + 1] === space) || t === `--space=${space}`);
66
+ };
67
+ return r.stdout
68
+ .split("\n")
69
+ .filter(Boolean)
70
+ .some((pid) => servesSpace(spawnSync("ps", ["-p", pid, "-o", "args="], { encoding: "utf8" }).stdout));
35
71
  }
36
72
  /** Start the control-plane manager detached (pid in `.cotal/manager.pid`, output to
37
73
  * `.cotal/manager.log`), stopped by `cotal down`. Re-execs this same CLI's `supervise` — the
@@ -54,6 +90,9 @@ export function startManagerDetached(o = {}) {
54
90
  closeSync(fd);
55
91
  child.unref();
56
92
  writeFileSync(PID_PATH(), String(child.pid));
93
+ // Mark this manager as delivery-aware (non-hosting) so the delivery preflight can tell it apart from
94
+ // an old Plane-3-hosting manager. Written next to the pid, removed together in stopManager / down.
95
+ writeFileSync(DELIVERY_AWARE_MARKER(), String(child.pid));
57
96
  return child.pid ?? 0;
58
97
  }
59
98
  /** Make the control plane available: reuse a manager already running for this folder, else start
@@ -68,6 +107,7 @@ export function ensureManager(o = {}) {
68
107
  * so the two don't both answer the control plane (queue-grouped requests would split between them). */
69
108
  export function stopManager() {
70
109
  const p = PID_PATH();
110
+ rmSync(DELIVERY_AWARE_MARKER(), { force: true }); // drop the marker with the pid (gone either way)
71
111
  if (!existsSync(p))
72
112
  return;
73
113
  const pid = Number(readFileSync(p, "utf8").trim());
@@ -1 +1 @@
1
- {"version":3,"file":"manager-proc.js","sourceRoot":"","sources":["../../src/lib/manager-proc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager-proc.js","sourceRoot":"","sources":["../../src/lib/manager-proc.ts"],"names":[],"mappings":"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"}
@@ -21,4 +21,12 @@ export declare function personasDir(root?: string): string;
21
21
  export declare function listPersonas(root?: string): PersonaEntry[];
22
22
  /** Just the persona names — the completion source for `cotal spawn` and `personas show/rm`. */
23
23
  export declare function listPersonaNames(root?: string): string[];
24
+ /** Channels the persona files declare (`subscribe` ∪ `allowSubscribe` ∪ `allowPublish`), as the
25
+ * completion source for `cotal msg`/`send`. Wildcard ACL scopes (`team.>`, `*`) are excluded —
26
+ * they're read/post patterns, not concrete send targets. Authoritative-for-intent, not a claim the
27
+ * channel exists on the broker. Fail-closed via {@link declaredValues}. Filesystem-only — no mesh. */
28
+ export declare function listDeclaredChannels(root?: string): string[];
29
+ /** Roles the persona files declare (the `role:` field), as the completion source for
30
+ * `cotal ask`/`anycast`. Fail-closed via {@link declaredValues}. Filesystem-only — no mesh. */
31
+ export declare function listDeclaredRoles(root?: string): string[];
24
32
  //# sourceMappingURL=personas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"personas.d.ts","sourceRoot":"","sources":["../../src/lib/personas.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG9D;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,mFAAmF;IACnF,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,8FAA8F;IAC9F,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,mEAAmE;AACnE,wBAAgB,WAAW,CAAC,IAAI,SAAc,GAAG,MAAM,CAEtD;AAED;gGACgG;AAChG,wBAAgB,YAAY,CAAC,IAAI,SAAc,GAAG,YAAY,EAAE,CAiB/D;AAED,+FAA+F;AAC/F,wBAAgB,gBAAgB,CAAC,IAAI,SAAc,GAAG,MAAM,EAAE,CAE7D"}
1
+ {"version":3,"file":"personas.d.ts","sourceRoot":"","sources":["../../src/lib/personas.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG9D;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,mFAAmF;IACnF,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,8FAA8F;IAC9F,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,mEAAmE;AACnE,wBAAgB,WAAW,CAAC,IAAI,SAAc,GAAG,MAAM,CAEtD;AAED;gGACgG;AAChG,wBAAgB,YAAY,CAAC,IAAI,SAAc,GAAG,YAAY,EAAE,CAiB/D;AAED,+FAA+F;AAC/F,wBAAgB,gBAAgB,CAAC,IAAI,SAAc,GAAG,MAAM,EAAE,CAE7D;AAeD;;;uGAGuG;AACvG,wBAAgB,oBAAoB,CAAC,IAAI,SAAc,GAAG,MAAM,EAAE,CAMjE;AAED;gGACgG;AAChG,wBAAgB,iBAAiB,CAAC,IAAI,SAAc,GAAG,MAAM,EAAE,CAE9D"}
@@ -32,4 +32,35 @@ export function listPersonas(root = cotalRoot()) {
32
32
  export function listPersonaNames(root = cotalRoot()) {
33
33
  return listPersonas(root).map((p) => p.name);
34
34
  }
35
+ /** Collect a deduped, sorted set of values declared across every persona file, via `pick`.
36
+ * Fail-closed: a single malformed file throws — the aggregate can't be trusted, so a derived
37
+ * completer must decline rather than offer a silently-partial set. The broken file is named loudly
38
+ * by `cotal personas list`, so the error stays visible; it's just not buried in a <TAB>. */
39
+ function declaredValues(root, pick) {
40
+ const out = new Set();
41
+ for (const e of listPersonas(root)) {
42
+ if (e.error)
43
+ throw new Error(`persona "${e.name}" is unparseable: ${e.error}`);
44
+ for (const v of pick(e.def))
45
+ if (v)
46
+ out.add(v);
47
+ }
48
+ return [...out].sort();
49
+ }
50
+ /** Channels the persona files declare (`subscribe` ∪ `allowSubscribe` ∪ `allowPublish`), as the
51
+ * completion source for `cotal msg`/`send`. Wildcard ACL scopes (`team.>`, `*`) are excluded —
52
+ * they're read/post patterns, not concrete send targets. Authoritative-for-intent, not a claim the
53
+ * channel exists on the broker. Fail-closed via {@link declaredValues}. Filesystem-only — no mesh. */
54
+ export function listDeclaredChannels(root = cotalRoot()) {
55
+ return declaredValues(root, (d) => [
56
+ ...(d.subscribe ?? []),
57
+ ...(d.allowSubscribe ?? []),
58
+ ...(d.allowPublish ?? []),
59
+ ]).filter((ch) => !ch.includes(">") && !ch.includes("*"));
60
+ }
61
+ /** Roles the persona files declare (the `role:` field), as the completion source for
62
+ * `cotal ask`/`anycast`. Fail-closed via {@link declaredValues}. Filesystem-only — no mesh. */
63
+ export function listDeclaredRoles(root = cotalRoot()) {
64
+ return declaredValues(root, (d) => [d.role]);
65
+ }
35
66
  //# sourceMappingURL=personas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"personas.js","sourceRoot":"","sources":["../../src/lib/personas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAiB,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAkBvC,mEAAmE;AACnE,MAAM,UAAU,WAAW,CAAC,IAAI,GAAG,SAAS,EAAE;IAC5C,OAAO,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED;gGACgG;AAChG,MAAM,UAAU,YAAY,CAAC,IAAI,GAAG,SAAS,EAAE;IAC7C,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,wDAAwD;IACrE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC;YACH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC;QACrD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,gBAAgB,CAAC,IAAI,GAAG,SAAS,EAAE;IACjD,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"personas.js","sourceRoot":"","sources":["../../src/lib/personas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { CotalEndpoint } from "@cotal-ai/core";
2
+ /**
3
+ * A one-shot, write-capable connection for the headless commands that touch the live mesh
4
+ * (`dm`/`msg`/`ask`, and `personas list --running`). Resolve space/server/creds the same way
5
+ * everywhere, open a transient endpoint that never joins the roster, do the one thing, stop.
6
+ * Fail-loud throughout — an unreachable server or a space mismatch exits, never degrades.
7
+ */
8
+ export interface ConnectValues {
9
+ space?: string;
10
+ server?: string;
11
+ creds?: string;
12
+ }
13
+ /** Resolve where to connect and with what credentials: an explicit `--creds` wins; else self-mint
14
+ * from `.cotal/auth` so an AUTH-mode mesh admits us; else connect bare on an open mesh. Exits with
15
+ * a clear message on a `--space` that contradicts the local auth, or an unreachable server. */
16
+ export declare function resolveConnect(values: ConnectValues): Promise<{
17
+ server: string;
18
+ space: string;
19
+ creds?: string;
20
+ }>;
21
+ /** Open a transient endpoint: it watches presence (so name→id resolution and the live roster work)
22
+ * but never registers itself, binds no inbox, and consumes no channels. The caller stops it. */
23
+ export declare function openTransient(values: ConnectValues, name: string): Promise<{
24
+ ep: CotalEndpoint;
25
+ space: string;
26
+ }>;
27
+ //# sourceMappingURL=transient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transient.d.ts","sourceRoot":"","sources":["../../src/lib/transient.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EAQd,MAAM,gBAAgB,CAAC;AAIxB;;;;;GAKG;AAEH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;gGAEgG;AAChG,wBAAsB,cAAc,CAClC,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAuB5D;AAED;iGACiG;AACjG,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,EAAE,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAe/C"}