ftown 0.19.52 → 0.19.53

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 (124) hide show
  1. package/claude-mod/hooks/register.js +6 -5
  2. package/dist/bridge-auth.d.ts +1 -0
  3. package/dist/bridge-auth.js +2 -2
  4. package/dist/bridge-auth.js.map +1 -1
  5. package/dist/centrifugo-client.d.ts +11 -1
  6. package/dist/centrifugo-client.js +71 -69
  7. package/dist/centrifugo-client.js.map +1 -1
  8. package/dist/cli-client.d.ts +6 -0
  9. package/dist/cli-client.js +43 -18
  10. package/dist/cli-client.js.map +1 -1
  11. package/dist/command-rpc.d.ts +5 -2
  12. package/dist/command-rpc.js +41 -4
  13. package/dist/command-rpc.js.map +1 -1
  14. package/dist/direct-transport/loopback-server.d.ts +5 -1
  15. package/dist/direct-transport/loopback-server.js +19 -6
  16. package/dist/direct-transport/loopback-server.js.map +1 -1
  17. package/dist/direct-transport/peer-manager.d.ts +4 -0
  18. package/dist/direct-transport/peer-manager.js +16 -2
  19. package/dist/direct-transport/peer-manager.js.map +1 -1
  20. package/dist/ftown-cli.js +4 -1
  21. package/dist/ftown-cli.js.map +1 -1
  22. package/dist/index.js +54 -37
  23. package/dist/index.js.map +1 -1
  24. package/dist/local-api-server.d.ts +12 -0
  25. package/dist/local-api-server.js +182 -41
  26. package/dist/local-api-server.js.map +1 -1
  27. package/dist/local-pair-cli.d.ts +2 -3
  28. package/dist/local-pair-cli.js +12 -53
  29. package/dist/local-pair-cli.js.map +1 -1
  30. package/dist/mcp/fleet.d.ts +11 -9
  31. package/dist/mcp/fleet.js +61 -44
  32. package/dist/mcp/fleet.js.map +1 -1
  33. package/dist/mcp/http.d.ts +10 -9
  34. package/dist/mcp/http.js +133 -8
  35. package/dist/mcp/http.js.map +1 -1
  36. package/dist/mcp/legacy-relay.d.ts +2 -2
  37. package/dist/mcp/legacy-relay.js +4 -43
  38. package/dist/mcp/legacy-relay.js.map +1 -1
  39. package/dist/mcp/mcp-key-store.d.ts +52 -0
  40. package/dist/mcp/mcp-key-store.js +206 -0
  41. package/dist/mcp/mcp-key-store.js.map +1 -0
  42. package/dist/mcp/oauth.d.ts +5 -1
  43. package/dist/mcp/oauth.js +113 -39
  44. package/dist/mcp/oauth.js.map +1 -1
  45. package/dist/mcp/relay-handler.d.ts +2 -1
  46. package/dist/mcp/relay-handler.js +5 -40
  47. package/dist/mcp/relay-handler.js.map +1 -1
  48. package/dist/mcp/relay.d.ts +4 -4
  49. package/dist/mcp/relay.js +35 -85
  50. package/dist/mcp/relay.js.map +1 -1
  51. package/dist/mcp/secure-client.d.ts +23 -0
  52. package/dist/mcp/secure-client.js +124 -0
  53. package/dist/mcp/secure-client.js.map +1 -0
  54. package/dist/mcp/security-events.d.ts +65 -0
  55. package/dist/mcp/security-events.js +210 -0
  56. package/dist/mcp/security-events.js.map +1 -0
  57. package/dist/mcp/server.d.ts +1 -0
  58. package/dist/mcp/server.js +2 -2
  59. package/dist/mcp/server.js.map +1 -1
  60. package/dist/mcp/test-support.d.ts +32 -0
  61. package/dist/mcp/test-support.js +120 -0
  62. package/dist/mcp/test-support.js.map +1 -0
  63. package/dist/mcp-cli.js +56 -36
  64. package/dist/mcp-cli.js.map +1 -1
  65. package/dist/pairing-client.d.ts +1 -0
  66. package/dist/pairing-client.js +2 -2
  67. package/dist/pairing-client.js.map +1 -1
  68. package/dist/push-notifier.js +3 -1
  69. package/dist/push-notifier.js.map +1 -1
  70. package/dist/security/bridge/audit.d.ts +37 -0
  71. package/dist/security/bridge/audit.js +185 -0
  72. package/dist/security/bridge/audit.js.map +1 -0
  73. package/dist/security/bridge/direct.d.ts +22 -0
  74. package/dist/security/bridge/direct.js +72 -0
  75. package/dist/security/bridge/direct.js.map +1 -0
  76. package/dist/security/bridge/errors.d.ts +7 -0
  77. package/dist/security/bridge/errors.js +12 -0
  78. package/dist/security/bridge/errors.js.map +1 -0
  79. package/dist/security/bridge/execute.d.ts +3 -0
  80. package/dist/security/bridge/execute.js +37 -0
  81. package/dist/security/bridge/execute.js.map +1 -0
  82. package/dist/security/bridge/identity.d.ts +5 -0
  83. package/dist/security/bridge/identity.js +42 -0
  84. package/dist/security/bridge/identity.js.map +1 -0
  85. package/dist/security/bridge/local-client.d.ts +4 -0
  86. package/dist/security/bridge/local-client.js +43 -0
  87. package/dist/security/bridge/local-client.js.map +1 -0
  88. package/dist/security/bridge/metadata.d.ts +99 -0
  89. package/dist/security/bridge/metadata.js +23 -0
  90. package/dist/security/bridge/metadata.js.map +1 -0
  91. package/dist/security/bridge/native-wake.d.ts +16 -0
  92. package/dist/security/bridge/native-wake.js +15 -0
  93. package/dist/security/bridge/native-wake.js.map +1 -0
  94. package/dist/security/bridge/permissions.d.ts +11 -0
  95. package/dist/security/bridge/permissions.js +97 -0
  96. package/dist/security/bridge/permissions.js.map +1 -0
  97. package/dist/security/bridge/policy.d.ts +35 -0
  98. package/dist/security/bridge/policy.js +263 -0
  99. package/dist/security/bridge/policy.js.map +1 -0
  100. package/dist/security/bridge/security.d.ts +50 -0
  101. package/dist/security/bridge/security.js +298 -0
  102. package/dist/security/bridge/security.js.map +1 -0
  103. package/dist/security/bridge/snapshot.d.ts +14 -0
  104. package/dist/security/bridge/snapshot.js +77 -0
  105. package/dist/security/bridge/snapshot.js.map +1 -0
  106. package/dist/security/crypto.d.ts +17 -0
  107. package/dist/security/crypto.js +280 -0
  108. package/dist/security/crypto.js.map +1 -0
  109. package/dist/security/protocol.d.ts +389 -0
  110. package/dist/security/protocol.js +9 -0
  111. package/dist/security/protocol.js.map +1 -0
  112. package/dist/security-cli.d.ts +3 -0
  113. package/dist/security-cli.js +62 -0
  114. package/dist/security-cli.js.map +1 -0
  115. package/dist/solo/solo-server.js +24 -2
  116. package/dist/solo/solo-server.js.map +1 -1
  117. package/dist/types.d.ts +1 -1
  118. package/dist/wire-types.d.ts +3 -0
  119. package/dist/wire-types.js.map +1 -1
  120. package/hooks/notify.sh +1 -1
  121. package/muse-plugin/lib/ftown-hook.sh +6 -22
  122. package/opencode-plugin/ftown.js +33 -5
  123. package/package.json +4 -2
  124. package/pi-extension/ftown.js +33 -5
@@ -1 +1 @@
1
- {"version":3,"file":"fleet.js","sourceRoot":"","sources":["../../src/mcp/fleet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC;IACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC;AACF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAC/D,QAAQ,EAAE,CAAC;SACR,KAAK,CACJ,CAAC,CAAC,kBAAkB,CAAC,WAAW,EAAE;QAChC,CAAC;aACE,MAAM,CAAC;YACN,GAAG,WAAW;YACd,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;SAC3B,CAAC;aACD,MAAM,EAAE;QACX,CAAC;aACE,MAAM,CAAC;YACN,GAAG,WAAW;YACd,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YAC7B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAClC,CAAC;aACD,MAAM,EAAE;QACX,CAAC;aACE,MAAM,CAAC;YACN,GAAG,WAAW;YACd,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,iCAAiC,CAAC;YACzD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;SACnD,CAAC;aACD,MAAM,EAAE;QACX,CAAC;aACE,MAAM,CAAC;YACN,GAAG,WAAW;YACd,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YAC5B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;YACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SAC5B,CAAC;aACD,MAAM,EAAE;KACZ,CAAC,CACH;SACA,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;CACb,CAAC;KACD,MAAM,EAAE;KACR,WAAW,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;IAC3B,IACE,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM;QAEzE,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;IAC1E,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ;QAC7B,IAAI,CAAC,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACzB,IACE,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,QAAQ,KAAK,GAAG;gBAClB,CAAC,CACC,CAAC,CAAC,QAAQ,KAAK,QAAQ;oBACvB,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO;wBACrB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAC5D,EACD,CAAC;gBACD,GAAG,CAAC,QAAQ,CAAC;oBACX,IAAI,EAAE,QAAQ;oBACd,OAAO,EACL,4FAA4F;iBAC/F,CAAC,CAAC;YACL,CAAC;QACH,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClD,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,KAAK,CACJ,gLAAgL,CACjL;IACH,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;CACjD,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,OAAO,UAAW,SAAQ,KAAK;IAExB;IAEA;IACA;IAJX,YACW,IAAY,EACrB,OAAe,EACN,iBAAiB,KAAK,EACtB,MAAe;QAExB,KAAK,CAAC,OAAO,CAAC,CAAC;QALN,SAAI,GAAJ,IAAI,CAAQ;QAEZ,mBAAc,GAAd,cAAc,CAAQ;QACtB,WAAM,GAAN,MAAM,CAAS;IAG1B,CAAC;CACF;AACD,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,KAAK,YAAY,UAAU;QAC7B,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC;IACJ,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,kBAAkB;QAC3B,cAAc,EAAE,KAAK;KACtB,CAAC;AACJ,CAAC;AACD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AACjC,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAc,EACd,KAAa,EACb,OAAsB,EACtB,MAAoB;IAEpB,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;YACrD,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,KAAK,EAAE;gBAChC,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EACF,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;YACvE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;SAC9D,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;QACrC,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,IAAI,MAAM;YACR,IAAI,CAAC;gBACH,OAAO,IAAI,EAAE,CAAC;oBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC5C,IAAI,IAAI;wBAAE,MAAM;oBAChB,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC;oBACzB,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;wBACpB,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;wBACtB,MAAM,IAAI,UAAU,CAClB,oBAAoB,EACpB,mDAAmD,EACnD,OAAO,CAAC,MAAM,KAAK,KAAK,CACzB,CAAC;oBACJ,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,MAAM,GACV,OAAO,IAAI,EAAE,KAAK,KAAK,QAAQ;gBAC7B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;gBAC3D,CAAC,CAAC,yBAAyB,CAAC;YAChC,MAAM,IAAI,UAAU,CAClB,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,WAAW,EAAE,qBAAqB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,EAC5M,GAAG,MAAM,UAAU,GAAG,CAAC,MAAM,GAAG,EAChC,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAC7C,GAAG,CAAC,MAAM,CACX,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,UAAU;YAAE,MAAM,KAAK,CAAC;QAC7C,MAAM,IAAI,UAAU,CAClB,MAAM,EAAE,OAAO;YACb,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,OAAO,CAAC,OAAO;gBACf,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,kBAAkB,EACxB,mEAAmE,EACnE,OAAO,CAAC,MAAM,KAAK,KAAK,CACzB,CAAC;IACJ,CAAC;AACH,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAsB,EACtB,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,EACrD,MAAoB;IAEpB,IAAI,WAAW,CAAC;IAChB,IAAI,CAAC;QACH,WAAW,GAAG,CAAC;aACZ,MAAM,CAAC;YACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;YACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACzB,CAAC;aACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,UAAU,CAClB,qBAAqB,EACrB,oEAAoE,CACrE,CAAC;IACJ,CAAC;IACD,OAAO,WAAW,CAChB,oBAAoB,WAAW,CAAC,IAAI,EAAE,EACtC,WAAW,CAAC,KAAK,EACjB,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,EAC5B,MAAM,CACP,CAAC;AACJ,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAa;IAC5C,OAAO,YAAY,CAAC,KAAK,CACvB,IAAI;QACF,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,CACxD,CAAC;AACJ,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,KAAU,EACV,WAAmB,EACnB,EAA0C;IAE1C,MAAM,OAAO,GAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACrE,OAAO,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AACD,MAAM,OAAO,KAAK;IAIL;IACD;IAJF,MAAM,GAAG,CAAC,CAAC;IACX,OAAO,GAAsB,EAAE,CAAC;IACxC,YACW,MAAmB,EACpB,KAKa;QANZ,WAAM,GAAN,MAAM,CAAa;QACpB,UAAK,GAAL,KAAK,CAKQ;IACpB,CAAC;IACJ,KAAK,CAAC,OAAO,CACX,SAAiB,EACjB,MAA+B,EAC/B,IAAY,EACZ,IAAc,EACd,MAAoB,EACpB,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS;QAEjC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO;YACV,MAAM,IAAI,UAAU,CAAC,iBAAiB,EAAE,oBAAoB,SAAS,EAAE,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACvE,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW;YACxC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,MAAM,OAAO,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnF,MAAM,MAAM,GAAG,GAAG,EAAE;oBAClB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC5C,IAAI,KAAK,KAAK,CAAC,CAAC;wBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAChD,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBAC7C,MAAM,CAAC,IAAI,UAAU,CAAC,WAAW,EAAE,mCAAmC,CAAC,CAAC,CAAC;gBAC3E,CAAC,CAAC;gBACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC3B,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1D,IAAI,MAAM,EAAE,OAAO;oBAAE,MAAM,EAAE,CAAC;YAChC,CAAC,CAAC,CAAC;;YACA,IAAI,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,IAAI,MAAM,EAAE,OAAO;gBACjB,MAAM,IAAI,UAAU,CAAC,WAAW,EAAE,mCAAmC,CAAC,CAAC;YACzE,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;gBAClC,IAAI,CAAC,IAAI,CAAC,KAAK;oBACb,MAAM,IAAI,UAAU,CAClB,qBAAqB,EACrB,mCAAmC,CACpC,CAAC;gBACJ,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACvE,CAAC;YACD,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO;gBAC/B,OAAO,MAAM,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACjE,IAAI,OAAO,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAI,CAAC,KAAK;oBACR,MAAM,IAAI,UAAU,CAClB,qBAAqB,EACrB,kDAAkD,CACnD,CAAC;gBACJ,OAAO,MAAM,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAChE,CAAC;YACD,sGAAsG;YACtG,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC;YAC3E,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC3C,MAAM,KAAK,GAAG,QAAQ,CACpB,KAAK,EACL;oBACE,IAAI;oBACJ,IAAI;oBACJ,eAAe;oBACf,IAAI;oBACJ,2BAA2B;oBAC3B,IAAI;oBACJ,mBAAmB;oBACnB,IAAI;oBACJ,OAAO,CAAC,IAAI;oBACZ,OAAO;iBACR,EACD,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAC1D,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;oBAChB,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,CACJ,IAAI,UAAU,CACZ,WAAW,EACX,uEAAuE,EACvE,MAAM,KAAK,KAAK,CACjB,CACF,CAAC;wBACF,OAAO;oBACT,CAAC;oBACD,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;wBAClC,IAAI,MAAM,CAAC,KAAK;4BACd,MAAM,CACJ,IAAI,UAAU,CACZ,MAAM,CAAC,KAAK,CAAC,IAAI,EACjB,MAAM,CAAC,KAAK,CAAC,OAAO,EACpB,MAAM,CAAC,KAAK,CAAC,cAAc,EAC3B,MAAM,CAAC,KAAK,CAAC,MAAM,CACpB,CACF,CAAC;;4BACC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;oBAAC,MAAM,CAAC;wBACP,MAAM,CACJ,IAAI,UAAU,CACZ,gBAAgB,EAChB,4BAA4B,EAC5B,MAAM,KAAK,KAAK,CACjB,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC,CACF,CAAC;gBACF,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACnC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,IAAI;gBAAE,IAAI,EAAE,CAAC;;gBACZ,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"fleet.js","sourceRoot":"","sources":["../../src/mcp/fleet.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import type { FleetRelay } from "./relay.js";
3
3
  import { FtownOAuthProvider } from "./oauth.js";
4
+ import { SecurityEventStore } from './security-events.js';
4
5
  export declare const gatewayConfigSchema: z.ZodEffects<z.ZodObject<{
5
6
  publicUrl: z.ZodEffects<z.ZodString, string, string>;
6
7
  loginUrl: z.ZodEffects<z.ZodString, string, string>;
@@ -76,8 +77,8 @@ export declare const gatewayConfigSchema: z.ZodEffects<z.ZodObject<{
76
77
  label?: string | undefined;
77
78
  }>]>, "many">;
78
79
  }, "strict", z.ZodTypeAny, {
79
- concurrency: number;
80
80
  timeoutMs: number;
81
+ concurrency: number;
81
82
  machines: ({
82
83
  id: string;
83
84
  userId: string;
@@ -125,11 +126,11 @@ export declare const gatewayConfigSchema: z.ZodEffects<z.ZodObject<{
125
126
  tokenEnv: string;
126
127
  label?: string | undefined;
127
128
  })[];
128
- concurrency?: number | undefined;
129
129
  timeoutMs?: number | undefined;
130
+ concurrency?: number | undefined;
130
131
  }>, {
131
- concurrency: number;
132
132
  timeoutMs: number;
133
+ concurrency: number;
133
134
  machines: ({
134
135
  id: string;
135
136
  userId: string;
@@ -177,8 +178,8 @@ export declare const gatewayConfigSchema: z.ZodEffects<z.ZodObject<{
177
178
  tokenEnv: string;
178
179
  label?: string | undefined;
179
180
  })[];
180
- concurrency?: number | undefined;
181
181
  timeoutMs?: number | undefined;
182
+ concurrency?: number | undefined;
182
183
  }>;
183
184
  access: z.ZodArray<z.ZodObject<{
184
185
  subject: z.ZodString;
@@ -199,8 +200,8 @@ export declare const gatewayConfigSchema: z.ZodEffects<z.ZodObject<{
199
200
  loginUrl: string;
200
201
  allowedOrigins: string[];
201
202
  fleet: {
202
- concurrency: number;
203
203
  timeoutMs: number;
204
+ concurrency: number;
204
205
  machines: ({
205
206
  id: string;
206
207
  userId: string;
@@ -256,8 +257,8 @@ export declare const gatewayConfigSchema: z.ZodEffects<z.ZodObject<{
256
257
  tokenEnv: string;
257
258
  label?: string | undefined;
258
259
  })[];
259
- concurrency?: number | undefined;
260
260
  timeoutMs?: number | undefined;
261
+ concurrency?: number | undefined;
261
262
  };
262
263
  allowedOrigins?: string[] | undefined;
263
264
  }>, {
@@ -269,8 +270,8 @@ export declare const gatewayConfigSchema: z.ZodEffects<z.ZodObject<{
269
270
  loginUrl: string;
270
271
  allowedOrigins: string[];
271
272
  fleet: {
272
- concurrency: number;
273
273
  timeoutMs: number;
274
+ concurrency: number;
274
275
  machines: ({
275
276
  id: string;
276
277
  userId: string;
@@ -326,10 +327,10 @@ export declare const gatewayConfigSchema: z.ZodEffects<z.ZodObject<{
326
327
  tokenEnv: string;
327
328
  label?: string | undefined;
328
329
  })[];
329
- concurrency?: number | undefined;
330
330
  timeoutMs?: number | undefined;
331
+ concurrency?: number | undefined;
331
332
  };
332
333
  allowedOrigins?: string[] | undefined;
333
334
  }>;
334
335
  export type GatewayConfig = z.infer<typeof gatewayConfigSchema>;
335
- export declare function createGateway(config: GatewayConfig, provider: FtownOAuthProvider, relay?: FleetRelay): import("express-serve-static-core").Express;
336
+ export declare function createGateway(config: GatewayConfig, provider: FtownOAuthProvider, relay?: FleetRelay, audit?: Pick<SecurityEventStore, 'admit' | 'finish'>): import("express-serve-static-core").Express;
package/dist/mcp/http.js CHANGED
@@ -7,6 +7,10 @@ import { z } from "zod";
7
7
  import { configSchema, Fleet, FleetError } from "./fleet.js";
8
8
  import { createMcpServer } from "./server.js";
9
9
  import { MCP_SCOPES } from "./oauth.js";
10
+ import { randomUUID } from 'node:crypto';
11
+ import { AsyncLocalStorage } from 'node:async_hooks';
12
+ import { errorResult } from './fleet.js';
13
+ import { READ_MCP_TOOLS, safeTool, safeFailureCode, securityOutcome, finishSecurityEvent } from './security-events.js';
10
14
  const httpsOrigin = z
11
15
  .string()
12
16
  .url()
@@ -40,11 +44,43 @@ export const gatewayConfigSchema = z
40
44
  message: "Access references an unknown machine",
41
45
  });
42
46
  });
43
- export function createGateway(config, provider, relay) {
47
+ export function createGateway(config, provider, relay, audit) {
44
48
  const app = express();
45
49
  const rootFleet = new Fleet(config.fleet, relay
46
- ? (user, id, request, signal) => relay.request(user, id, request, signal)
50
+ ? (user, id, request, signal, context) => relay.request(user, id, request, signal, context)
47
51
  : undefined);
52
+ const actions = new AsyncLocalStorage();
53
+ const states = new WeakMap();
54
+ const finish = (state, outcome) => finishSecurityEvent(audit, state, outcome);
55
+ const admission = async (req, res) => {
56
+ if (!audit || !provider.keys)
57
+ throw new FleetError('security_setup_required', 'Encrypted MCP storage and security audit must be configured');
58
+ const subject = String(req.auth.extra.subject);
59
+ const tool = req.body?.method === 'tools/call' ? safeTool(req.body?.params?.name)
60
+ : req.body?.method === 'initialize' ? 'initialize' : req.body?.method === 'tools/list' ? 'tools_list'
61
+ : req.body?.method === 'resources/list' ? 'resources_list' : req.body?.method === 'resources/read' ? 'resources_read'
62
+ : req.body?.id === undefined ? 'protocol_notification' : 'protocol_request';
63
+ const target = req.body?.params?.arguments;
64
+ const allowed = req.auth.extra.machines;
65
+ const actionId = randomUUID();
66
+ const action = { actionId, parentActionId: null, clientId: req.auth.clientId, grantId: String(req.auth.extra.grantId), tool, operation: null };
67
+ const event = {
68
+ version: 1, id: actionId, actionId, parentActionId: null, ownerId: subject, source: 'gateway',
69
+ bridgeId: typeof target?.machine === 'string' && allowed.includes(target.machine) ? target.machine : null,
70
+ clientId: action.clientId, grantId: action.grantId, endpointId: String(req.auth.extra.endpointId), tool, operation: null,
71
+ sessionId: typeof target?.sessionId === 'string' && /^[A-Za-z0-9_-]{1,200}$/.test(target.sessionId) ? target.sessionId : null,
72
+ startedAt: new Date().toISOString(), finishedAt: null, status: 'started', errorCode: null,
73
+ mutating: req.body?.method === 'tools/call' && !READ_MCP_TOOLS.has(tool),
74
+ };
75
+ await audit.admit(event);
76
+ const state = { event, action, finished: false, dispatched: false };
77
+ states.set(req, state);
78
+ res.once('close', () => {
79
+ if (!state.finished)
80
+ void finish(state, { status: state.dispatched ? 'unknown' : 'rejected', errorCode: state.dispatched ? 'outcome_unknown' : res.statusCode >= 400 ? 'invalid_request' : 'cancelled' }).catch(() => { });
81
+ });
82
+ return state;
83
+ };
48
84
  app.disable("x-powered-by");
49
85
  // Fly's edge is the sole HTTP ingress; forwarded headers are not used for authorization.
50
86
  app.set("trust proxy", 1);
@@ -107,7 +143,7 @@ export function createGateway(config, provider, relay) {
107
143
  limit: 60,
108
144
  standardHeaders: true,
109
145
  legacyHeaders: false,
110
- }), express.json({ limit: "16kb" }));
146
+ }), express.json({ limit: "512kb" }));
111
147
  app.post("/consent/:action", async (req, res) => {
112
148
  try {
113
149
  if (typeof req.body?.assertion !== "string") {
@@ -152,14 +188,39 @@ export function createGateway(config, provider, relay) {
152
188
  requiredScopes: ["mcp:read"],
153
189
  resourceMetadataUrl: new URL("/.well-known/oauth-protected-resource/mcp", config.publicUrl).href,
154
190
  }));
191
+ app.use('/mcp', express.json({ limit: '1mb' }));
192
+ app.use('/mcp', async (req, res, next) => {
193
+ try {
194
+ await admission(req, res);
195
+ next();
196
+ }
197
+ catch {
198
+ res.status(503).json({ error: 'Security audit or encrypted endpoint is unavailable' });
199
+ }
200
+ });
155
201
  app.use("/mcp", rateLimit({
156
202
  windowMs: 60000,
157
203
  limit: 600,
158
204
  keyGenerator: (req) => String(req.auth?.extra?.subject),
159
205
  standardHeaders: true,
160
206
  legacyHeaders: false,
207
+ handler: (req, res) => {
208
+ const state = states.get(req);
209
+ void (state ? finish(state, { status: 'rejected', errorCode: 'capacity_exceeded' }) : Promise.resolve()).catch(() => { }).finally(() => res.status(429).json({ error: 'MCP request limit exceeded' }));
210
+ },
161
211
  }));
162
- app.post("/mcp", express.json({ limit: "1mb" }), async (req, res) => {
212
+ app.post("/mcp", async (req, res) => {
213
+ const state = states.get(req);
214
+ let identity;
215
+ try {
216
+ identity = await provider.keys.loadGrantIdentity(state.event.ownerId, state.action.grantId);
217
+ await provider.keys.markActive(identity.ownerId, identity.requestId);
218
+ }
219
+ catch {
220
+ await finish(state, { status: 'rejected', errorCode: 'approval_required' });
221
+ res.status(403).json({ error: 'Renew encrypted bridge consent' });
222
+ return;
223
+ }
163
224
  const allowed = req.auth.extra.machines;
164
225
  const fleet = {
165
226
  config: {
@@ -169,7 +230,12 @@ export function createGateway(config, provider, relay) {
169
230
  request: (id, ...args) => {
170
231
  if (!allowed.includes(id))
171
232
  return Promise.reject(new FleetError("forbidden", "Machine is not authorized for this grant"));
172
- return rootFleet.request(id, ...args);
233
+ state.dispatched = true;
234
+ return rootFleet.scoped({ grant: identity, action: actions.getStore() ?? state.action, revalidate: async () => {
235
+ const current = await provider.verifyAccessToken(req.auth.token);
236
+ if (!(current.extra?.machines).includes(id) || (state.event.mutating && !current.scopes.includes('mcp:control')))
237
+ throw new FleetError('forbidden', 'MCP access changed before dispatch');
238
+ } }).request(id, ...args);
173
239
  },
174
240
  };
175
241
  const server = createMcpServer(fleet, {
@@ -187,6 +253,29 @@ export function createGateway(config, provider, relay) {
187
253
  if (machines.some((machine) => !authorized.includes(machine)))
188
254
  throw new FleetError("forbidden", "Machine access was revoked during this request");
189
255
  },
256
+ runChild: async (name, args, run) => {
257
+ const actionId = randomUUID();
258
+ const child = {
259
+ ...state.event, id: actionId, actionId, parentActionId: state.event.actionId, tool: safeTool(name), operation: safeTool(name),
260
+ bridgeId: typeof args.machine === 'string' && allowed.includes(args.machine) ? args.machine : null,
261
+ sessionId: typeof args.sessionId === 'string' && /^[A-Za-z0-9_-]{1,200}$/.test(args.sessionId) ? args.sessionId : null,
262
+ startedAt: new Date().toISOString(), mutating: !READ_MCP_TOOLS.has(name),
263
+ };
264
+ await audit.admit(child);
265
+ const action = { ...state.action, actionId, parentActionId: state.event.actionId, tool: child.tool, operation: child.operation };
266
+ let outcome;
267
+ try {
268
+ const result = await actions.run(action, run);
269
+ outcome = securityOutcome(result);
270
+ await audit.finish(child, outcome);
271
+ return result;
272
+ }
273
+ catch (error) {
274
+ const failure = errorResult(error);
275
+ await audit.finish(child, { status: failure.outcomeUnknown ? 'unknown' : ['forbidden', 'permission_denied'].includes(failure.code) ? 'rejected' : 'failed', errorCode: safeFailureCode(failure.code) });
276
+ throw error;
277
+ }
278
+ },
190
279
  });
191
280
  // Stateless transport: every request is authenticated and reconstructs its own scoped tool surface.
192
281
  const transport = new StreamableHTTPServerTransport({
@@ -195,29 +284,65 @@ export function createGateway(config, provider, relay) {
195
284
  // No GET stream/session map or unsolicited server notifications are advertised.
196
285
  enableJsonResponse: !(req.body?.method === "tools/call" && req.body?.params?.name === "attention_wait"),
197
286
  });
287
+ const send = transport.send.bind(transport);
288
+ transport.send = async (message, options) => {
289
+ if ('id' in message && message.id === req.body?.id && ('result' in message || 'error' in message)) {
290
+ let outcome = 'error' in message ? { status: 'rejected', errorCode: message.error.code === -32602 ? 'invalid_arguments' : message.error.code === -32601 ? 'unknown_tool' : 'invalid_request' } : securityOutcome(message.result);
291
+ if (state.event.mutating && !req.auth.scopes.includes('mcp:control'))
292
+ outcome = { status: 'rejected', errorCode: 'permission_denied' };
293
+ try {
294
+ await finish(state, outcome);
295
+ }
296
+ catch {
297
+ await finish(state, { status: 'unknown', errorCode: 'outcome_unknown' }).catch(() => { });
298
+ await send({ jsonrpc: '2.0', id: message.id, error: { code: -32603, message: 'Operation outcome is unknown because final audit storage failed', data: { code: 'outcome_unknown', outcomeUnknown: true } } }, options);
299
+ return;
300
+ }
301
+ }
302
+ await send(message, options);
303
+ };
198
304
  res.on("close", () => {
199
305
  void server.close();
200
306
  });
201
307
  try {
202
308
  await server.connect(transport);
203
- await transport.handleRequest(req, res, req.body);
309
+ await actions.run(state.action, () => transport.handleRequest(req, res, req.body));
310
+ if (!state.finished && res.statusCode >= 400)
311
+ await finish(state, { status: 'rejected', errorCode: 'invalid_request' });
312
+ else if (!state.finished && req.body?.id === undefined)
313
+ await finish(state, { status: 'succeeded', errorCode: null });
204
314
  }
205
315
  catch {
316
+ if (!state.finished)
317
+ await finish(state, { status: state.dispatched && state.event.mutating ? 'unknown' : 'failed', errorCode: state.dispatched && state.event.mutating ? 'outcome_unknown' : 'internal_error' }).catch(() => { });
206
318
  if (!res.headersSent)
207
319
  res.status(500).json({ error: "MCP request failed" });
208
320
  }
209
321
  });
210
- app.all("/mcp", (_req, res) => {
322
+ app.all("/mcp", async (_req, res) => {
323
+ const state = states.get(_req);
324
+ if (state)
325
+ await finish(state, { status: 'rejected', errorCode: 'invalid_request' }).catch(() => { });
211
326
  res.setHeader("Allow", "POST, OPTIONS");
212
327
  res.status(405).end();
213
328
  });
214
- app.use((error, _req, res, _next) => {
329
+ app.use(async (error, _req, res, _next) => {
215
330
  const status = typeof error === "object" &&
216
331
  error !== null &&
217
332
  "status" in error &&
218
333
  error.status === 413
219
334
  ? 413
220
335
  : 400;
336
+ if (_req.auth) {
337
+ try {
338
+ const state = states.get(_req) ?? await admission(_req, res);
339
+ await finish(state, { status: 'rejected', errorCode: 'invalid_request' });
340
+ }
341
+ catch {
342
+ res.status(503).json({ error: 'Security audit storage is unavailable' });
343
+ return;
344
+ }
345
+ }
221
346
  res.status(status).json({ error: "Invalid request" });
222
347
  });
223
348
  return app;
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/mcp/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/mcp/http.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { type BridgeRequest } from "./fleet.js";
2
- /** Fixed loopback client for pre-MCP workers. Only base64 enters shell syntax. */
3
- export declare function legacyRelayCommand(machineId: string, input: BridgeRequest, deadline: number): string;
2
+ /** Kept only to fail explicitly for callers of the removed plaintext helper. */
3
+ export declare function legacyRelayCommand(_machineId: string, _request: BridgeRequest, _deadline: number): never;
@@ -1,45 +1,6 @@
1
- import { FleetError, requestSchema } from "./fleet.js";
2
- /** Fixed loopback client for pre-MCP workers. Only base64 enters shell syntax. */
3
- export function legacyRelayCommand(machineId, input, deadline) {
4
- const request = requestSchema.parse(input);
5
- const source = `
6
- const fs = require('node:fs'), os = require('node:os'), path = require('node:path');
7
- const { machineId, request, deadline } = ${JSON.stringify({ machineId, request, deadline })};
8
- const mutation = request.method !== 'GET';
9
- let sent = false;
10
- const fail = (code, message, outcomeUnknown = false, status) => {
11
- process.stdout.write(JSON.stringify({ error: { code, message, outcomeUnknown, ...(status ? {status} : {}) } }));
12
- };
13
- (async () => {
14
- if (Date.now() >= deadline) return fail('timeout', 'Request expired before execution');
15
- const credentials = JSON.parse(fs.readFileSync(path.join(os.homedir(), '.ftown', 'bridge.json'), 'utf8'));
16
- if (credentials.bridgeId !== machineId || !Number.isInteger(credentials.port) || credentials.port < 1 || credentials.port > 65535 || typeof credentials.token !== 'string' || !credentials.token)
17
- return fail('configuration_error', 'Local bridge identity does not match the requested computer');
18
- const origin = 'http://127.0.0.1:' + credentials.port;
19
- const url = new URL(request.path, origin);
20
- if (url.origin !== origin) return fail('configuration_error', 'Invalid local bridge origin');
21
- if (Date.now() >= deadline) return fail('timeout', 'Request expired before execution');
22
- sent = true;
23
- const response = await fetch(url, {
24
- method: request.method, redirect: 'error',
25
- headers: { authorization: 'Bearer ' + credentials.token, 'content-type': 'application/json' },
26
- body: request.body === undefined ? undefined : JSON.stringify(request.body),
27
- signal: AbortSignal.timeout(Math.max(1, deadline - Date.now())),
28
- });
29
- const chunks = []; let size = 0;
30
- for await (const chunk of response.body) {
31
- size += chunk.length;
32
- if (size > 400000) return fail('response_too_large', 'Request a smaller history or session page', mutation);
33
- chunks.push(chunk);
34
- }
35
- if (!response.ok) return fail('bridge_error', 'Local bridge rejected the request (HTTP ' + response.status + ')', mutation && response.status >= 500, response.status);
36
- const data = JSON.parse(Buffer.concat(chunks).toString('utf8'));
37
- process.stdout.write(JSON.stringify({ data }));
38
- })().catch(() => fail('bridge_error', 'Legacy bridge loopback request failed', sent && mutation));
39
- `;
40
- const encoded = Buffer.from(source).toString("base64");
41
- if (encoded.length > 100000)
42
- throw new FleetError("request_too_large", "Request is too large for this older bridge; upgrade the bridge or shorten the input");
43
- return `node -e "eval(Buffer.from('${encoded}','base64').toString())"`;
1
+ import { FleetError } from "./fleet.js";
2
+ /** Kept only to fail explicitly for callers of the removed plaintext helper. */
3
+ export function legacyRelayCommand(_machineId, _request, _deadline) {
4
+ throw new FleetError("upgrade_required", "Plaintext legacy MCP execution is no longer supported; approve an encrypted endpoint");
44
5
  }
45
6
  //# sourceMappingURL=legacy-relay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"legacy-relay.js","sourceRoot":"","sources":["../../src/mcp/legacy-relay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAsB,MAAM,YAAY,CAAC;AAE3E,kFAAkF;AAClF,MAAM,UAAU,kBAAkB,CAAC,SAAiB,EAAE,KAAoB,EAAE,QAAgB;IAC1F,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG;;2CAE0B,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC1F,CAAC;IACA,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM;QACzB,MAAM,IAAI,UAAU,CAAC,mBAAmB,EAAE,qFAAqF,CAAC,CAAC;IACnI,OAAO,8BAA8B,OAAO,0BAA0B,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"legacy-relay.js","sourceRoot":"","sources":["../../src/mcp/legacy-relay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,YAAY,CAAC;AAE5D,gFAAgF;AAChF,MAAM,UAAU,kBAAkB,CAAC,UAAkB,EAAE,QAAuB,EAAE,SAAiB;IAC/F,MAAM,IAAI,UAAU,CAAC,kBAAkB,EAAE,sFAAsF,CAAC,CAAC;AACnI,CAAC"}
@@ -0,0 +1,52 @@
1
+ import type { Pool } from 'pg';
2
+ import { importEndpoint } from '../security/crypto.js';
3
+ import type { ApprovedBridge, McpConsentSecurity, McpKeyEncryptionConfig } from '../security/protocol.js';
4
+ export interface McpGrantIdentity {
5
+ ownerId: string;
6
+ requestId: string;
7
+ grantId: string;
8
+ identity: Awaited<ReturnType<typeof importEndpoint>>;
9
+ bridges: ApprovedBridge[];
10
+ permissions: ('read' | 'control')[];
11
+ pendingExpiresAt: string;
12
+ activeExpiresAt: string;
13
+ state: 'pending' | 'approved' | 'active' | 'revoked';
14
+ }
15
+ export interface McpIdentityStore {
16
+ ensurePendingIdentity(requestId: string, ownerId: string, permissions: ('read' | 'control')[]): Promise<McpConsentSecurity>;
17
+ loadByRequest(ownerId: string, requestId: string): Promise<McpGrantIdentity>;
18
+ loadGrantIdentity(ownerId: string, grantId: string): Promise<McpGrantIdentity>;
19
+ approve(ownerId: string, requestId: string, bridges: ApprovedBridge[]): Promise<McpGrantIdentity>;
20
+ markActive(ownerId: string, requestId: string): Promise<void>;
21
+ revoke(ownerId: string, requestId: string): Promise<void>;
22
+ }
23
+ /** All columns used as context are authenticated, including lookup and expiry metadata. */
24
+ export interface EncryptedMcpIdentity {
25
+ version: 1;
26
+ ownerId: string;
27
+ requestId: string;
28
+ grantId: string;
29
+ endpointId: string;
30
+ expiresAt: string;
31
+ keyId: string;
32
+ nonce: string;
33
+ ciphertext: string;
34
+ }
35
+ export declare function encryptMcpIdentity(identity: McpGrantIdentity, privateKey: JsonWebKey, config: McpKeyEncryptionConfig): Promise<EncryptedMcpIdentity>;
36
+ export declare function decryptMcpIdentity(row: EncryptedMcpIdentity, config: McpKeyEncryptionConfig): Promise<McpGrantIdentity>;
37
+ /** Uses the gateway's existing pool; no second connection-string/secret source. */
38
+ export declare class McpKeyStore implements McpIdentityStore {
39
+ readonly pool: Pool;
40
+ private readonly now;
41
+ private readonly config;
42
+ constructor(pool: Pool, config: McpKeyEncryptionConfig, now?: () => number);
43
+ checkSchema(): Promise<void>;
44
+ ensurePendingIdentity(requestId: string, ownerId: string, permissions: ('read' | 'control')[]): Promise<McpConsentSecurity>;
45
+ loadByRequest(ownerId: string, requestId: string): Promise<McpGrantIdentity>;
46
+ loadGrantIdentity(ownerId: string, grantId: string): Promise<McpGrantIdentity>;
47
+ /** Caller must verify exact bridge Auth receipts before supplying these pins. */
48
+ approve(ownerId: string, requestId: string, bridges: ApprovedBridge[]): Promise<McpGrantIdentity>;
49
+ markActive(ownerId: string, requestId: string): Promise<void>;
50
+ revoke(ownerId: string, requestId: string): Promise<void>;
51
+ private update;
52
+ }