@profoundlogic/coderflow-server 0.3.0 → 0.3.2

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 (149) hide show
  1. package/dist/base-image/agent-wrapper.sh +7 -8
  2. package/dist/coder-server.js +1 -1
  3. package/dist/config/skill-catalog.json +9 -0
  4. package/dist/config.js +1 -1
  5. package/dist/lib/agent-keepalive.js +1 -1
  6. package/dist/lib/api-keys.js +1 -1
  7. package/dist/lib/apiKeys.js +1 -1
  8. package/dist/lib/app-server-ports.js +1 -1
  9. package/dist/lib/auto-judge.js +1 -1
  10. package/dist/lib/basic-auth.js +1 -1
  11. package/dist/lib/build-history.js +1 -1
  12. package/dist/lib/build-output-service.js +1 -1
  13. package/dist/lib/build-scheduler.js +1 -1
  14. package/dist/lib/build-service.js +1 -1
  15. package/dist/lib/ca-certificates.js +1 -1
  16. package/dist/lib/claude-oauth-refresh.js +1 -1
  17. package/dist/lib/cli/build.js +1 -1
  18. package/dist/lib/cli/config-command.js +1 -1
  19. package/dist/lib/cli/config.js +1 -1
  20. package/dist/lib/cli/create-user.js +1 -1
  21. package/dist/lib/cli/init.js +1 -1
  22. package/dist/lib/cli/jira.js +1 -1
  23. package/dist/lib/cli/license.js +1 -1
  24. package/dist/lib/cli/server-manager.js +1 -1
  25. package/dist/lib/container-credential-sync.js +1 -0
  26. package/dist/lib/container-tokens.js +1 -1
  27. package/dist/lib/data-dir.js +1 -1
  28. package/dist/lib/deployment-history.js +1 -1
  29. package/dist/lib/deployment-service.js +1 -1
  30. package/dist/lib/docker-utils.js +1 -1
  31. package/dist/lib/email.js +1 -1
  32. package/dist/lib/emailTemplates.js +1 -1
  33. package/dist/lib/entitlement.js +1 -1
  34. package/dist/lib/fetch-utils.js +1 -1
  35. package/dist/lib/git-commit-details-route.js +1 -1
  36. package/dist/lib/git-history-diff-guardrails.js +1 -1
  37. package/dist/lib/git-provider-service.js +1 -1
  38. package/dist/lib/git-provider-setup/github-setup-handler.js +1 -1
  39. package/dist/lib/git-provider-setup/index.js +1 -1
  40. package/dist/lib/git-provider-setup/setup-factory.js +1 -1
  41. package/dist/lib/git-provider-setup/setup-interface.js +1 -1
  42. package/dist/lib/git-providers/azure-devops-provider.js +1 -1
  43. package/dist/lib/git-providers/github-app-provider.js +1 -1
  44. package/dist/lib/git-providers/index.js +1 -1
  45. package/dist/lib/git-providers/provider-factory.js +1 -1
  46. package/dist/lib/git-providers/provider-interface.js +1 -1
  47. package/dist/lib/github-urls.js +1 -1
  48. package/dist/lib/group-objective-linking.js +1 -1
  49. package/dist/lib/jira-client.js +1 -1
  50. package/dist/lib/judge-blinding.js +1 -1
  51. package/dist/lib/logger.js +1 -1
  52. package/dist/lib/model-fetcher.js +1 -1
  53. package/dist/lib/notifications.js +1 -1
  54. package/dist/lib/oidc-auth.js +1 -1
  55. package/dist/lib/oidc-device-flow.js +1 -1
  56. package/dist/lib/passwordTokens.js +1 -1
  57. package/dist/lib/pin-cascade.js +1 -1
  58. package/dist/lib/provider-accounts.js +1 -1
  59. package/dist/lib/provider-oauth.js +1 -1
  60. package/dist/lib/provider-profile.js +1 -1
  61. package/dist/lib/provider-token-refresh.js +1 -1
  62. package/dist/lib/request-url.js +1 -1
  63. package/dist/lib/rewind.js +1 -1
  64. package/dist/lib/roles.js +1 -1
  65. package/dist/lib/secrets.js +1 -1
  66. package/dist/lib/setup-repo-git-auth.js +1 -1
  67. package/dist/lib/state-capture.js +1 -1
  68. package/dist/lib/static-files.js +1 -1
  69. package/dist/lib/task-name-generator.js +1 -1
  70. package/dist/lib/user-git-oauth.js +1 -1
  71. package/dist/lib/user-git-tokens.js +1 -1
  72. package/dist/lib/users.js +1 -1
  73. package/dist/middleware/requireAuth.js +1 -1
  74. package/dist/middleware/requireInit.js +1 -1
  75. package/dist/middleware/requirePermission.js +1 -1
  76. package/dist/package.json +1 -1
  77. package/dist/routes/apiKeys.js +1 -1
  78. package/dist/routes/auth-oidc.js +1 -1
  79. package/dist/routes/auth.js +1 -1
  80. package/dist/routes/build.js +1 -1
  81. package/dist/routes/containers.js +1 -1
  82. package/dist/routes/deploy-task.js +1 -1
  83. package/dist/routes/environment-management.js +1 -1
  84. package/dist/routes/environments.js +1 -1
  85. package/dist/routes/external-skills.js +1 -1
  86. package/dist/routes/git-credentials.js +1 -1
  87. package/dist/routes/git-oauth.js +1 -1
  88. package/dist/routes/git-provider-setup.js +1 -1
  89. package/dist/routes/health.js +1 -1
  90. package/dist/routes/jira.js +1 -1
  91. package/dist/routes/objective-management.js +1 -1
  92. package/dist/routes/password.js +1 -1
  93. package/dist/routes/prompt.js +1 -1
  94. package/dist/routes/provider-auth.js +1 -1
  95. package/dist/routes/qa.js +1 -1
  96. package/dist/routes/settings.js +1 -1
  97. package/dist/routes/skill-management.js +1 -1
  98. package/dist/routes/skills.js +1 -1
  99. package/dist/routes/tasks.js +1 -1
  100. package/dist/routes/templates.js +1 -1
  101. package/dist/routes/test-task.js +1 -1
  102. package/dist/routes/test.js +1 -1
  103. package/dist/routes/users.js +1 -1
  104. package/dist/routes/visualizations.js +1 -1
  105. package/dist/scripts/create-user.js +1 -1
  106. package/dist/shipped-skills/environment-templates/SKILL.md +32 -109
  107. package/dist/start.js +1 -1
  108. package/dist/web-ui/public/activity-detail-modal.js +1 -1
  109. package/dist/web-ui/public/activity-feed.js +1 -1
  110. package/dist/web-ui/public/activity-formatters.js +1 -1
  111. package/dist/web-ui/public/agent-event-parser.js +1 -1
  112. package/dist/web-ui/public/app.js +1 -1
  113. package/dist/web-ui/public/approve-dialog.js +1 -1
  114. package/dist/web-ui/public/comments-widget.js +1 -1
  115. package/dist/web-ui/public/diff-utils.js +1 -1
  116. package/dist/web-ui/public/docs/_sidebar.md +1 -0
  117. package/dist/web-ui/public/docs/admin/jira.md +156 -0
  118. package/dist/web-ui/public/docs/admin/skills.md +1 -1
  119. package/dist/web-ui/public/docs/tasks/creating-tasks.md +14 -0
  120. package/dist/web-ui/public/environments.html +24 -1
  121. package/dist/web-ui/public/environments.js +1 -1
  122. package/dist/web-ui/public/feedback-widget.js +1 -1
  123. package/dist/web-ui/public/git-history-lazy-utils.js +1 -1
  124. package/dist/web-ui/public/git-history.js +1 -1
  125. package/dist/web-ui/public/git-status.js +1 -1
  126. package/dist/web-ui/public/index.js +1 -1
  127. package/dist/web-ui/public/login.js +1 -1
  128. package/dist/web-ui/public/markdown-editor.js +1 -1
  129. package/dist/web-ui/public/markdown-file-editor.js +1 -1
  130. package/dist/web-ui/public/modal-maximize.js +1 -1
  131. package/dist/web-ui/public/notifications.js +1 -1
  132. package/dist/web-ui/public/pr-dialog.js +1 -0
  133. package/dist/web-ui/public/server-health.js +1 -1
  134. package/dist/web-ui/public/settings.js +1 -1
  135. package/dist/web-ui/public/setup-password.js +1 -1
  136. package/dist/web-ui/public/skills.css +29 -0
  137. package/dist/web-ui/public/skills.html +15 -0
  138. package/dist/web-ui/public/skills.js +1 -1
  139. package/dist/web-ui/public/sse-client.js +1 -1
  140. package/dist/web-ui/public/sse-shared-worker.js +1 -1
  141. package/dist/web-ui/public/styles.css +137 -0
  142. package/dist/web-ui/public/task.html +27 -0
  143. package/dist/web-ui/public/task.js +1 -1
  144. package/dist/web-ui/public/terminal.js +1 -1
  145. package/dist/web-ui/public/theme.js +1 -1
  146. package/dist/web-ui/public/users.html +1 -1
  147. package/dist/web-ui/public/users.js +1 -1
  148. package/dist/web-ui/public/variant-grouping.js +1 -1
  149. package/package.json +1 -1
@@ -1 +1 @@
1
- const _0x3040af=_0x4fd5;(function(_0x3ae6c7,_0x2e92f0){const _0x1ef147=_0x4fd5,_0x5b87b8=_0x3ae6c7();while(!![]){try{const _0xc66def=parseInt(_0x1ef147(0x80))/0x1+-parseInt(_0x1ef147(0x7b))/0x2+-parseInt(_0x1ef147(0x86))/0x3*(-parseInt(_0x1ef147(0x8e))/0x4)+parseInt(_0x1ef147(0x91))/0x5*(-parseInt(_0x1ef147(0xb1))/0x6)+parseInt(_0x1ef147(0xa2))/0x7*(parseInt(_0x1ef147(0xa7))/0x8)+parseInt(_0x1ef147(0xa3))/0x9*(parseInt(_0x1ef147(0x78))/0xa)+-parseInt(_0x1ef147(0xaa))/0xb;if(_0xc66def===_0x2e92f0)break;else _0x5b87b8['push'](_0x5b87b8['shift']());}catch(_0x2637f0){_0x5b87b8['push'](_0x5b87b8['shift']());}}}(_0x5ddf,0xe5939));import{initTheme,mountThemeToggle}from'./theme.js';initTheme();const urlParams=new URLSearchParams(window['location'][_0x3040af(0xad)]),token=urlParams[_0x3040af(0x9a)]('token'),loadingEl=document[_0x3040af(0xa4)](_0x3040af(0x8f)),setupContentEl=document[_0x3040af(0xa4)]('setup-content'),setupFormEl=document[_0x3040af(0xa4)](_0x3040af(0xa9)),setupMessageEl=document[_0x3040af(0xa4)](_0x3040af(0x88)),userUsernameEl=document['getElementById'](_0x3040af(0x9b)),userNameEl=document[_0x3040af(0xa4)](_0x3040af(0xaf)),passwordInput=document[_0x3040af(0xa4)](_0x3040af(0x84)),confirmPasswordInput=document[_0x3040af(0xa4)](_0x3040af(0xa6)),submitButton=setupFormEl?.[_0x3040af(0x90)](_0x3040af(0x9c));function showMessage(_0x3e966f,_0x3ab92a=_0x3040af(0x8c)){const _0x142a9b=_0x3040af;setupMessageEl['textContent']=_0x3e966f,setupMessageEl['className']=_0x142a9b(0xae)+_0x3ab92a+'\x20visible';}function hideMessage(){const _0x2e278a=_0x3040af;setupMessageEl[_0x2e278a(0xac)]=_0x2e278a(0x88);}function showError(_0x30dac4){const _0x4f48aa=_0x3040af;loadingEl[_0x4f48aa(0x81)][_0x4f48aa(0x8a)](_0x4f48aa(0x79)),setupContentEl['style'][_0x4f48aa(0x77)]='block',document['getElementById'](_0x4f48aa(0x7d))['style'][_0x4f48aa(0x77)]='none',setupFormEl['style'][_0x4f48aa(0x77)]='none',showMessage(_0x30dac4,'error');}function _0x5ddf(){const _0xa848bc=['zgLZywjSzwq','q3jLyxrLigeGC2vJDxjLihbHC3n3B3jKigzVCIb5B3vYigfJy291BNq','ANnVBG','C3r5Bgu','z2v0','DxnLCI11C2vYBMfTzq','yNv0Dg9Uw3r5Cgu9iNn1yM1PDcjD','rMfPBgvKihrVihnLDcbWyxnZD29Yzc4GugXLyxnLihrYEsbHz2fPBI4','l3bHC3n3B3jKl3zHBgLKyxrLlxrVA2vUp3rVA2vUpq','u2v0ifbHC3n3B3jK','rMfPBgvKihrVihnLDcbWyxnZD29YzdO','tM8GDg9Rzw4GChjVDMLKzwqUifbSzwfZzsbJAgvJAYb0AguGBgLUAYb5B3uGCMvJzwL2zwqU','mJu1nZe0ow1cA0H1zW','mZi0AxnvruPl','z2v0rwXLBwvUDej5swq','ywrKrxzLBNrmAxn0zw5LCG','y29UzMLYBs1WyxnZD29Yza','mJrAsgfJweW','Bg9JyxrPB24','C2v0DxaTzM9YBq','oduYnZeXmNDWrxjJzq','C3vJy2vZCW','y2XHC3noyw1L','C2vHCMnO','C2v0DxaTBwvZC2fNzsa','DxnLCI1Uyw1L','CMvZzxq','mJu4r1vUt2XH','re9nq29UDgvUDeXVywrLza','BgvUz3rO','rMfPBgvKihrVihzHBgLKyxrLihrVA2vUoG','BMfTzq','Dgv4DenVBNrLBNq','zgLZCgXHEq','mZG1otyWB3PlEMXk','DMLZAwjSzq','C3rYAw5NAwz5','otm4mJiWt3H4uNrS','zM9JDxm','DxnLCI1PBMzV','rMfPBgvKihrVihnLDcbWyxnZD29Yza','ugfZC3DVCMqGC2v0ihn1y2nLC3nMDwXSEseGuMvKAxjLy3rPBMCGDg8GBg9NAw4UlI4','nJqWotCWuwfWuwLy','y2XHC3nmAxn0','ugfZC3DVCMqGBxvZDcbIzsbHDcbSzwfZDca4ignOyxjHy3rLCNmGBg9UzW','DMfSDwu','CgfZC3DVCMq','yxbWBgLJyxrPB24VANnVBG','mte5nJfgCNj2rKK','yMXVy2S','C2v0DxaTBwvZC2fNzq','ue9tva','CMvTB3zL','ugfZC3DVCMrZigrVig5VDcbTyxrJAa','zxjYB3i','l3bHC3n3B3jKl3nLDhvW','nte2DfbsC1rm','Bg9HzgLUzW','CxvLCNLtzwXLy3rVCG','mty5mZa1DwnKsujc','AhjLzG','DhLWzq','DxnLCM5HBwu','l2XVz2LUlMH0BwW'];_0x5ddf=function(){return _0xa848bc;};return _0x5ddf();}async function validateToken(){const _0x2fc3cd=_0x3040af;if(!token){showError(_0x2fc3cd(0xa1));return;}try{const _0x1e02ac=await fetch(_0x2fc3cd(0x9e)+encodeURIComponent(token)),_0x2eb91c=await _0x1e02ac[_0x2fc3cd(0x98)]();if(!_0x2eb91c['valid']){showError(_0x2eb91c[_0x2fc3cd(0x8c)]||'Invalid\x20or\x20expired\x20token.\x20Please\x20request\x20a\x20new\x20password\x20setup\x20link.');return;}loadingEl[_0x2fc3cd(0x81)][_0x2fc3cd(0x8a)]('visible'),setupContentEl[_0x2fc3cd(0x99)][_0x2fc3cd(0x77)]=_0x2fc3cd(0x87),userUsernameEl[_0x2fc3cd(0x76)]=_0x2eb91c['user'][_0x2fc3cd(0x94)],userNameEl[_0x2fc3cd(0x76)]=_0x2eb91c['user'][_0x2fc3cd(0x75)];const _0x5173ff=document[_0x2fc3cd(0x90)]('.setup-header\x20p');_0x2eb91c[_0x2fc3cd(0x93)]===_0x2fc3cd(0xb0)?_0x5173ff[_0x2fc3cd(0x76)]='Reset\x20your\x20password':_0x5173ff[_0x2fc3cd(0x76)]=_0x2fc3cd(0x97),passwordInput[_0x2fc3cd(0x7c)]();}catch(_0xa2e59b){console[_0x2fc3cd(0x8c)](_0x2fc3cd(0xb4),_0xa2e59b),showError('Failed\x20to\x20validate\x20token.\x20Please\x20try\x20again\x20or\x20contact\x20your\x20administrator.');}}async function handleSubmit(_0x5eaa4c){const _0x267ec7=_0x3040af;_0x5eaa4c['preventDefault'](),hideMessage();const _0x58dbbb=passwordInput[_0x267ec7(0x83)],_0x38ccc0=confirmPasswordInput[_0x267ec7(0x83)];if(_0x58dbbb!==_0x38ccc0){showMessage(_0x267ec7(0x8b),_0x267ec7(0x8c)),confirmPasswordInput['focus']();return;}if(_0x58dbbb[_0x267ec7(0xb3)]<0x8){showMessage(_0x267ec7(0x82),'error'),passwordInput[_0x267ec7(0x7c)]();return;}submitButton[_0x267ec7(0x96)]=!![],submitButton[_0x267ec7(0x76)]='Setting\x20password...';try{const _0x1d1e5c=await fetch(_0x267ec7(0x8d),{'method':_0x267ec7(0x89),'headers':{'Content-Type':_0x267ec7(0x85)},'body':JSON[_0x267ec7(0x7a)]({'token':token,'password':_0x58dbbb})}),_0x4acea7=await _0x1d1e5c[_0x267ec7(0x98)]();if(!_0x1d1e5c['ok'])throw new Error(_0x4acea7[_0x267ec7(0x8c)]||_0x267ec7(0x7e));showMessage(_0x267ec7(0x7f),_0x267ec7(0xab)),setupFormEl['reset'](),setTimeout(()=>{const _0x20e503=_0x267ec7;window[_0x20e503(0xa8)][_0x20e503(0x92)]=_0x20e503(0x95);},0x7d0);}catch(_0x5734c6){console[_0x267ec7(0x8c)](_0x267ec7(0xa0),_0x5734c6),showMessage(_0x5734c6['message']||_0x267ec7(0x9d),_0x267ec7(0x8c)),submitButton['disabled']=![],submitButton[_0x267ec7(0x76)]=_0x267ec7(0x9f);}}setupFormEl&&setupFormEl[_0x3040af(0xa5)]('submit',handleSubmit);function _0x4fd5(_0x295dbd,_0x31346c){_0x295dbd=_0x295dbd-0x75;const _0x5ddf5f=_0x5ddf();let _0x4fd538=_0x5ddf5f[_0x295dbd];if(_0x4fd5['Affzjm']===undefined){var _0x5edfa3=function(_0x11a154){const _0x2138fe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3e966f='',_0x3ab92a='';for(let _0x30dac4=0x0,_0x1e02ac,_0x2eb91c,_0x5173ff=0x0;_0x2eb91c=_0x11a154['charAt'](_0x5173ff++);~_0x2eb91c&&(_0x1e02ac=_0x30dac4%0x4?_0x1e02ac*0x40+_0x2eb91c:_0x2eb91c,_0x30dac4++%0x4)?_0x3e966f+=String['fromCharCode'](0xff&_0x1e02ac>>(-0x2*_0x30dac4&0x6)):0x0){_0x2eb91c=_0x2138fe['indexOf'](_0x2eb91c);}for(let _0xa2e59b=0x0,_0x5eaa4c=_0x3e966f['length'];_0xa2e59b<_0x5eaa4c;_0xa2e59b++){_0x3ab92a+='%'+('00'+_0x3e966f['charCodeAt'](_0xa2e59b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3ab92a);};_0x4fd5['VVyDCs']=_0x5edfa3,_0x4fd5['kInwaT']={},_0x4fd5['Affzjm']=!![];}const _0x11c2bd=_0x5ddf5f[0x0],_0x44ac07=_0x295dbd+_0x11c2bd,_0x2de8ac=_0x4fd5['kInwaT'][_0x44ac07];return!_0x2de8ac?(_0x4fd538=_0x4fd5['VVyDCs'](_0x4fd538),_0x4fd5['kInwaT'][_0x44ac07]=_0x4fd538):_0x4fd538=_0x2de8ac,_0x4fd538;}validateToken(),document['addEventListener'](_0x3040af(0xb2),()=>{mountThemeToggle();});
1
+ const _0x2751b9=_0x5ea3;(function(_0x523f81,_0x357df7){const _0x203d3b=_0x5ea3,_0xdd3ed5=_0x523f81();while(!![]){try{const _0x7a0ab3=-parseInt(_0x203d3b(0x172))/0x1*(-parseInt(_0x203d3b(0x192))/0x2)+-parseInt(_0x203d3b(0x1a8))/0x3+parseInt(_0x203d3b(0x180))/0x4+-parseInt(_0x203d3b(0x194))/0x5*(-parseInt(_0x203d3b(0x197))/0x6)+parseInt(_0x203d3b(0x1a7))/0x7+-parseInt(_0x203d3b(0x173))/0x8+parseInt(_0x203d3b(0x184))/0x9*(parseInt(_0x203d3b(0x18b))/0xa);if(_0x7a0ab3===_0x357df7)break;else _0xdd3ed5['push'](_0xdd3ed5['shift']());}catch(_0x54b42b){_0xdd3ed5['push'](_0xdd3ed5['shift']());}}}(_0x2680,0x1e9f9));import{initTheme,mountThemeToggle}from'./theme.js';initTheme();function _0x2680(){const _0x12f191=['DMLZAwjSzq','rMfPBgvKihrVihzHBgLKyxrLihrVA2vUlIbqBgvHC2uGDhj5igfNywLUig9YignVBNrHy3qGEw91CIbHzg1PBMLZDhjHDg9YlG','ndiZodq4wKPzDurt','BwvZC2fNzq','C3r5Bgu','ANnVBG','mty4nJi5ng5MyKjiBW','Bg9HzgLUzW','re9nq29UDgvUDeXVywrLza','l2XVz2LUlMH0BwW','DxnLCI1Uyw1L','rMfPBgvKihrVihnLDcbWyxnZD29Yza','Dgv4DenVBNrLBNq','mtbOwwvnEhi','ugfZC3DVCMqGBxvZDcbIzsbHDcbSzwfZDca4ignOyxjHy3rLCNmGBg9UzW','z2v0rwXLBwvUDej5swq','u2v0ifbHC3n3B3jK','yxbWBgLJyxrPB24VANnVBG','DMfSAwq','y2XHC3nmAxn0','mZe3ndG0quHpB0v1','BM9Uzq','mtbXt25UEvO','ugfZC3DVCMqGC2v0ihn1y2nLC3nMDwXSEseGuMvKAxjLy3rPBMCGDg8GBg9NAw4UlI4','C2v0DxaTBwvZC2fNzq','mJmWmJi2rvLRrvnL','CxvLCNLtzwXLy3rVCG','zgLZywjSzwq','DhLWzq','lNnLDhvWlwHLywrLCIbW','C3rYAw5NAwz5','C2v0DxaTBwvZC2fNzsa','yMXVy2S','zgLZCgXHEq','AhjLzG','rMfPBgvKihrVihnLDcbWyxnZD29YzdO','l3bHC3n3B3jKl3nLDhvW','rMfPBgvKihrVihzHBgLKyxrLihrVA2vUoG','zxjYB3i','y2XHC3noyw1L','CgfZC3DVCMq','nde2nw1MtNLvwG','ntaZota3z05hBgjI','zM9JDxm','uMvZzxqGEw91CIbWyxnZD29Yza','ChjLDMvUDerLzMf1Bhq','y29UzMLYBs1WyxnZD29Yza','C3vJy2vZCW','yNv0Dg9Uw3r5Cgu9iNn1yM1PDcjD','DxnLCI1PBMzV','BMfTzq','mxrXB2fvqG','mtG4oda0mgzIBMPntq','u2v0DgLUzYbWyxnZD29Yzc4UlG','z2v0','q3jLyxrLigeGC2vJDxjLihbHC3n3B3jKigzVCIb5B3vYigfJy291BNq','ihzPC2LIBgu','CMvTB3zL','ywrKrxzLBNrmAxn0zw5LCG','Bg9JyxrPB24','DMfSDwu','DxnLCM5HBwu','DxnLCG'];_0x2680=function(){return _0x12f191;};return _0x2680();}const urlParams=new URLSearchParams(window['location']['search']),token=urlParams[_0x2751b9(0x175)]('token'),loadingEl=document[_0x2751b9(0x18d)](_0x2751b9(0x185)),setupContentEl=document[_0x2751b9(0x18d)]('setup-content'),setupFormEl=document[_0x2751b9(0x18d)]('setup-form'),setupMessageEl=document[_0x2751b9(0x18d)](_0x2751b9(0x196)),userUsernameEl=document[_0x2751b9(0x18d)]('user-username'),userNameEl=document['getElementById'](_0x2751b9(0x188)),passwordInput=document[_0x2751b9(0x18d)](_0x2751b9(0x1a6)),confirmPasswordInput=document[_0x2751b9(0x18d)](_0x2751b9(0x16d)),submitButton=setupFormEl?.[_0x2751b9(0x198)](_0x2751b9(0x16f));function showMessage(_0x4515f8,_0x295ad0=_0x2751b9(0x1a4)){const _0x41ad13=_0x2751b9;setupMessageEl[_0x41ad13(0x18a)]=_0x4515f8,setupMessageEl[_0x41ad13(0x1a5)]=_0x41ad13(0x19d)+_0x295ad0+_0x41ad13(0x177);}function _0x5ea3(_0x5461b1,_0x1051ca){_0x5461b1=_0x5461b1-0x16a;const _0x2680d6=_0x2680();let _0x5ea375=_0x2680d6[_0x5461b1];if(_0x5ea3['RWllhG']===undefined){var _0x10775e=function(_0x557f52){const _0x4821c1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4515f8='',_0x295ad0='';for(let _0xb0e7b7=0x0,_0x143f96,_0x2036a7,_0xb43b96=0x0;_0x2036a7=_0x557f52['charAt'](_0xb43b96++);~_0x2036a7&&(_0x143f96=_0xb0e7b7%0x4?_0x143f96*0x40+_0x2036a7:_0x2036a7,_0xb0e7b7++%0x4)?_0x4515f8+=String['fromCharCode'](0xff&_0x143f96>>(-0x2*_0xb0e7b7&0x6)):0x0){_0x2036a7=_0x4821c1['indexOf'](_0x2036a7);}for(let _0x30c67d=0x0,_0x2280d5=_0x4515f8['length'];_0x30c67d<_0x2280d5;_0x30c67d++){_0x295ad0+='%'+('00'+_0x4515f8['charCodeAt'](_0x30c67d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x295ad0);};_0x5ea3['ZTdCDw']=_0x10775e,_0x5ea3['bBYMdz']={},_0x5ea3['RWllhG']=!![];}const _0x1aab45=_0x2680d6[0x0],_0x3c86e2=_0x5461b1+_0x1aab45,_0x42ddc5=_0x5ea3['bBYMdz'][_0x3c86e2];return!_0x42ddc5?(_0x5ea375=_0x5ea3['ZTdCDw'](_0x5ea375),_0x5ea3['bBYMdz'][_0x3c86e2]=_0x5ea375):_0x5ea375=_0x42ddc5,_0x5ea375;}function hideMessage(){const _0x5a75e3=_0x2751b9;setupMessageEl[_0x5a75e3(0x1a5)]='setup-message';}function showError(_0xb0e7b7){const _0x38e568=_0x2751b9;loadingEl[_0x38e568(0x191)][_0x38e568(0x178)](_0x38e568(0x17e)),setupContentEl[_0x38e568(0x182)]['display']='block',document['getElementById'](_0x38e568(0x170))[_0x38e568(0x182)][_0x38e568(0x19f)]='none',setupFormEl[_0x38e568(0x182)][_0x38e568(0x19f)]=_0x38e568(0x193),showMessage(_0xb0e7b7,_0x38e568(0x1a4));}async function validateToken(){const _0x2e8e44=_0x2751b9;if(!token){showError('No\x20token\x20provided.\x20Please\x20check\x20the\x20link\x20you\x20received.');return;}try{const _0x143f96=await fetch('/password/validate-token?token='+encodeURIComponent(token)),_0x2036a7=await _0x143f96[_0x2e8e44(0x183)]();if(!_0x2036a7[_0x2e8e44(0x190)]){showError(_0x2036a7[_0x2e8e44(0x1a4)]||'Invalid\x20or\x20expired\x20token.\x20Please\x20request\x20a\x20new\x20password\x20setup\x20link.');return;}loadingEl[_0x2e8e44(0x191)][_0x2e8e44(0x178)](_0x2e8e44(0x17e)),setupContentEl[_0x2e8e44(0x182)]['display']=_0x2e8e44(0x19e),userUsernameEl['textContent']=_0x2036a7['user'][_0x2e8e44(0x17c)],userNameEl[_0x2e8e44(0x18a)]=_0x2036a7[_0x2e8e44(0x17d)][_0x2e8e44(0x171)];const _0xb43b96=document[_0x2e8e44(0x198)](_0x2e8e44(0x19b));_0x2036a7[_0x2e8e44(0x19a)]==='reset'?_0xb43b96['textContent']=_0x2e8e44(0x16b):_0xb43b96[_0x2e8e44(0x18a)]=_0x2e8e44(0x176),passwordInput[_0x2e8e44(0x16a)]();}catch(_0x30c67d){console[_0x2e8e44(0x1a4)](_0x2e8e44(0x1a3),_0x30c67d),showError(_0x2e8e44(0x17f));}}async function handleSubmit(_0x2280d5){const _0x4dfdd3=_0x2751b9;_0x2280d5[_0x4dfdd3(0x16c)](),hideMessage();const _0x27e4be=passwordInput['value'],_0x186ca4=confirmPasswordInput[_0x4dfdd3(0x17b)];if(_0x27e4be!==_0x186ca4){showMessage('Passwords\x20do\x20not\x20match','error'),confirmPasswordInput[_0x4dfdd3(0x16a)]();return;}if(_0x27e4be['length']<0x8){showMessage(_0x4dfdd3(0x18c),_0x4dfdd3(0x1a4)),passwordInput[_0x4dfdd3(0x16a)]();return;}submitButton['disabled']=!![],submitButton['textContent']=_0x4dfdd3(0x174);try{const _0x3d8e0b=await fetch(_0x4dfdd3(0x1a2),{'method':'POST','headers':{'Content-Type':_0x4dfdd3(0x18f)},'body':JSON[_0x4dfdd3(0x19c)]({'token':token,'password':_0x27e4be})}),_0x1be191=await _0x3d8e0b[_0x4dfdd3(0x183)]();if(!_0x3d8e0b['ok'])throw new Error(_0x1be191['error']||_0x4dfdd3(0x189));showMessage(_0x4dfdd3(0x195),_0x4dfdd3(0x16e)),setupFormEl['reset'](),setTimeout(()=>{const _0x15a66e=_0x4dfdd3;window[_0x15a66e(0x17a)][_0x15a66e(0x1a0)]=_0x15a66e(0x187);},0x7d0);}catch(_0x35e178){console['error'](_0x4dfdd3(0x1a1),_0x35e178),showMessage(_0x35e178[_0x4dfdd3(0x181)]||'Failed\x20to\x20set\x20password.\x20Please\x20try\x20again.',_0x4dfdd3(0x1a4)),submitButton[_0x4dfdd3(0x199)]=![],submitButton['textContent']=_0x4dfdd3(0x18e);}}setupFormEl&&setupFormEl['addEventListener']('submit',handleSubmit);validateToken(),document[_0x2751b9(0x179)](_0x2751b9(0x186),()=>{mountThemeToggle();});
@@ -1122,6 +1122,35 @@
1122
1122
  font-weight: 600;
1123
1123
  }
1124
1124
 
1125
+ .commit-scope-group {
1126
+ display: flex;
1127
+ flex-direction: column;
1128
+ gap: 10px;
1129
+ }
1130
+
1131
+ .commit-scope-option {
1132
+ display: flex;
1133
+ align-items: center;
1134
+ gap: 10px;
1135
+ cursor: pointer;
1136
+ user-select: none;
1137
+ font-size: 14px;
1138
+ color: var(--color-text);
1139
+ }
1140
+
1141
+ .commit-scope-option input[type="radio"] {
1142
+ width: 16px;
1143
+ height: 16px;
1144
+ margin: 0;
1145
+ cursor: pointer;
1146
+ accent-color: var(--color-accent);
1147
+ }
1148
+
1149
+ .commit-scope-hint {
1150
+ margin: 8px 0 0;
1151
+ font-size: 12px;
1152
+ }
1153
+
1125
1154
  .modified-files-list {
1126
1155
  list-style: none;
1127
1156
  padding: 0;
@@ -490,6 +490,21 @@
490
490
  Committing as: <strong id="commit-user-name"></strong> &lt;<span id="commit-user-email"></span>&gt;
491
491
  </div>
492
492
 
493
+ <div class="form-group">
494
+ <label>Commit scope:</label>
495
+ <div class="commit-scope-group">
496
+ <label class="commit-scope-option">
497
+ <input type="radio" name="commit-scope" value="skills" checked>
498
+ <span>Skills only (default)</span>
499
+ </label>
500
+ <label class="commit-scope-option">
501
+ <input type="radio" name="commit-scope" value="all">
502
+ <span>All repository changes (advanced)</span>
503
+ </label>
504
+ </div>
505
+ <p class="text-muted commit-scope-hint" id="commit-scope-hint">Only files under <code>skills/</code> will be committed.</p>
506
+ </div>
507
+
493
508
  <div class="form-group">
494
509
  <label>Modified files:</label>
495
510
  <ul id="commit-files-list" class="modified-files-list"></ul>