@profoundlogic/coderflow-server 0.2.8 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/coder-server.js +1 -1
- package/dist/config/cli-models.json +1 -0
- package/dist/config.js +1 -1
- package/dist/lib/agent-keepalive.js +1 -1
- package/dist/lib/api-keys.js +1 -1
- package/dist/lib/apiKeys.js +1 -1
- package/dist/lib/app-server-ports.js +1 -1
- package/dist/lib/auto-judge.js +1 -1
- package/dist/lib/basic-auth.js +1 -1
- package/dist/lib/build-history.js +1 -1
- package/dist/lib/build-output-service.js +1 -1
- package/dist/lib/build-scheduler.js +1 -1
- package/dist/lib/build-service.js +1 -1
- package/dist/lib/ca-certificates.js +1 -1
- package/dist/lib/claude-oauth-refresh.js +1 -1
- package/dist/lib/cli/build.js +1 -1
- package/dist/lib/cli/config-command.js +1 -1
- package/dist/lib/cli/config.js +1 -1
- package/dist/lib/cli/create-user.js +1 -1
- package/dist/lib/cli/init.js +1 -1
- package/dist/lib/cli/jira.js +1 -1
- package/dist/lib/cli/license.js +1 -1
- package/dist/lib/cli/server-manager.js +1 -1
- package/dist/lib/container-tokens.js +1 -1
- package/dist/lib/data-dir.js +1 -1
- package/dist/lib/deployment-history.js +1 -1
- package/dist/lib/deployment-service.js +1 -1
- package/dist/lib/docker-utils.js +1 -1
- package/dist/lib/email.js +1 -1
- package/dist/lib/emailTemplates.js +1 -1
- package/dist/lib/entitlement.js +1 -1
- package/dist/lib/fetch-utils.js +1 -1
- package/dist/lib/git-commit-details-route.js +1 -1
- package/dist/lib/git-history-diff-guardrails.js +1 -1
- package/dist/lib/git-provider-service.js +1 -1
- package/dist/lib/git-provider-setup/github-setup-handler.js +1 -1
- package/dist/lib/git-provider-setup/index.js +1 -1
- package/dist/lib/git-provider-setup/setup-factory.js +1 -1
- package/dist/lib/git-provider-setup/setup-interface.js +1 -1
- package/dist/lib/git-providers/azure-devops-provider.js +1 -1
- package/dist/lib/git-providers/github-app-provider.js +1 -1
- package/dist/lib/git-providers/index.js +1 -1
- package/dist/lib/git-providers/provider-factory.js +1 -1
- package/dist/lib/git-providers/provider-interface.js +1 -1
- package/dist/lib/github-urls.js +1 -1
- package/dist/lib/group-objective-linking.js +1 -1
- package/dist/lib/jira-client.js +1 -1
- package/dist/lib/judge-blinding.js +1 -1
- package/dist/lib/logger.js +1 -1
- package/dist/lib/model-fetcher.js +1 -1
- package/dist/lib/notifications.js +1 -1
- package/dist/lib/oidc-auth.js +1 -1
- package/dist/lib/oidc-device-flow.js +1 -1
- package/dist/lib/passwordTokens.js +1 -1
- package/dist/lib/pin-cascade.js +1 -1
- package/dist/lib/provider-accounts.js +1 -1
- package/dist/lib/provider-oauth.js +1 -1
- package/dist/lib/provider-profile.js +1 -1
- package/dist/lib/provider-token-refresh.js +1 -1
- package/dist/lib/request-url.js +1 -1
- package/dist/lib/rewind.js +1 -1
- package/dist/lib/roles.js +1 -1
- package/dist/lib/secrets.js +1 -1
- package/dist/lib/setup-repo-git-auth.js +1 -1
- package/dist/lib/state-capture.js +1 -1
- package/dist/lib/static-files.js +1 -1
- package/dist/lib/task-name-generator.js +1 -1
- package/dist/lib/user-git-oauth.js +1 -1
- package/dist/lib/user-git-tokens.js +1 -1
- package/dist/lib/users.js +1 -1
- package/dist/middleware/requireAuth.js +1 -1
- package/dist/middleware/requireInit.js +1 -1
- package/dist/middleware/requirePermission.js +1 -1
- package/dist/package.json +1 -1
- package/dist/routes/apiKeys.js +1 -1
- package/dist/routes/auth-oidc.js +1 -1
- package/dist/routes/auth.js +1 -1
- package/dist/routes/build.js +1 -1
- package/dist/routes/containers.js +1 -1
- package/dist/routes/deploy-task.js +1 -1
- package/dist/routes/environment-management.js +1 -1
- package/dist/routes/environments.js +1 -1
- package/dist/routes/external-skills.js +1 -1
- package/dist/routes/git-credentials.js +1 -1
- package/dist/routes/git-oauth.js +1 -1
- package/dist/routes/git-provider-setup.js +1 -1
- package/dist/routes/health.js +1 -1
- package/dist/routes/jira.js +1 -1
- package/dist/routes/objective-management.js +1 -1
- package/dist/routes/password.js +1 -1
- package/dist/routes/prompt.js +1 -1
- package/dist/routes/provider-auth.js +1 -1
- package/dist/routes/qa.js +1 -1
- package/dist/routes/settings.js +1 -1
- package/dist/routes/skill-management.js +1 -1
- package/dist/routes/skills.js +1 -1
- package/dist/routes/tasks.js +1 -1
- package/dist/routes/templates.js +1 -1
- package/dist/routes/test-task.js +1 -1
- package/dist/routes/test.js +1 -1
- package/dist/routes/users.js +1 -1
- package/dist/routes/visualizations.js +1 -1
- package/dist/scripts/create-user.js +1 -1
- package/dist/shipped-skills/skill-editor/SKILL.md +124 -231
- package/dist/start.js +1 -1
- package/dist/web-ui/public/activity-detail-modal.js +1 -1
- package/dist/web-ui/public/activity-feed.js +1 -1
- package/dist/web-ui/public/activity-formatters.js +1 -1
- package/dist/web-ui/public/agent-event-parser.js +1 -1
- package/dist/web-ui/public/app.js +1 -1
- package/dist/web-ui/public/approve-dialog.js +1 -1
- package/dist/web-ui/public/comments-widget.js +1 -1
- package/dist/web-ui/public/diff-utils.js +1 -1
- package/dist/web-ui/public/environments.css +81 -1
- package/dist/web-ui/public/environments.html +8 -3
- package/dist/web-ui/public/environments.js +1 -1
- package/dist/web-ui/public/feedback-widget.js +1 -1
- package/dist/web-ui/public/git-history-lazy-utils.js +1 -1
- package/dist/web-ui/public/git-history.html +1 -1
- package/dist/web-ui/public/git-history.js +1 -1
- package/dist/web-ui/public/git-status.js +1 -1
- package/dist/web-ui/public/index.js +1 -1
- package/dist/web-ui/public/login.js +1 -1
- package/dist/web-ui/public/markdown-editor.js +1 -1
- package/dist/web-ui/public/markdown-file-editor.js +1 -1
- package/dist/web-ui/public/modal-maximize.js +1 -1
- package/dist/web-ui/public/notifications.js +1 -1
- package/dist/web-ui/public/server-health.js +1 -1
- package/dist/web-ui/public/settings.js +1 -1
- package/dist/web-ui/public/setup-password.js +1 -1
- package/dist/web-ui/public/skills.css +110 -3
- package/dist/web-ui/public/skills.html +7 -4
- package/dist/web-ui/public/skills.js +1 -1
- package/dist/web-ui/public/sse-client.js +1 -1
- package/dist/web-ui/public/sse-shared-worker.js +1 -1
- package/dist/web-ui/public/styles.css +128 -1
- package/dist/web-ui/public/task.html +22 -1
- package/dist/web-ui/public/task.js +1 -1
- package/dist/web-ui/public/terminal.js +1 -1
- package/dist/web-ui/public/theme.js +1 -1
- package/dist/web-ui/public/users.js +1 -1
- package/dist/web-ui/public/variant-grouping.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
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();});
|
|
@@ -1126,11 +1126,12 @@
|
|
|
1126
1126
|
list-style: none;
|
|
1127
1127
|
padding: 0;
|
|
1128
1128
|
margin: 0;
|
|
1129
|
-
max-height:
|
|
1129
|
+
max-height: 60vh;
|
|
1130
|
+
overflow-x: hidden;
|
|
1130
1131
|
overflow-y: auto;
|
|
1131
1132
|
}
|
|
1132
1133
|
|
|
1133
|
-
.modified-files-list li {
|
|
1134
|
+
.modified-files-list > li.changed-file-item {
|
|
1134
1135
|
padding: 8px 12px;
|
|
1135
1136
|
background: var(--color-surface-muted);
|
|
1136
1137
|
border-radius: var(--radius-small);
|
|
@@ -1140,7 +1141,7 @@
|
|
|
1140
1141
|
margin-bottom: 6px;
|
|
1141
1142
|
}
|
|
1142
1143
|
|
|
1143
|
-
.modified-files-list li::before {
|
|
1144
|
+
.modified-files-list > li.changed-file-item::before {
|
|
1144
1145
|
content: '●';
|
|
1145
1146
|
color: var(--color-warning);
|
|
1146
1147
|
margin-right: 8px;
|
|
@@ -1970,3 +1971,109 @@
|
|
|
1970
1971
|
color: #8b5cf6;
|
|
1971
1972
|
border: 1px solid rgba(139, 92, 246, 0.3);
|
|
1972
1973
|
}
|
|
1974
|
+
|
|
1975
|
+
/* Uncommitted changes / commit / discard modal sizing */
|
|
1976
|
+
#uncommitted-changes-modal .modal-content,
|
|
1977
|
+
#commit-modal .modal-content,
|
|
1978
|
+
#discard-modal .modal-content {
|
|
1979
|
+
overflow: hidden;
|
|
1980
|
+
max-width: 750px;
|
|
1981
|
+
}
|
|
1982
|
+
|
|
1983
|
+
#uncommitted-changes-modal .modal-body,
|
|
1984
|
+
#commit-modal .modal-body,
|
|
1985
|
+
#discard-modal .modal-body {
|
|
1986
|
+
overflow-x: hidden;
|
|
1987
|
+
overflow-y: auto;
|
|
1988
|
+
}
|
|
1989
|
+
|
|
1990
|
+
/* Clickable changed files */
|
|
1991
|
+
.changed-file-clickable {
|
|
1992
|
+
cursor: pointer;
|
|
1993
|
+
transition: background 0.15s ease;
|
|
1994
|
+
border-radius: var(--radius-small, 4px);
|
|
1995
|
+
}
|
|
1996
|
+
|
|
1997
|
+
.changed-file-clickable:hover {
|
|
1998
|
+
background: rgba(99, 102, 241, 0.08);
|
|
1999
|
+
}
|
|
2000
|
+
|
|
2001
|
+
.changed-file-clickable.diff-expanded {
|
|
2002
|
+
background: rgba(99, 102, 241, 0.1);
|
|
2003
|
+
border-left: 3px solid var(--color-accent, #6366f1);
|
|
2004
|
+
font-weight: 600;
|
|
2005
|
+
}
|
|
2006
|
+
|
|
2007
|
+
/* Hide the bullet when file is expanded to show diff */
|
|
2008
|
+
.modified-files-list > li.changed-file-item.diff-expanded::before {
|
|
2009
|
+
color: var(--color-accent, #6366f1);
|
|
2010
|
+
}
|
|
2011
|
+
|
|
2012
|
+
/* Inline diff panel below a file in the list */
|
|
2013
|
+
.inline-file-diff {
|
|
2014
|
+
list-style: none;
|
|
2015
|
+
padding: 0;
|
|
2016
|
+
margin: 4px 0 8px 0;
|
|
2017
|
+
border-radius: var(--radius-small, 4px);
|
|
2018
|
+
overflow: hidden;
|
|
2019
|
+
background: none;
|
|
2020
|
+
}
|
|
2021
|
+
|
|
2022
|
+
.inline-file-diff::before {
|
|
2023
|
+
content: none;
|
|
2024
|
+
}
|
|
2025
|
+
|
|
2026
|
+
/* Hide the redundant file header - filename is already shown in the list item */
|
|
2027
|
+
.inline-file-diff .file-diff-header {
|
|
2028
|
+
display: none;
|
|
2029
|
+
}
|
|
2030
|
+
|
|
2031
|
+
/* Always show diff content in inline context (header with toggle is hidden) */
|
|
2032
|
+
.inline-file-diff .file-diff-content.collapsed {
|
|
2033
|
+
max-height: none;
|
|
2034
|
+
overflow: auto;
|
|
2035
|
+
}
|
|
2036
|
+
|
|
2037
|
+
.inline-file-diff .file-diff {
|
|
2038
|
+
margin-top: 0;
|
|
2039
|
+
border-radius: var(--radius-small, 4px);
|
|
2040
|
+
border: 1px solid var(--color-border, #e2e8f0);
|
|
2041
|
+
overflow: hidden;
|
|
2042
|
+
}
|
|
2043
|
+
|
|
2044
|
+
.inline-file-diff .file-diff-content {
|
|
2045
|
+
max-height: 350px;
|
|
2046
|
+
overflow: auto;
|
|
2047
|
+
}
|
|
2048
|
+
|
|
2049
|
+
/* Ensure diff content doesn't cause horizontal overflow on the modal */
|
|
2050
|
+
.inline-file-diff .diff-line {
|
|
2051
|
+
min-width: 0;
|
|
2052
|
+
}
|
|
2053
|
+
|
|
2054
|
+
.inline-file-diff .diff-line-content {
|
|
2055
|
+
overflow-wrap: break-word;
|
|
2056
|
+
word-break: break-all;
|
|
2057
|
+
white-space: pre-wrap;
|
|
2058
|
+
}
|
|
2059
|
+
|
|
2060
|
+
.inline-file-diff-loading {
|
|
2061
|
+
padding: 12px;
|
|
2062
|
+
color: var(--color-text-muted);
|
|
2063
|
+
font-style: italic;
|
|
2064
|
+
font-size: 13px;
|
|
2065
|
+
background: none;
|
|
2066
|
+
}
|
|
2067
|
+
|
|
2068
|
+
.inline-file-diff-loading::before {
|
|
2069
|
+
content: none;
|
|
2070
|
+
}
|
|
2071
|
+
|
|
2072
|
+
.inline-diff-empty {
|
|
2073
|
+
padding: 12px;
|
|
2074
|
+
color: var(--color-text-muted);
|
|
2075
|
+
font-style: italic;
|
|
2076
|
+
font-size: 13px;
|
|
2077
|
+
background: var(--color-surface-muted, #f5f5f5);
|
|
2078
|
+
border-radius: var(--radius-small, 4px);
|
|
2079
|
+
}
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<script type="module" src="markdown-editor.js?v=1"></script>
|
|
31
31
|
<script src="markdown-file-editor.js?v=1"></script>
|
|
32
32
|
<script type="module" src="app.js?v=67"></script>
|
|
33
|
-
<script type="module" src="skills.js?v=
|
|
33
|
+
<script type="module" src="skills.js?v=5"></script>
|
|
34
34
|
<!-- Dev QA shortcut: Ctrl+Shift+Q to launch current page in QA mode -->
|
|
35
35
|
</head>
|
|
36
36
|
<body>
|
|
@@ -132,6 +132,9 @@
|
|
|
132
132
|
<button class="dropdown-item" id="repo-pull-btn">
|
|
133
133
|
<span>🔄</span> Pull from Git
|
|
134
134
|
</button>
|
|
135
|
+
<button class="dropdown-item" id="repo-push-btn" hidden>
|
|
136
|
+
<span>📤</span> Push to Git
|
|
137
|
+
</button>
|
|
135
138
|
<button class="dropdown-item" id="repo-commit-btn" disabled>
|
|
136
139
|
<span>📤</span> Commit & Push...
|
|
137
140
|
</button>
|
|
@@ -518,7 +521,7 @@
|
|
|
518
521
|
<!-- Discard Modal -->
|
|
519
522
|
<div id="discard-modal" class="modal" hidden>
|
|
520
523
|
<div class="modal-overlay"></div>
|
|
521
|
-
<div class="modal-content">
|
|
524
|
+
<div class="modal-content modal-large">
|
|
522
525
|
<div class="modal-header">
|
|
523
526
|
<h2>⚠️ Discard Changes</h2>
|
|
524
527
|
<button type="button" class="modal-close" aria-label="Close" id="close-discard-modal">×</button>
|
|
@@ -576,13 +579,13 @@
|
|
|
576
579
|
<!-- Uncommitted Changes Modal -->
|
|
577
580
|
<div id="uncommitted-changes-modal" class="modal" hidden>
|
|
578
581
|
<div class="modal-overlay"></div>
|
|
579
|
-
<div class="modal-content">
|
|
582
|
+
<div class="modal-content modal-large">
|
|
580
583
|
<div class="modal-header">
|
|
581
584
|
<h2>Uncommitted Changes</h2>
|
|
582
585
|
<button type="button" class="modal-close" aria-label="Close" id="close-uncommitted-modal">×</button>
|
|
583
586
|
</div>
|
|
584
587
|
<div class="modal-body">
|
|
585
|
-
<p class="text-muted" style="margin-bottom: 12px;">The following files have uncommitted changes
|
|
588
|
+
<p class="text-muted" style="margin-bottom: 12px;">The following files have uncommitted changes. Click a file to view its diff.</p>
|
|
586
589
|
<ul id="uncommitted-files-list" class="modified-files-list"></ul>
|
|
587
590
|
</div>
|
|
588
591
|
<div class="modal-actions">
|