@zhin.js/adapter-icqq 5.0.0 → 5.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/client/ICQQManagement.tsx +1 -1
- package/dist/index.js +2 -1
- package/lib/agent-prompt.d.ts.map +1 -1
- package/lib/agent-prompt.js +2 -1
- package/lib/agent-prompt.js.map +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/package.json +14 -11
- package/src/agent-prompt.ts +9 -7
- package/src/index.ts +1 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# @zhin.js/adapter-icqq
|
|
2
2
|
|
|
3
|
+
## 5.0.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [384ea11]
|
|
8
|
+
- @zhin.js/host-api@2.0.2
|
|
9
|
+
- zhin.js@4.0.1
|
|
10
|
+
|
|
11
|
+
## 5.0.1
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- ae5239c: fix: 核心包瘦身
|
|
16
|
+
- Updated dependencies [609da24]
|
|
17
|
+
- Updated dependencies [7dfafc2]
|
|
18
|
+
- Updated dependencies [93e58d9]
|
|
19
|
+
- Updated dependencies [ae5239c]
|
|
20
|
+
- @zhin.js/agent@0.3.1
|
|
21
|
+
- @zhin.js/core@1.3.1
|
|
22
|
+
- @zhin.js/host-api@2.0.1
|
|
23
|
+
- zhin.js@4.0.1
|
|
24
|
+
- @zhin.js/host-router@2.0.0
|
|
25
|
+
|
|
3
26
|
## 5.0.0
|
|
4
27
|
|
|
5
28
|
### Patch Changes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useCallback, useEffect, useState } from "react";
|
|
2
|
-
import { Activity, Endpoint, LogIn, Users, RefreshCw, Wifi, WifiOff, Loader2 } from "lucide-react";
|
|
2
|
+
import { Activity, Bot, Endpoint, LogIn, Users, RefreshCw, Wifi, WifiOff, Loader2 } from "lucide-react";
|
|
3
3
|
import LoginAssistPanel from "./LoginAssistPanel";
|
|
4
4
|
import { apiFetch } from "./utils/api";
|
|
5
5
|
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{useCallback as Fe,useEffect as De,useState as V}from"react";import{forwardRef as le,createElement as re}from"react";var E=(...a)=>a.filter((u,r,f)=>!!u&&u.trim()!==""&&f.indexOf(u)===r).join(" ").trim();var Z=a=>a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var Q=a=>a.replace(/^([A-Z])|[\s-_]+(\w)/g,(u,r,f)=>f?f.toUpperCase():r.toLowerCase());var z=a=>{let u=Q(a);return u.charAt(0).toUpperCase()+u.slice(1)};import{forwardRef as de,createElement as j}from"react";var W={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 J=a=>{for(let u in a)if(u.startsWith("aria-")||u==="role"||u==="title")return!0;return!1};import{createContext as te,useContext as oe,useMemo as Ge,createElement as Ee}from"react";var ue=te({});var _=()=>oe(ue);var Y=de(({color:a,size:u,strokeWidth:r,absoluteStrokeWidth:f,className:p="",children:s,iconNode:m,...h},L)=>{let{size:d=24,strokeWidth:n=2,absoluteStrokeWidth:H=!1,color:g="currentColor",className:A=""}=_()??{},B=f??H?Number(r??n)*24/Number(u??d):r??n;return j("svg",{ref:L,...W,width:u??d??W.width,height:u??d??W.height,stroke:a??g,strokeWidth:B,className:E("lucide",A,p),...!s&&!J(h)&&{"aria-hidden":"true"},...h},[...m.map(([N,e])=>j(N,e)),...Array.isArray(s)?s:[s]])});var o=(a,u)=>{let r=le(({className:f,...p},s)=>re(Y,{ref:s,iconNode:u,className:E(`lucide-${Z(z(a))}`,`lucide-${a}`,f),...p}));return r.displayName=z(a),r};var fe=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]],M=o("activity",fe);var se=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],k=o("circle-alert",se);var ie=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],x=o("loader-circle",ie);var ce=[["path",{d:"m10 17 5-5-5-5",key:"1bsop3"}],["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}]],w=o("log-in",ce);var ne=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]],F=o("message-square",ne);var pe=[["path",{d:"M12.586 12.586 19 19",key:"ea5xo7"}],["path",{d:"M3.688 3.037a.497.497 0 0 0-.651.651l6.5 15.999a.501.501 0 0 0 .947-.062l1.569-6.083a2 2 0 0 1 1.448-1.479l6.124-1.579a.5.5 0 0 0 .063-.947z",key:"277e5u"}]],D=o("mouse-pointer",pe);var me=[["rect",{width:"5",height:"5",x:"3",y:"3",rx:"1",key:"1tu5fj"}],["rect",{width:"5",height:"5",x:"16",y:"3",rx:"1",key:"1v8r4q"}],["rect",{width:"5",height:"5",x:"3",y:"16",rx:"1",key:"1x03jg"}],["path",{d:"M21 16h-3a2 2 0 0 0-2 2v3",key:"177gqh"}],["path",{d:"M21 21v.01",key:"ents32"}],["path",{d:"M12 7v3a2 2 0 0 1-2 2H7",key:"8crl2c"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M12 3h.01",key:"n36tog"}],["path",{d:"M12 16v.01",key:"133mhm"}],["path",{d:"M16 12h1",key:"1slzba"}],["path",{d:"M21 12v.01",key:"1lwtk9"}],["path",{d:"M12 21v-1",key:"1880an"}]],y=o("qr-code",me);var Le=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],R=o("refresh-cw",Le);var Ie=[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]],T=o("smartphone",Ie);var xe=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],q=o("users",xe);var Ce=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],b=o("wifi-off",Ce);var he=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]],v=o("wifi",he);var ge=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],U=o("x",ge);import{useCallback as ee,useEffect as Pe,useRef as ae,useState as O}from"react";var $="zhin_api_token",Se="zhin_api_base";function ke(){let a=localStorage.getItem(Se)?.trim();return a?a.replace(/\/$/,""):typeof window<"u"?window.location.origin:""}function we(){return localStorage.getItem($)}async function P(a,u){let r=we(),f=new Headers(u?.headers);r&&f.set("Authorization",`Bearer ${r}`);let p=ke(),s=typeof a=="string"&&a.startsWith("/")?`${p}${a}`:a,m=await fetch(s,{...u,headers:f});return m.status===401&&(localStorage.removeItem($),window.dispatchEvent(new CustomEvent("zhin:auth-required"))),m}import{jsx as t,jsxs as C}from"react/jsx-runtime";var Ae=2e3,Be=15e3,Me={qrcode:{icon:t(y,{className:"w-4 h-4"}),label:"\u626B\u7801\u767B\u5F55"},sms:{icon:t(F,{className:"w-4 h-4"}),label:"\u77ED\u4FE1\u9A8C\u8BC1\u7801"},device:{icon:t(T,{className:"w-4 h-4"}),label:"\u8BBE\u5907\u9A8C\u8BC1"},slider:{icon:t(D,{className:"w-4 h-4"}),label:"\u6ED1\u5757\u9A8C\u8BC1"}};function X(){let[a,u]=O([]),[r,f]=O(!0),[p,s]=O(null),[m,h]=O({}),[L,d]=O({}),n=ae(0),H=ae(),g=ee(async()=>{try{let e=await P("/api/login-assist/pending");if(!e.ok)throw new Error("\u83B7\u53D6\u5F85\u529E\u5931\u8D25");let S=await e.json(),I=(Array.isArray(S)?S:[]).filter(G=>G.adapter==="icqq");u(I),s(null),n.current=I.length>0?0:n.current+1}catch(e){s(e.message),n.current++}finally{f(!1)}},[]),A=ee(()=>{let e=Math.min(Ae*Math.pow(1.5,n.current),Be);H.current=setTimeout(async()=>{await g(),A()},e)},[g]);Pe(()=>(g().then(A),()=>clearTimeout(H.current)),[g,A]);let B=async(e,S)=>{h(c=>({...c,[e]:!0}));try{if(!(await P("/api/login-assist/submit",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,value:S})})).ok)throw new Error("\u63D0\u4EA4\u5931\u8D25");d(I=>{let G={...I};return delete G[e],G}),n.current=0,await g()}catch(c){s(c.message)}finally{h(c=>({...c,[e]:!1}))}},N=async e=>{try{(await P("/api/login-assist/cancel",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e})})).ok&&await g()}catch{}};return r&&a.length===0?t("div",{className:"flex justify-center py-12",children:t(x,{className:"w-6 h-6 animate-spin text-blue-500"})}):C("div",{className:"space-y-4",children:[t("p",{className:"text-sm text-muted-foreground",children:"\u626B\u7801\u3001\u77ED\u4FE1\u6216\u6ED1\u5757\u7B49\u9A8C\u8BC1\u4F1A\u51FA\u73B0\u5728\u4E0B\u65B9\uFF1B\u5237\u65B0\u9875\u9762\u540E\u4ECD\u53EF\u7EE7\u7EED\u5904\u7406\uFF08\u4EC5 ICQQ \u5F85\u529E\uFF09\u3002"}),p&&C("div",{className:"flex items-center gap-2 p-3 rounded border border-red-200 bg-red-50 text-red-600 text-sm dark:bg-red-900/20 dark:text-red-400 dark:border-red-800",children:[t(k,{className:"w-4 h-4 shrink-0"}),t("span",{children:p}),t("button",{onClick:()=>s(null),className:"ml-auto",children:t(U,{className:"w-3.5 h-3.5"})})]}),a.length===0?C("div",{className:"border rounded-lg bg-card p-12 text-center",children:[t(w,{className:"w-16 h-16 mx-auto mb-4 opacity-25"}),t("h3",{className:"text-lg font-semibold mb-1",children:"\u6682\u65E0\u5F85\u529E"}),t("p",{className:"text-sm text-muted-foreground",children:"\u673A\u5668\u4EBA\u9700\u8981\u9A8C\u8BC1\u65F6\uFF0C\u5F85\u529E\u5C06\u663E\u793A\u5728\u6B64\u5904"})]}):t("div",{className:"space-y-4",children:a.map(e=>{let S=Me[e.type]??{icon:t(w,{className:"w-4 h-4"}),label:e.type};return C("div",{className:"border rounded-lg bg-card p-4 shadow-sm",children:[C("div",{className:"flex items-start justify-between flex-wrap gap-2 mb-2",children:[C("div",{className:"flex items-center gap-2 font-semibold",children:[S.icon," ",S.label]}),C("div",{className:"flex gap-1 text-xs",children:[t("span",{className:"px-2 py-0.5 rounded border",children:e.adapter}),t("span",{className:"px-2 py-0.5 rounded bg-muted",children:e.endpointId})]})]}),e.payload?.message&&t("p",{className:"text-sm text-muted-foreground mb-3",children:e.payload.message}),e.type==="qrcode"&&e.payload?.image&&t("div",{className:"flex justify-center p-4 bg-muted/30 rounded-lg mb-3",children:t("img",{src:String(e.payload.image),alt:"\u767B\u5F55\u4E8C\u7EF4\u7801",className:"max-w-[200px] w-full h-auto"})}),e.type==="slider"&&e.payload?.url&&C("p",{className:"text-sm break-all mb-3",children:[t("span",{className:"text-muted-foreground",children:"\u6ED1\u5757\u94FE\u63A5\uFF1A"})," ",t("a",{href:String(e.payload.url),target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:String(e.payload.url)})]}),(e.type==="sms"||e.type==="device"||e.type==="slider")&&C("div",{className:"flex flex-wrap gap-2 items-center",children:[t("input",{className:"h-9 px-3 rounded-md border border-input bg-background text-sm max-w-[18rem] flex-1",placeholder:e.type==="slider"?"\u8F93\u5165 ticket":"\u8F93\u5165\u9A8C\u8BC1\u7801",value:L[e.id]??"",onChange:c=>d(I=>({...I,[e.id]:c.target.value})),onKeyDown:c=>{if(c.key==="Enter"){let I=L[e.id]?.trim();I&&B(e.id,e.type==="slider"?{ticket:I}:I)}}}),t("button",{className:"h-9 px-4 rounded-md bg-primary text-primary-foreground text-sm disabled:opacity-50",disabled:m[e.id]||!L[e.id]?.trim(),onClick:()=>{let c=L[e.id]?.trim();c&&B(e.id,e.type==="slider"?{ticket:c}:c)},children:m[e.id]?"\u63D0\u4EA4\u4E2D\u2026":"\u63D0\u4EA4"})]}),e.type==="qrcode"&&C("div",{className:"flex gap-2 mt-3",children:[t("button",{className:"h-9 px-4 rounded-md bg-primary text-primary-foreground text-sm disabled:opacity-50",disabled:!!m[e.id],onClick:()=>{B(e.id,{done:!0})},children:m[e.id]?"\u63D0\u4EA4\u4E2D\u2026":"\u6211\u5DF2\u626B\u7801"}),t("button",{className:"h-9 px-4 rounded-md border text-sm hover:bg-accent transition-colors",onClick:()=>{N(e.id)},children:"\u53D6\u6D88"})]})]},e.id)})})]})}import{Fragment as ye,jsx as l,jsxs as i}from"react/jsx-runtime";function K(){let[a,u]=V("overview"),[r,f]=V([]),[p,s]=V(!0),[m,h]=V(null),L=Fe(async()=>{s(!0),h(null);try{let d=await P("/api/icqq/endpoints"),n=await d.json();if(!d.ok||!n.success)throw new Error(n.message||"\u52A0\u8F7D\u5931\u8D25");f(Array.isArray(n.data)?n.data:[])}catch(d){h(d.message),f([])}finally{s(!1)}},[]);return De(()=>{a==="overview"&&L()},[a,L]),i("div",{className:"p-6 max-w-5xl mx-auto space-y-5",children:[i("div",{className:"flex items-center justify-between",children:[i("div",{children:[i("h1",{className:"text-2xl font-bold flex items-center gap-2",children:[l(Bot,{className:"w-6 h-6"})," ICQQ \u7BA1\u7406"]}),l("p",{className:"text-sm text-muted-foreground mt-1",children:"\u673A\u5668\u4EBA\u6982\u89C8\u4E0E\u767B\u5F55\u8F85\u52A9\uFF08\u626B\u7801 / \u9A8C\u8BC1\u7801 / \u6ED1\u5757\uFF09"})]}),a==="overview"&&i("button",{onClick:L,disabled:p,className:"flex items-center gap-1 px-3 py-1.5 rounded bg-blue-500 text-white hover:bg-blue-600 disabled:opacity-50 text-sm",children:[l(R,{className:`w-4 h-4 ${p?"animate-spin":""}`})," \u5237\u65B0"]})]}),i("div",{className:"flex gap-1 border-b",children:[l("button",{onClick:()=>u("overview"),className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${a==="overview"?"border-blue-500 text-blue-600":"border-transparent text-gray-500 hover:text-gray-700"}`,children:i("span",{className:"flex items-center gap-1.5",children:[l(Bot,{className:"w-4 h-4"})," \u6982\u89C8"]})}),l("button",{onClick:()=>u("login"),className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${a==="login"?"border-blue-500 text-blue-600":"border-transparent text-gray-500 hover:text-gray-700"}`,children:i("span",{className:"flex items-center gap-1.5",children:[l(w,{className:"w-4 h-4"})," \u767B\u5F55\u8F85\u52A9"]})})]}),a==="overview"&&i(ye,{children:[m&&l("div",{className:"p-3 bg-red-50 text-red-600 rounded border border-red-200 text-sm dark:bg-red-900/20 dark:text-red-400 dark:border-red-800",children:m}),p?l("div",{className:"flex justify-center py-12",children:l(x,{className:"w-6 h-6 animate-spin text-blue-500"})}):r.length===0?l("div",{className:"text-center text-muted-foreground py-12",children:"\u6682\u65E0 ICQQ Endpoint \u5B9E\u4F8B"}):l("div",{className:"grid gap-4 md:grid-cols-2",children:r.map(d=>i("div",{className:"border rounded-lg p-4 bg-card shadow-sm",children:[i("div",{className:"flex items-center justify-between mb-3",children:[l("span",{className:"font-medium text-lg",children:d.name}),d.connected?i("span",{className:"flex items-center gap-1 text-green-600 text-sm",children:[l(v,{className:"w-4 h-4"})," \u5728\u7EBF"]}):i("span",{className:"flex items-center gap-1 text-gray-400 text-sm",children:[l(b,{className:"w-4 h-4"})," \u79BB\u7EBF"]})]}),i("div",{className:"space-y-2 text-sm text-muted-foreground",children:[i("div",{className:"flex items-center gap-1.5",children:[l(q,{className:"w-3.5 h-3.5"}),"\u7FA4 ",d.groupCount," \xB7 \u597D\u53CB ",d.friendCount]}),i("div",{className:"flex items-center gap-1.5",children:[l(M,{className:"w-3.5 h-3.5"}),"\u767B\u5F55\u65B9\u5F0F ",d.loginMode," \xB7 ",d.status]})]})]},d.name))})]}),a==="login"&&l(X,{})]})}function et(a){a.addRoute({path:"/console/icqq",name:"ICQQ\u7BA1\u7406",element:a.React.createElement(K,{hostReact:a.React})}),a.addTool({id:"icqq",name:"ICQQ",path:"/console/icqq"})}export{et as register};
|
|
1
|
+
import{useCallback as ye,useEffect as Re,useState as N}from"react";import{forwardRef as re,createElement as fe}from"react";var W=(...a)=>a.filter((u,r,f)=>!!u&&u.trim()!==""&&f.indexOf(u)===r).join(" ").trim();var Q=a=>a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var J=a=>a.replace(/^([A-Z])|[\s-_]+(\w)/g,(u,r,f)=>f?f.toUpperCase():r.toLowerCase());var X=a=>{let u=J(a);return u.charAt(0).toUpperCase()+u.slice(1)};import{forwardRef as le,createElement as Y}from"react";var V={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 _=a=>{for(let u in a)if(u.startsWith("aria-")||u==="role"||u==="title")return!0;return!1};import{createContext as oe,useContext as ue,useMemo as We,createElement as Ve}from"react";var de=oe({});var j=()=>ue(de);var $=le(({color:a,size:u,strokeWidth:r,absoluteStrokeWidth:f,className:p="",children:s,iconNode:m,...h},L)=>{let{size:d=24,strokeWidth:n=2,absoluteStrokeWidth:G=!1,color:g="currentColor",className:M=""}=j()??{},B=f??G?Number(r??n)*24/Number(u??d):r??n;return Y("svg",{ref:L,...V,width:u??d??V.width,height:u??d??V.height,stroke:a??g,strokeWidth:B,className:W("lucide",M,p),...!s&&!_(h)&&{"aria-hidden":"true"},...h},[...m.map(([z,e])=>Y(z,e)),...Array.isArray(s)?s:[s]])});var t=(a,u)=>{let r=re(({className:f,...p},s)=>fe($,{ref:s,iconNode:u,className:W(`lucide-${Q(X(a))}`,`lucide-${a}`,f),...p}));return r.displayName=X(a),r};var se=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]],F=t("activity",se);var ie=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],P=t("bot",ie);var ce=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],k=t("circle-alert",ce);var ne=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],x=t("loader-circle",ne);var pe=[["path",{d:"m10 17 5-5-5-5",key:"1bsop3"}],["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}]],w=t("log-in",pe);var me=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]],D=t("message-square",me);var Le=[["path",{d:"M12.586 12.586 19 19",key:"ea5xo7"}],["path",{d:"M3.688 3.037a.497.497 0 0 0-.651.651l6.5 15.999a.501.501 0 0 0 .947-.062l1.569-6.083a2 2 0 0 1 1.448-1.479l6.124-1.579a.5.5 0 0 0 .063-.947z",key:"277e5u"}]],y=t("mouse-pointer",Le);var Ie=[["rect",{width:"5",height:"5",x:"3",y:"3",rx:"1",key:"1tu5fj"}],["rect",{width:"5",height:"5",x:"16",y:"3",rx:"1",key:"1v8r4q"}],["rect",{width:"5",height:"5",x:"3",y:"16",rx:"1",key:"1x03jg"}],["path",{d:"M21 16h-3a2 2 0 0 0-2 2v3",key:"177gqh"}],["path",{d:"M21 21v.01",key:"ents32"}],["path",{d:"M12 7v3a2 2 0 0 1-2 2H7",key:"8crl2c"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M12 3h.01",key:"n36tog"}],["path",{d:"M12 16v.01",key:"133mhm"}],["path",{d:"M16 12h1",key:"1slzba"}],["path",{d:"M21 12v.01",key:"1lwtk9"}],["path",{d:"M12 21v-1",key:"1880an"}]],R=t("qr-code",Ie);var xe=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],T=t("refresh-cw",xe);var Ce=[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]],q=t("smartphone",Ce);var he=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],b=t("users",he);var ge=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],v=t("wifi-off",ge);var Se=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]],U=t("wifi",Se);var ke=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],O=t("x",ke);import{useCallback as ae,useEffect as Me,useRef as te,useState as H}from"react";var ee="zhin_api_token",we="zhin_api_base";function Pe(){let a=localStorage.getItem(we)?.trim();return a?a.replace(/\/$/,""):typeof window<"u"?window.location.origin:""}function Ae(){return localStorage.getItem(ee)}async function A(a,u){let r=Ae(),f=new Headers(u?.headers);r&&f.set("Authorization",`Bearer ${r}`);let p=Pe(),s=typeof a=="string"&&a.startsWith("/")?`${p}${a}`:a,m=await fetch(s,{...u,headers:f});return m.status===401&&(localStorage.removeItem(ee),window.dispatchEvent(new CustomEvent("zhin:auth-required"))),m}import{jsx as o,jsxs as C}from"react/jsx-runtime";var Be=2e3,Fe=15e3,De={qrcode:{icon:o(R,{className:"w-4 h-4"}),label:"\u626B\u7801\u767B\u5F55"},sms:{icon:o(D,{className:"w-4 h-4"}),label:"\u77ED\u4FE1\u9A8C\u8BC1\u7801"},device:{icon:o(q,{className:"w-4 h-4"}),label:"\u8BBE\u5907\u9A8C\u8BC1"},slider:{icon:o(y,{className:"w-4 h-4"}),label:"\u6ED1\u5757\u9A8C\u8BC1"}};function K(){let[a,u]=H([]),[r,f]=H(!0),[p,s]=H(null),[m,h]=H({}),[L,d]=H({}),n=te(0),G=te(),g=ae(async()=>{try{let e=await A("/api/login-assist/pending");if(!e.ok)throw new Error("\u83B7\u53D6\u5F85\u529E\u5931\u8D25");let S=await e.json(),I=(Array.isArray(S)?S:[]).filter(E=>E.adapter==="icqq");u(I),s(null),n.current=I.length>0?0:n.current+1}catch(e){s(e.message),n.current++}finally{f(!1)}},[]),M=ae(()=>{let e=Math.min(Be*Math.pow(1.5,n.current),Fe);G.current=setTimeout(async()=>{await g(),M()},e)},[g]);Me(()=>(g().then(M),()=>clearTimeout(G.current)),[g,M]);let B=async(e,S)=>{h(c=>({...c,[e]:!0}));try{if(!(await A("/api/login-assist/submit",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,value:S})})).ok)throw new Error("\u63D0\u4EA4\u5931\u8D25");d(I=>{let E={...I};return delete E[e],E}),n.current=0,await g()}catch(c){s(c.message)}finally{h(c=>({...c,[e]:!1}))}},z=async e=>{try{(await A("/api/login-assist/cancel",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e})})).ok&&await g()}catch{}};return r&&a.length===0?o("div",{className:"flex justify-center py-12",children:o(x,{className:"w-6 h-6 animate-spin text-blue-500"})}):C("div",{className:"space-y-4",children:[o("p",{className:"text-sm text-muted-foreground",children:"\u626B\u7801\u3001\u77ED\u4FE1\u6216\u6ED1\u5757\u7B49\u9A8C\u8BC1\u4F1A\u51FA\u73B0\u5728\u4E0B\u65B9\uFF1B\u5237\u65B0\u9875\u9762\u540E\u4ECD\u53EF\u7EE7\u7EED\u5904\u7406\uFF08\u4EC5 ICQQ \u5F85\u529E\uFF09\u3002"}),p&&C("div",{className:"flex items-center gap-2 p-3 rounded border border-red-200 bg-red-50 text-red-600 text-sm dark:bg-red-900/20 dark:text-red-400 dark:border-red-800",children:[o(k,{className:"w-4 h-4 shrink-0"}),o("span",{children:p}),o("button",{onClick:()=>s(null),className:"ml-auto",children:o(O,{className:"w-3.5 h-3.5"})})]}),a.length===0?C("div",{className:"border rounded-lg bg-card p-12 text-center",children:[o(w,{className:"w-16 h-16 mx-auto mb-4 opacity-25"}),o("h3",{className:"text-lg font-semibold mb-1",children:"\u6682\u65E0\u5F85\u529E"}),o("p",{className:"text-sm text-muted-foreground",children:"\u673A\u5668\u4EBA\u9700\u8981\u9A8C\u8BC1\u65F6\uFF0C\u5F85\u529E\u5C06\u663E\u793A\u5728\u6B64\u5904"})]}):o("div",{className:"space-y-4",children:a.map(e=>{let S=De[e.type]??{icon:o(w,{className:"w-4 h-4"}),label:e.type};return C("div",{className:"border rounded-lg bg-card p-4 shadow-sm",children:[C("div",{className:"flex items-start justify-between flex-wrap gap-2 mb-2",children:[C("div",{className:"flex items-center gap-2 font-semibold",children:[S.icon," ",S.label]}),C("div",{className:"flex gap-1 text-xs",children:[o("span",{className:"px-2 py-0.5 rounded border",children:e.adapter}),o("span",{className:"px-2 py-0.5 rounded bg-muted",children:e.endpointId})]})]}),e.payload?.message&&o("p",{className:"text-sm text-muted-foreground mb-3",children:e.payload.message}),e.type==="qrcode"&&e.payload?.image&&o("div",{className:"flex justify-center p-4 bg-muted/30 rounded-lg mb-3",children:o("img",{src:String(e.payload.image),alt:"\u767B\u5F55\u4E8C\u7EF4\u7801",className:"max-w-[200px] w-full h-auto"})}),e.type==="slider"&&e.payload?.url&&C("p",{className:"text-sm break-all mb-3",children:[o("span",{className:"text-muted-foreground",children:"\u6ED1\u5757\u94FE\u63A5\uFF1A"})," ",o("a",{href:String(e.payload.url),target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:String(e.payload.url)})]}),(e.type==="sms"||e.type==="device"||e.type==="slider")&&C("div",{className:"flex flex-wrap gap-2 items-center",children:[o("input",{className:"h-9 px-3 rounded-md border border-input bg-background text-sm max-w-[18rem] flex-1",placeholder:e.type==="slider"?"\u8F93\u5165 ticket":"\u8F93\u5165\u9A8C\u8BC1\u7801",value:L[e.id]??"",onChange:c=>d(I=>({...I,[e.id]:c.target.value})),onKeyDown:c=>{if(c.key==="Enter"){let I=L[e.id]?.trim();I&&B(e.id,e.type==="slider"?{ticket:I}:I)}}}),o("button",{className:"h-9 px-4 rounded-md bg-primary text-primary-foreground text-sm disabled:opacity-50",disabled:m[e.id]||!L[e.id]?.trim(),onClick:()=>{let c=L[e.id]?.trim();c&&B(e.id,e.type==="slider"?{ticket:c}:c)},children:m[e.id]?"\u63D0\u4EA4\u4E2D\u2026":"\u63D0\u4EA4"})]}),e.type==="qrcode"&&C("div",{className:"flex gap-2 mt-3",children:[o("button",{className:"h-9 px-4 rounded-md bg-primary text-primary-foreground text-sm disabled:opacity-50",disabled:!!m[e.id],onClick:()=>{B(e.id,{done:!0})},children:m[e.id]?"\u63D0\u4EA4\u4E2D\u2026":"\u6211\u5DF2\u626B\u7801"}),o("button",{className:"h-9 px-4 rounded-md border text-sm hover:bg-accent transition-colors",onClick:()=>{z(e.id)},children:"\u53D6\u6D88"})]})]},e.id)})})]})}import{Fragment as Te,jsx as l,jsxs as i}from"react/jsx-runtime";function Z(){let[a,u]=N("overview"),[r,f]=N([]),[p,s]=N(!0),[m,h]=N(null),L=ye(async()=>{s(!0),h(null);try{let d=await A("/api/icqq/endpoints"),n=await d.json();if(!d.ok||!n.success)throw new Error(n.message||"\u52A0\u8F7D\u5931\u8D25");f(Array.isArray(n.data)?n.data:[])}catch(d){h(d.message),f([])}finally{s(!1)}},[]);return Re(()=>{a==="overview"&&L()},[a,L]),i("div",{className:"p-6 max-w-5xl mx-auto space-y-5",children:[i("div",{className:"flex items-center justify-between",children:[i("div",{children:[i("h1",{className:"text-2xl font-bold flex items-center gap-2",children:[l(P,{className:"w-6 h-6"})," ICQQ \u7BA1\u7406"]}),l("p",{className:"text-sm text-muted-foreground mt-1",children:"\u673A\u5668\u4EBA\u6982\u89C8\u4E0E\u767B\u5F55\u8F85\u52A9\uFF08\u626B\u7801 / \u9A8C\u8BC1\u7801 / \u6ED1\u5757\uFF09"})]}),a==="overview"&&i("button",{onClick:L,disabled:p,className:"flex items-center gap-1 px-3 py-1.5 rounded bg-blue-500 text-white hover:bg-blue-600 disabled:opacity-50 text-sm",children:[l(T,{className:`w-4 h-4 ${p?"animate-spin":""}`})," \u5237\u65B0"]})]}),i("div",{className:"flex gap-1 border-b",children:[l("button",{onClick:()=>u("overview"),className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${a==="overview"?"border-blue-500 text-blue-600":"border-transparent text-gray-500 hover:text-gray-700"}`,children:i("span",{className:"flex items-center gap-1.5",children:[l(P,{className:"w-4 h-4"})," \u6982\u89C8"]})}),l("button",{onClick:()=>u("login"),className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${a==="login"?"border-blue-500 text-blue-600":"border-transparent text-gray-500 hover:text-gray-700"}`,children:i("span",{className:"flex items-center gap-1.5",children:[l(w,{className:"w-4 h-4"})," \u767B\u5F55\u8F85\u52A9"]})})]}),a==="overview"&&i(Te,{children:[m&&l("div",{className:"p-3 bg-red-50 text-red-600 rounded border border-red-200 text-sm dark:bg-red-900/20 dark:text-red-400 dark:border-red-800",children:m}),p?l("div",{className:"flex justify-center py-12",children:l(x,{className:"w-6 h-6 animate-spin text-blue-500"})}):r.length===0?l("div",{className:"text-center text-muted-foreground py-12",children:"\u6682\u65E0 ICQQ Endpoint \u5B9E\u4F8B"}):l("div",{className:"grid gap-4 md:grid-cols-2",children:r.map(d=>i("div",{className:"border rounded-lg p-4 bg-card shadow-sm",children:[i("div",{className:"flex items-center justify-between mb-3",children:[l("span",{className:"font-medium text-lg",children:d.name}),d.connected?i("span",{className:"flex items-center gap-1 text-green-600 text-sm",children:[l(U,{className:"w-4 h-4"})," \u5728\u7EBF"]}):i("span",{className:"flex items-center gap-1 text-gray-400 text-sm",children:[l(v,{className:"w-4 h-4"})," \u79BB\u7EBF"]})]}),i("div",{className:"space-y-2 text-sm text-muted-foreground",children:[i("div",{className:"flex items-center gap-1.5",children:[l(b,{className:"w-3.5 h-3.5"}),"\u7FA4 ",d.groupCount," \xB7 \u597D\u53CB ",d.friendCount]}),i("div",{className:"flex items-center gap-1.5",children:[l(F,{className:"w-3.5 h-3.5"}),"\u767B\u5F55\u65B9\u5F0F ",d.loginMode," \xB7 ",d.status]})]})]},d.name))})]}),a==="login"&&l(K,{})]})}function dt(a){a.addRoute({path:"/console/icqq",name:"ICQQ\u7BA1\u7406",element:a.React.createElement(Z,{hostReact:a.React})}),a.addTool({id:"icqq",name:"ICQQ",path:"/console/icqq"})}export{dt as register};
|
|
2
2
|
/*! Bundled license information:
|
|
3
3
|
|
|
4
4
|
lucide-react/dist/esm/shared/src/utils/mergeClasses.mjs:
|
|
@@ -11,6 +11,7 @@ lucide-react/dist/esm/context.mjs:
|
|
|
11
11
|
lucide-react/dist/esm/Icon.mjs:
|
|
12
12
|
lucide-react/dist/esm/createLucideIcon.mjs:
|
|
13
13
|
lucide-react/dist/esm/icons/activity.mjs:
|
|
14
|
+
lucide-react/dist/esm/icons/bot.mjs:
|
|
14
15
|
lucide-react/dist/esm/icons/circle-alert.mjs:
|
|
15
16
|
lucide-react/dist/esm/icons/loader-circle.mjs:
|
|
16
17
|
lucide-react/dist/esm/icons/log-in.mjs:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-prompt.d.ts","sourceRoot":"","sources":["../src/agent-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,sBAAsB,
|
|
1
|
+
{"version":3,"file":"agent-prompt.d.ts","sourceRoot":"","sources":["../src/agent-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,sBAAsB,EAGvB,MAAM,SAAS,CAAC;AAwEjB,wBAAgB,gCAAgC,IAAI,sBAAsB,CAsCzE"}
|
package/lib/agent-prompt.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { filterTools } from 'zhin.js';
|
|
1
|
+
import { filterTools } from 'zhin.js/ai';
|
|
2
2
|
function isIcqqDelegatedTask(query, goal) {
|
|
3
3
|
const text = `${query} ${goal}`;
|
|
4
4
|
const lower = text.toLowerCase();
|
|
@@ -40,6 +40,7 @@ function selectIcqqDeferredTools(query, goal, deferredCatalog, maxTools) {
|
|
|
40
40
|
pinned.push(t);
|
|
41
41
|
}
|
|
42
42
|
const extra = filterTools(query, pool, { maxTools, minScore: 0.08 })
|
|
43
|
+
.map((t) => ({ name: t.name, description: t.description }))
|
|
43
44
|
.filter(t => !pinned.some(p => p.name === t.name));
|
|
44
45
|
const merged = [...pinned];
|
|
45
46
|
for (const t of extra) {
|
package/lib/agent-prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-prompt.js","sourceRoot":"","sources":["../src/agent-prompt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent-prompt.js","sourceRoot":"","sources":["../src/agent-prompt.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAI3C,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,MAAM,CAAC;QACf,UAAU,QAAQ;YAChB,GAAG,EAAE,WAAW,CAAC;YACjB,MAAM,EAAE,MAAM,CAAC;SAChB;KACF;IACD,UAAU,QAAQ;QAChB,IAAI,EAAE,WAAW,CAAC;KACnB;CACF;AAED,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EAChC,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,yBAAyB,GAC/B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* ICQQ 适配器入口:类型扩展、导出、注册
|
|
3
3
|
*/
|
|
4
4
|
import path from "path";
|
|
5
|
-
import { usePlugin,
|
|
5
|
+
import { usePlugin, } from "zhin.js";
|
|
6
|
+
import { registerAgentPromptContributor, unregisterAgentPromptContributor } from "zhin.js/agent";
|
|
6
7
|
import { createIcqqAgentPromptContributor } from "./agent-prompt.js";
|
|
7
8
|
import { IcqqAdapter } from "./adapter.js";
|
|
8
9
|
import { registerTools } from "./tools/index.js";
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACL,SAAS,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACL,SAAS,GAGV,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,8BAA8B,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAC;AACjG,OAAO,EAAE,gCAAgC,EAAE,MAAM,mBAAmB,CAAC;AAGrE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAc7C,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EAChC,wBAAwB,EACxB,qBAAqB,GAEtB,MAAM,uBAAuB,CAAC;AAG/B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAC3B,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;AAEzD,iEAAiE;AACjE,OAAO,CAAC;IACN,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,cAAc;IAC3B,OAAO,EAAE,KAAK,EAAE,CAAS,EAAE,EAAE;QAC3B,8BAA8B,CAAC,gCAAgC,EAAE,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAoB,EAAE,EAAE;QACtC,gCAAgC,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;CACK,CAAC,CAAC;AAEV,kEAAkE;AAClE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,WAAwB,EAAE,IAAiB,EAAE,EAAE;IACzE,OAAO,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC;AAEH,iEAAiE;AACjE,UAAU,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,EAAE;IAChC,WAAW,CAAC,QAAQ,CAAC;QACnB,EAAE,EAAE,MAAM;QACV,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC;QACrE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC;QACjE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;KACvB,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,oEAAoE;AACpE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAc,EAAE,IAAiB,EAAE,EAAE;IACvE,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhin.js/adapter-icqq",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.2",
|
|
4
4
|
"description": "Zhin.js adapter for ICQQ (QQ Bot)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -46,28 +46,28 @@
|
|
|
46
46
|
"dependencies": {},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@radix-ui/themes": "^3.2.1",
|
|
49
|
-
"@types/react": "^19.2.
|
|
49
|
+
"@types/react": "^19.2.17",
|
|
50
50
|
"@types/react-dom": "^19.2.3",
|
|
51
51
|
"lucide-react": "^1.17.0",
|
|
52
52
|
"radix-ui": "^1.5.0",
|
|
53
53
|
"typescript": "^6.0.3",
|
|
54
|
-
"@zhin.js/agent": "0.3.
|
|
55
|
-
"@zhin.js/cli": "1.0.
|
|
54
|
+
"@zhin.js/agent": "0.3.1",
|
|
55
|
+
"@zhin.js/cli": "1.0.90",
|
|
56
56
|
"@zhin.js/client": "2.0.3",
|
|
57
57
|
"@zhin.js/contract": "1.0.1",
|
|
58
|
-
"@zhin.js/core": "1.3.
|
|
59
|
-
"@zhin.js/host-api": "2.0.
|
|
58
|
+
"@zhin.js/core": "1.3.1",
|
|
59
|
+
"@zhin.js/host-api": "2.0.2",
|
|
60
60
|
"@zhin.js/host-router": "2.0.0",
|
|
61
|
-
"zhin.js": "
|
|
61
|
+
"zhin.js": "4.0.1"
|
|
62
62
|
},
|
|
63
63
|
"peerDependencies": {
|
|
64
|
-
"@zhin.js/agent": "0.3.
|
|
64
|
+
"@zhin.js/agent": "0.3.1",
|
|
65
65
|
"@zhin.js/client": "2.0.3",
|
|
66
|
-
"@zhin.js/host-api": "2.0.
|
|
66
|
+
"@zhin.js/host-api": "2.0.2",
|
|
67
67
|
"@zhin.js/contract": "1.0.1",
|
|
68
|
-
"@zhin.js/core": "1.3.
|
|
68
|
+
"@zhin.js/core": "1.3.1",
|
|
69
69
|
"@zhin.js/host-router": "2.0.0",
|
|
70
|
-
"zhin.js": "
|
|
70
|
+
"zhin.js": "4.0.1"
|
|
71
71
|
},
|
|
72
72
|
"peerDependenciesMeta": {
|
|
73
73
|
"@zhin.js/agent": {
|
|
@@ -87,6 +87,9 @@
|
|
|
87
87
|
"access": "public",
|
|
88
88
|
"registry": "https://registry.npmjs.org"
|
|
89
89
|
},
|
|
90
|
+
"engines": {
|
|
91
|
+
"node": "^20.19.0 || >=22.12.0"
|
|
92
|
+
},
|
|
90
93
|
"scripts": {
|
|
91
94
|
"build": "zhin build",
|
|
92
95
|
"clean": "rimraf lib"
|
package/src/agent-prompt.ts
CHANGED
|
@@ -2,9 +2,10 @@ import type {
|
|
|
2
2
|
AgentPromptBuildContext,
|
|
3
3
|
AgentPromptContributor,
|
|
4
4
|
AgentPromptSection,
|
|
5
|
+
DeferredToolCatalogItem,
|
|
5
6
|
} from 'zhin.js';
|
|
6
|
-
import type { AgentTool } from 'zhin.js';
|
|
7
|
-
import { filterTools } from 'zhin.js';
|
|
7
|
+
import type { AgentTool } from 'zhin.js/ai';
|
|
8
|
+
import { filterTools } from 'zhin.js/ai';
|
|
8
9
|
|
|
9
10
|
function isIcqqDelegatedTask(query: string, goal: string): boolean {
|
|
10
11
|
const text = `${query} ${goal}`;
|
|
@@ -19,15 +20,15 @@ function isIcqqDelegatedTask(query: string, goal: string): boolean {
|
|
|
19
20
|
function selectIcqqDeferredTools(
|
|
20
21
|
query: string,
|
|
21
22
|
goal: string,
|
|
22
|
-
deferredCatalog:
|
|
23
|
+
deferredCatalog: DeferredToolCatalogItem[],
|
|
23
24
|
maxTools: number,
|
|
24
|
-
):
|
|
25
|
+
): DeferredToolCatalogItem[] {
|
|
25
26
|
const pool = deferredCatalog.filter(
|
|
26
27
|
t => !t.name.startsWith('mcp_filesystem') && !t.name.startsWith('mcp_memory_'),
|
|
27
28
|
);
|
|
28
29
|
const icqqMcpTools = pool.filter(t => t.name.startsWith('mcp_icqq_'));
|
|
29
30
|
const icqqTools = pool.filter(t => t.name.startsWith('icqq_'));
|
|
30
|
-
const pinned:
|
|
31
|
+
const pinned: DeferredToolCatalogItem[] = [];
|
|
31
32
|
const bash = pool.find(t => t.name === 'bash');
|
|
32
33
|
if (bash) pinned.push(bash);
|
|
33
34
|
const preferOrder = [
|
|
@@ -48,10 +49,11 @@ function selectIcqqDeferredTools(
|
|
|
48
49
|
if (!pinned.some(p => p.name === t.name)) pinned.push(t);
|
|
49
50
|
}
|
|
50
51
|
|
|
51
|
-
const extra = filterTools(query, pool, { maxTools, minScore: 0.08 })
|
|
52
|
+
const extra = filterTools(query, pool as AgentTool[], { maxTools, minScore: 0.08 })
|
|
53
|
+
.map((t) => ({ name: t.name, description: t.description }))
|
|
52
54
|
.filter(t => !pinned.some(p => p.name === t.name));
|
|
53
55
|
|
|
54
|
-
const merged:
|
|
56
|
+
const merged: DeferredToolCatalogItem[] = [...pinned];
|
|
55
57
|
for (const t of extra) {
|
|
56
58
|
if (merged.length >= maxTools) break;
|
|
57
59
|
merged.push(t);
|
package/src/index.ts
CHANGED
|
@@ -6,9 +6,8 @@ import {
|
|
|
6
6
|
usePlugin,
|
|
7
7
|
type Plugin,
|
|
8
8
|
type ToolFeature,
|
|
9
|
-
registerAgentPromptContributor,
|
|
10
|
-
unregisterAgentPromptContributor,
|
|
11
9
|
} from "zhin.js";
|
|
10
|
+
import { registerAgentPromptContributor, unregisterAgentPromptContributor } from "zhin.js/agent";
|
|
12
11
|
import { createIcqqAgentPromptContributor } from "./agent-prompt.js";
|
|
13
12
|
import type { Router } from "@zhin.js/host-router";
|
|
14
13
|
import { PageManager } from "@zhin.js/host-api";
|