@ycodium-ai/plugin-tool-display 0.2.2126 → 0.2.2488

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 (2) hide show
  1. package/assets/ui.js +55 -55
  2. package/package.json +2 -2
package/assets/ui.js CHANGED
@@ -1,197 +1,197 @@
1
1
  var G=`/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
2
2
  @layer properties;
3
3
  @scope (.ycodium-tool-display-ui) {
4
- .m-1 {
4
+ .m-1:where(:scope, *) {
5
5
  margin: calc(var(--spacing, 0.25rem) * 1);
6
6
  }
7
- .mb-2 {
7
+ .mb-2:where(:scope, *) {
8
8
  margin-bottom: calc(var(--spacing, 0.25rem) * 2);
9
9
  }
10
- .line-clamp-3 {
10
+ .line-clamp-3:where(:scope, *) {
11
11
  overflow: hidden;
12
12
  display: -webkit-box;
13
13
  -webkit-box-orient: vertical;
14
14
  -webkit-line-clamp: 3;
15
15
  }
16
- .flex {
16
+ .flex:where(:scope, *) {
17
17
  display: flex;
18
18
  }
19
- .grid {
19
+ .grid:where(:scope, *) {
20
20
  display: grid;
21
21
  }
22
- .inline-flex {
22
+ .inline-flex:where(:scope, *) {
23
23
  display: inline-flex;
24
24
  }
25
- .size-4 {
25
+ .size-4:where(:scope, *) {
26
26
  width: calc(var(--spacing, 0.25rem) * 4);
27
27
  height: calc(var(--spacing, 0.25rem) * 4);
28
28
  }
29
- .size-icon-1 {
29
+ .size-icon-1:where(:scope, *) {
30
30
  width: var(--control-icon-1);
31
31
  height: var(--control-icon-1);
32
32
  }
33
- .min-h-8 {
33
+ .min-h-8:where(:scope, *) {
34
34
  min-height: calc(var(--spacing, 0.25rem) * 8);
35
35
  }
36
- .max-w-lg {
36
+ .max-w-lg:where(:scope, *) {
37
37
  max-width: var(--container-lg, 32rem);
38
38
  }
39
- .min-w-0 {
39
+ .min-w-0:where(:scope, *) {
40
40
  min-width: calc(var(--spacing, 0.25rem) * 0);
41
41
  }
42
- .flex-1 {
42
+ .flex-1:where(:scope, *) {
43
43
  flex: 1;
44
44
  }
45
- .shrink-0 {
45
+ .shrink-0:where(:scope, *) {
46
46
  flex-shrink: 0;
47
47
  }
48
- .cursor-text {
48
+ .cursor-text:where(:scope, *) {
49
49
  cursor: text;
50
50
  }
51
- .grid-cols-\\[3\\.5em_minmax\\(0\\,1fr\\)\\] {
51
+ .grid-cols-\\[3\\.5em_minmax\\(0\\,1fr\\)\\]:where(:scope, *) {
52
52
  grid-template-columns: 3.5em minmax(0,1fr);
53
53
  }
54
- .items-center {
54
+ .items-center:where(:scope, *) {
55
55
  align-items: center;
56
56
  }
57
- .gap-1 {
57
+ .gap-1:where(:scope, *) {
58
58
  gap: calc(var(--spacing, 0.25rem) * 1);
59
59
  }
60
- .gap-2 {
60
+ .gap-2:where(:scope, *) {
61
61
  gap: calc(var(--spacing, 0.25rem) * 2);
62
62
  }
63
- .space-y-0\\.5 {
63
+ .space-y-0\\.5:where(:scope, *) {
64
64
  :where(& > :not(:last-child)) {
65
65
  --tw-space-y-reverse: 0;
66
66
  margin-block-start: calc(calc(var(--spacing, 0.25rem) * 0.5) * var(--tw-space-y-reverse));
67
67
  margin-block-end: calc(calc(var(--spacing, 0.25rem) * 0.5) * calc(1 - var(--tw-space-y-reverse)));
68
68
  }
69
69
  }
70
- .space-y-2 {
70
+ .space-y-2:where(:scope, *) {
71
71
  :where(& > :not(:last-child)) {
72
72
  --tw-space-y-reverse: 0;
73
73
  margin-block-start: calc(calc(var(--spacing, 0.25rem) * 2) * var(--tw-space-y-reverse));
74
74
  margin-block-end: calc(calc(var(--spacing, 0.25rem) * 2) * calc(1 - var(--tw-space-y-reverse)));
75
75
  }
76
76
  }
77
- .truncate {
77
+ .truncate:where(:scope, *) {
78
78
  overflow: hidden;
79
79
  text-overflow: ellipsis;
80
80
  white-space: nowrap;
81
81
  }
82
- .rounded-md {
82
+ .rounded-md:where(:scope, *) {
83
83
  border-radius: calc(var(--radius) - 2px);
84
84
  }
85
- .bg-background\\/60 {
85
+ .bg-background\\/60:where(:scope, *) {
86
86
  background-color: var(--background);
87
87
  @supports (color: color-mix(in lab, red, red)) {
88
88
  background-color: color-mix(in oklab, var(--background) 60%, transparent);
89
89
  }
90
90
  }
91
- .bg-destructive\\/5 {
91
+ .bg-destructive\\/5:where(:scope, *) {
92
92
  background-color: var(--destructive);
93
93
  @supports (color: color-mix(in lab, red, red)) {
94
94
  background-color: color-mix(in oklab, var(--destructive) 5%, transparent);
95
95
  }
96
96
  }
97
- .bg-success\\/5 {
97
+ .bg-success\\/5:where(:scope, *) {
98
98
  background-color: var(--success);
99
99
  @supports (color: color-mix(in lab, red, red)) {
100
100
  background-color: color-mix(in oklab, var(--success) 5%, transparent);
101
101
  }
102
102
  }
103
- .p-3 {
103
+ .p-3:where(:scope, *) {
104
104
  padding: calc(var(--spacing, 0.25rem) * 3);
105
105
  }
106
- .px-2 {
106
+ .px-2:where(:scope, *) {
107
107
  padding-inline: calc(var(--spacing, 0.25rem) * 2);
108
108
  }
109
- .py-1 {
109
+ .py-1:where(:scope, *) {
110
110
  padding-block: calc(var(--spacing, 0.25rem) * 1);
111
111
  }
112
- .ps-\\[3\\.5em\\] {
112
+ .ps-\\[3\\.5em\\]:where(:scope, *) {
113
113
  padding-inline-start: 3.5em;
114
114
  }
115
- .pe-2 {
115
+ .pe-2:where(:scope, *) {
116
116
  padding-inline-end: calc(var(--spacing, 0.25rem) * 2);
117
117
  }
118
- .pe-3 {
118
+ .pe-3:where(:scope, *) {
119
119
  padding-inline-end: calc(var(--spacing, 0.25rem) * 3);
120
120
  }
121
- .pb-2 {
121
+ .pb-2:where(:scope, *) {
122
122
  padding-bottom: calc(var(--spacing, 0.25rem) * 2);
123
123
  }
124
- .text-end {
124
+ .text-end:where(:scope, *) {
125
125
  text-align: end;
126
126
  }
127
- .text-sm {
127
+ .text-sm:where(:scope, *) {
128
128
  font-size: var(--text-sm, 0.875rem);
129
129
  line-height: var(--tw-leading, var(--text-sm--line-height, calc(1.25 / 0.875)));
130
130
  }
131
- .font-medium {
131
+ .font-medium:where(:scope, *) {
132
132
  --tw-font-weight: var(--font-weight-medium, 500);
133
133
  font-weight: var(--font-weight-medium, 500);
134
134
  }
135
- .\\[overflow-wrap\\:anywhere\\] {
135
+ .\\[overflow-wrap\\:anywhere\\]:where(:scope, *) {
136
136
  overflow-wrap: anywhere;
137
137
  }
138
- .break-words {
138
+ .break-words:where(:scope, *) {
139
139
  overflow-wrap: break-word;
140
140
  }
141
- .break-all {
141
+ .break-all:where(:scope, *) {
142
142
  word-break: break-all;
143
143
  }
144
- .whitespace-pre-wrap {
144
+ .whitespace-pre-wrap:where(:scope, *) {
145
145
  white-space: pre-wrap;
146
146
  }
147
- .text-destructive {
147
+ .text-destructive:where(:scope, *) {
148
148
  color: var(--destructive);
149
149
  }
150
- .text-destructive-foreground {
150
+ .text-destructive-foreground:where(:scope, *) {
151
151
  color: var(--destructive-foreground);
152
152
  }
153
- .text-foreground {
153
+ .text-foreground:where(:scope, *) {
154
154
  color: var(--contrast-foreground);
155
155
  }
156
- .text-muted-foreground {
156
+ .text-muted-foreground:where(:scope, *) {
157
157
  color: var(--contrast-muted-foreground);
158
158
  }
159
- .text-success-foreground {
159
+ .text-success-foreground:where(:scope, *) {
160
160
  color: var(--success-foreground);
161
161
  }
162
- .tabular-nums {
162
+ .tabular-nums:where(:scope, *) {
163
163
  --tw-numeric-spacing: tabular-nums;
164
164
  font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
165
165
  }
166
- .select-none {
166
+ .select-none:where(:scope, *) {
167
167
  -webkit-user-select: none;
168
168
  user-select: none;
169
169
  }
170
- .select-text {
170
+ .select-text:where(:scope, *) {
171
171
  -webkit-user-select: text;
172
172
  user-select: text;
173
173
  }
174
- .last\\:mb-0 {
174
+ .last\\:mb-0:where(:scope, *) {
175
175
  &:last-child {
176
176
  margin-bottom: calc(var(--spacing, 0.25rem) * 0);
177
177
  }
178
178
  }
179
- .\\[\\&_p\\]\\:my-0 {
179
+ .\\[\\&_p\\]\\:my-0:where(:scope, *) {
180
180
  & p {
181
181
  margin-block: calc(var(--spacing, 0.25rem) * 0);
182
182
  }
183
183
  }
184
- .tool-body {
184
+ .tool-body:where(:scope, *) {
185
185
  font-family: var(--font-mono);
186
186
  font-size: var(--chat-detail-font-size, 13px);
187
187
  line-height: 1.55;
188
188
  }
189
- .tool-meta {
189
+ .tool-meta:where(:scope, *) {
190
190
  font-size: var(--chat-meta-font-size, 11px);
191
191
  font-variant-numeric: tabular-nums;
192
192
  line-height: 1.45;
193
193
  }
194
- .tool-process-text {
194
+ .tool-process-text:where(:scope, *) {
195
195
  font-size: var(--chat-process-font-size, 12px);
196
196
  line-height: 1.5;
197
197
  }
@@ -209,7 +209,7 @@ var G=`/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
209
209
  }
210
210
  }
211
211
  }
212
- `;var Le=window.__ycodiumPluginHost.react;var{Activity:We,Children:Ve,Component:ze,Fragment:Ne,Profiler:Xe,PureComponent:Ke,StrictMode:Ze,Suspense:_e,__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE:Qe,__COMPILER_RUNTIME:Je,act:$e,cache:je,cacheSignal:Ye,captureOwnerStack:ea,cloneElement:aa,createContext:E,createElement:h,createRef:ta,forwardRef:b,isValidElement:oa,lazy:ua,memo:la,startTransition:da,unstable_useCacheRefresh:ra,use:sa,useActionState:fa,useCallback:ia,useContext:W,useDebugValue:na,useDeferredValue:ca,useEffect:pa,useEffectEvent:ma,useId:La,useImperativeHandle:Ia,useInsertionEffect:V,useLayoutEffect:xa,useMemo:Ca,useOptimistic:ga,useReducer:ha,useRef:Sa,useState:U,useSyncExternalStore:wa,useTransition:ka,version:ya}=Le;var z=E(null),N=z.Provider;function w(){let e=W(z);if(e===null)throw new Error("Tool display UI has not been registered.");return e}var Ie=".ycodium-tool-display-ui";function xe(){let e=globalThis,a=(e.__ycodiumToolDisplayScope??0)+1;return e.__ycodiumToolDisplayScope=a,`ycodium-tool-display-ui-${a}`}function X(e,a="tool-display"){let t=xe(),o=e.replaceAll(Ie,`.${t}`),u=0,l=null;return{scopeClass:t,retain(){return typeof document>"u"?()=>{}:(u===0&&(l=document.createElement("style"),l.setAttribute("data-ycodium-plugin-css",a),l.textContent=o,document.head.appendChild(l)),u+=1,()=>{u-=1,u===0&&l!==null&&(l.remove(),l=null)})}}}function C(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null}function P(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}function Ce({entry:e,details:a}){let t=a.input?.text??e.toolIo?.input;if(!t)return null;let o=P(t);return C(o)}function Q(e){let a=C(e.entry.toolData),t=e.entry.toolLabel?.name??a?.tool??e.entry.toolTitle??e.entry.label;return typeof t=="string"?t.toLowerCase().replace(/[ _-]/g,""):""}function J(e){return e.entry.toolLifecycleStatus==="completed"&&!e.entry.displayFailed&&(e.details.exitCode===void 0||e.details.exitCode===0)}function ge(e){let a=e,t=a.match(/:(\d+)$/);if(!t?.[1])return{path:a,line:void 0,column:void 0};let o=t[1];a=a.slice(0,-t[0].length);let u=a.match(/:(\d+)$/);return u?.[1]?{path:a.slice(0,-u[0].length),line:u[1],column:o}:{path:a,line:o,column:void 0}}function K(e){return e.replaceAll("\\","/")}function Z(e){return/^\/[A-Za-z]:\//.test(e)?e.slice(1):e}function he(e){return e.replace(/[\\/]+$/,"")}function Se(e){let a=Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"));return a>=0?e.slice(a+1):e}function we(e){return e.replace(/^\.\/+/,"").replace(/^\/+/,"")}function ke(e){return e.startsWith("/")||/^[A-Za-z]:\//.test(e)}function R(e,a){let{path:t,line:o,column:u}=ge(e),l=Z(K(t)),f=l;if(a){let i=Z(K(he(a))),r=Se(i),n=l.toLowerCase(),I=i.toLowerCase(),p=`${I}/`,c=`${r.toLowerCase()}/`;if(n===I)f=r;else if(n.startsWith(p))f=`${r}/${l.slice(i.length+1)}`;else if(!ke(l)){let s=we(l);f=n.startsWith(c)?l:`${r}/${s}`}}return o?`${f}:${o}${u?`:${u}`:""}`:f}function ye(e,a){let t=e.entry.toolLabel?.path??a?.file_path;return typeof t=="string"&&t.trim()?R(t,e.workspaceRoot):null}function Pe(e){let{entry:a,details:t}=e;if(a.requestKind!=="command"&&a.itemType!=="command_execution")return null;let o=t.input?.text;return!o||t.raw?null:{kind:"terminal",command:o,output:t.output?.text??"",copyText:[o,t.output?.text].filter(u=>u!==void 0).join(`
212
+ `;var Le=window.__ycodiumPluginHost.react;var{Activity:We,Children:Ve,Component:ze,Fragment:Ne,Profiler:Xe,PureComponent:Ke,StrictMode:Ze,Suspense:_e,__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE:Qe,__COMPILER_RUNTIME:Je,act:$e,cache:je,cacheSignal:Ye,captureOwnerStack:ea,cloneElement:aa,createContext:E,createElement:g,createRef:ta,forwardRef:b,isValidElement:oa,lazy:ua,memo:la,startTransition:da,unstable_useCacheRefresh:ra,use:sa,useActionState:fa,useCallback:ia,useContext:W,useDebugValue:na,useDeferredValue:ca,useEffect:pa,useEffectEvent:ma,useId:La,useImperativeHandle:Ia,useInsertionEffect:V,useLayoutEffect:xa,useMemo:Ca,useOptimistic:ha,useReducer:ga,useRef:Sa,useState:U,useSyncExternalStore:wa,useTransition:ka,version:ya}=Le;var z=E(null),N=z.Provider;function w(){let e=W(z);if(e===null)throw new Error("Tool display UI has not been registered.");return e}var Ie=".ycodium-tool-display-ui";function xe(){let e=globalThis,a=(e.__ycodiumToolDisplayScope??0)+1;return e.__ycodiumToolDisplayScope=a,`ycodium-tool-display-ui-${a}`}function X(e,a="tool-display"){let t=xe(),o=e.replaceAll(Ie,`.${t}`),u=0,l=null;return{scopeClass:t,retain(){return typeof document>"u"?()=>{}:(u===0&&(l=document.createElement("style"),l.setAttribute("data-ycodium-plugin-css",a),l.textContent=o,document.head.appendChild(l)),u+=1,()=>{u-=1,u===0&&l!==null&&(l.remove(),l=null)})}}}function C(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null}function P(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}function Ce({entry:e,details:a}){let t=a.input?.text??e.toolIo?.input;if(!t)return null;let o=P(t);return C(o)}function Q(e){let a=C(e.entry.toolData),t=e.entry.toolLabel?.name??a?.tool??e.entry.toolTitle??e.entry.label;return typeof t=="string"?t.toLowerCase().replace(/[ _-]/g,""):""}function J(e){return e.entry.toolLifecycleStatus==="completed"&&!e.entry.displayFailed&&(e.details.exitCode===void 0||e.details.exitCode===0)}function he(e){let a=e,t=a.match(/:(\d+)$/);if(!t?.[1])return{path:a,line:void 0,column:void 0};let o=t[1];a=a.slice(0,-t[0].length);let u=a.match(/:(\d+)$/);return u?.[1]?{path:a.slice(0,-u[0].length),line:u[1],column:o}:{path:a,line:o,column:void 0}}function K(e){return e.replaceAll("\\","/")}function Z(e){return/^\/[A-Za-z]:\//.test(e)?e.slice(1):e}function ge(e){return e.replace(/[\\/]+$/,"")}function Se(e){let a=Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"));return a>=0?e.slice(a+1):e}function we(e){return e.replace(/^\.\/+/,"").replace(/^\/+/,"")}function ke(e){return e.startsWith("/")||/^[A-Za-z]:\//.test(e)}function R(e,a){let{path:t,line:o,column:u}=he(e),l=Z(K(t)),f=l;if(a){let i=Z(K(ge(a))),r=Se(i),n=l.toLowerCase(),I=i.toLowerCase(),p=`${I}/`,c=`${r.toLowerCase()}/`;if(n===I)f=r;else if(n.startsWith(p))f=`${r}/${l.slice(i.length+1)}`;else if(!ke(l)){let s=we(l);f=n.startsWith(c)?l:`${r}/${s}`}}return o?`${f}:${o}${u?`:${u}`:""}`:f}function ye(e,a){let t=e.entry.toolLabel?.path??a?.file_path;return typeof t=="string"&&t.trim()?R(t,e.workspaceRoot):null}function Pe(e){let{entry:a,details:t}=e;if(a.requestKind!=="command"&&a.itemType!=="command_execution")return null;let o=t.input?.text;return!o||t.raw?null:{kind:"terminal",command:o,output:t.output?.text??"",copyText:[o,t.output?.text].filter(u=>u!==void 0).join(`
213
213
 
214
214
  `)}}function Ae(e){let{entry:a,details:t}=e;if(a.requestKind!=="file-read"&&a.toolTitle!=="Read File"||a.displayFailed||t.raw||t.exitCode!==void 0&&t.exitCode!==0)return null;let o=ye(e,Ce(e)),u=t.output?.text;if(!o||!u)return null;let l=[];for(let f of(u.endsWith(`
215
215
  `)?u.slice(0,-1):u).split(`
@@ -222,9 +222,9 @@ ${f.patch}`).join(`
222
222
  `);return!Array.isArray(c)||!c.every(s=>typeof s=="string"&&s.length>0)||!p&&!c.every(s=>/[/\\]|\.[a-z0-9]{1,12}$/i.test(s))?null:{kind:"search",resultKind:"paths",pattern:i,paths:c.map(s=>R(s,e.workspaceRoot)),copyText:t}}let r=typeof l?.content=="string"?l.content:t;if(l&&!Array.isArray(l.files)&&typeof l.content!="string"||!l&&f)return null;let n=new Map,I=(p,c,s)=>{let m=n.get(p)??[];m.push({line:c,text:s,key:`${c}:${m.length}`}),n.set(p,m)};if(Array.isArray(l?.files))for(let p of l.files){let c=C(p);if(typeof c?.path!="string"||!c.path||!Array.isArray(c.matches))return null;for(let s of c.matches){let m=C(s);if(typeof m?.lineNumber!="number"||!Number.isSafeInteger(m.lineNumber)||m.lineNumber<1||typeof m?.line!="string")return null;I(c.path,m.lineNumber,m.line)}}else for(let p of r.trimEnd().split(`
223
223
  `)){let c=/^(.+?):([1-9]\d*):(.*)$/u.exec(p);if(!c||!Number.isSafeInteger(Number(c[2])))return null;I(c[1],Number(c[2]),c[3])}return{kind:"search",resultKind:"matches",pattern:i,files:[...n].map(([p,c])=>({key:p,path:R(p,e.workspaceRoot),matches:c})),copyText:t}}function _(e){if(typeof e!="string")return null;try{let a=new URL(e);return(a.protocol==="http:"||a.protocol==="https:")&&!a.username&&!a.password?a.href:null}catch{return null}}function Te(e){if(!J(e))return null;let a=Q(e);if(e.entry.itemType!=="web_search"&&a!=="websearch"&&a!=="webfetch"||a==="grep"||a==="glob")return null;let t=e.details.output?.text,o=P(t);if(!t)return null;let u=C(o);if(u?.isError===!0||typeof u?.error=="string")return null;let l=u?.sources??u?.results??(Array.isArray(o)?o:void 0),f=C(P(e.details.input?.text??e.entry.toolIo?.input)),i=typeof f?.query=="string"?f.query:e.entry.toolLabel?.detail??e.entry.label;if(Array.isArray(l)){let p=[];for(let c of l){let s=C(c),m=_(s?.url);if(!m||s?.title!==void 0&&typeof s.title!="string"||s?.snippet!==void 0&&typeof s.snippet!="string")return null;p.push({key:`${m}:${p.length}`,url:m,title:typeof s?.title=="string"?s.title:m,...typeof s?.snippet=="string"?{snippet:s.snippet}:{}})}return u?.answer!==void 0&&typeof u.answer!="string"?null:{kind:"web",query:i,sources:p,copyText:t,...typeof u?.answer=="string"?{answer:u.answer}:{}}}let r=_(u?.url),n=u?.statusCode;if(!r||typeof n!="number"||!Number.isInteger(n)||n<100||n>599)return null;let I=typeof u?.title=="string"?u.title:r;return{kind:"web",query:I,sources:[{key:r,url:r,title:I}],copyText:t,statusCode:n,...typeof u?.text=="string"?{answer:u.text}:{}}}var Fe=[Pe,Ae,De,Be,Te];function $(e){for(let a of Fe){let t=a(e);if(t)return t}return null}function j(e){return[e.input,e.output,e.raw].filter(a=>a!==void 0).map(a=>a.text).join(`
224
224
 
225
- `)}function A(...e){return e.filter(a=>typeof a=="string"&&a.length>0).join(" ")}var v=(...e)=>e.filter((a,t,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===t).join(" ").trim();var Y=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var ee=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,t,o)=>o?o.toUpperCase():t.toLowerCase());var O=e=>{let a=ee(e);return a.charAt(0).toUpperCase()+a.slice(1)};var ae={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var te=e=>{for(let a in e)if(a.startsWith("aria-")||a==="role"||a==="title")return!0;return!1};var oe=b(({color:e="currentColor",size:a=24,strokeWidth:t=2,absoluteStrokeWidth:o,className:u="",children:l,iconNode:f,...i},r)=>h("svg",{ref:r,...ae,width:a,height:a,stroke:e,strokeWidth:o?Number(t)*24/Number(a):t,className:v("lucide",u),...!l&&!te(i)&&{"aria-hidden":"true"},...i},[...f.map(([n,I])=>h(n,I)),...Array.isArray(l)?l:[l]]));var x=(e,a)=>{let t=b(({className:o,...u},l)=>h(oe,{ref:l,iconNode:a,className:v(`lucide-${Y(O(e))}`,`lucide-${e}`,o),...u}));return t.displayName=O(e),t};var Me=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],D=x("check",Me);var be=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],B=x("copy",be);var Re=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],T=x("globe",Re);var ve=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],F=x("search",ve);var qe=[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]],g=x("square-terminal",qe);function k(e){return(a=>h(w().ui[e],{...a,className:`ycodium-tool-display-ui ${typeof a.className=="string"?a.className:""}`}))}var q=k("Button"),ue=k("Tooltip"),le=k("TooltipPopup"),de=k("TooltipTrigger"),re=k("Markdown"),se=k("DetailViewport");function S(){return{t:w().i18n.usePluginTranslation()}}var{jsx:d,jsxs:L,Fragment:It}=window.__ycodiumPluginHost.jsxRuntime;function fe({text:e}){let{t:a}=S(),t=w(),[o,u]=U(null),[l,f]=U(!1),i=o===e;return L("span",{className:"inline-flex items-center gap-1",children:[d(q,{type:"button",variant:"ghost-muted",size:"icon-xs","aria-label":a(i?"copied":"copy"),onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&r.stopPropagation()},onClick:()=>{Promise.resolve(t.writeClipboard(e)).then(()=>{u(e),f(!1)},()=>f(!0))},children:i?d(D,{"aria-hidden":!0,className:"size-icon-1"}):d(B,{"aria-hidden":!0,className:"size-icon-1"})}),l?d("span",{role:"status",className:"tool-meta text-destructive",children:a("copyFailed")}):null]})}var ie=new Map;function y(e){ie.set(e.kind,e)}function ne(e){return ie.get(e.kind)}function M({text:e}){return L(ue,{children:[d(de,{render:d("code",{className:"min-w-0 truncate text-foreground"}),children:e}),d(le,{className:"max-w-lg whitespace-pre-wrap break-words",children:e})]})}function Ue({model:e}){let{t:a}=S();if(e.resultKind==="paths")return e.paths.length===0?d("p",{className:"px-2 pb-2 text-muted-foreground",children:a("noSearchResults")}):d("pre",{className:"tool-body whitespace-pre-wrap break-words px-2 pb-2 text-foreground",children:e.paths.slice(0,16).join(`
225
+ `)}function A(...e){return e.filter(a=>typeof a=="string"&&a.length>0).join(" ")}var v=(...e)=>e.filter((a,t,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===t).join(" ").trim();var Y=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var ee=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,t,o)=>o?o.toUpperCase():t.toLowerCase());var O=e=>{let a=ee(e);return a.charAt(0).toUpperCase()+a.slice(1)};var ae={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var te=e=>{for(let a in e)if(a.startsWith("aria-")||a==="role"||a==="title")return!0;return!1};var oe=b(({color:e="currentColor",size:a=24,strokeWidth:t=2,absoluteStrokeWidth:o,className:u="",children:l,iconNode:f,...i},r)=>g("svg",{ref:r,...ae,width:a,height:a,stroke:e,strokeWidth:o?Number(t)*24/Number(a):t,className:v("lucide",u),...!l&&!te(i)&&{"aria-hidden":"true"},...i},[...f.map(([n,I])=>g(n,I)),...Array.isArray(l)?l:[l]]));var x=(e,a)=>{let t=b(({className:o,...u},l)=>g(oe,{ref:l,iconNode:a,className:v(`lucide-${Y(O(e))}`,`lucide-${e}`,o),...u}));return t.displayName=O(e),t};var Me=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],D=x("check",Me);var be=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],B=x("copy",be);var Re=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],T=x("globe",Re);var ve=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],F=x("search",ve);var qe=[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]],h=x("square-terminal",qe);function k(e){return(a=>g(w().ui[e],{...a,className:`ycodium-tool-display-ui ${typeof a.className=="string"?a.className:""}`}))}var q=k("Button"),ue=k("Tooltip"),le=k("TooltipPopup"),de=k("TooltipTrigger"),re=k("Markdown"),se=k("DetailViewport");function S(){return{t:w().i18n.usePluginTranslation()}}var{jsx:d,jsxs:L,Fragment:It}=window.__ycodiumPluginHost.jsxRuntime;function fe({text:e}){let{t:a}=S(),t=w(),[o,u]=U(null),[l,f]=U(!1),i=o===e;return L("span",{className:"inline-flex items-center gap-1",children:[d(q,{type:"button",variant:"ghost-muted",size:"icon-xs","aria-label":a(i?"copied":"copy"),onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&r.stopPropagation()},onClick:()=>{Promise.resolve(t.writeClipboard(e)).then(()=>{u(e),f(!1)},()=>f(!0))},children:i?d(D,{"aria-hidden":!0,className:"size-icon-1"}):d(B,{"aria-hidden":!0,className:"size-icon-1"})}),l?d("span",{role:"status",className:"tool-meta text-destructive",children:a("copyFailed")}):null]})}var ie=new Map;function y(e){ie.set(e.kind,e)}function ne(e){return ie.get(e.kind)}function M({text:e}){return L(ue,{children:[d(de,{render:d("code",{className:"min-w-0 truncate text-foreground"}),children:e}),d(le,{className:"max-w-lg whitespace-pre-wrap break-words",children:e})]})}function Ue({model:e}){let{t:a}=S();if(e.resultKind==="paths")return e.paths.length===0?d("p",{className:"px-2 pb-2 text-muted-foreground",children:a("noSearchResults")}):d("pre",{className:"tool-body whitespace-pre-wrap break-words px-2 pb-2 text-foreground",children:e.paths.slice(0,16).join(`
226
226
  `)});let t=16;return d("div",{className:"tool-body px-2 pb-2",children:e.files.length===0?d("p",{className:"text-muted-foreground",children:a("noSearchResults")}):e.files.map(o=>{let u=o.matches.slice(0,t);return t-=u.length,u.length===0?null:L("div",{"data-search-file":o.path,className:"mb-2 last:mb-0",children:[d("p",{className:"break-all font-medium text-foreground",children:o.path}),u.map(l=>L("div",{"data-search-line":l.line,className:"grid grid-cols-[3.5em_minmax(0,1fr)]",children:[d("span",{"aria-hidden":!0,className:"pe-3 text-end text-muted-foreground tabular-nums select-none",children:l.line}),d("span",{className:"whitespace-pre-wrap break-words text-foreground [overflow-wrap:anywhere]",children:l.text||`
227
- `})]},l.key))]},o.key)})})}function Oe({model:e,context:a}){let{t}=S();return L("div",{className:"space-y-2 px-2 pb-2 text-foreground",children:[e.statusCode!==void 0?d("p",{className:A("tool-meta",e.statusCode>=400&&"text-destructive-foreground"),children:t("httpStatus",{status:e.statusCode})}):null,e.answer?d("p",{className:"tool-process-text line-clamp-3 whitespace-pre-wrap",children:e.answer}):null,e.sources.length===0?d("p",{className:"tool-process-text text-muted-foreground",children:t("noWebSources")}):e.sources.slice(0,8).map(o=>L("div",{"data-web-source":o.url,className:"space-y-0.5",children:[o.title!==e.query?d("p",{className:"tool-process-text font-medium",children:o.title}):null,d(re,{text:`<${o.url}>`,className:"tool-meta [&_p]:my-0",...a.threadRef===void 0?{}:{threadRef:a.threadRef},...a.workspaceRoot===void 0?{}:{cwd:a.workspaceRoot}}),o.snippet?d("p",{className:"tool-meta line-clamp-3 whitespace-pre-wrap text-muted-foreground",children:o.snippet}):null]},o.key))]})}y({kind:"terminal",heading:e=>L("span",{className:"flex min-w-0 items-center gap-2 text-foreground",children:[d(g,{"aria-hidden":!0,className:"size-4 shrink-0 text-muted-foreground"}),d(M,{text:e.command})]}),body:e=>d("pre",{className:"tool-body cursor-text whitespace-pre-wrap break-words px-2 pb-2 text-foreground select-text [overflow-wrap:anywhere]",children:e.output})});y({kind:"read",hiddenLines:e=>Math.max(0,e.lines.length-16),heading:e=>d(M,{text:e.path}),body:e=>d("div",{className:"tool-body cursor-text pb-2 text-foreground select-text",children:(e.lines.length>16?[...e.lines.slice(0,8),null,...e.lines.slice(-8)]:e.lines).map(a=>a===null?d("div",{"aria-hidden":!0,className:"ps-[3.5em] text-muted-foreground",children:"\u2026"},"gap"):L("div",{"data-source-line":a.number,className:"grid grid-cols-[3.5em_minmax(0,1fr)]",children:[d("span",{"aria-hidden":!0,className:"pe-3 text-end text-muted-foreground select-none tabular-nums",children:a.number}),d("span",{className:"whitespace-pre-wrap break-words pe-2 [overflow-wrap:anywhere]",children:a.text||`
227
+ `})]},l.key))]},o.key)})})}function Oe({model:e,context:a}){let{t}=S();return L("div",{className:"space-y-2 px-2 pb-2 text-foreground",children:[e.statusCode!==void 0?d("p",{className:A("tool-meta",e.statusCode>=400&&"text-destructive-foreground"),children:t("httpStatus",{status:e.statusCode})}):null,e.answer?d("p",{className:"tool-process-text line-clamp-3 whitespace-pre-wrap",children:e.answer}):null,e.sources.length===0?d("p",{className:"tool-process-text text-muted-foreground",children:t("noWebSources")}):e.sources.slice(0,8).map(o=>L("div",{"data-web-source":o.url,className:"space-y-0.5",children:[o.title!==e.query?d("p",{className:"tool-process-text font-medium",children:o.title}):null,d(re,{text:`<${o.url}>`,className:"tool-meta [&_p]:my-0",...a.threadRef===void 0?{}:{threadRef:a.threadRef},...a.workspaceRoot===void 0?{}:{cwd:a.workspaceRoot}}),o.snippet?d("p",{className:"tool-meta line-clamp-3 whitespace-pre-wrap text-muted-foreground",children:o.snippet}):null]},o.key))]})}y({kind:"terminal",heading:e=>L("span",{className:"flex min-w-0 items-center gap-2 text-foreground",children:[d(h,{"aria-hidden":!0,className:"size-4 shrink-0 text-muted-foreground"}),d(M,{text:e.command})]}),body:e=>d("pre",{className:"tool-body cursor-text whitespace-pre-wrap break-words px-2 pb-2 text-foreground select-text [overflow-wrap:anywhere]",children:e.output})});y({kind:"read",hiddenLines:e=>Math.max(0,e.lines.length-16),heading:e=>d(M,{text:e.path}),body:e=>d("div",{className:"tool-body cursor-text pb-2 text-foreground select-text",children:(e.lines.length>16?[...e.lines.slice(0,8),null,...e.lines.slice(-8)]:e.lines).map(a=>a===null?d("div",{"aria-hidden":!0,className:"ps-[3.5em] text-muted-foreground",children:"\u2026"},"gap"):L("div",{"data-source-line":a.number,className:"grid grid-cols-[3.5em_minmax(0,1fr)]",children:[d("span",{"aria-hidden":!0,className:"pe-3 text-end text-muted-foreground select-none tabular-nums",children:a.number}),d("span",{className:"whitespace-pre-wrap break-words pe-2 [overflow-wrap:anywhere]",children:a.text||`
228
228
  `})]},a.number))})});y({kind:"change",heading:e=>d(M,{text:e.files.map(a=>a.path).join(", ")}),body:e=>d("div",{className:"tool-body cursor-text pb-2 select-text",children:e.files.map(a=>L("div",{children:[e.files.length>1?d("p",{className:"px-2 py-1 text-foreground",children:a.path}):null,a.parts.length>64?d("pre",{className:"whitespace-pre-wrap break-words px-2 text-foreground [overflow-wrap:anywhere]",children:a.patch}):a.parts.map(t=>d("pre",{"data-change-line":t.kind,className:A("whitespace-pre-wrap break-words px-2 [overflow-wrap:anywhere]",t.kind==="removed"?"bg-destructive/5 text-destructive-foreground":t.kind==="added"?"bg-success/5 text-success-foreground":"text-muted-foreground"),children:t.lines.join(`
229
229
  `)},t.line))]},a.key))})});y({kind:"search",hasMoreResults:e=>e.resultKind==="paths"?e.paths.length>16:e.files.reduce((a,t)=>a+t.matches.length,0)>16,heading:e=>L("span",{className:"flex min-w-0 items-center gap-2",children:[d(F,{"aria-hidden":!0,className:"size-4 shrink-0"}),d(M,{text:e.pattern})]}),body:e=>d(Ue,{model:e})});y({kind:"web",hasMoreResults:e=>e.sources.length>8,heading:e=>L("span",{className:"flex min-w-0 items-center gap-2",children:[d(T,{"aria-hidden":!0,className:"size-4 shrink-0"}),d(M,{text:e.query})]}),body:(e,a)=>d(Oe,{model:e,context:a})});function He({text:e}){return d("pre",{className:"tool-body cursor-text whitespace-pre-wrap break-words px-2 pb-2 text-foreground select-text [overflow-wrap:anywhere]",children:e})}function ce({retain:e}){return V(()=>e(),[e]),null}function pe(e){let{t:a}=S(),t=$(e),o=t?ne(t):void 0,u=t&&o?.hiddenLines?o.hiddenLines(t):0,l=t&&o?.hasMoreResults?o.hasMoreResults(t):!1,f=[e.details.input,e.details.output,e.details.raw].filter(n=>n!==void 0),i=t?.copyText??j(e.details);if(!i&&!t)return null;let r=e.details.files.length>0&&t?.kind!=="change"&&t?.kind!=="search";return L("div",{className:A("ycodium-tool-display-ui",e.scopeClass,"min-w-0 rounded-md bg-background/60"),"data-tool-overview":!0,"data-tool-overview-kind":t?.kind??"generic",children:[L("div",{className:"tool-meta flex min-h-8 items-center gap-2 px-2 text-muted-foreground",children:[d("span",{className:"min-w-0 flex-1",children:t&&o?o.heading(t):null}),e.summary?d("span",{children:a("summary")}):null,f.some(n=>n.truncated)?d("span",{children:a("truncated")}):null,d(fe,{text:i})]}),d(se,{threadKey:e.threadKey??"unscoped",stateKey:`${e.stateKey??e.entry.id}:overview`,maxHeight:"8lh",className:"tool-body",followTail:e.followOutputTail===!0,...e.onDisclosureChange===void 0?{}:{onDisclosureChange:e.onDisclosureChange},children:t&&o?o.body(t,e):d(He,{text:i})}),u||l?d(q,{size:"xs",variant:"ghost-muted",className:"m-1",disabled:e.onShowOutput===void 0,onClick:e.onShowOutput,children:u?a("showMoreLines",{count:u}):a("showAllResults")}):null,r?d("div",{className:"min-w-0 px-2 pb-2",children:d("pre",{className:"tool-body whitespace-pre-wrap break-words text-foreground select-text",children:e.details.files.join(`
230
230
  `)})}):null]})}function Ge(e){if(["Button","Tooltip","TooltipTrigger","TooltipPopup","Markdown","DetailViewport"].some(u=>e.ui[u]===void 0)){let u=function(){let l=e.i18n.usePluginTranslation();return d("p",{role:"status",className:"p-3 text-sm text-muted-foreground",children:l("hostUpgradeRequired")})};var o=u;return{pages:{},panels:{},views:{toolCall:u}}}let t=X(G);return{pages:{},panels:{},views:{toolCall:function(l){return L(N,{value:e,children:[d(ce,{retain:t.retain}),d(pe,{...l,scopeClass:t.scopeClass})]})}}}}export{Ge as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ycodium-ai/plugin-tool-display",
3
- "version": "0.2.2126",
3
+ "version": "0.2.2488",
4
4
  "description": "Renders command, read, change, search, and web tool calls from recorded facts.",
5
5
  "keywords": [
6
6
  "ycodium",
@@ -35,7 +35,7 @@
35
35
  "tailwindcss": "^4.0.0",
36
36
  "typescript": "~6.0.3",
37
37
  "vite-plus": "0.2.2",
38
- "@ycodium-ai/plugin-api": "0.2.2126"
38
+ "@ycodium-ai/plugin-api": "0.2.2488"
39
39
  },
40
40
  "ycodium": {
41
41
  "plugin": "./dist/index.js",