@profoundlogic/coderflow-server 0.3.0 → 0.3.1

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 (143) 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/admin/skills.md +1 -1
  117. package/dist/web-ui/public/environments.html +24 -1
  118. package/dist/web-ui/public/environments.js +1 -1
  119. package/dist/web-ui/public/feedback-widget.js +1 -1
  120. package/dist/web-ui/public/git-history-lazy-utils.js +1 -1
  121. package/dist/web-ui/public/git-history.js +1 -1
  122. package/dist/web-ui/public/git-status.js +1 -1
  123. package/dist/web-ui/public/index.js +1 -1
  124. package/dist/web-ui/public/login.js +1 -1
  125. package/dist/web-ui/public/markdown-editor.js +1 -1
  126. package/dist/web-ui/public/markdown-file-editor.js +1 -1
  127. package/dist/web-ui/public/modal-maximize.js +1 -1
  128. package/dist/web-ui/public/notifications.js +1 -1
  129. package/dist/web-ui/public/server-health.js +1 -1
  130. package/dist/web-ui/public/settings.js +1 -1
  131. package/dist/web-ui/public/setup-password.js +1 -1
  132. package/dist/web-ui/public/skills.css +29 -0
  133. package/dist/web-ui/public/skills.html +15 -0
  134. package/dist/web-ui/public/skills.js +1 -1
  135. package/dist/web-ui/public/sse-client.js +1 -1
  136. package/dist/web-ui/public/sse-shared-worker.js +1 -1
  137. package/dist/web-ui/public/task.js +1 -1
  138. package/dist/web-ui/public/terminal.js +1 -1
  139. package/dist/web-ui/public/theme.js +1 -1
  140. package/dist/web-ui/public/users.html +1 -1
  141. package/dist/web-ui/public/users.js +1 -1
  142. package/dist/web-ui/public/variant-grouping.js +1 -1
  143. 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 _0x1bf32e=_0x345d;function _0x17a0(){const _0x11c1c4=['ue9tva','DxnLCG','CgfZC3DVCMq','mJyXmtyWBeXfuLz3','uMvZzxqGEw91CIbWyxnZD29Yza','ugfZC3DVCMqGC2v0ihn1y2nLC3nMDwXSEseGuMvKAxjLy3rPBMCGDg8GBg9NAw4UlI4','ywrKrxzLBNrmAxn0zw5LCG','mxrfCg9lyq','y2XHC3noyw1L','ugfZC3DVCMrZigrVig5VDcbTyxrJAa','rMfPBgvKihrVihzHBgLKyxrLihrVA2vUoG','sw52ywXPzcbVCIbLEhbPCMvKihrVA2vUlIbqBgvHC2uGCMvXDwvZDcbHig5LDYbWyxnZD29YzcbZzxr1CcbSAw5RlG','mty3nMfTvLvquG','q3jLyxrLigeGC2vJDxjLihbHC3n3B3jKigzVCIb5B3vYigfJy291BNq','DMfSAwq','CxvLCNLtzwXLy3rVCG','u2v0DgLUzYbWyxnZD29Yzc4UlG','tM8GDg9Rzw4GChjVDMLKzwqUifbSzwfZzsbJAgvJAYb0AguGBgLUAYb5B3uGCMvJzwL2zwqU','yxbWBgLJyxrPB24VANnVBG','y29UzMLYBs1WyxnZD29Yza','BM9Uzq','rMfPBgvKihrVihnLDcbWyxnZD29YzdO','ANnVBG','BMfTzq','DMfSDwu','mJjdsxzhrhe','zgLZywjSzwq','Bg9HzgLUzW','DxnLCI1PBMzV','C3rYAw5NAwz5','rMfPBgvKihrVihnLDcbWyxnZD29Yza','DhLWzq','C2v0DxaTBwvZC2fNzq','u2v0ifbHC3n3B3jK','l3bHC3n3B3jKl3zHBgLKyxrLlxrVA2vUp3rVA2vUpq','l2XVz2LUlMH0BwW','rMfPBgvKihrVihzHBgLKyxrLihrVA2vUlIbqBgvHC2uGDhj5igfNywLUig9YignVBNrHy3qGEw91CIbHzg1PBMLZDhjHDg9YlG','ugfZC3DVCMqGBxvZDcbIzsbHDcbSzwfZDca4ignOyxjHy3rLCNmGBg9UzW','C2v0DxaTBwvZC2fNzsa','C3vIBwL0','ndG4mdK0AeXvr3vw','zgLZCgXHEq','ChjLDMvUDerLzMf1Bhq','Dgv4DenVBNrLBNq','z2v0rwXLBwvUDej5swq','mteYntG1owzLyMPkDW','zxjYB3i','zM9JDxm','CMvTB3zL','yMXVy2S','Bg9JyxrPB24','DxnLCM5HBwu','mteYnJy1nNzyCLHJwG','ohPVtwLbqq','CMvZzxq','re9nq29UDgvUDeXVywrLza','C3r5Bgu','ihzPC2LIBgu','BgvUz3rO','AhjLzG','C2v0DxaTzM9YBq','DxnLCI1Uyw1L','y2XHC3nmAxn0','mty3nuXfs01xAG','BwvZC2fNzq','yNv0Dg9Uw3r5Cgu9iNn1yM1PDcjD','mtG5otCYCuL3u05i','mZG3mZq4sNPVtwDi','C2vHCMnO','DMLZAwjSzq'];_0x17a0=function(){return _0x11c1c4;};return _0x17a0();}(function(_0x2d2425,_0x116c2d){const _0x3d362a=_0x345d,_0xb1ff2=_0x2d2425();while(!![]){try{const _0x1232d3=-parseInt(_0x3d362a(0xd5))/0x1*(parseInt(_0x3d362a(0xcb))/0x2)+parseInt(_0x3d362a(0xca))/0x3+parseInt(_0x3d362a(0xda))/0x4*(parseInt(_0x3d362a(0xc7))/0x5)+parseInt(_0x3d362a(0xb0))/0x6+parseInt(_0x3d362a(0xb5))/0x7*(-parseInt(_0x3d362a(0xbd))/0x8)+parseInt(_0x3d362a(0xbc))/0x9+parseInt(_0x3d362a(0xd1))/0xa*(parseInt(_0x3d362a(0xe7))/0xb);if(_0x1232d3===_0x116c2d)break;else _0xb1ff2['push'](_0xb1ff2['shift']());}catch(_0x3940c2){_0xb1ff2['push'](_0xb1ff2['shift']());}}}(_0x17a0,0x1a5a7));import{initTheme,mountThemeToggle}from'./theme.js';function _0x345d(_0x3a9d65,_0x46e0b2){_0x3a9d65=_0x3a9d65-0xaa;const _0x17a0f1=_0x17a0();let _0x345d73=_0x17a0f1[_0x3a9d65];if(_0x345d['UClUip']===undefined){var _0x3d9393=function(_0x462378){const _0x5b37a6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x195c89='',_0x5214dd='';for(let _0x43d97=0x0,_0x4f8c58,_0x2043ab,_0x12887d=0x0;_0x2043ab=_0x462378['charAt'](_0x12887d++);~_0x2043ab&&(_0x4f8c58=_0x43d97%0x4?_0x4f8c58*0x40+_0x2043ab:_0x2043ab,_0x43d97++%0x4)?_0x195c89+=String['fromCharCode'](0xff&_0x4f8c58>>(-0x2*_0x43d97&0x6)):0x0){_0x2043ab=_0x5b37a6['indexOf'](_0x2043ab);}for(let _0x50c1bb=0x0,_0x47dca9=_0x195c89['length'];_0x50c1bb<_0x47dca9;_0x50c1bb++){_0x5214dd+='%'+('00'+_0x195c89['charCodeAt'](_0x50c1bb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5214dd);};_0x345d['kjLMBL']=_0x3d9393,_0x345d['UIdhlh']={},_0x345d['UClUip']=!![];}const _0x2f09cc=_0x17a0f1[0x0],_0x222880=_0x3a9d65+_0x2f09cc,_0x489541=_0x345d['UIdhlh'][_0x222880];return!_0x489541?(_0x345d73=_0x345d['kjLMBL'](_0x345d73),_0x345d['UIdhlh'][_0x222880]=_0x345d73):_0x345d73=_0x489541,_0x345d73;}initTheme();const urlParams=new URLSearchParams(window[_0x1bf32e(0xba)][_0x1bf32e(0xcc)]),token=urlParams['get']('token'),loadingEl=document[_0x1bf32e(0xb4)](_0x1bf32e(0xe9)),setupContentEl=document['getElementById']('setup-content'),setupFormEl=document[_0x1bf32e(0xb4)](_0x1bf32e(0xc4)),setupMessageEl=document[_0x1bf32e(0xb4)](_0x1bf32e(0xee)),userUsernameEl=document[_0x1bf32e(0xb4)]('user-username'),userNameEl=document[_0x1bf32e(0xb4)](_0x1bf32e(0xc5)),passwordInput=document['getElementById'](_0x1bf32e(0xd0)),confirmPasswordInput=document[_0x1bf32e(0xb4)](_0x1bf32e(0xe1)),submitButton=setupFormEl?.[_0x1bf32e(0xdd)](_0x1bf32e(0xc9));function showMessage(_0x195c89,_0x5214dd=_0x1bf32e(0xb6)){const _0x2e05b1=_0x1bf32e;setupMessageEl[_0x2e05b1(0xb3)]=_0x195c89,setupMessageEl[_0x2e05b1(0xd6)]=_0x2e05b1(0xae)+_0x5214dd+_0x2e05b1(0xc1);}function hideMessage(){const _0x3aa21f=_0x1bf32e;setupMessageEl['className']=_0x3aa21f(0xee);}function showError(_0x43d97){const _0x5d4d17=_0x1bf32e;loadingEl[_0x5d4d17(0xc6)][_0x5d4d17(0xb8)]('visible'),setupContentEl[_0x5d4d17(0xc0)]['display']='block',document[_0x5d4d17(0xb4)](_0x5d4d17(0xea))[_0x5d4d17(0xc0)][_0x5d4d17(0xb1)]=_0x5d4d17(0xe2),setupFormEl[_0x5d4d17(0xc0)]['display']=_0x5d4d17(0xe2),showMessage(_0x43d97,'error');}async function validateToken(){const _0x201b54=_0x1bf32e;if(!token){showError(_0x201b54(0xdf));return;}try{const _0x4f8c58=await fetch(_0x201b54(0xaa)+encodeURIComponent(token)),_0x2043ab=await _0x4f8c58[_0x201b54(0xe4)]();if(!_0x2043ab[_0x201b54(0xdc)]){showError(_0x2043ab[_0x201b54(0xb6)]||_0x201b54(0xd9));return;}loadingEl['classList'][_0x201b54(0xb8)](_0x201b54(0xcd)),setupContentEl[_0x201b54(0xc0)][_0x201b54(0xb1)]=_0x201b54(0xb9),userUsernameEl['textContent']=_0x2043ab[_0x201b54(0xcf)][_0x201b54(0xbb)],userNameEl[_0x201b54(0xb3)]=_0x2043ab[_0x201b54(0xcf)][_0x201b54(0xe5)];const _0x12887d=document['querySelector']('.setup-header\x20p');_0x2043ab[_0x201b54(0xed)]===_0x201b54(0xbe)?_0x12887d[_0x201b54(0xb3)]=_0x201b54(0xd2):_0x12887d[_0x201b54(0xb3)]=_0x201b54(0xdb),passwordInput[_0x201b54(0xb7)]();}catch(_0x50c1bb){console[_0x201b54(0xb6)](_0x201b54(0xd8),_0x50c1bb),showError(_0x201b54(0xac));}}async function handleSubmit(_0x47dca9){const _0xe5d099=_0x1bf32e;_0x47dca9[_0xe5d099(0xb2)](),hideMessage();const _0x1532a3=passwordInput[_0xe5d099(0xe6)],_0x2df9c1=confirmPasswordInput[_0xe5d099(0xe6)];if(_0x1532a3!==_0x2df9c1){showMessage(_0xe5d099(0xd7),_0xe5d099(0xb6)),confirmPasswordInput[_0xe5d099(0xb7)]();return;}if(_0x1532a3[_0xe5d099(0xc2)]<0x8){showMessage(_0xe5d099(0xad),'error'),passwordInput[_0xe5d099(0xb7)]();return;}submitButton[_0xe5d099(0xe8)]=!![],submitButton[_0xe5d099(0xb3)]=_0xe5d099(0xde);try{const _0x51e71a=await fetch('/password/setup',{'method':_0xe5d099(0xce),'headers':{'Content-Type':_0xe5d099(0xe0)},'body':JSON[_0xe5d099(0xeb)]({'token':token,'password':_0x1532a3})}),_0x4d4dab=await _0x51e71a[_0xe5d099(0xe4)]();if(!_0x51e71a['ok'])throw new Error(_0x4d4dab[_0xe5d099(0xb6)]||_0xe5d099(0xec));showMessage(_0xe5d099(0xd3),'success'),setupFormEl[_0xe5d099(0xbe)](),setTimeout(()=>{const _0x1195d6=_0xe5d099;window['location'][_0x1195d6(0xc3)]=_0x1195d6(0xab);},0x7d0);}catch(_0x28a640){console[_0xe5d099(0xb6)](_0xe5d099(0xe3),_0x28a640),showMessage(_0x28a640[_0xe5d099(0xc8)]||'Failed\x20to\x20set\x20password.\x20Please\x20try\x20again.',_0xe5d099(0xb6)),submitButton[_0xe5d099(0xe8)]=![],submitButton['textContent']=_0xe5d099(0xef);}}setupFormEl&&setupFormEl[_0x1bf32e(0xd4)](_0x1bf32e(0xaf),handleSubmit);validateToken(),document['addEventListener'](_0x1bf32e(0xbf),()=>{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>