cli-jaw 2.1.2 → 2.1.3
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/README.md +6 -5
- package/dist/bin/cli-jaw.js +14 -2
- package/dist/bin/cli-jaw.js.map +1 -1
- package/dist/bin/commands/chat-search.js +71 -0
- package/dist/bin/commands/chat-search.js.map +1 -0
- package/dist/bin/commands/goal.js +48 -3
- package/dist/bin/commands/goal.js.map +1 -1
- package/dist/bin/commands/history.js +61 -0
- package/dist/bin/commands/history.js.map +1 -0
- package/dist/bin/commands/lock.js +104 -0
- package/dist/bin/commands/lock.js.map +1 -0
- package/dist/bin/commands/memory.js +23 -2
- package/dist/bin/commands/memory.js.map +1 -1
- package/dist/bin/commands/project.js +4 -1
- package/dist/bin/commands/project.js.map +1 -1
- package/dist/bin/commands/tui/simple-mode.js +0 -1
- package/dist/bin/commands/tui/simple-mode.js.map +1 -1
- package/dist/lib/upload.js +7 -0
- package/dist/lib/upload.js.map +1 -1
- package/dist/server.js +127 -19
- package/dist/server.js.map +1 -1
- package/dist/src/agent/agy-runtime.js +1 -0
- package/dist/src/agent/agy-runtime.js.map +1 -1
- package/dist/src/agent/agy-transcript-watcher.js +78 -0
- package/dist/src/agent/agy-transcript-watcher.js.map +1 -0
- package/dist/src/agent/agy-transcript.js +158 -0
- package/dist/src/agent/agy-transcript.js.map +1 -0
- package/dist/src/agent/args.js +18 -4
- package/dist/src/agent/args.js.map +1 -1
- package/dist/src/agent/codex-app-client.js +1 -1
- package/dist/src/agent/codex-app-client.js.map +1 -1
- package/dist/src/agent/cursor-runtime.js +1 -0
- package/dist/src/agent/cursor-runtime.js.map +1 -1
- package/dist/src/agent/kiro-runtime.js +11 -3
- package/dist/src/agent/kiro-runtime.js.map +1 -1
- package/dist/src/agent/lifecycle-handler.js +18 -11
- package/dist/src/agent/lifecycle-handler.js.map +1 -1
- package/dist/src/agent/memory-flush-controller.js +2 -1
- package/dist/src/agent/memory-flush-controller.js.map +1 -1
- package/dist/src/agent/session-persistence.js +2 -2
- package/dist/src/agent/session-persistence.js.map +1 -1
- package/dist/src/agent/spawn/queue.js +1 -1
- package/dist/src/agent/spawn/queue.js.map +1 -1
- package/dist/src/agent/spawn-env.js +1 -1
- package/dist/src/agent/spawn-env.js.map +1 -1
- package/dist/src/agent/spawn.js +76 -48
- package/dist/src/agent/spawn.js.map +1 -1
- package/dist/src/agent/watchdog.js +1 -1
- package/dist/src/agent/watchdog.js.map +1 -1
- package/dist/src/browser/actions.js +0 -8
- package/dist/src/browser/actions.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/browser-escalation.js +5 -29
- package/dist/src/browser/adaptive-fetch/browser-escalation.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/browser-runtime.js +5 -14
- package/dist/src/browser/adaptive-fetch/browser-runtime.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/browser-session.js +14 -28
- package/dist/src/browser/adaptive-fetch/browser-session.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/challenge-detector.js +4 -26
- package/dist/src/browser/adaptive-fetch/challenge-detector.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/content-scorer.js +5 -29
- package/dist/src/browser/adaptive-fetch/content-scorer.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/endpoint-resolvers.js +0 -64
- package/dist/src/browser/adaptive-fetch/endpoint-resolvers.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/fetcher.js +4 -19
- package/dist/src/browser/adaptive-fetch/fetcher.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/human-loop.js +0 -26
- package/dist/src/browser/adaptive-fetch/human-loop.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/index.js +74 -145
- package/dist/src/browser/adaptive-fetch/index.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/metadata.js +1 -41
- package/dist/src/browser/adaptive-fetch/metadata.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/output.js +1 -18
- package/dist/src/browser/adaptive-fetch/output.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/reader-adapters.js +43 -75
- package/dist/src/browser/adaptive-fetch/reader-adapters.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/safety.js +5 -48
- package/dist/src/browser/adaptive-fetch/safety.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/third-party-readers.js +0 -11
- package/dist/src/browser/adaptive-fetch/third-party-readers.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/trace.js +3 -18
- package/dist/src/browser/adaptive-fetch/trace.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/transforms.js +0 -23
- package/dist/src/browser/adaptive-fetch/transforms.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/types.js +3 -0
- package/dist/src/browser/adaptive-fetch/types.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/validators.js +0 -17
- package/dist/src/browser/adaptive-fetch/validators.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/waf-profiles.js +0 -10
- package/dist/src/browser/adaptive-fetch/waf-profiles.js.map +1 -1
- package/dist/src/browser/connection.js +1 -1
- package/dist/src/browser/connection.js.map +1 -1
- package/dist/src/browser/web-ai/chatgpt-response.js +0 -1
- package/dist/src/browser/web-ai/chatgpt-response.js.map +1 -1
- package/dist/src/browser/web-ai/chatgpt.js +0 -33
- package/dist/src/browser/web-ai/chatgpt.js.map +1 -1
- package/dist/src/browser/web-ai/diagnostics.js +0 -16
- package/dist/src/browser/web-ai/diagnostics.js.map +1 -1
- package/dist/src/browser/web-ai/doctor.js.map +1 -1
- package/dist/src/browser/web-ai/errors.js +1 -1
- package/dist/src/browser/web-ai/errors.js.map +1 -1
- package/dist/src/cli/command-context.js.map +1 -1
- package/dist/src/cli/commands.js +13 -2
- package/dist/src/cli/commands.js.map +1 -1
- package/dist/src/cli/compact.js +2 -1
- package/dist/src/cli/compact.js.map +1 -1
- package/dist/src/cli/handlers/session-handlers.js +34 -0
- package/dist/src/cli/handlers/session-handlers.js.map +1 -0
- package/dist/src/cli/handlers-project.js.map +1 -1
- package/dist/src/cli/handlers-workflows.js +76 -13
- package/dist/src/cli/handlers-workflows.js.map +1 -1
- package/dist/src/cli/handlers.js +37 -36
- package/dist/src/cli/handlers.js.map +1 -1
- package/dist/src/cli/registry.js +7 -7
- package/dist/src/cli/registry.js.map +1 -1
- package/dist/src/core/chat-sessions.js +63 -0
- package/dist/src/core/chat-sessions.js.map +1 -0
- package/dist/src/core/compact.js +43 -11
- package/dist/src/core/compact.js.map +1 -1
- package/dist/src/core/config.js +9 -1
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/db.js +48 -15
- package/dist/src/core/db.js.map +1 -1
- package/dist/src/core/main-session.js +3 -2
- package/dist/src/core/main-session.js.map +1 -1
- package/dist/src/goal/heartbeat.js +88 -5
- package/dist/src/goal/heartbeat.js.map +1 -1
- package/dist/src/goal/store.js +38 -3
- package/dist/src/goal/store.js.map +1 -1
- package/dist/src/manager/lifecycle-store.js.map +1 -1
- package/dist/src/manager/lifecycle.js +45 -1
- package/dist/src/manager/lifecycle.js.map +1 -1
- package/dist/src/manager/preview-link-policy.js +11 -4
- package/dist/src/manager/preview-link-policy.js.map +1 -1
- package/dist/src/manager/server.js +25 -9
- package/dist/src/manager/server.js.map +1 -1
- package/dist/src/manager/shutdown.js +8 -3
- package/dist/src/manager/shutdown.js.map +1 -1
- package/dist/src/memory/indexing.js +49 -1
- package/dist/src/memory/indexing.js.map +1 -1
- package/dist/src/memory/runtime.js +2 -1
- package/dist/src/memory/runtime.js.map +1 -1
- package/dist/src/messaging/send.js +66 -7
- package/dist/src/messaging/send.js.map +1 -1
- package/dist/src/orchestrator/distribute.js +2 -2
- package/dist/src/orchestrator/gateway.js +4 -4
- package/dist/src/orchestrator/gateway.js.map +1 -1
- package/dist/src/orchestrator/pipeline.js +2 -1
- package/dist/src/orchestrator/pipeline.js.map +1 -1
- package/dist/src/orchestrator/sanitize.js +57 -7
- package/dist/src/orchestrator/sanitize.js.map +1 -1
- package/dist/src/orchestrator/state-machine.js +15 -8
- package/dist/src/orchestrator/state-machine.js.map +1 -1
- package/dist/src/prompt/builder.js +171 -86
- package/dist/src/prompt/builder.js.map +1 -1
- package/dist/src/prompt/templates/a1-system.md +94 -66
- package/dist/src/prompt/templates/employee.md +41 -59
- package/dist/src/prompt/templates/skills.md +6 -0
- package/dist/src/routes/browser.js +3 -3
- package/dist/src/routes/browser.js.map +1 -1
- package/dist/src/routes/goal.js +38 -2
- package/dist/src/routes/goal.js.map +1 -1
- package/dist/src/routes/messaging.js +8 -3
- package/dist/src/routes/messaging.js.map +1 -1
- package/dist/src/routes/orchestrate.js +3 -2
- package/dist/src/routes/orchestrate.js.map +1 -1
- package/dist/src/routes/quota-agy-reverse.js +6 -0
- package/dist/src/routes/quota-agy-reverse.js.map +1 -1
- package/dist/src/routes/quota.js +68 -6
- package/dist/src/routes/quota.js.map +1 -1
- package/dist/src/routes/settings.js +6 -6
- package/dist/src/routes/settings.js.map +1 -1
- package/dist/src/security/path-guards.js +0 -3
- package/dist/src/security/path-guards.js.map +1 -1
- package/dist/src/workflows/scope-sandbox.js +17 -5
- package/dist/src/workflows/scope-sandbox.js.map +1 -1
- package/package.json +1 -1
- package/public/css/chat.css +27 -0
- package/public/css/orc-state.css +10 -6
- package/public/css/variables.css +4 -0
- package/public/dist/assets/{Agent-DkH7eoHd.js → Agent-DBKNQ6tp.js} +1 -1
- package/public/dist/assets/{FolderPanel-DSkanaGN.js → FolderPanel-DT0fU8f2.js} +1 -1
- package/public/dist/assets/{Heartbeat-C3JS6gkF.js → Heartbeat-fsuLzY9c.js} +1 -1
- package/public/dist/assets/{Memory-C-EQubN2.js → Memory-CRR8kotI.js} +1 -1
- package/public/dist/assets/{ModelProvider-BD2KrypI.js → ModelProvider-DQgISbKw.js} +1 -1
- package/public/dist/assets/agent-meta-C4mauPL5.js +1 -0
- package/public/dist/assets/app-0OQhPpTG.css +1 -0
- package/public/dist/assets/app-CSqIyg9A.js +55 -0
- package/public/dist/assets/constants-BHMkzpN_.js +1 -0
- package/public/dist/assets/{employees-_A-p_bZg.js → employees-CZdWHH-r.js} +1 -1
- package/public/dist/assets/manager-CGTQ5EIm.js +12 -0
- package/public/dist/assets/manager-UBunDqMH.css +1 -0
- package/public/dist/assets/{memory-D9AUn8fG.js → memory-B3QSmj_e.js} +1 -1
- package/public/dist/assets/memory-DOBqiuPc.js +1 -0
- package/public/dist/assets/render-J11oxfnl.js +28 -0
- package/public/dist/assets/settings-BV_2Bh0_.js +1 -0
- package/public/dist/assets/settings-m_cim0ov.js +151 -0
- package/public/dist/assets/sidebar-ZBXdBgF7.js +49 -0
- package/public/dist/assets/{skills-BDVLIrVT.js → skills-CjaBmIPV.js} +1 -1
- package/public/dist/assets/skills-Xm3fl1zr.js +1 -0
- package/public/dist/assets/{slash-commands-C5da3q1p.js → slash-commands-71jc07Wf.js} +1 -1
- package/public/dist/assets/slash-commands-BO6ssnAz.js +1 -0
- package/public/dist/assets/{trace-drawer-5kqBzFMk.js → trace-drawer-Czvf2P2o.js} +1 -1
- package/public/dist/assets/ui-CverZJnd.js +1 -0
- package/public/dist/assets/ui-qKxy-4p9.js +142 -0
- package/public/dist/index.html +2 -2
- package/public/dist/manager/index.html +2 -2
- package/public/js/constants.ts +4 -4
- package/public/js/features/chat-messages.ts +13 -2
- package/public/js/features/chat.ts +86 -44
- package/public/js/features/media-lightbox.ts +40 -0
- package/public/js/features/pending-queue.ts +20 -2
- package/public/js/features/settings-cli-status-render.ts +2 -4
- package/public/js/features/settings-cli-status.ts +6 -2
- package/public/js/features/settings-types.ts +1 -0
- package/public/js/features/ui-status.ts +5 -1
- package/public/js/main.ts +2 -0
- package/public/js/render/markdown.ts +16 -0
- package/public/js/ui.ts +8 -4
- package/public/js/ws.ts +27 -16
- package/public/locales/en.json +1 -0
- package/public/locales/ja.json +1 -0
- package/public/locales/ko.json +1 -0
- package/public/locales/zh.json +1 -0
- package/public/manager/src/InstancePreview.tsx +21 -1
- package/public/manager/src/SidebarRailRouter.tsx +32 -4
- package/public/manager/src/components/InstanceRow.tsx +0 -1
- package/public/manager/src/components/WorkbenchHeader.tsx +17 -7
- package/public/manager/src/folder-panel/FolderPanel.tsx +13 -2
- package/public/manager/src/hooks/useElectronDroppedPaths.ts +89 -0
- package/public/manager/src/manager-components.css +34 -0
- package/public/manager/src/manager-polish.css +10 -0
- package/public/manager/src/panels/desktop-bridge.ts +11 -0
- package/public/manager/src/settings/pages/components/agent/agent-meta.ts +4 -4
- package/scripts/smoke/agy-transcript-tail-smoke.mjs +89 -0
- package/public/dist/assets/agent-meta-B1098B_a.js +0 -1
- package/public/dist/assets/app-ByHYOMZE.js +0 -48
- package/public/dist/assets/app-CYdhP6Vh.css +0 -1
- package/public/dist/assets/constants-s2UJodER.js +0 -1
- package/public/dist/assets/manager-B2qEQRxN.css +0 -1
- package/public/dist/assets/manager-CR9BA-wO.js +0 -12
- package/public/dist/assets/memory-D1RKYvyu.js +0 -1
- package/public/dist/assets/render-DFBujF8n.js +0 -28
- package/public/dist/assets/settings-B4ZkeaU-.js +0 -1
- package/public/dist/assets/settings-D9jTceN0.js +0 -151
- package/public/dist/assets/sidebar-DPPRNiTc.js +0 -48
- package/public/dist/assets/skills-8nHJkv-r.js +0 -1
- package/public/dist/assets/slash-commands-RJWO8wJZ.js +0 -1
- package/public/dist/assets/ui-Crnp79bG.js +0 -142
- package/public/dist/assets/ui-HtSKByR3.js +0 -1
- /package/public/dist/assets/{locale-DT1WRaeJ.js → locale-BHMJIzyw.js} +0 -0
- /package/public/dist/assets/{provider-icons-CVVK5xUP.js → provider-icons-Crv6yvlG.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-escalation.js","sourceRoot":"","sources":["../../../../src/browser/adaptive-fetch/browser-escalation.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"browser-escalation.js","sourceRoot":"","sources":["../../../../src/browser/adaptive-fetch/browser-escalation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +1,27 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
1
|
// Mirrored from agbrowse adaptive-fetch v2; keep runtime behavior aligned while cli-jaw mirror remains experimental.
|
|
3
2
|
export class BrowserRequiredError extends Error {
|
|
4
|
-
|
|
5
|
-
* @param {string} message
|
|
6
|
-
*/
|
|
3
|
+
code;
|
|
7
4
|
constructor(message) {
|
|
8
5
|
super(message);
|
|
9
6
|
this.name = 'BrowserRequiredError';
|
|
10
7
|
this.code = 'browser_required';
|
|
11
8
|
}
|
|
12
9
|
}
|
|
13
|
-
/**
|
|
14
|
-
* @param {{ browserDeps?: any, browserSession?: 'none'|'isolated'|'existing' }} [options]
|
|
15
|
-
*/
|
|
16
10
|
export async function getFetchBrowserPage(options = {}) {
|
|
17
11
|
const deps = options.browserDeps || {};
|
|
18
12
|
if (options.browserSession === 'none') {
|
|
19
13
|
throw new BrowserRequiredError('browser session mode is none');
|
|
20
14
|
}
|
|
21
15
|
if (options.browserSession === 'existing') {
|
|
22
|
-
if (typeof deps
|
|
16
|
+
if (typeof deps['getPage'] !== 'function')
|
|
23
17
|
throw new BrowserRequiredError('browser getPage dependency is unavailable');
|
|
24
|
-
return { page: await deps
|
|
18
|
+
return { page: await deps['getPage'](), cleanup: async () => undefined, isolated: false };
|
|
25
19
|
}
|
|
26
|
-
if (typeof deps
|
|
27
|
-
return deps
|
|
20
|
+
if (typeof deps['createIsolatedPage'] === 'function') {
|
|
21
|
+
return deps['createIsolatedPage']();
|
|
28
22
|
}
|
|
29
23
|
throw new BrowserRequiredError('isolated browser page dependency is unavailable');
|
|
30
24
|
}
|
|
31
|
-
/**
|
|
32
|
-
* @param {{ cleanup?: () => Promise<void>|void }} pageRef
|
|
33
|
-
*/
|
|
34
25
|
export async function closeFetchBrowserPage(pageRef) {
|
|
35
26
|
if (typeof pageRef?.cleanup === 'function')
|
|
36
27
|
await pageRef.cleanup();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-runtime.js","sourceRoot":"","sources":["../../../../src/browser/adaptive-fetch/browser-runtime.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"browser-runtime.js","sourceRoot":"","sources":["../../../../src/browser/adaptive-fetch/browser-runtime.ts"],"names":[],"mappings":"AAAA,qHAAqH;AAErH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC3C,IAAI,CAAS;IACb,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACnC,CAAC;CACJ;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,UAAwG,EAAE;IAChJ,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;IACvC,IAAI,OAAO,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;QACpC,MAAM,IAAI,oBAAoB,CAAC,8BAA8B,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;QACxC,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,UAAU;YAAE,MAAM,IAAI,oBAAoB,CAAC,2CAA2C,CAAC,CAAC;QACvH,OAAO,EAAE,IAAI,EAAE,MAAO,IAAI,CAAC,SAAS,CAA4B,EAAE,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC1H,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,UAAU,EAAE,CAAC;QACnD,OAAQ,IAAI,CAAC,oBAAoB,CAAuF,EAAE,CAAC;IAC/H,CAAC;IACD,MAAM,IAAI,oBAAoB,CAAC,iDAAiD,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAiD;IACzF,IAAI,OAAO,OAAO,EAAE,OAAO,KAAK,UAAU;QAAE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;AACxE,CAAC"}
|
|
@@ -1,20 +1,10 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
1
|
// Mirrored from agbrowse adaptive-fetch v2; keep runtime behavior aligned while cli-jaw mirror remains experimental.
|
|
3
2
|
import { getFetchBrowserPage, closeFetchBrowserPage } from './browser-runtime.js';
|
|
4
3
|
import { validateFetchUrl } from './safety.js';
|
|
5
|
-
/**
|
|
6
|
-
* @param {{ browserDeps?: any }} [options]
|
|
7
|
-
* @returns {boolean}
|
|
8
|
-
*/
|
|
9
4
|
export function isUserSessionAvailable(options = {}) {
|
|
10
|
-
const deps = options?.browserDeps || {};
|
|
11
|
-
return typeof deps
|
|
5
|
+
const deps = (options?.browserDeps || {});
|
|
6
|
+
return typeof deps['getPage'] === 'function';
|
|
12
7
|
}
|
|
13
|
-
/**
|
|
14
|
-
* @param {any[]} candidates
|
|
15
|
-
* @param {{ browserSession?: string, browserSessionRaw?: string, browserDeps?: any }} options
|
|
16
|
-
* @returns {boolean|'prompt'}
|
|
17
|
-
*/
|
|
18
8
|
export function shouldTryUserSession(candidates, options) {
|
|
19
9
|
const rawSession = options.browserSessionRaw || options.browserSession;
|
|
20
10
|
if (rawSession === 'user' || rawSession === 'interactive')
|
|
@@ -26,39 +16,35 @@ export function shouldTryUserSession(candidates, options) {
|
|
|
26
16
|
return 'prompt';
|
|
27
17
|
return false;
|
|
28
18
|
}
|
|
29
|
-
/**
|
|
30
|
-
* @param {string} url
|
|
31
|
-
* @param {{ browserDeps?: any, timeoutMs?: number, selector?: string|null, allowPrivateNetwork?: boolean }} options
|
|
32
|
-
* @returns {Promise<{ source: string, finalUrl: string, title: string, text: string, contentType: string, status: number, ok: boolean, session: string, evidence: string[], warnings: string[], safetyFlags: string[] }>}
|
|
33
|
-
*/
|
|
34
19
|
export async function navigateInUserSession(url, options) {
|
|
35
20
|
const pageRef = await getFetchBrowserPage({
|
|
36
|
-
browserDeps: options.browserDeps,
|
|
21
|
+
...(options.browserDeps != null ? { browserDeps: options.browserDeps } : {}),
|
|
37
22
|
browserSession: 'existing',
|
|
38
23
|
});
|
|
39
24
|
try {
|
|
40
25
|
const page = pageRef.page;
|
|
41
26
|
let navStatus = 200;
|
|
42
27
|
let navOk = true;
|
|
43
|
-
if (typeof page
|
|
44
|
-
const response = await page
|
|
28
|
+
if (typeof page['goto'] === 'function') {
|
|
29
|
+
const response = await page['goto'](url, { waitUntil: 'networkidle', timeout: options.timeoutMs || 15000 });
|
|
45
30
|
if (response) {
|
|
46
|
-
navStatus = typeof response
|
|
31
|
+
navStatus = typeof response['status'] === 'function' ? response['status']() : (response['status'] || 200);
|
|
47
32
|
navOk = navStatus >= 200 && navStatus < 400;
|
|
48
33
|
}
|
|
49
34
|
}
|
|
50
|
-
const title = typeof page
|
|
35
|
+
const title = typeof page['title'] === 'function' ? await page['title']() : '';
|
|
51
36
|
let text = '';
|
|
52
|
-
if (options.selector && typeof page
|
|
53
|
-
|
|
37
|
+
if (options.selector && typeof page['locator'] === 'function') {
|
|
38
|
+
const locator = page['locator'](options.selector);
|
|
39
|
+
text = await locator.first().innerText({ timeout: 2000 }).catch(() => '');
|
|
54
40
|
}
|
|
55
|
-
else if (typeof page
|
|
56
|
-
text = await page
|
|
41
|
+
else if (typeof page['evaluate'] === 'function') {
|
|
42
|
+
text = await page['evaluate'](() => document.body?.innerText || '');
|
|
57
43
|
}
|
|
58
|
-
const finalUrl = typeof page
|
|
44
|
+
const finalUrl = typeof page['url'] === 'function' ? page['url']() : url;
|
|
59
45
|
const warnings = [];
|
|
60
46
|
try {
|
|
61
|
-
validateFetchUrl(finalUrl, { allowPrivateNetwork: options.allowPrivateNetwork });
|
|
47
|
+
validateFetchUrl(finalUrl, options.allowPrivateNetwork != null ? { allowPrivateNetwork: options.allowPrivateNetwork } : {});
|
|
62
48
|
}
|
|
63
49
|
catch {
|
|
64
50
|
warnings.push('user-session-redirected-to-private-url');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-session.js","sourceRoot":"","sources":["../../../../src/browser/adaptive-fetch/browser-session.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"browser-session.js","sourceRoot":"","sources":["../../../../src/browser/adaptive-fetch/browser-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
1
|
// Mirrored from agbrowse adaptive-fetch v2; keep runtime behavior aligned while cli-jaw mirror remains experimental.
|
|
3
2
|
import { findBoundaryMarkers } from './validators.js';
|
|
4
3
|
import { WAF_PROFILES, scoreProfile } from './waf-profiles.js';
|
|
5
|
-
/**
|
|
6
|
-
* @param {{ url?: string, status?: number, text?: string, title?: string }} input
|
|
7
|
-
*/
|
|
8
4
|
export function detectChallengeMarkers(input = {}) {
|
|
9
5
|
return findBoundaryMarkers(`${input.url || ''}\n${input.status || ''}\n${input.title || ''}\n${input.text || ''}`);
|
|
10
6
|
}
|
|
11
|
-
/**
|
|
12
|
-
* @param {{ kind: string }[]} markers
|
|
13
|
-
*/
|
|
14
7
|
export function classifyAccessBoundary(markers = []) {
|
|
15
8
|
if (markers.some(marker => marker.kind === 'auth'))
|
|
16
9
|
return 'auth_required';
|
|
@@ -20,9 +13,6 @@ export function classifyAccessBoundary(markers = []) {
|
|
|
20
13
|
return 'challenge';
|
|
21
14
|
return null;
|
|
22
15
|
}
|
|
23
|
-
/**
|
|
24
|
-
* @param {{ status?: number, headers?: Record<string, string>, body?: string, cookies?: string[] }} response
|
|
25
|
-
*/
|
|
26
16
|
export function detectWafChallenge(response) {
|
|
27
17
|
const signals = {
|
|
28
18
|
cookies: response.cookies || parseCookieNames(response.headers || {}),
|
|
@@ -31,8 +21,8 @@ export function detectWafChallenge(response) {
|
|
|
31
21
|
status: response.status || 0,
|
|
32
22
|
};
|
|
33
23
|
const matches = WAF_PROFILES
|
|
34
|
-
.map(p => ({ profile: p, score: scoreProfile(p, signals) }))
|
|
35
|
-
.filter(m => m.score > 0)
|
|
24
|
+
.map((p) => ({ profile: p, score: scoreProfile(p, signals) }))
|
|
25
|
+
.filter((m) => m.score > 0)
|
|
36
26
|
.sort((a, b) => b.score - a.score);
|
|
37
27
|
return {
|
|
38
28
|
detected: matches.length > 0,
|
|
@@ -41,25 +31,16 @@ export function detectWafChallenge(response) {
|
|
|
41
31
|
signals: { cookieCount: signals.cookies.length, status: signals.status },
|
|
42
32
|
};
|
|
43
33
|
}
|
|
44
|
-
/**
|
|
45
|
-
* @param {string} text
|
|
46
|
-
*/
|
|
47
34
|
export function detectLoginWall(text) {
|
|
48
35
|
const markers = findBoundaryMarkers(text);
|
|
49
36
|
const authMarkers = markers.filter(m => m.kind === 'auth');
|
|
50
37
|
return { detected: authMarkers.length > 0, markers: authMarkers };
|
|
51
38
|
}
|
|
52
|
-
/**
|
|
53
|
-
* @param {string} text
|
|
54
|
-
*/
|
|
55
39
|
export function detectPaywall(text) {
|
|
56
40
|
const markers = findBoundaryMarkers(text);
|
|
57
41
|
const paywallMarkers = markers.filter(m => m.kind === 'paywall');
|
|
58
42
|
return { detected: paywallMarkers.length > 0, markers: paywallMarkers };
|
|
59
43
|
}
|
|
60
|
-
/**
|
|
61
|
-
* @param {{ status?: number, headers?: Record<string, string>, body?: string, cookies?: string[] }} response
|
|
62
|
-
*/
|
|
63
44
|
export function classifyChallengeType(response) {
|
|
64
45
|
const waf = detectWafChallenge(response);
|
|
65
46
|
const textContent = (response.body || '').substring(0, 50000);
|
|
@@ -68,14 +49,11 @@ export function classifyChallengeType(response) {
|
|
|
68
49
|
if (waf.detected)
|
|
69
50
|
return { type: 'challenge', ...waf };
|
|
70
51
|
if (login.detected)
|
|
71
|
-
return { type:
|
|
52
|
+
return { type: 'auth_required', ...login };
|
|
72
53
|
if (paywall.detected)
|
|
73
|
-
return { type:
|
|
54
|
+
return { type: 'paywall', ...paywall };
|
|
74
55
|
return { type: null };
|
|
75
56
|
}
|
|
76
|
-
/**
|
|
77
|
-
* @param {Record<string, string>} headers
|
|
78
|
-
*/
|
|
79
57
|
function parseCookieNames(headers) {
|
|
80
58
|
const setCookie = headers['set-cookie'] || headers['Set-Cookie'] || '';
|
|
81
59
|
if (!setCookie)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"challenge-detector.js","sourceRoot":"","sources":["../../../../src/browser/adaptive-fetch/challenge-detector.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"challenge-detector.js","sourceRoot":"","sources":["../../../../src/browser/adaptive-fetch/challenge-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
1
|
// Mirrored from agbrowse adaptive-fetch v2; keep runtime behavior aligned while cli-jaw mirror remains experimental.
|
|
3
2
|
import { classifyBoundarySignals, findBoundaryMarkers } from './validators.js';
|
|
4
3
|
const SOURCE_TRUST = {
|
|
@@ -10,10 +9,6 @@ const SOURCE_TRUST = {
|
|
|
10
9
|
third_party_reader: 5,
|
|
11
10
|
reader: 4,
|
|
12
11
|
};
|
|
13
|
-
/**
|
|
14
|
-
* @param {any} candidate
|
|
15
|
-
* @param {{ minStrongScore?: number, minWeakScore?: number }} [options]
|
|
16
|
-
*/
|
|
17
12
|
export function scoreReaderCandidate(candidate, options = {}) {
|
|
18
13
|
const text = String(candidate.text || '');
|
|
19
14
|
const title = String(candidate.title || '');
|
|
@@ -72,19 +67,11 @@ export function scoreReaderCandidate(candidate, options = {}) {
|
|
|
72
67
|
evidence: buildScoreEvidence(candidate, { score, textLength, density, metadataEvidence, markers }),
|
|
73
68
|
};
|
|
74
69
|
}
|
|
75
|
-
/**
|
|
76
|
-
* @param {any[]} candidates
|
|
77
|
-
* @param {Record<string, unknown>} [options]
|
|
78
|
-
*/
|
|
79
70
|
export function chooseBestReaderCandidate(candidates = [], options = {}) {
|
|
80
71
|
const scored = candidates.map(candidate => scoreReaderCandidate(candidate, options));
|
|
81
72
|
scored.sort((a, b) => b.score - a.score);
|
|
82
73
|
return scored[0] || null;
|
|
83
74
|
}
|
|
84
|
-
/**
|
|
85
|
-
* @param {{ score: number, markers?: any[], textLength?: number }} scored
|
|
86
|
-
* @param {{ minStrongScore?: number, minWeakScore?: number }} [options]
|
|
87
|
-
*/
|
|
88
75
|
export function verdictFromScore(scored, options = {}) {
|
|
89
76
|
const minStrongScore = Number(options.minStrongScore || 50);
|
|
90
77
|
const minWeakScore = Number(options.minWeakScore || 20);
|
|
@@ -102,34 +89,23 @@ export function verdictFromScore(scored, options = {}) {
|
|
|
102
89
|
return 'weak_ok';
|
|
103
90
|
return 'blocked';
|
|
104
91
|
}
|
|
105
|
-
/**
|
|
106
|
-
* @param {string} text
|
|
107
|
-
* @param {number} rawLength
|
|
108
|
-
*/
|
|
109
92
|
function computeTextDensity(text, rawLength) {
|
|
110
93
|
if (!rawLength || rawLength <= 0)
|
|
111
94
|
return text.length > 0 ? 1 : 0;
|
|
112
95
|
return Math.max(0, Math.min(1, text.length / rawLength));
|
|
113
96
|
}
|
|
114
|
-
/**
|
|
115
|
-
* @param {any} metadata
|
|
116
|
-
*/
|
|
117
97
|
function countMetadataEvidence(metadata) {
|
|
118
98
|
let count = 0;
|
|
119
|
-
if (metadata
|
|
99
|
+
if (metadata['canonicalUrl'])
|
|
120
100
|
count += 1;
|
|
121
|
-
if (metadata
|
|
101
|
+
if (metadata['description'])
|
|
122
102
|
count += 1;
|
|
123
|
-
if (metadata
|
|
103
|
+
if (metadata['openGraph'] && typeof metadata['openGraph'] === 'object' && Object.keys(metadata['openGraph']).length > 0)
|
|
124
104
|
count += 1;
|
|
125
|
-
if (Array.isArray(metadata
|
|
105
|
+
if (Array.isArray(metadata['jsonLd']) && metadata['jsonLd'].length > 0)
|
|
126
106
|
count += 1;
|
|
127
107
|
return count;
|
|
128
108
|
}
|
|
129
|
-
/**
|
|
130
|
-
* @param {any} candidate
|
|
131
|
-
* @param {{ score: number, textLength: number, density: number, metadataEvidence: number, markers: any[], extra?: any[] }} scored
|
|
132
|
-
*/
|
|
133
109
|
function buildScoreEvidence(candidate, scored) {
|
|
134
110
|
return [
|
|
135
111
|
`score:${scored.score}`,
|
|
@@ -140,6 +116,6 @@ function buildScoreEvidence(candidate, scored) {
|
|
|
140
116
|
...scored.markers.map(marker => `marker:${marker.kind}`),
|
|
141
117
|
...(scored.extra || []),
|
|
142
118
|
...(candidate.evidence || []),
|
|
143
|
-
].filter(
|
|
119
|
+
].filter((v) => v != null);
|
|
144
120
|
}
|
|
145
121
|
//# sourceMappingURL=content-scorer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-scorer.js","sourceRoot":"","sources":["../../../../src/browser/adaptive-fetch/content-scorer.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"content-scorer.js","sourceRoot":"","sources":["../../../../src/browser/adaptive-fetch/content-scorer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
1
|
// Mirrored from agbrowse adaptive-fetch v2; keep runtime behavior aligned while cli-jaw mirror remains experimental.
|
|
3
|
-
/**
|
|
4
|
-
* @param {string|URL} rawUrl
|
|
5
|
-
*/
|
|
6
2
|
export function resolvePublicEndpointCandidates(rawUrl) {
|
|
7
3
|
const url = rawUrl instanceof URL ? rawUrl : new URL(String(rawUrl));
|
|
8
4
|
return [
|
|
@@ -25,9 +21,6 @@ export function resolvePublicEndpointCandidates(rawUrl) {
|
|
|
25
21
|
...lobstersCandidates(url),
|
|
26
22
|
];
|
|
27
23
|
}
|
|
28
|
-
/**
|
|
29
|
-
* @param {URL} url
|
|
30
|
-
*/
|
|
31
24
|
function githubCandidates(url) {
|
|
32
25
|
if (url.hostname !== 'github.com')
|
|
33
26
|
return [];
|
|
@@ -49,9 +42,6 @@ function githubCandidates(url) {
|
|
|
49
42
|
}
|
|
50
43
|
return [];
|
|
51
44
|
}
|
|
52
|
-
/**
|
|
53
|
-
* @param {URL} url
|
|
54
|
-
*/
|
|
55
45
|
function redditCandidates(url) {
|
|
56
46
|
if (!/(^|\.)reddit\.com$/i.test(url.hostname))
|
|
57
47
|
return [];
|
|
@@ -61,9 +51,6 @@ function redditCandidates(url) {
|
|
|
61
51
|
clone.pathname = clone.pathname.replace(/\/?$/, '.json');
|
|
62
52
|
return [{ label: 'reddit-json', url: clone.href, source: 'public_endpoint' }];
|
|
63
53
|
}
|
|
64
|
-
/**
|
|
65
|
-
* @param {URL} url
|
|
66
|
-
*/
|
|
67
54
|
function hackerNewsCandidates(url) {
|
|
68
55
|
if (url.hostname !== 'news.ycombinator.com')
|
|
69
56
|
return [];
|
|
@@ -83,9 +70,6 @@ function hackerNewsCandidates(url) {
|
|
|
83
70
|
},
|
|
84
71
|
];
|
|
85
72
|
}
|
|
86
|
-
/**
|
|
87
|
-
* @param {URL} url
|
|
88
|
-
*/
|
|
89
73
|
function wikipediaCandidates(url) {
|
|
90
74
|
const match = url.hostname.match(/^([a-z-]+)\.wikipedia\.org$/i);
|
|
91
75
|
if (!match)
|
|
@@ -99,9 +83,6 @@ function wikipediaCandidates(url) {
|
|
|
99
83
|
source: 'public_endpoint',
|
|
100
84
|
}];
|
|
101
85
|
}
|
|
102
|
-
/**
|
|
103
|
-
* @param {URL} url
|
|
104
|
-
*/
|
|
105
86
|
function registryCandidates(url) {
|
|
106
87
|
const parts = url.pathname.split('/').filter(Boolean);
|
|
107
88
|
if (url.hostname === 'www.npmjs.com' && parts[0] === 'package' && parts[1]) {
|
|
@@ -140,9 +121,6 @@ function registryCandidates(url) {
|
|
|
140
121
|
}
|
|
141
122
|
return [];
|
|
142
123
|
}
|
|
143
|
-
/**
|
|
144
|
-
* @param {URL} url
|
|
145
|
-
*/
|
|
146
124
|
function arxivCandidates(url) {
|
|
147
125
|
if (url.hostname !== 'arxiv.org')
|
|
148
126
|
return [];
|
|
@@ -151,9 +129,6 @@ function arxivCandidates(url) {
|
|
|
151
129
|
return [];
|
|
152
130
|
return [{ label: 'arxiv-api', url: `https://export.arxiv.org/api/query?id_list=${encodeURIComponent(parts[1])}`, source: 'public_endpoint' }];
|
|
153
131
|
}
|
|
154
|
-
/**
|
|
155
|
-
* @param {URL} url
|
|
156
|
-
*/
|
|
157
132
|
function blueskyCandidates(url) {
|
|
158
133
|
if (url.hostname !== 'bsky.app')
|
|
159
134
|
return [];
|
|
@@ -175,9 +150,6 @@ function blueskyCandidates(url) {
|
|
|
175
150
|
source: 'public_endpoint',
|
|
176
151
|
}];
|
|
177
152
|
}
|
|
178
|
-
/**
|
|
179
|
-
* @param {URL} url
|
|
180
|
-
*/
|
|
181
153
|
function mastodonCandidates(url) {
|
|
182
154
|
const parts = url.pathname.split('/').filter(Boolean);
|
|
183
155
|
const statusMatch = parts.length >= 2 && parts[0].startsWith('@') && /^\d+$/.test(parts[1]);
|
|
@@ -197,9 +169,6 @@ function mastodonCandidates(url) {
|
|
|
197
169
|
}
|
|
198
170
|
return [];
|
|
199
171
|
}
|
|
200
|
-
/**
|
|
201
|
-
* @param {URL} url
|
|
202
|
-
*/
|
|
203
172
|
function stackExchangeCandidates(url) {
|
|
204
173
|
const site = stackExchangeSite(url.hostname);
|
|
205
174
|
if (!site)
|
|
@@ -213,9 +182,6 @@ function stackExchangeCandidates(url) {
|
|
|
213
182
|
source: 'public_endpoint',
|
|
214
183
|
}];
|
|
215
184
|
}
|
|
216
|
-
/**
|
|
217
|
-
* @param {string} hostname
|
|
218
|
-
*/
|
|
219
185
|
function stackExchangeSite(hostname) {
|
|
220
186
|
if (hostname === 'stackoverflow.com' || hostname === 'www.stackoverflow.com')
|
|
221
187
|
return 'stackoverflow';
|
|
@@ -228,9 +194,6 @@ function stackExchangeSite(hostname) {
|
|
|
228
194
|
const match = hostname.match(/^([a-z0-9-]+)\.stackexchange\.com$/i);
|
|
229
195
|
return match ? match[1] : '';
|
|
230
196
|
}
|
|
231
|
-
/**
|
|
232
|
-
* @param {URL} url
|
|
233
|
-
*/
|
|
234
197
|
function devToCandidates(url) {
|
|
235
198
|
if (!['dev.to', 'www.dev.to'].includes(url.hostname))
|
|
236
199
|
return [];
|
|
@@ -243,9 +206,6 @@ function devToCandidates(url) {
|
|
|
243
206
|
source: 'public_endpoint',
|
|
244
207
|
}];
|
|
245
208
|
}
|
|
246
|
-
/**
|
|
247
|
-
* @param {URL} url
|
|
248
|
-
*/
|
|
249
209
|
function crossRefCandidates(url) {
|
|
250
210
|
const doi = doiFromUrl(url);
|
|
251
211
|
if (!doi)
|
|
@@ -256,18 +216,12 @@ function crossRefCandidates(url) {
|
|
|
256
216
|
source: 'public_endpoint',
|
|
257
217
|
}];
|
|
258
218
|
}
|
|
259
|
-
/**
|
|
260
|
-
* @param {URL} url
|
|
261
|
-
*/
|
|
262
219
|
function doiFromUrl(url) {
|
|
263
220
|
if (!['doi.org', 'www.doi.org', 'dx.doi.org'].includes(url.hostname))
|
|
264
221
|
return '';
|
|
265
222
|
const doi = decodeURIComponent(url.pathname.replace(/^\/+/, ''));
|
|
266
223
|
return /^10\.\d{4,9}\//i.test(doi) ? doi : '';
|
|
267
224
|
}
|
|
268
|
-
/**
|
|
269
|
-
* @param {URL} url
|
|
270
|
-
*/
|
|
271
225
|
function openLibraryCandidates(url) {
|
|
272
226
|
if (url.hostname !== 'openlibrary.org')
|
|
273
227
|
return [];
|
|
@@ -281,9 +235,6 @@ function openLibraryCandidates(url) {
|
|
|
281
235
|
}
|
|
282
236
|
return [];
|
|
283
237
|
}
|
|
284
|
-
/**
|
|
285
|
-
* @param {URL} url
|
|
286
|
-
*/
|
|
287
238
|
function waybackCandidates(url) {
|
|
288
239
|
if (url.hostname !== 'web.archive.org')
|
|
289
240
|
return [];
|
|
@@ -302,9 +253,6 @@ function waybackCandidates(url) {
|
|
|
302
253
|
source: 'public_endpoint',
|
|
303
254
|
}];
|
|
304
255
|
}
|
|
305
|
-
/**
|
|
306
|
-
* @param {URL} url
|
|
307
|
-
*/
|
|
308
256
|
function youtubeCandidates(url) {
|
|
309
257
|
const videoUrl = youtubeVideoUrl(url);
|
|
310
258
|
if (!videoUrl)
|
|
@@ -315,9 +263,6 @@ function youtubeCandidates(url) {
|
|
|
315
263
|
source: 'public_endpoint',
|
|
316
264
|
}];
|
|
317
265
|
}
|
|
318
|
-
/**
|
|
319
|
-
* @param {URL} url
|
|
320
|
-
*/
|
|
321
266
|
function youtubeVideoUrl(url) {
|
|
322
267
|
if (url.hostname === 'youtu.be') {
|
|
323
268
|
const id = url.pathname.split('/').filter(Boolean)[0];
|
|
@@ -328,9 +273,6 @@ function youtubeVideoUrl(url) {
|
|
|
328
273
|
const id = url.searchParams.get('v');
|
|
329
274
|
return id ? `https://www.youtube.com/watch?v=${encodeURIComponent(id)}` : '';
|
|
330
275
|
}
|
|
331
|
-
/**
|
|
332
|
-
* @param {URL} url
|
|
333
|
-
*/
|
|
334
276
|
function xTwitterCandidates(url) {
|
|
335
277
|
const hostname = url.hostname.replace(/^www\./, '');
|
|
336
278
|
if (!['x.com', 'twitter.com'].includes(hostname))
|
|
@@ -344,9 +286,6 @@ function xTwitterCandidates(url) {
|
|
|
344
286
|
source: 'public_endpoint',
|
|
345
287
|
}];
|
|
346
288
|
}
|
|
347
|
-
/**
|
|
348
|
-
* @param {URL} url
|
|
349
|
-
*/
|
|
350
289
|
function v2exCandidates(url) {
|
|
351
290
|
if (!['v2ex.com', 'www.v2ex.com'].includes(url.hostname))
|
|
352
291
|
return [];
|
|
@@ -359,9 +298,6 @@ function v2exCandidates(url) {
|
|
|
359
298
|
source: 'public_endpoint',
|
|
360
299
|
}];
|
|
361
300
|
}
|
|
362
|
-
/**
|
|
363
|
-
* @param {URL} url
|
|
364
|
-
*/
|
|
365
301
|
function lobstersCandidates(url) {
|
|
366
302
|
if (!['lobste.rs', 'www.lobste.rs'].includes(url.hostname))
|
|
367
303
|
return [];
|