@zhin.js/adapter-icqq 6.0.0 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +2 -2
  3. package/dist/index.js +2 -2
  4. package/lib/adapter.d.ts +11 -4
  5. package/lib/adapter.d.ts.map +1 -1
  6. package/lib/adapter.js +13 -6
  7. package/lib/adapter.js.map +1 -1
  8. package/lib/cq-message.d.ts.map +1 -1
  9. package/lib/cq-message.js +12 -3
  10. package/lib/cq-message.js.map +1 -1
  11. package/lib/endpoint.d.ts +12 -8
  12. package/lib/endpoint.d.ts.map +1 -1
  13. package/lib/endpoint.js +110 -44
  14. package/lib/endpoint.js.map +1 -1
  15. package/lib/icqq-guild.d.ts +48 -0
  16. package/lib/icqq-guild.d.ts.map +1 -0
  17. package/lib/icqq-guild.js +115 -0
  18. package/lib/icqq-guild.js.map +1 -0
  19. package/lib/icqq-inbound.d.ts.map +1 -1
  20. package/lib/icqq-inbound.js +15 -5
  21. package/lib/icqq-inbound.js.map +1 -1
  22. package/lib/index.d.ts +0 -2
  23. package/lib/index.d.ts.map +1 -1
  24. package/lib/index.js +0 -1
  25. package/lib/index.js.map +1 -1
  26. package/lib/segment-mapper.d.ts +2 -0
  27. package/lib/segment-mapper.d.ts.map +1 -0
  28. package/lib/segment-mapper.js +2 -0
  29. package/lib/segment-mapper.js.map +1 -0
  30. package/lib/tools/index.d.ts +1 -1
  31. package/lib/tools/index.js +8 -8
  32. package/lib/types.d.ts +0 -44
  33. package/lib/types.d.ts.map +1 -1
  34. package/package.json +18 -18
  35. package/skills/icqq/PERMITS.md +6 -6
  36. package/src/adapter.ts +13 -6
  37. package/src/cq-message.ts +11 -3
  38. package/src/endpoint.ts +139 -51
  39. package/src/icqq-guild.ts +157 -0
  40. package/src/icqq-inbound.ts +16 -5
  41. package/src/index.ts +0 -8
  42. package/src/segment-mapper.ts +1 -0
  43. package/src/tools/index.ts +9 -9
  44. package/src/types.ts +0 -45
  45. package/lib/typing-indicator-example.d.ts +0 -108
  46. package/lib/typing-indicator-example.d.ts.map +0 -1
  47. package/lib/typing-indicator-example.js +0 -220
  48. package/lib/typing-indicator-example.js.map +0 -1
  49. package/lib/typing-indicator.d.ts +0 -87
  50. package/lib/typing-indicator.d.ts.map +0 -1
  51. package/lib/typing-indicator.js +0 -229
  52. package/lib/typing-indicator.js.map +0 -1
  53. package/src/typing-indicator-example.ts +0 -269
  54. package/src/typing-indicator.ts +0 -317
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @zhin.js/adapter-icqq
2
2
 
3
+ ## 6.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 5cc9c03: fix: ai 优化
8
+ - b9b3881: fix: 增加游戏引擎以及部分游戏
9
+ - Updated dependencies [5b08052]
10
+ - Updated dependencies [5cc9c03]
11
+ - Updated dependencies [36d6db2]
12
+ - Updated dependencies [b9b3881]
13
+ - Updated dependencies [7700903]
14
+ - @zhin.js/agent@1.0.2
15
+ - @zhin.js/core@1.3.3
16
+ - @zhin.js/client@2.0.4
17
+ - @zhin.js/contract@1.0.2
18
+ - @zhin.js/host-api@2.0.4
19
+ - @zhin.js/host-router@2.0.2
20
+ - zhin.js@4.1.1
21
+
3
22
  ## 6.0.0
4
23
 
5
24
  ### Patch Changes
package/README.md CHANGED
@@ -261,11 +261,11 @@ const memberInfo = endpoint.getGroupMemberInfo(groupId, userId)
261
261
 
262
262
  ## 🔧 群管理工具(AI 可调用)
263
263
 
264
- 适配器通过覆写 `IGroupManagement` 标准方法自动注册群管理工具,同时保留平台特有工具,这些工具可以被 AI 调用,实现智能化的群管理。
264
+ 适配器通过覆写 `ISceneManagement` 标准方法自动注册群管理工具,同时保留平台特有工具,这些工具可以被 AI 调用,实现智能化的群管理。
265
265
 
266
266
  ### 标准群管工具(自动生成)
267
267
 
268
- 通过覆写 `IGroupManagement` 方法,`start()` 时自动检测并生成对应 Tool:
268
+ 通过覆写 `ISceneManagement` 方法,`start()` 时自动检测并生成对应 Tool:
269
269
 
270
270
  | 工具 | 覆写方法 | 所需权限 | 说明 |
271
271
  |------|---------|----------|------|
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import{useCallback as De,useEffect as Re,useState as z}from"react";import{forwardRef as re,createElement as fe}from"react";var N=(...a)=>a.filter((u,f,s)=>!!u&&u.trim()!==""&&s.indexOf(u)===f).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,f,s)=>s?s.toUpperCase():f.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 Ee,createElement as Ne}from"react";var de=oe({});var j=()=>ue(de);var $=le(({color:a,size:u,strokeWidth:f,absoluteStrokeWidth:s,className:L="",children:i,iconNode:n,...h},x)=>{let{size:l=24,strokeWidth:m=2,absoluteStrokeWidth:G=!1,color:g="currentColor",className:F=""}=j()??{},P=s??G?Number(f??m)*24/Number(u??l):f??m;return Y("svg",{ref:x,...V,width:u??l??V.width,height:u??l??V.height,stroke:a??g,strokeWidth:P,className:N("lucide",F,L),...!i&&!_(h)&&{"aria-hidden":"true"},...h},[...n.map(([W,e])=>Y(W,e)),...Array.isArray(i)?i:[i]])});var o=(a,u)=>{let f=re(({className:s,...L},i)=>fe($,{ref:i,iconNode:u,className:N(`lucide-${Q(X(a))}`,`lucide-${a}`,s),...L}));return f.displayName=X(a),f};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"}]],y=o("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"}]],A=o("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=o("circle-alert",ce);var ne=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],C=o("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=o("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=o("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"}]],R=o("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"}]],b=o("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=o("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"}]],B=o("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"}]],q=o("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=o("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=o("wifi",Se);var ke=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],O=o("x",ke);import{useCallback as ae,useEffect as Be,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 M(a,u){let f=Ae(),s=new Headers(u?.headers);f&&s.set("Authorization",`Bearer ${f}`);let L=Pe(),i=typeof a=="string"&&a.startsWith("/")?`${L}${a}`:a,n=await fetch(i,{...u,headers:s});return n.status===401&&(localStorage.removeItem(ee),window.dispatchEvent(new CustomEvent("zhin:auth-required"))),n}import{jsx as t,jsxs as p}from"react/jsx-runtime";var Me=2e3,Fe=15e3,ye={qrcode:{icon:t(b,{className:"w-4 h-4"}),label:"\u626B\u7801\u767B\u5F55"},sms:{icon:t(D,{className:"w-4 h-4"}),label:"\u77ED\u4FE1\u9A8C\u8BC1\u7801"},device:{icon:t(B,{className:"w-4 h-4"}),label:"\u8BBE\u5907\u9A8C\u8BC1"},auth:{icon:t(B,{className:"w-4 h-4"}),label:"\u8EAB\u4EFD\u9A8C\u8BC1"},slider:{icon:t(R,{className:"w-4 h-4"}),label:"\u6ED1\u5757\u9A8C\u8BC1"}};function K(){let[a,u]=H([]),[f,s]=H(!0),[L,i]=H(null),[n,h]=H({}),[x,l]=H({}),m=te(0),G=te(),g=ae(async()=>{try{let e=await M("/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),i(null),m.current=I.length>0?0:m.current+1}catch(e){i(e.message),m.current++}finally{s(!1)}},[]),F=ae(()=>{let e=Math.min(Me*Math.pow(1.5,m.current),Fe);G.current=setTimeout(async()=>{await g(),F()},e)},[g]);Be(()=>(g().then(F),()=>clearTimeout(G.current)),[g,F]);let P=async(e,S)=>{h(d=>({...d,[e]:!0}));try{if(!(await M("/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");l(I=>{let E={...I};return delete E[e],E}),m.current=0,await g()}catch(d){i(d.message)}finally{h(d=>({...d,[e]:!1}))}},W=async e=>{try{(await M("/api/login-assist/cancel",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e})})).ok&&await g()}catch{}};return f&&a.length===0?t("div",{className:"flex justify-center py-12",children:t(C,{className:"w-6 h-6 animate-spin text-blue-500"})}):p("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"}),L&&p("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:L}),t("button",{onClick:()=>i(null),className:"ml-auto",children:t(O,{className:"w-3.5 h-3.5"})})]}),a.length===0?p("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=ye[e.type]??{icon:t(w,{className:"w-4 h-4"}),label:e.type};return p("div",{className:"border rounded-lg bg-card p-4 shadow-sm",children:[p("div",{className:"flex items-start justify-between flex-wrap gap-2 mb-2",children:[p("div",{className:"flex items-center gap-2 font-semibold",children:[S.icon," ",S.label]}),p("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.type==="auth")&&e.payload?.url&&p("p",{className:"text-sm break-all mb-3",children:[t("span",{className:"text-muted-foreground",children:"\u9A8C\u8BC1\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==="auth"&&e.payload?.device&&typeof e.payload.device=="object"&&p("div",{className:"text-xs text-muted-foreground mb-3 space-y-1 rounded border p-3 bg-muted/20",children:[t("div",{className:"font-medium text-foreground",children:"\u8BBE\u5907\u4FE1\u606F\uFF08\u767B\u5F55\u7EED\u4F20\u7528\uFF09"}),Object.entries(e.payload.device).filter(([,d])=>d!=null&&String(d)!=="").map(([d,I])=>p("div",{children:[p("span",{className:"opacity-70",children:[d,": "]}),t("span",{className:"font-mono break-all",children:String(I)})]},d))]}),e.type==="auth"&&p("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:!!n[e.id],onClick:()=>{P(e.id,{done:!0})},children:n[e.id]?"\u63D0\u4EA4\u4E2D\u2026":"\u6211\u5DF2\u5B8C\u6210\u9A8C\u8BC1"}),t("button",{className:"h-9 px-4 rounded-md border text-sm hover:bg-accent transition-colors",onClick:()=>{W(e.id)},children:"\u53D6\u6D88"})]}),(e.type==="sms"||e.type==="device"||e.type==="slider")&&p("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:x[e.id]??"",onChange:d=>l(I=>({...I,[e.id]:d.target.value})),onKeyDown:d=>{if(d.key==="Enter"){let I=x[e.id]?.trim();I&&P(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:n[e.id]||!x[e.id]?.trim(),onClick:()=>{let d=x[e.id]?.trim();d&&P(e.id,e.type==="slider"?{ticket:d}:d)},children:n[e.id]?"\u63D0\u4EA4\u4E2D\u2026":"\u63D0\u4EA4"})]}),e.type==="qrcode"&&p("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:!!n[e.id],onClick:()=>{P(e.id,{done:!0})},children:n[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:()=>{W(e.id)},children:"\u53D6\u6D88"})]})]},e.id)})})]})}import{Fragment as be,jsx as r,jsxs as c}from"react/jsx-runtime";function Z(){let[a,u]=z("overview"),[f,s]=z([]),[L,i]=z(!0),[n,h]=z(null),x=De(async()=>{i(!0),h(null);try{let l=await M("/api/icqq/endpoints"),m=await l.json();if(!l.ok||!m.success)throw new Error(m.message||"\u52A0\u8F7D\u5931\u8D25");s(Array.isArray(m.data)?m.data:[])}catch(l){h(l.message),s([])}finally{i(!1)}},[]);return Re(()=>{a==="overview"&&x()},[a,x]),c("div",{className:"p-6 max-w-5xl mx-auto space-y-5",children:[c("div",{className:"flex items-center justify-between",children:[c("div",{children:[c("h1",{className:"text-2xl font-bold flex items-center gap-2",children:[r(A,{className:"w-6 h-6"})," ICQQ \u7BA1\u7406"]}),r("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"&&c("button",{onClick:x,disabled:L,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:[r(T,{className:`w-4 h-4 ${L?"animate-spin":""}`})," \u5237\u65B0"]})]}),c("div",{className:"flex gap-1 border-b",children:[r("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:c("span",{className:"flex items-center gap-1.5",children:[r(A,{className:"w-4 h-4"})," \u6982\u89C8"]})}),r("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:c("span",{className:"flex items-center gap-1.5",children:[r(w,{className:"w-4 h-4"})," \u767B\u5F55\u8F85\u52A9"]})})]}),a==="overview"&&c(be,{children:[n&&r("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:n}),L?r("div",{className:"flex justify-center py-12",children:r(C,{className:"w-6 h-6 animate-spin text-blue-500"})}):f.length===0?r("div",{className:"text-center text-muted-foreground py-12",children:"\u6682\u65E0 ICQQ Endpoint \u5B9E\u4F8B"}):r("div",{className:"grid gap-4 md:grid-cols-2",children:f.map(l=>c("div",{className:"border rounded-lg p-4 bg-card shadow-sm",children:[c("div",{className:"flex items-center justify-between mb-3",children:[r("span",{className:"font-medium text-lg",children:l.name}),l.connected?c("span",{className:"flex items-center gap-1 text-green-600 text-sm",children:[r(U,{className:"w-4 h-4"})," \u5728\u7EBF"]}):c("span",{className:"flex items-center gap-1 text-gray-400 text-sm",children:[r(v,{className:"w-4 h-4"})," \u79BB\u7EBF"]})]}),c("div",{className:"space-y-2 text-sm text-muted-foreground",children:[c("div",{className:"flex items-center gap-1.5",children:[r(q,{className:"w-3.5 h-3.5"}),"\u7FA4 ",l.groupCount," \xB7 \u597D\u53CB ",l.friendCount]}),c("div",{className:"flex items-center gap-1.5",children:[r(y,{className:"w-3.5 h-3.5"}),"\u767B\u5F55\u65B9\u5F0F ",l.loginMode," \xB7 ",l.status]})]})]},l.name))})]}),a==="login"&&r(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};
1
+ import{useCallback as ye,useEffect as Re,useState as z}from"react";import{forwardRef as re,createElement as fe}from"react";var N=(...a)=>a.filter((u,f,s)=>!!u&&u.trim()!==""&&s.indexOf(u)===f).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,f,s)=>s?s.toUpperCase():f.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 Ee,createElement as Ne}from"react";var de=oe({});var j=()=>ue(de);var $=le(({color:a,size:u,strokeWidth:f,absoluteStrokeWidth:s,className:L="",children:i,iconNode:n,...h},x)=>{let{size:l=24,strokeWidth:m=2,absoluteStrokeWidth:G=!1,color:g="currentColor",className:D=""}=j()??{},P=s??G?Number(f??m)*24/Number(u??l):f??m;return Y("svg",{ref:x,...V,width:u??l??V.width,height:u??l??V.height,stroke:a??g,strokeWidth:P,className:N("lucide",D,L),...!i&&!_(h)&&{"aria-hidden":"true"},...h},[...n.map(([W,e])=>Y(W,e)),...Array.isArray(i)?i:[i]])});var o=(a,u)=>{let f=re(({className:s,...L},i)=>fe($,{ref:i,iconNode:u,className:N(`lucide-${Q(X(a))}`,`lucide-${a}`,s),...L}));return f.displayName=X(a),f};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=o("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"}]],A=o("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=o("circle-alert",ce);var ne=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],C=o("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=o("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"}]],y=o("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"}]],R=o("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"}]],b=o("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=o("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"}]],B=o("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"}]],q=o("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=o("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=o("wifi",Se);var ke=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],O=o("x",ke);import{useCallback as ae,useEffect as Be,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 M(a,u){let f=Ae(),s=new Headers(u?.headers);f&&s.set("Authorization",`Bearer ${f}`);let L=Pe(),i=typeof a=="string"&&a.startsWith("/")?`${L}${a}`:a,n=await fetch(i,{...u,headers:s});return n.status===401&&(localStorage.removeItem(ee),window.dispatchEvent(new CustomEvent("zhin:auth-required"))),n}import{jsx as t,jsxs as p}from"react/jsx-runtime";var Me=2e3,De=15e3,Fe={qrcode:{icon:t(b,{className:"w-4 h-4"}),label:"\u626B\u7801\u767B\u5F55"},sms:{icon:t(y,{className:"w-4 h-4"}),label:"\u77ED\u4FE1\u9A8C\u8BC1\u7801"},device:{icon:t(B,{className:"w-4 h-4"}),label:"\u8BBE\u5907\u9A8C\u8BC1"},auth:{icon:t(B,{className:"w-4 h-4"}),label:"\u8EAB\u4EFD\u9A8C\u8BC1"},slider:{icon:t(R,{className:"w-4 h-4"}),label:"\u6ED1\u5757\u9A8C\u8BC1"}};function K(){let[a,u]=H([]),[f,s]=H(!0),[L,i]=H(null),[n,h]=H({}),[x,l]=H({}),m=te(0),G=te(),g=ae(async()=>{try{let e=await M("/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),i(null),m.current=I.length>0?0:m.current+1}catch(e){i(e.message),m.current++}finally{s(!1)}},[]),D=ae(()=>{let e=Math.min(Me*Math.pow(1.5,m.current),De);G.current=setTimeout(async()=>{await g(),D()},e)},[g]);Be(()=>(g().then(D),()=>clearTimeout(G.current)),[g,D]);let P=async(e,S)=>{h(d=>({...d,[e]:!0}));try{if(!(await M("/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");l(I=>{let E={...I};return delete E[e],E}),m.current=0,await g()}catch(d){i(d.message)}finally{h(d=>({...d,[e]:!1}))}},W=async e=>{try{(await M("/api/login-assist/cancel",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e})})).ok&&await g()}catch{}};return f&&a.length===0?t("div",{className:"flex justify-center py-12",children:t(C,{className:"w-6 h-6 animate-spin text-blue-500"})}):p("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"}),L&&p("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:L}),t("button",{onClick:()=>i(null),className:"ml-auto",children:t(O,{className:"w-3.5 h-3.5"})})]}),a.length===0?p("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=Fe[e.type]??{icon:t(w,{className:"w-4 h-4"}),label:e.type};return p("div",{className:"border rounded-lg bg-card p-4 shadow-sm",children:[p("div",{className:"flex items-start justify-between flex-wrap gap-2 mb-2",children:[p("div",{className:"flex items-center gap-2 font-semibold",children:[S.icon," ",S.label]}),p("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.type==="auth")&&e.payload?.url&&p("p",{className:"text-sm break-all mb-3",children:[t("span",{className:"text-muted-foreground",children:"\u9A8C\u8BC1\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==="auth"&&e.payload?.device&&typeof e.payload.device=="object"&&p("div",{className:"text-xs text-muted-foreground mb-3 space-y-1 rounded border p-3 bg-muted/20",children:[t("div",{className:"font-medium text-foreground",children:"\u8BBE\u5907\u4FE1\u606F\uFF08\u767B\u5F55\u7EED\u4F20\u7528\uFF09"}),Object.entries(e.payload.device).filter(([,d])=>d!=null&&String(d)!=="").map(([d,I])=>p("div",{children:[p("span",{className:"opacity-70",children:[d,": "]}),t("span",{className:"font-mono break-all",children:String(I)})]},d))]}),e.type==="auth"&&p("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:!!n[e.id],onClick:()=>{P(e.id,{done:!0})},children:n[e.id]?"\u63D0\u4EA4\u4E2D\u2026":"\u6211\u5DF2\u5B8C\u6210\u9A8C\u8BC1"}),t("button",{className:"h-9 px-4 rounded-md border text-sm hover:bg-accent transition-colors",onClick:()=>{W(e.id)},children:"\u53D6\u6D88"})]}),(e.type==="sms"||e.type==="device"||e.type==="slider")&&p("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:x[e.id]??"",onChange:d=>l(I=>({...I,[e.id]:d.target.value})),onKeyDown:d=>{if(d.key==="Enter"){let I=x[e.id]?.trim();I&&P(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:n[e.id]||!x[e.id]?.trim(),onClick:()=>{let d=x[e.id]?.trim();d&&P(e.id,e.type==="slider"?{ticket:d}:d)},children:n[e.id]?"\u63D0\u4EA4\u4E2D\u2026":"\u63D0\u4EA4"})]}),e.type==="qrcode"&&p("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:!!n[e.id],onClick:()=>{P(e.id,{done:!0})},children:n[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:()=>{W(e.id)},children:"\u53D6\u6D88"})]})]},e.id)})})]})}import{Fragment as be,jsx as r,jsxs as c}from"react/jsx-runtime";function Z(){let[a,u]=z("overview"),[f,s]=z([]),[L,i]=z(!0),[n,h]=z(null),x=ye(async()=>{i(!0),h(null);try{let l=await M("/api/icqq/endpoints"),m=await l.json();if(!l.ok||!m.success)throw new Error(m.message||"\u52A0\u8F7D\u5931\u8D25");s(Array.isArray(m.data)?m.data:[])}catch(l){h(l.message),s([])}finally{i(!1)}},[]);return Re(()=>{a==="overview"&&x()},[a,x]),c("div",{className:"p-6 max-w-5xl mx-auto space-y-5",children:[c("div",{className:"flex items-center justify-between",children:[c("div",{children:[c("h1",{className:"text-2xl font-bold flex items-center gap-2",children:[r(A,{className:"w-6 h-6"})," ICQQ \u7BA1\u7406"]}),r("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"&&c("button",{onClick:x,disabled:L,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:[r(T,{className:`w-4 h-4 ${L?"animate-spin":""}`})," \u5237\u65B0"]})]}),c("div",{className:"flex gap-1 border-b",children:[r("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:c("span",{className:"flex items-center gap-1.5",children:[r(A,{className:"w-4 h-4"})," \u6982\u89C8"]})}),r("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:c("span",{className:"flex items-center gap-1.5",children:[r(w,{className:"w-4 h-4"})," \u767B\u5F55\u8F85\u52A9"]})})]}),a==="overview"&&c(be,{children:[n&&r("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:n}),L?r("div",{className:"flex justify-center py-12",children:r(C,{className:"w-6 h-6 animate-spin text-blue-500"})}):f.length===0?r("div",{className:"text-center text-muted-foreground py-12",children:"\u6682\u65E0 ICQQ Endpoint \u5B9E\u4F8B"}):r("div",{className:"grid gap-4 md:grid-cols-2",children:f.map(l=>c("div",{className:"border rounded-lg p-4 bg-card shadow-sm",children:[c("div",{className:"flex items-center justify-between mb-3",children:[r("span",{className:"font-medium text-lg",children:l.name}),l.connected?c("span",{className:"flex items-center gap-1 text-green-600 text-sm",children:[r(U,{className:"w-4 h-4"})," \u5728\u7EBF"]}):c("span",{className:"flex items-center gap-1 text-gray-400 text-sm",children:[r(v,{className:"w-4 h-4"})," \u79BB\u7EBF"]})]}),c("div",{className:"space-y-2 text-sm text-muted-foreground",children:[c("div",{className:"flex items-center gap-1.5",children:[r(q,{className:"w-3.5 h-3.5"}),"\u7FA4 ",l.groupCount," \xB7 \u597D\u53CB ",l.friendCount]}),c("div",{className:"flex items-center gap-1.5",children:[r(F,{className:"w-3.5 h-3.5"}),"\u767B\u5F55\u65B9\u5F0F ",l.loginMode," \xB7 ",l.status]})]})]},l.name))})]}),a==="login"&&r(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:
@@ -26,7 +26,7 @@ lucide-react/dist/esm/icons/wifi.mjs:
26
26
  lucide-react/dist/esm/icons/x.mjs:
27
27
  lucide-react/dist/esm/lucide-react.mjs:
28
28
  (**
29
- * @license lucide-react v1.21.0 - ISC
29
+ * @license lucide-react v1.23.0 - ISC
30
30
  *
31
31
  * This source code is licensed under the ISC license.
32
32
  * See the LICENSE file in the root directory of this source tree.
package/lib/adapter.d.ts CHANGED
@@ -7,6 +7,13 @@ import type { IcqqEndpointConfig } from "./types.js";
7
7
  export declare class IcqqAdapter extends Adapter<IcqqEndpoint> {
8
8
  static readonly capabilities: readonly ["inbound", "outbound"];
9
9
  static outboundRichSegmentPolicy: import("zhin.js").OutboundRichSegmentPolicy;
10
+ static interactivePolicy: "text";
11
+ static aiOutboundCapabilities: {
12
+ mentions: boolean;
13
+ richSegments: string[];
14
+ interactive: "text";
15
+ };
16
+ static aiOutboundExtensions: import("zhin.js").AiOutboundExtensionDefinition[];
10
17
  constructor(plugin: Plugin);
11
18
  getOutboundMediaCapabilities(): {
12
19
  image: boolean;
@@ -19,12 +26,12 @@ export declare class IcqqAdapter extends Adapter<IcqqEndpoint> {
19
26
  start(): Promise<void>;
20
27
  stop(): Promise<void>;
21
28
  private getEndpoint;
22
- kickMember(endpointId: string, sceneId: string, userId: string): Promise<boolean>;
29
+ removeMember(endpointId: string, sceneId: string, userId: string): Promise<boolean>;
23
30
  muteMember(endpointId: string, sceneId: string, userId: string, duration?: number): Promise<boolean>;
24
- muteAll(endpointId: string, sceneId: string, enable?: boolean): Promise<boolean>;
25
- setAdmin(endpointId: string, sceneId: string, userId: string, enable?: boolean): Promise<boolean>;
31
+ setSceneMuted(endpointId: string, sceneId: string, enable?: boolean): Promise<boolean>;
32
+ setModerator(endpointId: string, sceneId: string, userId: string, enable?: boolean): Promise<boolean>;
26
33
  setMemberNickname(endpointId: string, sceneId: string, userId: string, nickname: string): Promise<boolean>;
27
- setGroupName(endpointId: string, sceneId: string, name: string): Promise<boolean>;
34
+ renameScene(endpointId: string, sceneId: string, name: string): Promise<boolean>;
28
35
  listMembers(endpointId: string, sceneId: string): Promise<{
29
36
  members: {
30
37
  user_id: number;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAiB,OAAO,EAAE,MAAM,EAAwC,MAAM,SAAS,CAAC;AAC/F,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAiB,MAAM,YAAY,CAAC;AAGpE,qBAAa,WAAY,SAAQ,OAAO,CAAC,YAAY,CAAC;IACpD,gBAAyB,YAAY,mCAAoC;IACzE,OAAgB,yBAAyB,8CAAwC;gBAErE,MAAM,EAAE,MAAM;IAI1B,4BAA4B;;;;;;;IAU5B,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY;IAIlD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,OAAO,CAAC,WAAW;IAMb,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAW9D,UAAU,CACd,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,SAAM;IAYV,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAO;IAU1D,QAAQ,CACZ,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,MAAM,UAAO;IAYT,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM;IAYZ,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAU9D,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;;;;;;;;;;CAiBtD"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAiB,OAAO,EAAE,MAAM,EAA+E,MAAM,SAAS,CAAC;AACtI,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAiB,MAAM,YAAY,CAAC;AAGpE,qBAAa,WAAY,SAAQ,OAAO,CAAC,YAAY,CAAC;IACpD,gBAAyB,YAAY,mCAAoC;IACzE,OAAgB,yBAAyB,8CAAwC;IACjF,OAAgB,iBAAiB,EAAG,MAAM,CAAU;IACpD,OAAgB,sBAAsB;;;;MAIpC;IACF,OAAgB,oBAAoB,oDAA2C;gBAEnE,MAAM,EAAE,MAAM;IAI1B,4BAA4B;;;;;;;IAU5B,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY;IAIlD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,OAAO,CAAC,WAAW;IAMb,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAWhE,UAAU,CACd,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,SAAM;IAYV,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAO;IAUhE,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,MAAM,UAAO;IAYT,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM;IAYZ,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAU7D,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;;;;;;;;;;CAiBtD"}
package/lib/adapter.js CHANGED
@@ -1,12 +1,19 @@
1
1
  /**
2
2
  * ICQQ 适配器 — 通过 @icqqjs/cli 守护进程 IPC 管理 Endpoint 实例
3
3
  */
4
- import { formatCompact, Adapter, OUTBOUND_RICH_SEGMENT_POLICY_IM_FULL } from 'zhin.js';
4
+ import { formatCompact, Adapter, OUTBOUND_RICH_SEGMENT_POLICY_IM_FULL, ONEBOT_KEYBOARD_AI_OUTBOUND_EXTENSION } from 'zhin.js';
5
5
  import { IcqqEndpoint } from "./endpoint.js";
6
6
  import { Actions } from "./protocol.js";
7
7
  export class IcqqAdapter extends Adapter {
8
8
  static capabilities = ['inbound', 'outbound'];
9
9
  static outboundRichSegmentPolicy = OUTBOUND_RICH_SEGMENT_POLICY_IM_FULL;
10
+ static interactivePolicy = 'text';
11
+ static aiOutboundCapabilities = {
12
+ mentions: true,
13
+ richSegments: ['qrcode', 'html', 'markdown', 'tts'],
14
+ interactive: 'text',
15
+ };
16
+ static aiOutboundExtensions = [ONEBOT_KEYBOARD_AI_OUTBOUND_EXTENSION];
10
17
  constructor(plugin) {
11
18
  super(plugin, "icqq", []);
12
19
  }
@@ -29,14 +36,14 @@ export class IcqqAdapter extends Adapter {
29
36
  await super.stop();
30
37
  this.logger.debug(formatCompact({ stop: true }));
31
38
  }
32
- // ── IGroupManagement 标准群管方法(通过 IPC) ─────────────────────
39
+ // ── ISceneManagement 标准群管方法(通过 IPC) ─────────────────────
33
40
  getEndpoint(endpointId) {
34
41
  const endpoint = this.endpoints.get(endpointId);
35
42
  if (!endpoint)
36
43
  throw new Error(`Endpoint ${endpointId} 不存在`);
37
44
  return endpoint;
38
45
  }
39
- async kickMember(endpointId, sceneId, userId) {
46
+ async removeMember(endpointId, sceneId, userId) {
40
47
  const endpoint = this.getEndpoint(endpointId);
41
48
  const resp = await endpoint.ipc.request(Actions.GROUP_KICK, {
42
49
  group_id: Number(sceneId),
@@ -58,7 +65,7 @@ export class IcqqAdapter extends Adapter {
58
65
  throw new Error(resp.error ?? "禁言失败");
59
66
  return true;
60
67
  }
61
- async muteAll(endpointId, sceneId, enable = true) {
68
+ async setSceneMuted(endpointId, sceneId, enable = true) {
62
69
  const endpoint = this.getEndpoint(endpointId);
63
70
  const resp = await endpoint.ipc.request(Actions.GROUP_MUTE_ALL, {
64
71
  group_id: Number(sceneId),
@@ -68,7 +75,7 @@ export class IcqqAdapter extends Adapter {
68
75
  throw new Error(resp.error ?? "全员禁言失败");
69
76
  return true;
70
77
  }
71
- async setAdmin(endpointId, sceneId, userId, enable = true) {
78
+ async setModerator(endpointId, sceneId, userId, enable = true) {
72
79
  const endpoint = this.getEndpoint(endpointId);
73
80
  const resp = await endpoint.ipc.request(Actions.SET_GROUP_ADMIN, {
74
81
  group_id: Number(sceneId),
@@ -90,7 +97,7 @@ export class IcqqAdapter extends Adapter {
90
97
  throw new Error(resp.error ?? "设置群名片失败");
91
98
  return true;
92
99
  }
93
- async setGroupName(endpointId, sceneId, name) {
100
+ async renameScene(endpointId, sceneId, name) {
94
101
  const endpoint = this.getEndpoint(endpointId);
95
102
  const resp = await endpoint.ipc.request(Actions.SET_GROUP_NAME, {
96
103
  group_id: Number(sceneId),
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cq-message.d.ts","sourceRoot":"","sources":["../src/cq-message.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,cAAc,EAAW,WAAW,EAAE,MAAM,SAAS,CAAC;AAyC/D,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE,CAkC5D;AAED,+CAA+C;AAC/C,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAIhE;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAkDvD"}
1
+ {"version":3,"file":"cq-message.d.ts","sourceRoot":"","sources":["../src/cq-message.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,cAAc,EAAW,WAAW,EAAE,MAAM,SAAS,CAAC;AAyC/D,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE,CAkC5D;AAED,+CAA+C;AAC/C,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAIhE;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CA0DvD"}
package/lib/cq-message.js CHANGED
@@ -34,7 +34,7 @@ function pushCqSegment(segments, type, arg) {
34
34
  segments.push({ type: "video", data: { file: arg } });
35
35
  break;
36
36
  case "reply":
37
- segments.push({ type: "reply", data: { id: arg } });
37
+ segments.push({ type: "reply", data: { message_id: arg } });
38
38
  break;
39
39
  default:
40
40
  segments.push({ type, data: { text: `[${type}:${arg}]` } });
@@ -96,6 +96,12 @@ export function toCqString(content) {
96
96
  case "face":
97
97
  return `[face:${data.id}]`;
98
98
  case "image": {
99
+ const media = data.media;
100
+ if (media?.value) {
101
+ if (media.kind === "base64")
102
+ return `[image:base64://${media.value}]`;
103
+ return `[image:${media.value}]`;
104
+ }
99
105
  const b64 = typeof data.base64 === "string"
100
106
  ? data.base64
101
107
  : typeof data.data === "string"
@@ -106,7 +112,10 @@ export function toCqString(content) {
106
112
  return `[image:${data.file || data.url || data.src}]`;
107
113
  }
108
114
  case "at":
109
- return `[at:${data.qq ?? data.id}]`;
115
+ case "mention": {
116
+ const target = data.target ?? data.qq ?? data.id ?? data.user_id;
117
+ return `[at:${target}]`;
118
+ }
110
119
  case "dice":
111
120
  return "[dice]";
112
121
  case "rps":
@@ -129,7 +138,7 @@ export function toCqString(content) {
129
138
  return `[video:${data.file || data.url}]`;
130
139
  }
131
140
  case "reply":
132
- return `[reply:${data.id}]`;
141
+ return `[reply:${data.message_id ?? data.id}]`;
133
142
  default:
134
143
  return segment.toString(seg);
135
144
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cq-message.js","sourceRoot":"","sources":["../src/cq-message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cq-message.js","sourceRoot":"","sources":["../src/cq-message.ts"],"names":[],"mappings":"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"}
package/lib/endpoint.d.ts CHANGED
@@ -11,7 +11,7 @@ import { IpcClient } from "./ipc-client.js";
11
11
  import type { IcqqIpcMessageEvent } from "./icqq-inbound.js";
12
12
  import { type NormalizedIcqqInbound } from "./icqq-inbound.js";
13
13
  import { buildIcqqIpcMessage as buildIcqqIpcMessageImpl, parseCqMessage as parseCqMessageImpl, toCqString as toCqStringImpl } from "./cq-message.js";
14
- import { type ICQQTypingIndicatorManager } from "./typing-indicator.js";
14
+ import { IcqqGuildCatalog } from "./icqq-guild.js";
15
15
  export declare class IcqqEndpoint implements Endpoint<IcqqEndpointConfig, IcqqIpcMessageEvent> {
16
16
  adapter: IcqqAdapter;
17
17
  $connected: boolean;
@@ -21,6 +21,8 @@ export declare class IcqqEndpoint implements Endpoint<IcqqEndpointConfig, IcqqIp
21
21
  friends: Map<number, IpcFriendInfo>;
22
22
  /** 缓存的群列表 */
23
23
  groups: Map<number, IpcGroupInfo>;
24
+ /** QQ 频道(guild)子频道缓存 */
25
+ readonly guildCatalog: IcqqGuildCatalog;
24
26
  private subscriptions;
25
27
  /** 事件去重:覆盖多端回流/服务端重复推送等场景 */
26
28
  private readonly inboundDeduper;
@@ -30,17 +32,10 @@ export declare class IcqqEndpoint implements Endpoint<IcqqEndpointConfig, IcqqIp
30
32
  private intentionalDisconnect;
31
33
  /** 是否已有重连循环在跑(避免多次 schedule 叠套) */
32
34
  private reconnectRunning;
33
- /** Typing Indicator 管理器 */
34
- $typingIndicator?: ICQQTypingIndicatorManager;
35
35
  get $id(): `${number}`;
36
36
  get logger(): import("zhin.js").Logger;
37
37
  constructor(adapter: IcqqAdapter, config: IcqqEndpointConfig);
38
38
  $connect(): Promise<void>;
39
- /**
40
- * 初始化 Typing Indicator
41
- * 根据配置自动启用或禁用
42
- */
43
- private initTypingIndicator;
44
39
  /** 建立或恢复与守护进程的 IPC/RPC 会话(订阅、缓存列表) */
45
40
  private rebindIpcSession;
46
41
  /** IPC/RPC 意外断开时调度重连(指数退避) */
@@ -48,9 +43,18 @@ export declare class IcqqEndpoint implements Endpoint<IcqqEndpointConfig, IcqqIp
48
43
  private runReconnectLoop;
49
44
  /** 刷新好友/群列表缓存 */
50
45
  refreshLists(): Promise<void>;
46
+ /** Console:列出 guild 子频道(含 parent.guild) */
47
+ getGuildChannelList(): ReturnType<IcqqGuildCatalog["getGuildChannelList"]>;
48
+ resolveConsoleChannelNames(channelId: string, guildId?: string): {
49
+ channelName?: string;
50
+ parentName?: string;
51
+ };
51
52
  $disconnect(): Promise<void>;
52
53
  private handleEvent;
53
54
  private dispatchInboundMessage;
55
+ private handleGuildMessageEvent;
56
+ private dispatchGuildInboundMessage;
57
+ private $formatGuildMessage;
54
58
  private handleNoticeEvent;
55
59
  private handleRequestEvent;
56
60
  private handleMetaEvent;
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"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"}