dodo-mcp 1.0.2 → 1.0.4

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 (47) hide show
  1. package/README.md +37 -17
  2. package/dist/cli/main.js +68 -68
  3. package/dist/cli/main.js.map +1 -1
  4. package/dist/cli/menu.js +25 -20
  5. package/dist/cli/menu.js.map +1 -1
  6. package/dist/config/globalConfig.js +23 -1
  7. package/dist/config/globalConfig.js.map +1 -1
  8. package/dist/config/stateImport.js +2 -2
  9. package/dist/config/stateImport.js.map +1 -1
  10. package/dist/config/tunnelConfig.js +2 -3
  11. package/dist/config/tunnelConfig.js.map +1 -1
  12. package/dist/platform/privateFs.js +3 -1
  13. package/dist/platform/privateFs.js.map +1 -1
  14. package/dist/server/appServer.js +38 -26
  15. package/dist/server/appServer.js.map +1 -1
  16. package/dist/server/configUi/app.js +35 -58
  17. package/dist/server/configUi/index.html +21 -22
  18. package/dist/server/localConfig.js +50 -63
  19. package/dist/server/localConfig.js.map +1 -1
  20. package/dist/tunnel/control.js +4 -6
  21. package/dist/tunnel/control.js.map +1 -1
  22. package/dist/tunnel/credentials.js +5 -19
  23. package/dist/tunnel/credentials.js.map +1 -1
  24. package/dist/tunnel/runtime.js +3 -4
  25. package/dist/tunnel/runtime.js.map +1 -1
  26. package/dist/tunnel/supervisor.js +8 -10
  27. package/dist/tunnel/supervisor.js.map +1 -1
  28. package/docs/AI_PROVIDERS.md +1 -1
  29. package/docs/ARCHITECTURE.md +14 -14
  30. package/docs/COMPATIBILITY.md +10 -2
  31. package/docs/MANUAL_ACCEPTANCE.md +40 -16
  32. package/docs/RELEASE_1.0.0.md +3 -0
  33. package/docs/RELEASE_1.0.3.md +56 -0
  34. package/docs/RELEASE_1.0.4.md +34 -0
  35. package/docs/RELEASE_NOTES.md +32 -0
  36. package/docs/SECURITY.md +26 -10
  37. package/docs/TEST_REPORT.md +51 -1
  38. package/docs/TUNNEL.md +102 -80
  39. package/docs/WINDOWS.md +4 -1
  40. package/docs/WINDOWS_SETUP.md +182 -0
  41. package/docs/adr/031-owner-selected-tunnel-supervision.md +8 -2
  42. package/docs/adr/044-global-launcher-and-cli-menu.md +3 -3
  43. package/docs/adr/047-temporary-remote-config.md +4 -4
  44. package/docs/adr/048-persistent-connection-mode.md +58 -0
  45. package/docs/adr/README.md +1 -0
  46. package/package.json +4 -1
  47. package/schemas/global-config.schema.json +6 -12
@@ -1 +1 @@
1
- {"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../../src/tunnel/supervisor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../../src/tunnel/supervisor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAqB,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClG,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;IACtC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;IACxC,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IACzC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACzC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC,MAAM,EAAE,CAAC;AAUZ,SAAS,qBAAqB,KAAa,OAAO,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAE1F,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,OAAO,aAAa,CAAC,SAAS,EAAE,mBAAmB,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAoB,EAAE,aAAa,GAAG,qBAAqB,EAAE;IAC9F,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC7B,OAAO,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IACvH,CAAC;IACD,OAAO,wBAAwB,CAAC,aAAa,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,UAAU,CAAC,SAAiB,EAAE,KAAmB;IACxD,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxF,IAAI,CAAC;QACH,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAChG,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACnC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;YAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,SAAS,GAAG,IAAI;IAC7D,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,KAAc,EAAE,EAAE,GAAG,IAAI,OAAO;YAAE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE;YAC3I,QAAQ,CAAC,MAAM,EAAE,CAAC;YAClB,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAY;IAC9C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,UAAU,EAAE,uBAAuB,IAAI,oBAAoB,EAAE,EAAE,QAAQ,EAAE,0FAA0F,EAAE,CAAC,CAAC,CAAC,CAAC;QACzN,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAMxC;IACC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,KAAK,QAAQ;QAAE,MAAM,IAAI,SAAS,CAAC,UAAU,EAAE,8CAA8C,EAAE,EAAE,QAAQ,EAAE,0CAA0C,EAAE,CAAC,CAAC;IACzL,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa;QAAE,MAAM,IAAI,SAAS,CAAC,WAAW,EAAE,oDAAoD,EAAE,EAAE,QAAQ,EAAE,mFAAmF,EAAE,CAAC,CAAC;IAC5N,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,MAAM,IAAI,SAAS,CAAC,WAAW,EAAE,iCAAiC,EAAE,EAAE,QAAQ,EAAE,oDAAoD,EAAE,CAAC,CAAC;IAC/J,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,iCAAiC,CAAC,CAAC,MAAM,CAAC;IAC1G,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IACvG,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACpC,sBAAsB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,oBAAoB,MAAM,CAAC,MAAM,CAAC,WAAW,QAAQ,CAAC;IACzE,IAAI,MAAM,GAAiB;QACzB,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK;QACnE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC;QACrF,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY;QAChE,gBAAgB,EAAE,YAAY;QAC9B,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI;KACpC,CAAC;IACF,IAAI,KAA+B,CAAC;IACpC,IAAI,SAAiC,CAAC;IACtC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,WAAoC,CAAC;IACzC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAS,OAAO,CAAC,EAAE,GAAG,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAG,CAAC,KAA4B,EAAE,EAAE;QAC9C,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QACtE,IAAI,CAAC;YAAC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAAC,CAAC;QAC5C,MAAM,CAAC;YAAC,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,2CAA2C,EAAE,CAAC;QAAC,CAAC;IAC3F,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,MAAoC,EAAE,IAAY,EAAE,EAAE;QACvE,IAAI,CAAC;YAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAAC,CAAC;QACjC,MAAM,CAAC;YAAC,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,iDAAiD,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QAAC,CAAC;IACtI,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,QAAQ,IAAI,QAAQ;YAAE,OAAO;QACjC,QAAQ,GAAG,IAAI,CAAC;QAChB,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,QAAQ,CAAC,6CAA6C,CAAC,CAAC;QACxD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC;gBAAC,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAAC,CAAC;YACnD,MAAM,CAAC;gBAAC,MAAM,CAAC,EAAE,SAAS,EAAE,yDAAyD,EAAE,CAAC,CAAC;YAAC,CAAC;YAC3F,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC5B,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;wBAC5E,IAAI,CAAC;4BAAC,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;wBAAC,CAAC;wBACnD,MAAM,CAAC;4BAAC,MAAM,CAAC,EAAE,SAAS,EAAE,wEAAwE,EAAE,CAAC,CAAC;wBAAC,CAAC;oBAC5G,CAAC;gBACH,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,EAAE,IAAY,EAAE,KAA2B,EAAE,KAAc,EAAE,EAAE;QACjF,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,GAAG,IAAI,CAAC;QAChB,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5F,IAAI,SAAS;YAAE,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,SAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACrF,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAC7E,IAAI,GAAG,KAAK,QAAQ;gBAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;YAC3C,IAAI,GAAG,KAAK,MAAM;gBAAE,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC7F,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBAAC,YAAY,CAAC,WAAW,CAAC,CAAC;gBAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAAC,CAAC;YAC7E,MAAM,IAAI,SAAS,CAAC,eAAe,EAAE,kCAAkC,CAAC,CAAC;QAC3E,CAAC,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,SAAS,CAAC,UAAU,EAAE,2FAA2F,EAAE;YAC3H,QAAQ,EAAE,kJAAkJ;SAC7J,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC;QAAC,MAAM,0BAA0B,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAAC,CAAC;IACpE,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,SAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACtE,MAAM,KAAK,CAAC;IACd,CAAC;IACD,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9B,QAAQ,CAAC,kDAAkD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,UAAU,EAAE,CAAC,CAAC;IAE9G,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;IACnJ,MAAM,QAAQ,GAAG,GAA2B,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QACnE,MAAM,GAAG,GAAG,aAAa,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,qBAAqB,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC;QACjI,GAAG,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC;QACjC,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACrK,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,IAAI,GAAG,CAAC,IAAmB,EAAE,EAAE,GAAG,IAAI,OAAO;YAAE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACjH,MAAM,OAAO,GAAwC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAChF,MAAM,MAAM,GAAG,CAAC,MAA2B,EAAE,KAAa,EAAE,EAAE;YAC5D,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;gBAC3D,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBACrB,SAAS,CAAC,MAAM,EAAE,0CAA0C,CAAC,CAAC;gBAC9D,OAAO;YACT,CAAC;YACD,IAAI,OAAe,CAAC;YACpB,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACxD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAClE,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBACrD,IAAI,IAAI;oBAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,KAAK,MAAM,MAAM,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAU;gBAAE,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;oBAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBAAC,CAAC;QACxI,CAAC,CAAC;QACF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QACrE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9F,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,qCAAqC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,IAAI,UAAsC,CAAC;QAC3C,IAAI,CAAC;YACH,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;oBAC3B,IAAI,QAAQ,IAAI,CAAC,KAAK;wBAAE,OAAO;oBAC/B,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBACpE,IAAI,SAAS,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;wBACnC,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;wBACrE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,kDAAkD,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC;oBAC/H,CAAC;gBACH,CAAC,CAAC;gBACF,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;gBACvD,UAAU,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,CAAC;gBAC9B,aAAa,CAAC,UAAU,CAAC,CAAC;gBAAC,UAAU,GAAG,SAAS,CAAC;gBAClD,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;gBACjD,IAAI,QAAQ;oBAAE,MAAM;gBACpB,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;oBAC1C,QAAQ,CAAC,4BAA4B,MAAM,CAAC,QAAQ,qBAAqB,CAAC,CAAC;oBAC3E,MAAM,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,kDAAkD,CAAC,CAAC;oBAC9E,OAAO;gBACT,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpF,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,8CAA8C,EAAE,CAAC,CAAC;gBAClG,QAAQ,CAAC,+BAA+B,QAAQ,IAAI,MAAM,CAAC,WAAW,OAAO,MAAM,IAAI,CAAC,CAAC;gBACzF,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YACD,IAAI,UAAU;gBAAE,aAAa,CAAC,UAAU,CAAC,CAAC;YAC1C,MAAM,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,UAAU;gBAAE,aAAa,CAAC,UAAU,CAAC,CAAC;YAC1C,MAAM,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,6DAA6D,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;AACvF,CAAC"}
@@ -1,6 +1,6 @@
1
1
  # AI Providers, Sub-agents และหลายโปรเจกต์
2
2
 
3
- DODO MCP 1.0.2 สามารถเปิด runtime ของหลายโปรเจกต์ใน process เดียว และเรียกโมเดลจาก backend ผ่าน connection/profile ที่เจ้าของเลือกได้ ค่าเริ่มต้นเป็นโหมดส่วนตัว: เพิ่มโปรเจกต์, connection และ profile แล้วใช้งานได้ทันทีโดยไม่ต้องทำ allowlist ซ้ำ
3
+ DODO MCP 1.0.4 สามารถเปิด runtime ของหลายโปรเจกต์ใน process เดียว และเรียกโมเดลจาก backend ผ่าน connection/profile ที่เจ้าของเลือกได้ ค่าเริ่มต้นเป็นโหมดส่วนตัว: เพิ่มโปรเจกต์, connection และ profile แล้วใช้งานได้ทันทีโดยไม่ต้องทำ allowlist ซ้ำ
4
4
 
5
5
  ## เริ่มใช้งานผ่านเว็บ
6
6
 
@@ -300,26 +300,26 @@ Repo config เป็น hints-only และไม่สามารถ widen p
300
300
 
301
301
  ## Tunnel lifecycle
302
302
 
303
- Tunnel config อยู่ใน global owner config และมีเฉพาะ non-secret startup preference,
304
- legacy mode/reference, canonical executable selection, loopback metrics port และ bounded
305
- restart count เส้นทางหลักไม่เขียน credential reference; token ถูก resolve จาก owner
306
- input เฉพาะรอบและส่งผ่าน child environment โดยไม่เข้า argv
303
+ Tunnel config อยู่ใน global owner config และมี `connectionMode` เป็นแหล่งความจริงเดียว:
304
+ `local` หรือ `tunnel` พร้อม opaque credential reference, canonical executable selection,
305
+ loopback metrics port และ bounded restart count Token ถูก resolve จาก reviewed OS
306
+ store หรือ owner-controlled env/private-file reference เมื่อเริ่ม process และส่งผ่าน
307
+ child environment โดยไม่เข้า argv
307
308
 
308
- managed supervisor เป็น foreground process มี state machine `starting → connecting → connected/backoff → stopped/failed`, private bounded/redacted log และ authenticated singleton IPC `status/logs/stop` การ stop อ้างอิง live `ChildProcess` ที่ supervisor ถืออยู่เท่านั้น External mode ไม่ spawn process และ `doctor` ตรวจ local/public health โดยไม่จัดการ Cloudflare account หรือ DNS
309
+ managed supervisor เป็น foreground process มี state machine `starting → connecting → connected/backoff → stopped/failed`, private bounded/redacted log และ authenticated singleton IPC `status/logs/stop` การ stop อ้างอิง live `ChildProcess` ที่ supervisor ถืออยู่เท่านั้น Local mode ไม่ spawn process และ `doctor` ตรวจ local/public health โดยไม่จัดการ Cloudflare account หรือ DNS
309
310
 
310
- `TunnelRuntime` ผูก supervisor หนึ่งตัวกับ DODO HTTP process เจ้าของส่ง run-scoped
311
- token ได้จาก hidden terminal prompt ระหว่าง `dodo start` หรือ owner-authenticated Local
312
- Config endpoint Token ไม่เข้า trusted config หรือ OS credential provider Runtime ส่งค่า
313
- ผ่าน `TUNNEL_TOKEN` ให้ child โดยตรง เก็บเพียงสถานะที่ไม่มี secret และปิด child ก่อน
314
- DODO process จบ การเปลี่ยน workspace ไม่ย้ายหรือเพิ่มสิทธิ์ใด ๆ และ Local Config port
315
- 21731 ยังคงไม่รับ traffic จาก Tunnel
311
+ `TunnelRuntime` ผูก supervisor หนึ่งตัวกับ DODO HTTP process และยอมเริ่มเฉพาะเมื่อ
312
+ saved mode เป็น Tunnel พร้อม credential reference Runtime ส่งค่าผ่าน `TUNNEL_TOKEN`
313
+ ให้ child โดยตรง เก็บเพียงสถานะที่ไม่มี secret และปิด child ก่อน DODO process จบ
314
+ การเปลี่ยน workspace ไม่ย้ายหรือเพิ่มสิทธิ์ใด ๆ และ Local Config port 21731 ยังคง
315
+ ไม่รับ traffic จาก Tunnel
316
316
 
317
317
  Remote Config ไม่เปลี่ยน bind ของ Local Config และไม่ copy admin handlers มาที่ public
318
318
  app `RemoteConfigGateway` ถือ pairing/session digest กับ expiry ใน memory, proxy เฉพาะ
319
319
  `/config`, `/config/assets/*`, `/config/api/*` และส่ง request ไป loopback owner server
320
- ด้วย internal capability เดิม CLI เปิด/ต่ออายุผ่าน authenticated installation IPC;
321
- หาก process เริ่มแบบ local-only IPC callback เริ่ม `TunnelRuntime` ด้วย run-scoped token
322
- ก่อนออก lease การหมดอายุล้าง code/session และทำให้ namespace กลับเป็น 404 โดยไม่หยุด
320
+ ด้วย internal capability เดิม CLI เปิด/ต่ออายุผ่าน authenticated installation IPC
321
+ เฉพาะเมื่อ persistent Tunnel mode ทำงานอยู่ IPC ไม่รับ credential หรือสลับ connection
322
+ mode การหมดอายุล้าง code/session และทำให้ namespace กลับเป็น 404 โดยไม่หยุด
323
323
  MCP/OAuth/Tunnel
324
324
 
325
325
  ## Optional services
@@ -11,7 +11,7 @@
11
11
  | MCP HTTP | OAuth protected MCP endpoint ที่ `/mcp` |
12
12
  | MCP STDIO | Full surface เป็นค่าเริ่มต้น |
13
13
  | Local Config | loopback owner control ที่ 21731; เปิด bounded Remote Config `/config` ผ่าน 21730 ได้ครั้งละไม่เกิน 1 ชั่วโมง |
14
- | Cloudflare Tunnel | `dodo start`/Local Config ใช้ run-scoped token และ child `cloudflared`; Tunnel จริงยังเป็น manual gate |
14
+ | Cloudflare Tunnel | เลือก persistent `local` หรือ DODO-owned `tunnel`; credential อยู่ใน OS store/reference และ child `cloudflared` หยุดพร้อม DODO |
15
15
  | Package | `dodo-mcp` |
16
16
  | CLI | `dodo` |
17
17
 
@@ -60,7 +60,15 @@ Desktop, browser, media, speech, LSP และ OS sandbox ต้องตรว
60
60
 
61
61
  `dodo setup --plan` ใช้ตรวจขั้นตอนติดตั้งแบบ read-only ส่วน installer ต้องมี `--yes` การใช้ `--import-state` รองรับเฉพาะ config ตำแหน่งมาตรฐานและนำเข้า non-authority preferences เท่านั้น custom `DODO_CONFIG_DIR` ไม่ถูกค้นหรือ merge อัตโนมัติ
62
62
 
63
- `dodo setup --components cloudflared` ตรวจ executable ได้ทุก OS การติดตั้งอัตโนมัติในรุ่นนี้รองรับ Homebrew บน macOS ส่วน Linux/Windows ใช้ signed official package ที่เจ้าของติดตั้งเอง เส้นทางหลักรับ run-scoped token จาก hidden terminal prompt หรือ owner-only Local Config และไม่ใช้ credential store; env/file/OS references คงอยู่เฉพาะ advanced compatibility commands
63
+ `dodo setup --components cloudflared` ตรวจ executable ได้ทุก OS การติดตั้งอัตโนมัติ
64
+ รองรับ Homebrew บน macOS ส่วน Linux/Windows ใช้ signed official package ที่เจ้าของติดตั้งเอง
65
+ โหมด Tunnel ต้องมี public origin และ credential reference ที่ผ่านการตรวจแล้ว ค่า
66
+ `--os-credential` ใช้ macOS Keychain, Windows Credential Manager หรือ Linux Secret
67
+ Service ส่วน env/file references มีไว้สำหรับ owner-controlled headless environment
68
+
69
+ Windows state ค่าเริ่มต้นอยู่ที่ `%LOCALAPPDATA%\dodo` และต้องผ่าน owner/DACL/reparse
70
+ checks บน local NTFS การปฏิเสธ ACL ไม่ใช่ dependency failure และห้ามแก้ด้วย permissive
71
+ ACL ดูขั้นตอน diagnosis และ fresh-state fallback ที่ [WINDOWS_SETUP.md](WINDOWS_SETUP.md)
64
72
 
65
73
  ## Client behavior
66
74
 
@@ -4,27 +4,31 @@
4
4
 
5
5
  สถานะล่าสุดของ owner-state setup/import gate: `MANUAL_NOT_RUN` (2026-09-14) ชุด automated ใช้ fixture แยกและไม่แตะ config/OAuth/tunnel ของผู้ใช้
6
6
 
7
- สถานะ live Cloudflare connection smoke: `MANUAL_PASS` (2026-09-15) บน macOS arm64,
8
- Linux x64 และ Windows x64 โดยใช้ run-scoped secret ชั่วคราว; ทั้งสาม platform รายงาน
7
+ สถานะ live Cloudflare connection smoke ของรุ่น 1.0.2: `MANUAL_PASS` (2026-09-15) บน
8
+ macOS arm64, Linux x64 และ Windows x64 โดยใช้ secret fixture แบบชั่วคราว; ทั้งสาม platform รายงาน
9
9
  connected, stability 3 วินาที, clean stop และ credentialPersisted=false ใน
10
10
  [GitHub run 34908481066](https://github.com/arthittakun/dodo-mcp/actions/runs/34908481066)
11
11
  การตรวจ public DNS → MCP/OAuth และ Remote Config ผ่าน hostname จริงยัง
12
- `MANUAL_NOT_RUN`; connection smoke ไม่ได้อ้างว่า AI client เชื่อมต่อแล้ว
12
+ `MANUAL_NOT_RUN` และ persistent credential flow ของรุ่น 1.0.3 ยังต้องรันใหม่;
13
+ connection smoke เดิมไม่ได้อ้างว่า AI client เชื่อมต่อแล้ว
13
14
 
14
15
  ## Cloudflare Tunnel
15
16
 
16
17
  1. สร้าง remotely-managed Tunnel และ public hostname ใน Cloudflare ด้วยบัญชีเจ้าของ
17
18
  2. route ทุก path ของ hostname ไป `http://127.0.0.1:21730` และยืนยันว่าไม่มี route ไป `21731`/`21732`
18
19
  3. รัน `dodo setup --check --components cloudflared`
19
- 4. รัน `dodo start` แล้วกรอก token ที่ hidden prompt; ตรวจว่า config/Keychain ไม่มี token
20
- 5. หยุดแล้วเริ่มใหม่ กด Enter ที่ prompt และยืนยันว่าเปิดเฉพาะ local MCP
21
- 6. เปิด Local Config กรอก token ใน Temporary Tunnel token แล้วกดเปิด; ตรวจช่องถูกล้างและ response/state ไม่มี token
22
- 7. ตรวจ `dodo tunnel status` ว่า `credentialSource=temporary` และ connected หลัง `/ready` ตอบจริง
23
- 8. ตรวจ `dodo tunnel doctor` แยก local/public health และไม่กล่าวว่า AI client connected
24
- 9. ตรวจ process list ว่า argv ไม่มี token และ `dodo tunnel logs` ไม่มี token
25
- 10. ทดสอบ OAuth + MCP ผ่าน public origin แล้ว stop จาก Local Config; ยืนยัน child หยุดแต่ local MCP ยังอยู่
26
- 11. เริ่ม tunnel ใหม่แล้วหยุด DODO; ยืนยัน child หยุดตาม
27
- 12. บันทึก macOS และ Linux Docker แยก environment; Windows คง `MANUAL_NOT_RUN` จนถึง phase สุดท้าย
20
+ 4. รัน `dodo tunnel configure --tunnel --public-url https://... --os-credential` และกรอก token ใน hidden prompt
21
+ 5. ตรวจ config JSON มีเพียง `connectionMode=tunnel` และ opaque credential ref ไม่มี token
22
+ 6. รัน `dodo start`; ตรวจว่ารอ readiness สำเร็จและ Active MCP URL เป็น public HTTPS
23
+ 7. หยุดแล้วเริ่มใหม่โดยไม่กรอก token ซ้ำ; ตรวจว่าอ่านจาก OS store และ Tunnel เริ่มตาม
24
+ 8. ทำ credential ให้ใช้ไม่ได้ใน fixture แล้วเริ่มใหม่; ต้อง fail closed และไม่เปิด Local fallback
25
+ 9. ตรวจ `dodo tunnel status` ว่า `credentialSource=configured` และ connected หลัง `/ready` ตอบจริง
26
+ 10. ตรวจ `dodo tunnel doctor` แยก local/public health และไม่กล่าวว่า AI client connected
27
+ 11. ตรวจ process list ว่า argv ไม่มี token และ `dodo tunnel logs`/audit/config ไม่มี token
28
+ 12. ทดสอบ OAuth + MCP ผ่าน public origin แล้วหยุด DODO; ยืนยัน owned child หยุดตาม
29
+ 13. เปิด Local Config เลือก Local แล้ว restart; ตรวจว่าไม่เริ่ม cloudflared และ Active MCP URL เป็น loopback
30
+ 14. เลือก Tunnel ผ่าน Local Config พร้อม write-only token แล้ว restart; ตรวจว่าช่องไม่ถูกเติมกลับและ endpoint เป็น public
31
+ 15. บันทึก macOS และ Linux Docker แยก environment; Windows manual result แยกตามเครื่องจริง
28
32
 
29
33
  ## Remote Config ผ่าน Tunnel
30
34
 
@@ -33,9 +37,9 @@ loopback public-origin fixture: จับคู่, dashboard/assets/API, worksp
33
37
  หมดอายุและปิดเป็น 404 ทำงานจริง การตรวจผ่าน public Cloudflare hostname จริงยัง
34
38
  `MANUAL_NOT_RUN`
35
39
 
36
- 1. เริ่ม local-only ด้วย `dodo start --no-tunnel`
37
- 2. จาก terminal อื่นรัน `dodo --web` และกรอก run-scoped Tunnel token แบบซ่อน
38
- 3. ตรวจว่า process เดิมไม่ restart, MCP/OAuth ยังใช้ epoch เดิม และ cloudflared เริ่มใน process เดิม
40
+ 1. เลือก Tunnel แบบ persistent และรัน DODO จน `dodo tunnel status` รายงาน connected
41
+ 2. จาก terminal อื่นรัน `dodo --web`; คำสั่งต้องไม่ถามหรือส่ง Tunnel token ผ่าน IPC
42
+ 3. ตรวจว่า process ไม่ restart และ MCP/OAuth/workspace epoch เดิมไม่เปลี่ยน
39
43
  4. เปิด URL `/config` จากอีกอุปกรณ์ ตรวจว่า URL ไม่มี query/fragment secret
40
44
  5. กรอก pairing code ครั้งเดียว; ใช้ซ้ำต้องถูกปฏิเสธ
41
45
  6. ตรวจ browser cookie เป็น Secure/HttpOnly/SameSite=Strict และ Path `/config`
@@ -43,7 +47,8 @@ loopback public-origin fixture: จับคู่, dashboard/assets/API, worksp
43
47
  8. รัน `dodo --web` อีกครั้ง ตรวจ session เดิมถูกยกเลิกและได้ code ใหม่
44
48
  9. รัน `dodo web --close` ตรวจ `/config`, assets และ API เป็น 404 แต่ `/healthz`, OAuth และ `/mcp` ยังอยู่
45
49
  10. เปิดใหม่แล้วรอ 1 ชั่วโมง ตรวจ namespace ปิดเองโดยไม่หยุด MCP/Tunnel
46
- 11. ตรวจ config, audit, tunnel log, browser local/session storage และ process argv ว่าไม่มี Tunnel token, pairing code หรือ session token
50
+ 11. เปลี่ยน persistent mode เป็น Local แล้ว restart; `dodo --web` ต้องถูกปฏิเสธและไม่เริ่ม Tunnel เอง
51
+ 12. ตรวจ config, audit, tunnel log, browser local/session storage และ process argv ว่าไม่มี Tunnel token, pairing code หรือ session token
47
52
 
48
53
  ## Setup foundation
49
54
 
@@ -53,6 +58,25 @@ loopback public-origin fixture: จับคู่, dashboard/assets/API, worksp
53
58
  4. ตรวจว่า installer ไม่เริ่มและไม่มี state ถูกเขียน
54
59
  5. รันใหม่ด้วย `--yes` เฉพาะใน fixture ที่อนุญาต แล้วตรวจ receipt schema/version และ readiness probe
55
60
 
61
+ ### Windows private state และ setup recovery
62
+
63
+ สถานะสำหรับ release 1.0.4: **MANUAL_NOT_RUN**
64
+
65
+ 1. เปิด terminal ด้วย Windows account ปกติที่ใช้ DODO ประจำ และตรวจว่า default
66
+ `%LOCALAPPDATA%\dodo` บน local NTFS ผ่าน `dodo setup --yes --components speech`
67
+ 2. สร้าง fixture state ที่ owner เป็น SID อื่นหรือเป็น junction แล้วตรวจว่า setup
68
+ ปฏิเสธด้วย `PATH_DENIED` พร้อม recovery โดยไม่แก้ owner/DACL และไม่ลบ fixture
69
+ 3. ตั้ง `DODO_CONFIG_DIR=%LOCALAPPDATA%\dodo-private` แล้วตรวจว่า fresh state ผ่าน,
70
+ directory เดิมไม่เปลี่ยน และ installation identity ใหม่ไม่รับ OAuth/project/tunnel
71
+ authority จาก state เดิม
72
+ 4. ตรวจ `dodo --cli` เมนู 5 แสดง recovery เดียวกับ command mode และ JSON output มี
73
+ field `recovery` โดยไม่มี path content, credential หรือ stack trace ที่ไม่จำเป็น
74
+ 5. เมื่อ `cloudflared` ไม่มีใน PATH ให้ตรวจว่า DODO ไม่ติดตั้ง service/ไม่เปิด Tunnel
75
+ และแนะนำ signed official package; หลังติดตั้งเองให้ `where cloudflared`,
76
+ `cloudflared --version` และ `dodo setup --check --components cloudflared` ผ่าน
77
+ 6. ทดสอบ Desktop/UAC/sandbox จาก interactive session แยกจาก runner service และบันทึก
78
+ `MANUAL_PASS` เฉพาะ component ที่ readiness/confinement probe ผ่านจริง
79
+
56
80
  ## Existing-state import
57
81
 
58
82
  1. สร้าง fixture source ที่มี config preferences, OAuth/key fixture และ state DB fixture
@@ -1,5 +1,8 @@
1
1
  # DODO MCP 1.0.0
2
2
 
3
+ > เอกสารนี้บันทึกพฤติกรรม release 1.0.0 เท่านั้น สำหรับคำสั่ง Tunnel ของ source
4
+ > ปัจจุบันใช้ [TUNNEL.md](TUNNEL.md); `--no-tunnel` และ token ชั่วคราวถูกแทนที่แล้ว
5
+
3
6
  นี่คือ release แรกของ DODO MCP ในชื่อ package `dodo-mcp` และ CLI `dodo`
4
7
 
5
8
  ## การติดตั้ง
@@ -0,0 +1,56 @@
1
+ # DODO MCP 1.0.3
2
+
3
+ รุ่น 1.0.3 เปลี่ยนการเลือก MCP endpoint ให้เป็นค่า installation แบบถาวรและเลือกได้
4
+ เพียงหนึ่งโหมด: `local` หรือ `tunnel`
5
+
6
+ ## พฤติกรรมใหม่
7
+
8
+ - Local ใช้ `http://127.0.0.1:21730/mcp` เป็น MCP/OAuth endpoint และไม่เริ่ม
9
+ `cloudflared`
10
+ - Tunnel ใช้ public HTTPS origin เป็น MCP/OAuth endpoint หลัก และ DODO เริ่ม/หยุด
11
+ process-owned `cloudflared` พร้อม `dodo start`
12
+ - Tunnel fail closed เมื่อ public origin, credential, executable หรือ readiness ไม่พร้อม
13
+ โดยไม่ย้อนกลับไปใช้ Local
14
+ - Local Config แสดง Active MCP URL จาก runtime จริงและเปลี่ยนโหมดสำหรับการ restart
15
+ ครั้งถัดไปได้
16
+ - Cloudflare Tunnel token เป็น write-only และอยู่ใน reviewed OS credential store หรือ
17
+ owner-controlled environment/private-file reference; token ไม่อยู่ใน config, URL,
18
+ process arguments, log หรือ browser storage
19
+ - Remote Config ผ่าน `/config` เปิดได้ครั้งละไม่เกินหนึ่งชั่วโมง เฉพาะตอน persistent
20
+ Tunnel ทำงานอยู่
21
+
22
+ ## อัปเดต
23
+
24
+ ```bash
25
+ npm install -g dodo-mcp@1.0.3
26
+ dodo --version
27
+ ```
28
+
29
+ เลือก Local:
30
+
31
+ ```bash
32
+ dodo tunnel configure --local
33
+ dodo start
34
+ ```
35
+
36
+ เลือก Tunnel:
37
+
38
+ ```bash
39
+ dodo tunnel configure \
40
+ --tunnel \
41
+ --public-url https://YOUR-DODO-HOST \
42
+ --os-credential
43
+ dodo start
44
+ ```
45
+
46
+ การอัปเดตไม่เปิด Tunnel เอง Config เดิมที่ใช้ managed credential จะ migrate เป็น Tunnel
47
+ ส่วน config เดิมรูปแบบอื่น migrate เป็น Local เพื่อไม่เพิ่มการเปิดเผยเครื่องโดยไม่ตั้งใจ
48
+
49
+ ## การตรวจรับ
50
+
51
+ - Automated core/security/compatibility: 679 passed, 34 skipped, 0 failed
52
+ - Packaging: 16/16 passed
53
+ - Chromium Local Config UI: 5/5 passed
54
+ - Production dependency audit: 0 vulnerabilities
55
+ - Live Cloudflare hostname ด้วย credential ของเจ้าของสำหรับ source นี้:
56
+ **MANUAL_NOT_RUN**
@@ -0,0 +1,34 @@
1
+ # DODO MCP 1.0.4
2
+
3
+ รุ่น 1.0.4 ทำให้ Windows setup อธิบายและกู้สถานการณ์ private state ACL ได้ชัดเจนขึ้น
4
+ โดยไม่ลด security policy ของ DODO
5
+
6
+ ## การเปลี่ยนแปลง
7
+
8
+ - เพิ่ม [Windows Setup](WINDOWS_SETUP.md) ครอบคลุม CMD/PowerShell, component matrix,
9
+ manual `cloudflared` install, Desktop/Web permission และการตรวจหลังติดตั้ง
10
+ - typed setup failures แสดง recovery hint ทั้ง command mode, JSON และ `dodo --cli`
11
+ - private state ACL failure แนะนำ local NTFS/current-owner/fresh-state path โดยเก็บ
12
+ directory เดิมไว้และไม่ใช้ permissive ACL
13
+ - เมนูระบุว่า Windows ต้องติดตั้ง `cloudflared` จาก Cloudflare ก่อน
14
+
15
+ ## อัปเดต
16
+
17
+ ```bash
18
+ npm install -g dodo-mcp@1.0.4
19
+ dodo --version
20
+ ```
21
+
22
+ เปิด terminal ใหม่หลังเปลี่ยน user environment และ restart DODO process เดิม
23
+
24
+ ## Security
25
+
26
+ รุ่นนี้ไม่เปลี่ยน OAuth, workspace ACL/context, trust, approvals, path/secret guards,
27
+ expected-hash conflict protection, command sandbox หรือ Tunnel credential handling
28
+ การตรวจ Windows DACL ยังคง fail closed และไม่ takeover state ของ account อื่น
29
+
30
+ ## Verification
31
+
32
+ ผล automated release gate และ package/registry verification จะบันทึกใน release
33
+ evidence ของ 1.0.4 ก่อน publish ส่วน Windows 11 interactive/manual acceptance ยังคง
34
+ รายงานแยกตาม environment จริง
@@ -1,7 +1,39 @@
1
1
  # DODO MCP — Release Notes
2
2
 
3
+ ## 1.0.4 — Windows setup guidance and actionable recovery
4
+
5
+ - เพิ่มคู่มือ Windows Setup สำหรับติดตั้ง components, `cloudflared`, Desktop/Web
6
+ permission และตรวจผลแบบแยก `missing`/`needs-permission`/`ready`
7
+ - อธิบาย private state ACL, default `%LOCALAPPDATA%\dodo`, สาเหตุที่พบบ่อย และวิธี
8
+ ใช้ `DODO_CONFIG_DIR` กับ fresh local NTFS path โดยไม่ลบหรือทำ ACL เดิมให้อ่อนลง
9
+ - CLI และเมนูแสดง recovery ของ typed setup error แทนการทิ้งคำแนะนำที่ปลอดภัย
10
+ - แก้ข้อความเมนูให้ชัดว่า Windows ต้องติดตั้ง signed `cloudflared` package จาก
11
+ Cloudflare ก่อน; DODO ไม่ติดตั้งเป็น Windows service เพราะ supervise child เอง
12
+
13
+ ติดตั้งหรืออัปเดตด้วย `npm install -g dodo-mcp@1.0.4` แล้วเปิด terminal ใหม่และ
14
+ restart DODO process ที่กำลังรันอยู่
15
+
16
+ ## 1.0.3 — Persistent connection mode
17
+
18
+ - เพิ่ม installation setting `connectionMode=local|tunnel` เป็นแหล่งความจริงเดียว
19
+ - `dodo start` ใช้โหมดที่บันทึกไว้ทุกครั้ง: Local ไม่เริ่ม `cloudflared`; Tunnel เริ่ม
20
+ และหยุด DODO-owned `cloudflared` พร้อม process และ fail closed เมื่อไม่พร้อม
21
+ - Tunnel token บันทึกแบบ write-only ใน reviewed OS credential store หรืออ้างอิง
22
+ owner-controlled env/private file; ไม่รับ token ชั่วคราวผ่าน startup/IPC อีกต่อไป
23
+ - Local Config เลือกโหมดและบันทึก token ได้โดยไม่ส่งค่ากลับ หน้า Connection แสดง
24
+ Active MCP URL จาก runtime จริง ค่าใหม่มีผลหลัง restart
25
+ - Remote Config หนึ่งชั่วโมงใช้ได้เฉพาะเมื่อ persistent Tunnel mode กำลังทำงาน
26
+ - เพิ่ม integration/security regression สำหรับ Local OAuth/MCP, endpoint selection,
27
+ config migration, credential non-disclosure และ no-fallback supervisor behavior
28
+
29
+ ติดตั้งหรืออัปเดตด้วย `npm install -g dodo-mcp@1.0.3` แล้ว restart DODO
30
+ process ที่กำลังรันอยู่
31
+
3
32
  ## 1.0.2
4
33
 
34
+ > พฤติกรรม token ชั่วคราวของรุ่นนี้ถูกแทนที่ใน source ปัจจุบันด้วย persistent
35
+ > connection mode ดูหัวข้อ 1.0.3 และ ADR-048
36
+
5
37
  ### Temporary Remote Config
6
38
 
7
39
  - เพิ่ม `dodo --web`, `dodo web --status` และ `dodo web --close` สำหรับเปิดหน้า Config
package/docs/SECURITY.md CHANGED
@@ -222,15 +222,24 @@ workspace context ทุก call ที่เปิดให้เห็นย
222
222
 
223
223
  ## Cloudflare Tunnel
224
224
 
225
- เจ้าของเป็นผู้สร้าง remotely-managed Tunnel, hostname และ DNS DODO ไม่ใช้ Cloudflare API เมื่อรัน `dodo start` ใน terminal ระบบถาม Tunnel token แบบซ่อนและ supervise เฉพาะ live `cloudflared` child ของ process นั้น หรือเจ้าของเริ่ม/หยุดรอบเดียวกันจาก Local Config ที่ผ่าน owner authentication
226
-
227
- เส้นทางหลักใช้ token แบบ run-scoped เท่านั้น: token อยู่ในหน่วยความจำของ DODO และ environment ของ child `cloudflared` ระหว่างรอบ ไม่ถูกบันทึกใน config, Keychain, Credential Manager, Secret Service, CLI argv, child arguments, logs, MCP catalog/response, audit หรือ setup receipt ค่า `TUNNEL_TOKEN` และ `TUNNEL_TOKEN_FILE` ถูกปฏิเสธจาก environment ของ MCP jobs เสมอ Local Config รับ token ผ่าน private loopback capability, ล้าง request field หลังส่ง และตอบกลับเพียง `tokenStored:false`
228
-
229
- Local Config รับ token เฉพาะ POST ที่ผ่าน private capability, Host/Origin/proxy checks,
230
- rate limit และ control-context headers แล้วส่งให้ process-owned runtime โดยตรง
231
- Response/config/audit เก็บเฉพาะสถานะที่ไม่มี secret ไม่มี MCP tool สำหรับส่ง token หรือ
232
- ควบคุม tunnel หน้าเว็บเริ่ม network process เฉพาะเมื่อ owner กด “เปิด Tunnel รอบนี้”
233
- และการตั้ง startup preference ไม่เริ่ม network process
225
+ เจ้าของเป็นผู้สร้าง remotely-managed Tunnel, hostname และ DNS DODO ไม่ใช้ Cloudflare
226
+ API DODO บันทึกการเลือกแบบ exclusive เป็น `local` หรือ `tunnel` ใน private global
227
+ config หากเลือก Tunnel ทุก `dodo start` จะเริ่มเฉพาะ live `cloudflared` child ของ
228
+ process นั้นและหยุด child พร้อม DODO หาก credential/readiness ไม่พร้อม startup จะ
229
+ fail closed และไม่ fallback ไป Local
230
+
231
+ Token ถูกเก็บใน macOS Keychain, Windows Credential Manager หรือ Linux Secret Service
232
+ เมื่อใช้ `--os-credential`; config เก็บ opaque locator เท่านั้น Owner-controlled
233
+ headless deployment อาจเลือก env/private-file reference โดย DODO ไม่คัดลอกค่า Token
234
+ ไม่อยู่ใน CLI argv, child arguments, config JSON, logs, MCP catalog/response, audit,
235
+ browser storage หรือ setup receipt ค่า `TUNNEL_TOKEN` และ `TUNNEL_TOKEN_FILE` ถูก
236
+ ปฏิเสธจาก environment ของ MCP jobs เสมอ
237
+
238
+ Local Config รับ token แบบ write-only เฉพาะ POST ที่ผ่าน private capability,
239
+ Host/Origin/proxy checks, rate limit และ control-context headers จากนั้นส่งตรงไปยัง
240
+ reviewed OS credential provider และล้าง request field Response/config/audit ส่งกลับ
241
+ เฉพาะ credential presence/provider ไม่มี MCP tool สำหรับส่ง token, เปลี่ยน connection
242
+ mode หรือควบคุม owner Tunnel
234
243
 
235
244
  Tunnel route ต้องชี้ทุก public path ไป MCP/OAuth listener `127.0.0.1:21730` เท่านั้น
236
245
  Local Config `21731`, metrics `21732` และ private IPC ไม่ถูก expose `/config` ที่
@@ -242,6 +251,12 @@ AI client กำลังเชื่อมต่อ
242
251
 
243
252
  `dodo setup --check` และ `dodo setup --plan` เป็น read-only การติดตั้ง dependency ที่ยังขาดต้องมี `--yes` จาก local owner ก่อนเริ่ม installer โดย flag นี้ไม่ข้าม OS elevation, Desktop consent หรือ policy อื่น
244
253
 
254
+ บน Windows private state ต้องอยู่ใน dedicated local path ที่ไม่ใช่ reparse point และ
255
+ ผ่าน owner/DACL verification DODO ไม่ใช้ permissive ACL หรือ takeover directory ของ
256
+ account อื่นเมื่อ setup ล้มเหลว Recovery ที่รองรับคือแก้ ownership หลังตรวจ provenance
257
+ โดยผู้ดูแลเครื่อง หรือเลือก fresh local NTFS directory ผ่าน `DODO_CONFIG_DIR` โดยเก็บ
258
+ state เดิมไว้ ดู [WINDOWS_SETUP.md](WINDOWS_SETUP.md)
259
+
245
260
  `dodo setup --import-state` นำเข้าได้เฉพาะ preference allowlist จาก private `config.json`: config version, MCP/config ports, bounded limits, search backend, log retention และ tool surface เท่านั้น ระบบไม่ copy database, OAuth signing keys, cookies, clients, grants, authorization codes, tokens, workspace ACL, trust, approvals, schedules, public URL/Host/Origin allowlists, web/desktop permissions, LSP commands, environment allowlist หรือ sandbox writable paths
246
261
 
247
262
  ก่อน commit ระบบตรวจ file type, ownership/ACL, link count, symlink, runtime markers, size และ SHA-256 ซ้ำ หาก source เปลี่ยน, schema ไม่ตรง, มี unknown field หรือมี DODO process ใช้งาน state นั้นอยู่ การนำเข้าจะ fail closed และรักษา source/target เดิมไว้
@@ -275,4 +290,5 @@ Unknown outcomes ไม่ auto-retry Queue ไม่แทน expected hash ห
275
290
  Local Config ยังคง loopback, token expiry, Host/Origin/proxy-header/rate checks และ CSP
276
291
  Admin API ไม่อยู่บน public MCP Events ใช้ authenticated fetch/cursor ไม่ใส่ token ใน URL
277
292
  ใช้ textContent แสดง path/model/error และไม่ render HTML จากโมเดล Tunnel credential
278
- ยัง run-scoped ตามเดิม การเริ่ม DODO/Keychain/macOS permissions ต้องผ่านเจ้าของ
293
+ อยู่ใน reviewed OS store/reference และไม่ถูกส่งกลับให้ browser การเริ่ม DODO,
294
+ ปลดล็อก Keychain และให้ macOS permissions ต้องผ่านเจ้าของ
@@ -1,8 +1,58 @@
1
1
  # DODO MCP — Test Report
2
2
 
3
+ ## Release 1.0.4 — Windows setup guidance
4
+
5
+ ผล candidate gate บน macOS วันที่ 2026-09-16:
6
+
7
+ - build: **AUTOMATED_PASS** — Full 125, Compact 19, Hybrid 49 และ config schemas 2 ชุด
8
+ - typecheck และ lint: **AUTOMATED_PASS**
9
+ - core/integration/security/compatibility: **AUTOMATED_PASS** — 680 passed / 34 skipped / 0 failed ใน 99 ไฟล์ที่ผ่านและ 3 ไฟล์ที่ skip ตาม platform/capability
10
+ - packaging: **AUTOMATED_PASS** — 16/16 รวม assertion ว่า tarball มี `docs/WINDOWS_SETUP.md`
11
+ - production dependency audit: **AUTOMATED_PASS** — 0 vulnerabilities
12
+ - npm pack dry-run: **AUTOMATED_PASS** — package 1.0.4, 456 files, มีคู่มือและ release document ใหม่
13
+ - native Windows interactive ACL recovery และ Cloudflare executable ของผู้ใช้:
14
+ **MANUAL_NOT_RUN** — automated tests ไม่เปลี่ยนสถานะนี้
15
+
16
+ CLI เพิ่มการแสดง typed recovery ใน command/JSON/interactive menu และยังคงปฏิเสธ
17
+ foreign owner, reparse point หรือ permissive state DACL แบบ fail closed คู่มือแนะนำ
18
+ fresh local NTFS state โดยเก็บ directory เดิมไว้; ไม่มี test หรือเอกสารส่วนใดลด ACL
19
+ เป็น `Everyone` หรือ takeover state ของ account อื่น
20
+
21
+ ## Release 1.0.3 — Persistent connection mode
22
+
23
+ - `tests/integration/connectionMode.test.ts`: Local ใช้ loopback เป็น OAuth issuer/MCP
24
+ resource และเรียก `project_overview` ผ่าน OAuth จริง; Tunnel advertise public URL
25
+ แต่คง upstream ที่ loopback
26
+ - `tests/security/tunnelCredentials.test.ts`: migration จาก config เดิมและ credential
27
+ locator ที่ไม่มี token
28
+ - `tests/security/localConfig.test.ts`: owner authentication, write-only OS credential
29
+ boundary, exclusive mode และไม่มี endpoint เริ่ม tunnel ด้วย token ชั่วคราว
30
+ - `tests/integration/tunnelSupervisor.test.ts`: configured credential, argv/log/state
31
+ non-disclosure, readiness, bounded restart และ owned stop
32
+ - `tests/security/remoteConfig.test.ts` กับ `tests/integration/remoteConfigUi.test.ts`:
33
+ Remote Config เปิดได้เฉพาะ Tunnel ที่ทำงานและไม่รับ credential ทาง IPC
34
+ - `tests/integration/configUiComponents.test.ts`: Chromium จริงแสดง Active MCP URL
35
+ ตาม runtime, บังคับ Local/Tunnel เป็นตัวเลือกเดียว และไม่บันทึก Tunnel เมื่อ HTTPS
36
+ origin หรือ credential ยังไม่พร้อม
37
+
38
+ Targeted gate ล่าสุด: **AUTOMATED_PASS** — 9 files, 61 tests passed, 1 skipped ตาม
39
+ dependency/platform; Chromium UI 5/5 ผ่าน; typecheck และ lint ผ่าน
40
+
41
+ Full gate ล่าสุด: **AUTOMATED_PASS** — `npm run build` สร้าง Full 125 / Compact 19 /
42
+ Hybrid 49 tools; `npm run test:all` ผ่าน core/security/compatibility 99 files,
43
+ 679 tests passed, 34 skipped, 0 failed และ packaging 16/16
44
+
45
+ - `npm audit --omit=dev`: **AUTOMATED_PASS** — production vulnerabilities 0
46
+ - `npm pack --dry-run`: **AUTOMATED_PASS** — มี CLI, Local Config assets และ schema
47
+ ทั้งสาม surfaces; ไม่พบ `.env`, state DB, model/media, release evidence หรือ
48
+ `docs/development` ใน manifest
49
+
50
+ Live Cloudflare hostname และ OS credential store ด้วย credential ของเจ้าของสำหรับ source
51
+ นี้: **MANUAL_NOT_RUN** — ไม่ถือว่า fixture cloudflared เป็นหลักฐานของ public network จริง
52
+
3
53
  ## Scope
4
54
 
5
- รายงานนี้ใช้กับ DODO MCP 1.0.2 source และแยกผล automated กับ manual อย่างชัดเจน
55
+ รายงานนี้ใช้กับ DODO MCP 1.0.3 source และแยกผล automated กับ manual อย่างชัดเจน
6
56
 
7
57
  ## Release 1.0.2 — Temporary Remote Config
8
58