@duckmind/dm-darwin-x64 0.52.6 → 0.53.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 (58) hide show
  1. package/dm +0 -0
  2. package/extensions/.dm-extensions.json +14 -10
  3. package/extensions/dm-cua/bin/browser-cua.mjs +6 -6
  4. package/extensions/dm-cua/index.js +5 -5
  5. package/extensions/dm-cua/src/browser-cua-lib.mjs +2 -2
  6. package/extensions/greedysearch-dm/bin/cdp-greedy.mjs +8 -1
  7. package/extensions/greedysearch-dm/bin/cdp-headless.mjs +1 -1
  8. package/extensions/greedysearch-dm/bin/cdp-visible.mjs +1 -1
  9. package/extensions/greedysearch-dm/bin/cdp.mjs +29 -20
  10. package/extensions/greedysearch-dm/bin/gschrome.mjs +1 -8
  11. package/extensions/greedysearch-dm/bin/kill-visible.mjs +1 -1
  12. package/extensions/greedysearch-dm/bin/launch-visible.mjs +1 -2
  13. package/extensions/greedysearch-dm/bin/launch.mjs +9 -11
  14. package/extensions/greedysearch-dm/bin/mcp.mjs +375 -0
  15. package/extensions/greedysearch-dm/bin/search.mjs +309 -157
  16. package/extensions/greedysearch-dm/bin/visible.mjs +1 -1
  17. package/extensions/greedysearch-dm/extractors/bing-copilot.mjs +205 -68
  18. package/extensions/greedysearch-dm/extractors/chatgpt.mjs +229 -140
  19. package/extensions/greedysearch-dm/extractors/common.mjs +160 -50
  20. package/extensions/greedysearch-dm/extractors/consensus.mjs +226 -93
  21. package/extensions/greedysearch-dm/extractors/consent.mjs +44 -17
  22. package/extensions/greedysearch-dm/extractors/gemini.mjs +277 -138
  23. package/extensions/greedysearch-dm/extractors/google-ai.mjs +172 -64
  24. package/extensions/greedysearch-dm/extractors/logically.mjs +183 -69
  25. package/extensions/greedysearch-dm/extractors/perplexity.mjs +331 -65
  26. package/extensions/greedysearch-dm/extractors/semantic-scholar.mjs +118 -41
  27. package/extensions/greedysearch-dm/index.js +23 -20
  28. package/extensions/greedysearch-dm/package.json +8 -3
  29. package/extensions/greedysearch-dm/skills/greedy-search/skill.md +8 -8
  30. package/extensions/greedysearch-dm/src/fetcher.mjs +2 -2
  31. package/extensions/greedysearch-dm/src/formatters/results.js +8 -6
  32. package/extensions/greedysearch-dm/src/github.mjs +7 -7
  33. package/extensions/greedysearch-dm/src/reddit.mjs +1 -1
  34. package/extensions/greedysearch-dm/src/search/browser-lifecycle.mjs +10 -8
  35. package/extensions/greedysearch-dm/src/search/challenge-detect.mjs +48 -0
  36. package/extensions/greedysearch-dm/src/search/chrome.mjs +130 -54
  37. package/extensions/greedysearch-dm/src/search/constants.mjs +6 -6
  38. package/extensions/greedysearch-dm/src/search/engines.mjs +9 -9
  39. package/extensions/greedysearch-dm/src/search/fetch-source.mjs +160 -83
  40. package/extensions/greedysearch-dm/src/search/minimize.mjs +1 -0
  41. package/extensions/greedysearch-dm/src/search/paths.mjs +1 -1
  42. package/extensions/greedysearch-dm/src/search/pdf.mjs +1 -1
  43. package/extensions/greedysearch-dm/src/search/port-pid.mjs +1 -1
  44. package/extensions/greedysearch-dm/src/search/progress.mjs +2 -0
  45. package/extensions/greedysearch-dm/src/search/recovery.mjs +1 -1
  46. package/extensions/greedysearch-dm/src/search/research.mjs +262 -167
  47. package/extensions/greedysearch-dm/src/search/scale-aware.mjs +11 -0
  48. package/extensions/greedysearch-dm/src/search/simple-research.mjs +827 -0
  49. package/extensions/greedysearch-dm/src/search/synthesis-runner.mjs +9 -9
  50. package/extensions/greedysearch-dm/src/search/synthesis.mjs +10 -10
  51. package/extensions/greedysearch-dm/src/tools/greedy-search-handler.js +23 -20
  52. package/extensions/greedysearch-dm/src/tools/shared.js +10 -9
  53. package/extensions/greedysearch-dm/src/utils/node-runtime.mjs +1 -1
  54. package/package.json +1 -1
  55. package/extensions/greedysearch-dm/src/search/cdp-endpoint.mjs +0 -3
  56. package/extensions/greedysearch-dm/src/search/launcher-paths.mjs +0 -3
  57. package/extensions/greedysearch-dm/src/search/partial-output.mjs +0 -1
  58. package/extensions/greedysearch-dm/src/utils/browser-executable.mjs +0 -1
@@ -1 +1 @@
1
- import{execFileSync as D}from"node:child_process";import{platform as G}from"node:os";import{existsSync as $}from"node:fs";import{platform as C}from"node:os";import{join as X}from"node:path";function A(z){let B=C()==="win32",q=process.env.SystemRoot||"C:\\Windows",J={win32:{powershell:X(q,"System32","WindowsPowerShell","v1.0","powershell.exe"),powershell_ise:X(q,"System32","WindowsPowerShell","v1.0","powershell_ise.exe"),netstat:X(q,"System32","netstat.exe"),taskkill:X(q,"System32","taskkill.exe"),tasklist:X(q,"System32","tasklist.exe"),cmd:X(q,"System32","cmd.exe")},unix:{ps:"/usr/bin/ps",lsof:"/usr/bin/lsof",ss:"/usr/sbin/ss",grep:"/usr/bin/grep",kill:"/usr/bin/kill"}},K=B?J.win32:J.unix,V=z.toLowerCase();if(K[V]&&$(K[V]))return K[V];if(B&&V==="netstat"){let Z=X(q,"Sysnative","netstat.exe");if($(Z))return Z}return z}function H(z,B){return D(A(z),B,{encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:5000})}function I(z){let B=String(z||"").match(/\b(\d+)\b/);return B?Number.parseInt(B[1],10):null}function L(z){return I(z)}function M(z,B){for(let q of String(z||"").split(/\r?\n/)){if(!/\bLISTEN\b/i.test(q))continue;if(!q.trim().split(/\s+/).slice(0,6).some((V)=>V.endsWith(`:${B}`)))continue;let K=q.match(/\bpid=(\d+)\b/);if(K)return Number.parseInt(K[1],10)}return null}function O(z,B){for(let q of String(z||"").split(/\r?\n/)){let J=q.trim().split(/\s+/);if(J.length<5||J[0].toUpperCase()!=="TCP")continue;if(!J.at(-2)?.toUpperCase().startsWith("LISTEN"))continue;if(!J[1].endsWith(`:${B}`))continue;let V=Number.parseInt(J.at(-1),10);if(Number.isInteger(V)&&V>0)return V}return null}function Y(z,B,q){try{return z(B,q)}catch{return null}}function v(z,{platformName:B=G(),run:q=H}={}){if(B==="win32")return O(Y(q,"netstat",["-ano","-p","TCP"]),z);let J=Y(q,"lsof",["-nP",`-iTCP:${z}`,"-sTCP:LISTEN","-t"]),K=L(J);if(K)return K;if(B!=="linux")return null;return M(Y(q,"ss",["-ltnp"]),z)}export{M as parseSsPid,O as parseNetstatPid,L as parseLsofPid,v as findListeningProcessPid};
1
+ import{execFileSync as g}from"node:child_process";import{platform as b}from"node:os";import{existsSync as s}from"node:fs";import{platform as o}from"node:os";import{join as e}from"node:path";function p(t){let r=o()==="win32",n=process.env.SystemRoot||"C:\\Windows",u={win32:{powershell:e(n,"System32","WindowsPowerShell","v1.0","powershell.exe"),powershell_ise:e(n,"System32","WindowsPowerShell","v1.0","powershell_ise.exe"),netstat:e(n,"System32","netstat.exe"),taskkill:e(n,"System32","taskkill.exe"),tasklist:e(n,"System32","tasklist.exe"),cmd:e(n,"System32","cmd.exe")},unix:{ps:"/usr/bin/ps",lsof:"/usr/bin/lsof",ss:"/usr/sbin/ss",grep:"/usr/bin/grep",kill:"/usr/bin/kill"}},i=r?u.win32:u.unix,f=t.toLowerCase();if(i[f]&&s(i[f]))return i[f];if(r&&f==="netstat"){let l=e(n,"Sysnative","netstat.exe");if(s(l))return l}return t}function C(t,r){return g(p(t),r,{encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:5000})}function I(t){let r=String(t||"").match(/\b(\d+)\b/);return r?Number.parseInt(r[1],10):null}function N(t){return I(t)}function P(t,r){for(let n of String(t||"").split(/\r?\n/)){if(!/\bLISTEN\b/i.test(n))continue;if(!n.trim().split(/\s+/).slice(0,6).some((f)=>f.endsWith(`:${r}`)))continue;let i=n.match(/\bpid=(\d+)\b/);if(i)return Number.parseInt(i[1],10)}return null}function T(t,r){for(let n of String(t||"").split(/\r?\n/)){let u=n.trim().split(/\s+/);if(u.length<5||u[0].toUpperCase()!=="TCP")continue;if(!u.at(-2)?.toUpperCase().startsWith("LISTEN"))continue;if(!u[1].endsWith(`:${r}`))continue;let i=Number.parseInt(u.at(-1),10);if(Number.isInteger(i)&&i>0)return i}return null}function c(t,r,n){try{return t(r,n)}catch{return null}}function E(t,{platformName:r=b(),run:n=C}={}){if(r==="win32")return T(c(n,"netstat",["-ano","-p","TCP"]),t);let u=c(n,"lsof",["-nP",`-iTCP:${t}`,"-sTCP:LISTEN","-t"]),i=N(u);if(i)return i;if(r!=="linux")return null;return P(c(n,"ss",["-ltnp"]),t)}export{P as parseSsPid,T as parseNetstatPid,N as parseLsofPid,E as findListeningProcessPid};
@@ -0,0 +1,2 @@
1
+ function F(G){if(G<1000)return"0s";let q=Math.round(G/1000);if(q<60)return`${q}s`;let H=Math.floor(q/60),K=q%60;return`${H}m ${K}s`}function y(G,q=20){let H=Math.round(G*q),K=q-H;return"["+"█".repeat(H)+"░".repeat(K)+"]"}function L({totalActions:G=0,totalRounds:q=0,totalFetches:H=0,silent:K=!1}={}){let X=Date.now(),Y=0,U=0,Z=0,J=[],x=null,O=null,$=0,V=500;function B(j){if(J.push(j),J.length>5)J.shift()}function k(){if(J.length===0)return null;return J.reduce((j,C)=>j+C,0)/J.length}function v(j){let C=Date.now()-X,Q=G+H+q,W=Y+Z+U,I=Q>0?Math.min(1,W/Q):0,N=y(I),D=k(),P=Math.max(0,Q-W),E=D?D*P:null,_=E?F(E):"—",f=O?` ${O}`:"";return`${N} ${W}/${Q} (${j}${f}, ETA ${_})`}function z(j){if(K)return;let C=Date.now();if(C-$<V&&j!=="done")return;$=C,process.stderr.write(`[greedysearch] ${v(j)}
2
+ `)}return{startRound(j){U=j-1},endRound(){U++,z("round")},startAction(j,C){x=Date.now(),O=`${j}:${(C||"").slice(0,40)}`,z(j)},endAction(){if(x)B(Date.now()-x),x=null;Y++,z("action")},startFetch(j){x=Date.now(),O=`fetch:${(j||"").slice(0,40)}`,z("fetch")},endFetch(j=!0){if(x)B(Date.now()-x),x=null;Z++,z(j?"fetch":"fetch-failed")},print(){z("progress")},finish(){z("done")},getElapsedMs(){return Date.now()-X}}}export{L as createProgressTracker};
@@ -1 +1 @@
1
- var X=["perplexity","bing","chatgpt","semantic-scholar","logically"],Z=/timed out|timeout|verification|captcha|cloudflare|turnstile|input not found|ask-input|clipboard|copy button hidden|sign.in|login required/i,$=/needs-human|verification required|please solve|captcha|cloudflare|turnstile|could not be completed automatically|manual intervention|sign.in|login required/i;function W(q){return Z.test(String(q||""))}function j(q){return $.test(String(q||""))}function m(q){return j(q)?"needs-human":"error"}function w(q,J,z){return q._recovery={status:"failed",engines:[...J],error:z?.message||String(z)},q}function x(q){return X.filter((J)=>{let z=q?.[J];if(!z)return!1;if(z._envelope?.blockedBy)return!0;if(z._envelope?.verificationResult==="needs-human")return!0;let Q=z.error;return Q&&W(Q)})}function F(q){if(!q)return!1;let J=q.envelope;if(J?.blockedBy)return!0;if(J?.verificationResult==="needs-human")return!0;return W(q.message)}export{w as recordRecoveryFailure,j as isManualVerificationError,F as isHeadlessBlockedResult,W as isHeadlessBlockedError,x as findHeadlessBlockedEngines,m as classifyVisibleRecoveryFailure,X as HEADLESS_RECOVERY_ENGINES};
1
+ var J=["perplexity","bing","chatgpt","semantic-scholar","logically"],q=new Set(["rate-limit"]),Q=/timed out|timeout|verification|captcha|cloudflare|turnstile|input not found|ask-input|copy button hidden|sign.in|login required/i,W=/needs-human|verification required|please solve|captcha|cloudflare|turnstile|could not be completed automatically|manual intervention|sign.in|login required/i;function z(f){return Q.test(String(f||""))}function X(f){return W.test(String(f||""))}function Z(f){return q.has(f)}function $(f){return J.filter((h)=>{let j=f?.[h];if(!j)return!1;let w=j._envelope?.blockedBy;if(w){if(q.has(w))return!1;return!0}if(j._envelope?.verificationResult==="needs-human")return!0;let x=j.error;return x&&z(x)})}function m(f){if(!f)return!1;let h=f.envelope;if(h?.blockedBy){if(q.has(h.blockedBy))return!1;return!0}if(h?.verificationResult==="needs-human")return!0;return z(f.message)}export{Z as isNonRecoverableBlockedBy,X as isManualVerificationError,m as isHeadlessBlockedResult,z as isHeadlessBlockedError,$ as findHeadlessBlockedEngines,J as HEADLESS_RECOVERY_ENGINES};