@hienlh/ppm 0.17.29 → 0.17.31
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/CHANGELOG.md +17 -0
- package/README.md +2 -1
- package/assets/skills/ppm/SKILL.md +1 -1
- package/assets/skills/ppm/references/http-api.md +3 -1
- package/dist/web/assets/{ai-resource-editor-BCgyv1KF.js → ai-resource-editor-ByZApv3Y.js} +1 -1
- package/dist/web/assets/{audio-preview-BPuiX8ma.js → audio-preview-izB0KGPQ.js} +1 -1
- package/dist/web/assets/chat-tab-CwWL5DbD.js +13 -0
- package/dist/web/assets/code-editor-Bx-Q27Nm.js +10 -0
- package/dist/web/assets/{conflict-editor-BuLnwxFE.js → conflict-editor-B60UimS8.js} +1 -1
- package/dist/web/assets/{csv-preview-DdA_IpTo.js → csv-preview-BZv2SuCz.js} +1 -1
- package/dist/web/assets/{database-viewer-BcF3uuk5.js → database-viewer-B5J_4lvX.js} +1 -1
- package/dist/web/assets/{diff-viewer-tyMHX20V.js → diff-viewer-DiytoNvX.js} +1 -1
- package/dist/web/assets/{docx-preview-BTclTd2v.js → docx-preview-CrjmF16z.js} +1 -1
- package/dist/web/assets/{edit-diff-preview-DDLG3m68.js → edit-diff-preview-BSjgyGAL.js} +5 -10
- package/dist/web/assets/{extension-webview-CBLWXhjt.js → extension-webview-BSiQUxFD.js} +1 -1
- package/dist/web/assets/{git-log-panel-tmGgY2kK.js → git-log-panel-Fb5EefXW.js} +1 -1
- package/dist/web/assets/glide-data-grid-Cjve7mDb.js +138 -0
- package/dist/web/assets/group-chat-tab-DT0X7Cbz.js +1 -0
- package/dist/web/assets/{image-preview-CQ57RN6l.js → image-preview-BiVYVqa9.js} +1 -1
- package/dist/web/assets/index-BW2cOdzp.css +2 -0
- package/dist/web/assets/index-CuAijZGh.js +50 -0
- package/dist/web/assets/keybindings-store-sakq3gsF.js +1 -0
- package/dist/web/assets/libesm-Dd8zbj1v.js +6 -0
- package/dist/web/assets/{markdown-renderer-devgS0zw.js → markdown-renderer-BsKIIM83.js} +2 -2
- package/dist/web/assets/{markdown-renderer-C7clwuDe.js → markdown-renderer-Cct9JHnx.js} +1 -1
- package/dist/web/assets/notification-store-D4TsAnN3.js +1 -0
- package/dist/web/assets/{pdf-preview-Cw_GRd7e.js → pdf-preview-B6G1QpE6.js} +1 -1
- package/dist/web/assets/{postgres-viewer-DN40Bdc-.js → postgres-viewer-CdFu2Yj9.js} +2 -2
- package/dist/web/assets/{settings-store-UwT_fNhg.js → settings-store-DFMz_Oer.js} +2 -2
- package/dist/web/assets/settings-tab-Dh3bD_dg.js +1 -0
- package/dist/web/assets/{sql-query-editor-Df1pzXAj.js → sql-query-editor-C8XXOY2R.js} +1 -1
- package/dist/web/assets/{sqlite-viewer-Dbh3LluT.js → sqlite-viewer-B1eXvaLK.js} +1 -1
- package/dist/web/assets/{system-monitor-tab-bbct9aEk.js → system-monitor-tab-D2QcCXl1.js} +1 -1
- package/dist/web/assets/terminal-tab-D2-buBAQ.js +3 -0
- package/dist/web/assets/tool-cards-DDxShmxN.js +7 -0
- package/dist/web/assets/{use-is-mobile-CE6AamG6.js → use-is-mobile-BcuCjH19.js} +1 -1
- package/dist/web/assets/{use-monaco-theme-Cqo17yKA.js → use-monaco-theme-DMlVAYKD.js} +1 -1
- package/dist/web/assets/{video-preview-kZgggFAn.js → video-preview-Cg3A7vrt.js} +1 -1
- package/dist/web/index.html +4 -4
- package/dist/web/sw.js +1 -1
- package/package.json +1 -1
- package/src/server/index.ts +6 -0
- package/src/server/routes/cloud.ts +35 -0
- package/src/web/components/chat/account-dialogs.tsx +3 -3
- package/src/web/components/chat/change-edit-list.tsx +50 -0
- package/src/web/components/chat/change-file-row.tsx +99 -0
- package/src/web/components/chat/chat-history-bar.tsx +4 -2
- package/src/web/components/chat/jump-to-edit.ts +89 -0
- package/src/web/components/chat/message-action-bar.tsx +2 -1
- package/src/web/components/chat/message-list.tsx +50 -3
- package/src/web/components/chat/tool-cards.tsx +16 -6
- package/src/web/components/chat/turn-change-pill.tsx +57 -0
- package/src/web/components/chat/turn-change-rollup.tsx +76 -0
- package/src/web/components/chat/turn-change-sheet.tsx +178 -0
- package/src/web/components/chat/turn-change-tray.tsx +140 -0
- package/src/web/components/database/connection-import-export.tsx +5 -2
- package/src/web/components/database/export-button.tsx +4 -3
- package/src/web/components/explorer/file-tree.tsx +3 -2
- package/src/web/components/layout/cloud-alias-row.tsx +163 -0
- package/src/web/components/layout/cloud-share-popover.tsx +34 -21
- package/src/web/components/layout/command-palette.tsx +2 -0
- package/src/web/components/layout/mobile-drawer.tsx +10 -0
- package/src/web/components/layout/mobile-nav.tsx +3 -2
- package/src/web/components/layout/nav-section-rail.tsx +9 -0
- package/src/web/components/layout/project-bottom-sheet.tsx +2 -1
- package/src/web/components/layout/project-switcher.tsx +2 -1
- package/src/web/components/layout/tab-bar.tsx +3 -2
- package/src/web/components/settings/accounts-settings-section.tsx +3 -3
- package/src/web/components/settings/proxy-settings-section.tsx +8 -7
- package/src/web/components/settings/settings-tab.tsx +4 -4
- package/src/web/components/shared/bug-report-popup.tsx +2 -1
- package/src/web/components/shared/markdown-code-block.tsx +3 -2
- package/src/web/components/terminal/terminal-tab.tsx +2 -1
- package/src/web/components/tunnels/tunnel-manager-tab.tsx +4 -2
- package/src/web/lib/aggregate-turn-file-changes.ts +193 -0
- package/src/web/lib/clipboard.ts +52 -0
- package/src/web/lib/report-bug.ts +0 -10
- package/src/web/styles/globals.css +16 -0
- package/dist/web/assets/chat-tab-WnnM6GKA.js +0 -13
- package/dist/web/assets/code-editor-CnGUyOuU.js +0 -10
- package/dist/web/assets/glide-data-grid-CkCW7sFw.js +0 -138
- package/dist/web/assets/group-chat-tab-D_x5CRae.js +0 -1
- package/dist/web/assets/index-Cp3e9olf.js +0 -50
- package/dist/web/assets/index-DCJ29LBG.css +0 -2
- package/dist/web/assets/keybindings-store-CpgEwnFA.js +0 -1
- package/dist/web/assets/notification-store-BohufOcS.js +0 -1
- package/dist/web/assets/settings-tab-DkpOd_kU.js +0 -1
- package/dist/web/assets/terminal-tab-Cqs7xZJt.js +0 -3
- package/dist/web/assets/tool-cards-BonPvpUI.js +0 -7
- /package/dist/web/assets/{api-themes-eWBIYCbh.js → api-themes-BpoKUPkQ.js} +0 -0
- /package/dist/web/assets/{csv-parser-BOlh-1bz.js → csv-parser-BSnYgPcx.js} +0 -0
- /package/dist/web/assets/{lib-CvYn0SaB.js → lib-DA3QSc5_.js} +0 -0
- /package/dist/web/assets/{use-blob-url-BMZ0zo_4.js → use-blob-url-kvtWmJtt.js} +0 -0
- /package/dist/web/assets/{vendor-xterm-Dlg984wj.js → vendor-xterm-CsgYwG03.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./vendor-markdown-CKTlmXbz.js";import"./vendor-ui-DMRGWRuc.js";import"./api-client-DhXpjLdi.js";import{pt as e}from"./index-CuAijZGh.js";export{e as useKeybindingsStore};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
var e=class{diff(e,t,n={}){let r;typeof n==`function`?(r=n,n={}):`callback`in n&&(r=n.callback);let i=this.castInput(e,n),a=this.castInput(t,n),o=this.removeEmpty(this.tokenize(i,n)),s=this.removeEmpty(this.tokenize(a,n));return this.diffWithOptionsObj(o,s,n,r)}diffWithOptionsObj(e,t,n,r){let i=e=>{if(e=this.postProcess(e,n),r){setTimeout(function(){r(e)},0);return}else return e},a=t.length,o=e.length,s=1,c=a+o;n.maxEditLength!=null&&(c=Math.min(c,n.maxEditLength));let l=n.timeout??1/0,u=Date.now()+l,d=[{oldPos:-1,lastComponent:void 0}],f=this.extractCommon(d[0],t,e,0,n);if(d[0].oldPos+1>=o&&f+1>=a)return i(this.buildValues(d[0].lastComponent,t,e));let p=-1/0,m=1/0,h=()=>{for(let r=Math.max(p,-s);r<=Math.min(m,s);r+=2){let s,c=d[r-1],l=d[r+1];c&&(d[r-1]=void 0);let u=!1;if(l){let e=l.oldPos-r;u=l&&0<=e&&e<a}let h=c&&c.oldPos+1<o;if(!u&&!h){d[r]=void 0;continue}if(s=!h||u&&c.oldPos<l.oldPos?this.addToPath(l,!0,!1,0,n):this.addToPath(c,!1,!0,1,n),f=this.extractCommon(s,t,e,r,n),s.oldPos+1>=o&&f+1>=a)return i(this.buildValues(s.lastComponent,t,e))||!0;d[r]=s,s.oldPos+1>=o&&(m=Math.min(m,r-1)),f+1>=a&&(p=Math.max(p,r+1))}s++};if(r)(function e(){setTimeout(function(){if(s>c||Date.now()>u)return r(void 0);h()||e()},0)})();else for(;s<=c&&Date.now()<=u;){let e=h();if(e)return e}}addToPath(e,t,n,r,i){let a=e.lastComponent;return a&&!i.oneChangePerToken&&a.added===t&&a.removed===n?{oldPos:e.oldPos+r,lastComponent:{count:a.count+1,added:t,removed:n,previousComponent:a.previousComponent}}:{oldPos:e.oldPos+r,lastComponent:{count:1,added:t,removed:n,previousComponent:a}}}extractCommon(e,t,n,r,i){let a=t.length,o=n.length,s=e.oldPos,c=s-r,l=0;for(;c+1<a&&s+1<o&&this.equals(n[s+1],t[c+1],i);)c++,s++,l++,i.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1});return l&&!i.oneChangePerToken&&(e.lastComponent={count:l,previousComponent:e.lastComponent,added:!1,removed:!1}),e.oldPos=s,c}equals(e,t,n){return n.comparator?n.comparator(e,t):e===t||!!n.ignoreCase&&e.toLowerCase()===t.toLowerCase()}removeEmpty(e){let t=[];for(let n=0;n<e.length;n++)e[n]&&t.push(e[n]);return t}castInput(e,t){return e}tokenize(e,t){return Array.from(e)}join(e){return e.join(``)}postProcess(e,t){return e}get useLongestToken(){return!1}buildValues(e,t,n){let r=[],i;for(;e;)r.push(e),i=e.previousComponent,delete e.previousComponent,e=i;r.reverse();let a=r.length,o=0,s=0,c=0;for(;o<a;o++){let e=r[o];if(e.removed)e.value=this.join(n.slice(c,c+e.count)),c+=e.count;else{if(!e.added&&this.useLongestToken){let r=t.slice(s,s+e.count);r=r.map(function(e,t){let r=n[c+t];return r.length>e.length?r:e}),e.value=this.join(r)}else e.value=this.join(t.slice(s,s+e.count));s+=e.count,e.added||(c+=e.count)}}return r}};new class extends e{};function t(e,t){let n;for(n=0;n<e.length&&n<t.length;n++)if(e[n]!=t[n])return e.slice(0,n);return e.slice(0,n)}function n(e,t){let n;if(!e||!t||e[e.length-1]!=t[t.length-1])return``;for(n=0;n<e.length&&n<t.length;n++)if(e[e.length-(n+1)]!=t[t.length-(n+1)])return e.slice(-n);return e.slice(-n)}function r(e,t,n){if(e.slice(0,t.length)!=t)throw Error(`string ${JSON.stringify(e)} doesn't start with prefix ${JSON.stringify(t)}; this is a bug`);return n+e.slice(t.length)}function i(e,t,n){if(!t)return e+n;if(e.slice(-t.length)!=t)throw Error(`string ${JSON.stringify(e)} doesn't end with suffix ${JSON.stringify(t)}; this is a bug`);return e.slice(0,-t.length)+n}function a(e,t){return r(e,t,``)}function o(e,t){return i(e,t,``)}function s(e,t){return t.slice(0,c(e,t))}function c(e,t){let n=0;e.length>t.length&&(n=e.length-t.length);let r=t.length;e.length<t.length&&(r=e.length);let i=Array(r),a=0;i[0]=0;for(let e=1;e<r;e++){for(t[e]==t[a]?i[e]=i[a]:i[e]=a;a>0&&t[e]!=t[a];)a=i[a];t[e]==t[a]&&a++}a=0;for(let r=n;r<e.length;r++){for(;a>0&&e[r]!=t[a];)a=i[a];e[r]==t[a]&&a++}return a}function l(e,t){let n=[];for(let r of Array.from(t.segment(e))){let e=r.segment;n.length&&/\s/.test(n[n.length-1])&&/\s/.test(e)?n[n.length-1]+=e:n.push(e)}return n}function u(e,t){if(t)return f(e,t)[1];let n;for(n=e.length-1;n>=0&&e[n].match(/\s/);n--);return e.substring(n+1)}function d(e,t){if(t)return f(e,t)[0];let n=e.match(/^\s*/);return n?n[0]:``}function f(e,t){if(!t)return[d(e),u(e)];if(t.resolvedOptions().granularity!=`word`)throw Error(`The segmenter passed must have a granularity of "word"`);let n=l(e,t),r=n[0],i=n[n.length-1];return[/\s/.test(r)?r:``,/\s/.test(i)?i:``]}var p=`a-zA-Z0-9_\\u{AD}\\u{C0}-\\u{D6}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}`,m=RegExp(`[${p}]+|\\s+|[^${p}]`,`ug`);new class extends e{equals(e,t,n){return n.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e.trim()===t.trim()}tokenize(e,t={}){let n;if(t.intlSegmenter){let r=t.intlSegmenter;if(r.resolvedOptions().granularity!=`word`)throw Error(`The segmenter passed must have a granularity of "word"`);n=l(e,r)}else n=e.match(m)||[];let r=[],i=null;return n.forEach(e=>{/\s/.test(e)?i==null?r.push(e):r.push(r.pop()+e):i!=null&&/\s/.test(i)?r[r.length-1]==i?r.push(r.pop()+e):r.push(i+e):r.push(e),i=e}),r}join(e){return e.map((e,t)=>t==0?e:e.replace(/^\s+/,``)).join(``)}postProcess(e,t){if(!e||t.oneChangePerToken)return e;let n=null,r=null,i=null;return e.forEach(e=>{e.added?r=e:e.removed?i=e:((r||i)&&h(n,i,r,e,t.intlSegmenter),n=e,r=null,i=null)}),(r||i)&&h(n,i,r,null,t.intlSegmenter),e}};function h(e,c,l,p,m){if(c&&l){let[s,u]=f(c.value,m),[d,h]=f(l.value,m);if(e){let n=t(s,d);e.value=i(e.value,d,n),c.value=a(c.value,n),l.value=a(l.value,n)}if(p){let e=n(u,h);p.value=r(p.value,h,e),c.value=o(c.value,e),l.value=o(l.value,e)}}else if(l){if(e){let e=d(l.value,m);l.value=l.value.substring(e.length)}if(p){let e=d(p.value,m);p.value=p.value.substring(e.length)}}else if(e&&p){let s=d(p.value,m),[l,u]=f(c.value,m),h=t(s,l);c.value=a(c.value,h);let g=n(a(s,h),u);c.value=o(c.value,g),p.value=r(p.value,s,g),e.value=i(e.value,s,s.slice(0,s.length-g.length))}else if(p){let e=d(p.value,m),t=s(u(c.value,m),e);c.value=o(c.value,t)}else if(e){let t=s(u(e.value,m),d(c.value,m));c.value=a(c.value,t)}}var g=new class extends e{tokenize(e){let t=RegExp(`(\\r?\\n)|[${p}]+|[^\\S\\n\\r]+|[^${p}]`,`ug`);return e.match(t)||[]}};function _(e,t,n){return g.diff(e,t,n)}var v=new class extends e{constructor(){super(...arguments),this.tokenize=b}equals(e,t,n){return n.ignoreWhitespace?((!n.newlineIsToken||!e.includes(`
|
|
2
|
+
`))&&(e=e.trim()),(!n.newlineIsToken||!t.includes(`
|
|
3
|
+
`))&&(t=t.trim())):n.ignoreNewlineAtEof&&!n.newlineIsToken&&(e.endsWith(`
|
|
4
|
+
`)&&(e=e.slice(0,-1)),t.endsWith(`
|
|
5
|
+
`)&&(t=t.slice(0,-1))),super.equals(e,t,n)}};function y(e,t,n){return v.diff(e,t,n)}function b(e,t){t.stripTrailingCr&&(e=e.replace(/\r\n/g,`
|
|
6
|
+
`));let n=[],r=e.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(let e=0;e<r.length;e++){let i=r[e];e%2&&!t.newlineIsToken?n[n.length-1]+=i:n.push(i)}return n}function x(e){return e==`.`||e==`!`||e==`?`}new class extends e{tokenize(e){let t=[],n=0;for(let r=0;r<e.length;r++){if(r==e.length-1){t.push(e.slice(n));break}if(x(e[r])&&e[r+1].match(/\s/)){for(t.push(e.slice(n,r+1)),r=n=r+1;e[r+1]?.match(/\s/);)r++;t.push(e.slice(n,r+1)),n=r+1}}return t}},new class extends e{tokenize(e){return e.split(/([{}:;,]|\s+)/)}},new class extends e{constructor(){super(...arguments),this.tokenize=b}get useLongestToken(){return!0}castInput(e,t){let{undefinedReplacement:n,stringifyReplacer:r=(e,t)=>t===void 0?n:t}=t;return typeof e==`string`?e:JSON.stringify(S(e,null,null,r),null,` `)}equals(e,t,n){return super.equals(e.replace(/,([\r\n])/g,`$1`),t.replace(/,([\r\n])/g,`$1`),n)}};function S(e,t,n,r,i){t||=[],n||=[],r&&(e=r(i===void 0?``:i,e));let a;for(a=0;a<t.length;a+=1)if(t[a]===e)return n[a];let o;if(Object.prototype.toString.call(e)===`[object Array]`){for(t.push(e),o=Array(e.length),n.push(o),a=0;a<e.length;a+=1)o[a]=S(e[a],t,n,r,String(a));return t.pop(),n.pop(),o}if(e&&e.toJSON&&(e=e.toJSON()),typeof e==`object`&&e){t.push(e),o={},n.push(o);let i=[],s;for(s in e)Object.prototype.hasOwnProperty.call(e,s)&&i.push(s);for(i.sort(),a=0;a<i.length;a+=1)s=i[a],o[s]=S(e[s],t,n,r,s);t.pop(),n.pop()}else o=e;return o}new class extends e{tokenize(e){return e.slice()}join(e){return e}removeEmpty(e){return e}};export{_ as n,y as t};
|