artemys 0.2.0 → 0.2.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.
- package/CHANGELOG.md +23 -0
- package/README.md +194 -146
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +446 -379
- package/dist/cli/index.js.map +1 -1
- package/dist/coffeeshop/client.d.ts +158 -0
- package/dist/coffeeshop/client.d.ts.map +1 -0
- package/dist/coffeeshop/client.js +293 -0
- package/dist/coffeeshop/client.js.map +1 -0
- package/dist/coffeeshop/index.d.ts +2 -0
- package/dist/coffeeshop/index.d.ts.map +1 -0
- package/dist/coffeeshop/index.js +2 -0
- package/dist/coffeeshop/index.js.map +1 -0
- package/dist/discovery/agent-card.schema.d.ts +37 -109
- package/dist/discovery/agent-card.schema.d.ts.map +1 -1
- package/dist/discovery/discovery-query.schema.d.ts +6 -15
- package/dist/discovery/discovery-query.schema.d.ts.map +1 -1
- package/dist/discovery/index.d.ts +1 -1
- package/dist/discovery/index.d.ts.map +1 -1
- package/dist/discovery/index.js +1 -1
- package/dist/discovery/index.js.map +1 -1
- package/dist/discovery/intro-decision.schema.d.ts +9 -11
- package/dist/discovery/intro-decision.schema.d.ts.map +1 -1
- package/dist/discovery/intro-request.schema.d.ts +2 -14
- package/dist/discovery/intro-request.schema.d.ts.map +1 -1
- package/dist/discovery/session-bootstrap.schema.d.ts +86 -66
- package/dist/discovery/session-bootstrap.schema.d.ts.map +1 -1
- package/dist/discovery/session-bootstrap.schema.js +84 -8
- package/dist/discovery/session-bootstrap.schema.js.map +1 -1
- package/dist/mcp-server/index.d.ts +4 -0
- package/dist/mcp-server/index.d.ts.map +1 -0
- package/dist/mcp-server/index.js +4 -0
- package/dist/mcp-server/index.js.map +1 -0
- package/dist/mcp-server/persistence.d.ts +37 -0
- package/dist/mcp-server/persistence.d.ts.map +1 -0
- package/dist/mcp-server/persistence.js +309 -0
- package/dist/mcp-server/persistence.js.map +1 -0
- package/dist/mcp-server/resources.d.ts +20 -0
- package/dist/mcp-server/resources.d.ts.map +1 -0
- package/dist/mcp-server/resources.js +49 -0
- package/dist/mcp-server/resources.js.map +1 -0
- package/dist/mcp-server/server.d.ts +33 -0
- package/dist/mcp-server/server.d.ts.map +1 -0
- package/dist/mcp-server/server.js +220 -0
- package/dist/mcp-server/server.js.map +1 -0
- package/dist/mcp-server/state.d.ts +43 -0
- package/dist/mcp-server/state.d.ts.map +1 -0
- package/dist/mcp-server/state.js +111 -0
- package/dist/mcp-server/state.js.map +1 -0
- package/dist/mcp-server/tools/common.d.ts +225 -0
- package/dist/mcp-server/tools/common.d.ts.map +1 -0
- package/dist/mcp-server/tools/common.js +11 -0
- package/dist/mcp-server/tools/common.js.map +1 -0
- package/dist/mcp-server/tools/discovery.d.ts +3 -0
- package/dist/mcp-server/tools/discovery.d.ts.map +1 -0
- package/dist/mcp-server/tools/discovery.js +48 -0
- package/dist/mcp-server/tools/discovery.js.map +1 -0
- package/dist/mcp-server/tools/index.d.ts +4 -0
- package/dist/mcp-server/tools/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/index.js +13 -0
- package/dist/mcp-server/tools/index.js.map +1 -0
- package/dist/mcp-server/tools/intro.d.ts +3 -0
- package/dist/mcp-server/tools/intro.d.ts.map +1 -0
- package/dist/mcp-server/tools/intro.js +53 -0
- package/dist/mcp-server/tools/intro.js.map +1 -0
- package/dist/mcp-server/tools/protocol.d.ts +3 -0
- package/dist/mcp-server/tools/protocol.d.ts.map +1 -0
- package/dist/mcp-server/tools/protocol.js +73 -0
- package/dist/mcp-server/tools/protocol.js.map +1 -0
- package/dist/mcp-server/tools/talent.d.ts +3 -0
- package/dist/mcp-server/tools/talent.d.ts.map +1 -0
- package/dist/mcp-server/tools/talent.js +226 -0
- package/dist/mcp-server/tools/talent.js.map +1 -0
- package/dist/openclaw/index.d.ts +2 -0
- package/dist/openclaw/index.d.ts.map +1 -0
- package/dist/openclaw/index.js +2 -0
- package/dist/openclaw/index.js.map +1 -0
- package/dist/openclaw/skill.d.ts +13 -0
- package/dist/openclaw/skill.d.ts.map +1 -0
- package/dist/openclaw/skill.js +18 -0
- package/dist/openclaw/skill.js.map +1 -0
- package/dist/protocol/consent.schema.d.ts +18 -48
- package/dist/protocol/consent.schema.d.ts.map +1 -1
- package/dist/protocol/consent.schema.js +1 -1
- package/dist/protocol/consent.schema.js.map +1 -1
- package/dist/protocol/dialogue.schema.d.ts +21 -177
- package/dist/protocol/dialogue.schema.d.ts.map +1 -1
- package/dist/protocol/envelope.schema.d.ts +46 -28
- package/dist/protocol/envelope.schema.d.ts.map +1 -1
- package/dist/protocol/errors.d.ts +8 -1
- package/dist/protocol/errors.d.ts.map +1 -1
- package/dist/protocol/handshake.schema.d.ts +130 -385
- package/dist/protocol/handshake.schema.d.ts.map +1 -1
- package/dist/protocol/handshake.schema.js +1 -0
- package/dist/protocol/handshake.schema.js.map +1 -1
- package/dist/protocol/identity.schema.d.ts +44 -94
- package/dist/protocol/identity.schema.d.ts.map +1 -1
- package/dist/protocol/index.d.ts +1 -0
- package/dist/protocol/index.d.ts.map +1 -1
- package/dist/protocol/index.js +1 -0
- package/dist/protocol/index.js.map +1 -1
- package/dist/protocol/message-types.d.ts +14 -1
- package/dist/protocol/message-types.d.ts.map +1 -1
- package/dist/protocol/message.schema.d.ts +100 -715
- package/dist/protocol/message.schema.d.ts.map +1 -1
- package/dist/protocol/resolution.schema.d.ts +22 -268
- package/dist/protocol/resolution.schema.d.ts.map +1 -1
- package/dist/protocol/resolution.schema.js +1 -1
- package/dist/protocol/resolution.schema.js.map +1 -1
- package/dist/protocol/state-machine.d.ts +10 -1
- package/dist/protocol/state-machine.d.ts.map +1 -1
- package/dist/protocol/talent.schema.d.ts +106 -0
- package/dist/protocol/talent.schema.d.ts.map +1 -0
- package/dist/protocol/talent.schema.js +47 -0
- package/dist/protocol/talent.schema.js.map +1 -0
- package/dist/protocol/transport.schema.d.ts +16 -18
- package/dist/protocol/transport.schema.d.ts.map +1 -1
- package/dist/transport/client.d.ts +32 -0
- package/dist/transport/client.d.ts.map +1 -0
- package/dist/transport/client.js +155 -0
- package/dist/transport/client.js.map +1 -0
- package/dist/transport/dedup.d.ts +9 -0
- package/dist/transport/dedup.d.ts.map +1 -0
- package/dist/transport/dedup.js +36 -0
- package/dist/transport/dedup.js.map +1 -0
- package/dist/transport/handler.d.ts +9 -0
- package/dist/transport/handler.d.ts.map +1 -0
- package/dist/transport/handler.js +105 -0
- package/dist/transport/handler.js.map +1 -0
- package/dist/transport/hmac.d.ts +3 -0
- package/dist/transport/hmac.d.ts.map +1 -0
- package/dist/transport/hmac.js +43 -0
- package/dist/transport/hmac.js.map +1 -0
- package/dist/transport/index.d.ts +6 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/index.js +6 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/transport/reference-runner.d.ts +37 -0
- package/dist/transport/reference-runner.d.ts.map +1 -0
- package/dist/transport/reference-runner.js +372 -0
- package/dist/transport/reference-runner.js.map +1 -0
- package/package.json +19 -31
- package/dist/agent/archiver.d.ts +0 -8
- package/dist/agent/archiver.d.ts.map +0 -1
- package/dist/agent/archiver.js +0 -48
- package/dist/agent/archiver.js.map +0 -1
- package/dist/agent/capabilities.d.ts +0 -23
- package/dist/agent/capabilities.d.ts.map +0 -1
- package/dist/agent/capabilities.js +0 -87
- package/dist/agent/capabilities.js.map +0 -1
- package/dist/agent/config.d.ts +0 -60
- package/dist/agent/config.d.ts.map +0 -1
- package/dist/agent/config.js +0 -84
- package/dist/agent/config.js.map +0 -1
- package/dist/agent/context-provider.d.ts +0 -12
- package/dist/agent/context-provider.d.ts.map +0 -1
- package/dist/agent/context-provider.js +0 -34
- package/dist/agent/context-provider.js.map +0 -1
- package/dist/agent/context.d.ts +0 -9
- package/dist/agent/context.d.ts.map +0 -1
- package/dist/agent/context.js +0 -80
- package/dist/agent/context.js.map +0 -1
- package/dist/agent/events.d.ts +0 -62
- package/dist/agent/events.d.ts.map +0 -1
- package/dist/agent/events.js +0 -21
- package/dist/agent/events.js.map +0 -1
- package/dist/agent/index.d.ts +0 -32
- package/dist/agent/index.d.ts.map +0 -1
- package/dist/agent/index.js +0 -28
- package/dist/agent/index.js.map +0 -1
- package/dist/agent/mcp.d.ts +0 -16
- package/dist/agent/mcp.d.ts.map +0 -1
- package/dist/agent/mcp.js +0 -69
- package/dist/agent/mcp.js.map +0 -1
- package/dist/agent/notifications/decision-parser.d.ts +0 -10
- package/dist/agent/notifications/decision-parser.d.ts.map +0 -1
- package/dist/agent/notifications/decision-parser.js +0 -21
- package/dist/agent/notifications/decision-parser.js.map +0 -1
- package/dist/agent/notifications/index.d.ts +0 -4
- package/dist/agent/notifications/index.d.ts.map +0 -1
- package/dist/agent/notifications/index.js +0 -3
- package/dist/agent/notifications/index.js.map +0 -1
- package/dist/agent/notifications/opportunity-templates.d.ts +0 -14
- package/dist/agent/notifications/opportunity-templates.d.ts.map +0 -1
- package/dist/agent/notifications/opportunity-templates.js +0 -21
- package/dist/agent/notifications/opportunity-templates.js.map +0 -1
- package/dist/agent/notifications/types.d.ts +0 -16
- package/dist/agent/notifications/types.d.ts.map +0 -1
- package/dist/agent/notifications/types.js +0 -2
- package/dist/agent/notifications/types.js.map +0 -1
- package/dist/agent/providers.d.ts +0 -9
- package/dist/agent/providers.d.ts.map +0 -1
- package/dist/agent/providers.js +0 -29
- package/dist/agent/providers.js.map +0 -1
- package/dist/agent/runtime.d.ts +0 -63
- package/dist/agent/runtime.d.ts.map +0 -1
- package/dist/agent/runtime.js +0 -395
- package/dist/agent/runtime.js.map +0 -1
- package/dist/agent/scanning/index.d.ts +0 -3
- package/dist/agent/scanning/index.d.ts.map +0 -1
- package/dist/agent/scanning/index.js +0 -3
- package/dist/agent/scanning/index.js.map +0 -1
- package/dist/agent/scanning/opportunity-scorer.d.ts +0 -24
- package/dist/agent/scanning/opportunity-scorer.d.ts.map +0 -1
- package/dist/agent/scanning/opportunity-scorer.js +0 -90
- package/dist/agent/scanning/opportunity-scorer.js.map +0 -1
- package/dist/agent/scanning/types.d.ts +0 -65
- package/dist/agent/scanning/types.d.ts.map +0 -1
- package/dist/agent/scanning/types.js +0 -32
- package/dist/agent/scanning/types.js.map +0 -1
- package/dist/agent/scheduler.d.ts +0 -38
- package/dist/agent/scheduler.d.ts.map +0 -1
- package/dist/agent/scheduler.js +0 -125
- package/dist/agent/scheduler.js.map +0 -1
- package/dist/agent/session.d.ts +0 -20
- package/dist/agent/session.d.ts.map +0 -1
- package/dist/agent/session.js +0 -88
- package/dist/agent/session.js.map +0 -1
- package/dist/agent/stores.d.ts +0 -48
- package/dist/agent/stores.d.ts.map +0 -1
- package/dist/agent/stores.js +0 -2
- package/dist/agent/stores.js.map +0 -1
- package/dist/agent/tools/browser/ats-patterns.d.ts +0 -20
- package/dist/agent/tools/browser/ats-patterns.d.ts.map +0 -1
- package/dist/agent/tools/browser/ats-patterns.js +0 -226
- package/dist/agent/tools/browser/ats-patterns.js.map +0 -1
- package/dist/agent/tools/browser/index.d.ts +0 -14
- package/dist/agent/tools/browser/index.d.ts.map +0 -1
- package/dist/agent/tools/browser/index.js +0 -126
- package/dist/agent/tools/browser/index.js.map +0 -1
- package/dist/agent/tools/browser/operator-runtime.d.ts +0 -35
- package/dist/agent/tools/browser/operator-runtime.d.ts.map +0 -1
- package/dist/agent/tools/browser/operator-runtime.js +0 -93
- package/dist/agent/tools/browser/operator-runtime.js.map +0 -1
- package/dist/agent/tools/browser/providers/chrome-mcp.d.ts +0 -3
- package/dist/agent/tools/browser/providers/chrome-mcp.d.ts.map +0 -1
- package/dist/agent/tools/browser/providers/chrome-mcp.js +0 -164
- package/dist/agent/tools/browser/providers/chrome-mcp.js.map +0 -1
- package/dist/agent/tools/browser/providers/playwright.d.ts +0 -7
- package/dist/agent/tools/browser/providers/playwright.d.ts.map +0 -1
- package/dist/agent/tools/browser/providers/playwright.js +0 -619
- package/dist/agent/tools/browser/providers/playwright.js.map +0 -1
- package/dist/agent/tools/browser/types.d.ts +0 -22
- package/dist/agent/tools/browser/types.d.ts.map +0 -1
- package/dist/agent/tools/browser/types.js +0 -15
- package/dist/agent/tools/browser/types.js.map +0 -1
- package/dist/agent/tools/cancel-task.d.ts +0 -4
- package/dist/agent/tools/cancel-task.d.ts.map +0 -1
- package/dist/agent/tools/cancel-task.js +0 -29
- package/dist/agent/tools/cancel-task.js.map +0 -1
- package/dist/agent/tools/career-advice.d.ts +0 -3
- package/dist/agent/tools/career-advice.d.ts.map +0 -1
- package/dist/agent/tools/career-advice.js +0 -49
- package/dist/agent/tools/career-advice.js.map +0 -1
- package/dist/agent/tools/index.d.ts +0 -15
- package/dist/agent/tools/index.d.ts.map +0 -1
- package/dist/agent/tools/index.js +0 -94
- package/dist/agent/tools/index.js.map +0 -1
- package/dist/agent/tools/job-search.d.ts +0 -3
- package/dist/agent/tools/job-search.d.ts.map +0 -1
- package/dist/agent/tools/job-search.js +0 -77
- package/dist/agent/tools/job-search.js.map +0 -1
- package/dist/agent/tools/list-tasks.d.ts +0 -4
- package/dist/agent/tools/list-tasks.d.ts.map +0 -1
- package/dist/agent/tools/list-tasks.js +0 -24
- package/dist/agent/tools/list-tasks.js.map +0 -1
- package/dist/agent/tools/market-data.d.ts +0 -8
- package/dist/agent/tools/market-data.d.ts.map +0 -1
- package/dist/agent/tools/market-data.js +0 -133
- package/dist/agent/tools/market-data.js.map +0 -1
- package/dist/agent/tools/memory-write.d.ts +0 -3
- package/dist/agent/tools/memory-write.d.ts.map +0 -1
- package/dist/agent/tools/memory-write.js +0 -48
- package/dist/agent/tools/memory-write.js.map +0 -1
- package/dist/agent/tools/resume.d.ts +0 -3
- package/dist/agent/tools/resume.d.ts.map +0 -1
- package/dist/agent/tools/resume.js +0 -70
- package/dist/agent/tools/resume.js.map +0 -1
- package/dist/agent/tools/schedule-task.d.ts +0 -4
- package/dist/agent/tools/schedule-task.d.ts.map +0 -1
- package/dist/agent/tools/schedule-task.js +0 -39
- package/dist/agent/tools/schedule-task.js.map +0 -1
- package/dist/agent/tools/shell.d.ts +0 -6
- package/dist/agent/tools/shell.d.ts.map +0 -1
- package/dist/agent/tools/shell.js +0 -66
- package/dist/agent/tools/shell.js.map +0 -1
- package/dist/agent/tools/web-search.d.ts +0 -6
- package/dist/agent/tools/web-search.d.ts.map +0 -1
- package/dist/agent/tools/web-search.js +0 -73
- package/dist/agent/tools/web-search.js.map +0 -1
- package/dist/agent/types.d.ts +0 -103
- package/dist/agent/types.d.ts.map +0 -1
- package/dist/agent/types.js +0 -11
- package/dist/agent/types.js.map +0 -1
- package/dist/channels/index.d.ts +0 -10
- package/dist/channels/index.d.ts.map +0 -1
- package/dist/channels/index.js +0 -15
- package/dist/channels/index.js.map +0 -1
- package/dist/channels/telegram.d.ts +0 -21
- package/dist/channels/telegram.d.ts.map +0 -1
- package/dist/channels/telegram.js +0 -255
- package/dist/channels/telegram.js.map +0 -1
- package/dist/channels/types.d.ts +0 -24
- package/dist/channels/types.d.ts.map +0 -1
- package/dist/channels/types.js +0 -2
- package/dist/channels/types.js.map +0 -1
- package/dist/cli/templates/HEARTBEAT.md +0 -6
- package/dist/cli/templates/MEMORY.md +0 -6
- package/dist/cli/templates/PREFERENCES.md +0 -40
- package/dist/cli/templates/PROFILE.md +0 -26
- package/dist/cli/templates/SOUL.md +0 -23
- package/dist/connectors/google-calendar.d.ts +0 -8
- package/dist/connectors/google-calendar.d.ts.map +0 -1
- package/dist/connectors/google-calendar.js +0 -23
- package/dist/connectors/google-calendar.js.map +0 -1
- package/dist/connectors/google-gmail.d.ts +0 -8
- package/dist/connectors/google-gmail.d.ts.map +0 -1
- package/dist/connectors/google-gmail.js +0 -30
- package/dist/connectors/google-gmail.js.map +0 -1
- package/dist/connectors/google-oauth.d.ts +0 -17
- package/dist/connectors/google-oauth.d.ts.map +0 -1
- package/dist/connectors/google-oauth.js +0 -52
- package/dist/connectors/google-oauth.js.map +0 -1
- package/dist/connectors/index.d.ts +0 -5
- package/dist/connectors/index.d.ts.map +0 -1
- package/dist/connectors/index.js +0 -5
- package/dist/connectors/index.js.map +0 -1
- package/dist/connectors/types.d.ts +0 -20
- package/dist/connectors/types.d.ts.map +0 -1
- package/dist/connectors/types.js +0 -5
- package/dist/connectors/types.js.map +0 -1
|
@@ -1,226 +0,0 @@
|
|
|
1
|
-
export function detectATS(url) {
|
|
2
|
-
const lower = url.toLowerCase();
|
|
3
|
-
if (lower.includes("ashbyhq.com"))
|
|
4
|
-
return "ashby";
|
|
5
|
-
if (lower.includes("greenhouse.io"))
|
|
6
|
-
return "greenhouse";
|
|
7
|
-
if (lower.includes("lever.co"))
|
|
8
|
-
return "lever";
|
|
9
|
-
if (lower.includes("myworkdayjobs.com") || lower.includes("workday.com"))
|
|
10
|
-
return "workday";
|
|
11
|
-
return "unknown";
|
|
12
|
-
}
|
|
13
|
-
const ASHBY_SELECTORS = {
|
|
14
|
-
apply_button: 'a[href*="/application"], button:has-text("Apply"), a:has-text("Apply")',
|
|
15
|
-
name_field: 'input[name="name"], input[autocomplete="name"], input[name*="full_name"]',
|
|
16
|
-
email_field: 'input[type="email"], input[name="email"]',
|
|
17
|
-
resume_upload: 'input[type="file"][name*="resume"], input[type="file"][name*="cv"], input[type="file"]',
|
|
18
|
-
submit_button: 'button[type="submit"], button:has-text("Submit"), button:has-text("Apply")',
|
|
19
|
-
phone_field: 'input[type="tel"], input[name*="phone"]',
|
|
20
|
-
location_field: 'input[name*="location"], input[placeholder*="Location"]',
|
|
21
|
-
linkedin_field: 'input[name*="linkedin"], input[placeholder*="LinkedIn"]',
|
|
22
|
-
website_field: 'input[name*="portfolio"], input[name*="website"], input[name*="url"]',
|
|
23
|
-
};
|
|
24
|
-
const GREENHOUSE_SELECTORS = {
|
|
25
|
-
apply_button: 'a[href*="apply"], button:has-text("Apply")',
|
|
26
|
-
name_field: '#first_name, input[name="job_application[first_name]"]',
|
|
27
|
-
email_field: '#email, input[name="job_application[email]"]',
|
|
28
|
-
resume_upload: 'input[type="file"][name*="resume"], input[type="file"][name*="cv"]',
|
|
29
|
-
submit_button: 'button[type="submit"], input[type="submit"]',
|
|
30
|
-
last_name_field: '#last_name, input[name="job_application[last_name]"]',
|
|
31
|
-
phone_field: '#phone, input[name="job_application[phone]"]',
|
|
32
|
-
linkedin_field: 'input[name*="linkedin"], input[placeholder*="LinkedIn"]',
|
|
33
|
-
cover_letter_field: 'textarea[name*="cover_letter"]',
|
|
34
|
-
};
|
|
35
|
-
const LEVER_SELECTORS = {
|
|
36
|
-
apply_button: 'a.postings-btn[href*="apply"], .apply-button, a:has-text("Apply")',
|
|
37
|
-
name_field: 'input[name="name"]',
|
|
38
|
-
email_field: 'input[name="email"]',
|
|
39
|
-
resume_upload: 'input[type="file"][name="resume"]',
|
|
40
|
-
submit_button: 'button[type="submit"], button:has-text("Submit application")',
|
|
41
|
-
phone_field: 'input[name="phone"]',
|
|
42
|
-
linkedin_field: 'input[name="urls[LinkedIn]"]',
|
|
43
|
-
github_field: 'input[name="urls[GitHub]"]',
|
|
44
|
-
website_field: 'input[name="urls[Portfolio]"]',
|
|
45
|
-
cover_letter_field: 'textarea[name="comments"]',
|
|
46
|
-
};
|
|
47
|
-
const WORKDAY_SELECTORS = {
|
|
48
|
-
apply_button: 'button[data-automation-id="applyBtn"], a[data-automation-id="applyBtn"]',
|
|
49
|
-
name_field: 'input[data-automation-id="legalNameSection_firstName"]',
|
|
50
|
-
email_field: 'input[data-automation-id="email"]',
|
|
51
|
-
resume_upload: 'input[type="file"][data-automation-id="file-upload-input-ref"]',
|
|
52
|
-
submit_button: 'button[data-automation-id="bottom-navigation-next-button"]',
|
|
53
|
-
last_name_field: 'input[data-automation-id="legalNameSection_lastName"]',
|
|
54
|
-
phone_field: 'input[data-automation-id="phone-number"]',
|
|
55
|
-
country_dropdown: 'button[data-automation-id="countryDropdown"]',
|
|
56
|
-
};
|
|
57
|
-
const GENERIC_SELECTORS = {
|
|
58
|
-
apply_button: 'a:has-text("Apply"), button:has-text("Apply"), [class*="apply"]',
|
|
59
|
-
name_field: 'input[name*="name"], input[placeholder*="Name"], input[id*="name"]',
|
|
60
|
-
email_field: 'input[type="email"], input[name*="email"], input[placeholder*="Email"]',
|
|
61
|
-
resume_upload: 'input[type="file"]',
|
|
62
|
-
submit_button: 'button[type="submit"], input[type="submit"], button:has-text("Submit")',
|
|
63
|
-
};
|
|
64
|
-
const SELECTOR_MAP = {
|
|
65
|
-
ashby: ASHBY_SELECTORS,
|
|
66
|
-
greenhouse: GREENHOUSE_SELECTORS,
|
|
67
|
-
lever: LEVER_SELECTORS,
|
|
68
|
-
workday: WORKDAY_SELECTORS,
|
|
69
|
-
unknown: GENERIC_SELECTORS,
|
|
70
|
-
};
|
|
71
|
-
const GENERIC_FILL_CANDIDATES = {
|
|
72
|
-
name: [
|
|
73
|
-
'input[name*="name"], input[autocomplete="name"], input[placeholder*="Name"]',
|
|
74
|
-
],
|
|
75
|
-
first_name: [
|
|
76
|
-
'input[name*="first"], input[id*="first"], input[autocomplete="given-name"]',
|
|
77
|
-
],
|
|
78
|
-
last_name: [
|
|
79
|
-
'input[name*="last"], input[id*="last"], input[autocomplete="family-name"]',
|
|
80
|
-
],
|
|
81
|
-
email: [
|
|
82
|
-
'input[type="email"], input[name*="email"], input[autocomplete="email"]',
|
|
83
|
-
],
|
|
84
|
-
phone: ['input[type="tel"], input[name*="phone"], input[autocomplete="tel"]'],
|
|
85
|
-
location: [
|
|
86
|
-
'input[name*="location"], input[placeholder*="Location"], input[autocomplete="address-level2"]',
|
|
87
|
-
],
|
|
88
|
-
linkedin: ['input[name*="linkedin"], input[placeholder*="LinkedIn"]'],
|
|
89
|
-
github: ['input[name*="github"], input[placeholder*="GitHub"]'],
|
|
90
|
-
website: ['input[name*="portfolio"], input[name*="website"], input[name*="url"]'],
|
|
91
|
-
cover_letter: [
|
|
92
|
-
'textarea[name*="cover"], textarea[placeholder*="Cover"], textarea[name*="letter"]',
|
|
93
|
-
],
|
|
94
|
-
generic: [
|
|
95
|
-
'input:not([type="hidden"]), textarea, select',
|
|
96
|
-
],
|
|
97
|
-
};
|
|
98
|
-
const ACTION_PLAN_MAP = {
|
|
99
|
-
ashby: {
|
|
100
|
-
apply_button_candidates: [
|
|
101
|
-
ASHBY_SELECTORS.apply_button,
|
|
102
|
-
GENERIC_SELECTORS.apply_button,
|
|
103
|
-
],
|
|
104
|
-
submit_button_candidates: [
|
|
105
|
-
ASHBY_SELECTORS.submit_button,
|
|
106
|
-
GENERIC_SELECTORS.submit_button,
|
|
107
|
-
],
|
|
108
|
-
resume_upload_candidates: [
|
|
109
|
-
ASHBY_SELECTORS.resume_upload,
|
|
110
|
-
GENERIC_SELECTORS.resume_upload,
|
|
111
|
-
'input[type="file"][accept*="pdf"]',
|
|
112
|
-
],
|
|
113
|
-
fill_field_candidates: {
|
|
114
|
-
...GENERIC_FILL_CANDIDATES,
|
|
115
|
-
name: [ASHBY_SELECTORS.name_field, ...GENERIC_FILL_CANDIDATES.name],
|
|
116
|
-
email: [ASHBY_SELECTORS.email_field, ...GENERIC_FILL_CANDIDATES.email],
|
|
117
|
-
phone: [ASHBY_SELECTORS.phone_field, ...GENERIC_FILL_CANDIDATES.phone],
|
|
118
|
-
location: [ASHBY_SELECTORS.location_field, ...GENERIC_FILL_CANDIDATES.location],
|
|
119
|
-
linkedin: [ASHBY_SELECTORS.linkedin_field, ...GENERIC_FILL_CANDIDATES.linkedin],
|
|
120
|
-
website: [ASHBY_SELECTORS.website_field, ...GENERIC_FILL_CANDIDATES.website],
|
|
121
|
-
},
|
|
122
|
-
},
|
|
123
|
-
greenhouse: {
|
|
124
|
-
apply_button_candidates: [
|
|
125
|
-
GREENHOUSE_SELECTORS.apply_button,
|
|
126
|
-
GENERIC_SELECTORS.apply_button,
|
|
127
|
-
],
|
|
128
|
-
submit_button_candidates: [
|
|
129
|
-
GREENHOUSE_SELECTORS.submit_button,
|
|
130
|
-
GENERIC_SELECTORS.submit_button,
|
|
131
|
-
],
|
|
132
|
-
resume_upload_candidates: [
|
|
133
|
-
GREENHOUSE_SELECTORS.resume_upload,
|
|
134
|
-
GENERIC_SELECTORS.resume_upload,
|
|
135
|
-
'input[type="file"][name*="resume"]',
|
|
136
|
-
],
|
|
137
|
-
fill_field_candidates: {
|
|
138
|
-
...GENERIC_FILL_CANDIDATES,
|
|
139
|
-
first_name: [
|
|
140
|
-
GREENHOUSE_SELECTORS.name_field,
|
|
141
|
-
...GENERIC_FILL_CANDIDATES.first_name,
|
|
142
|
-
],
|
|
143
|
-
last_name: [
|
|
144
|
-
GREENHOUSE_SELECTORS.last_name_field,
|
|
145
|
-
...GENERIC_FILL_CANDIDATES.last_name,
|
|
146
|
-
],
|
|
147
|
-
email: [GREENHOUSE_SELECTORS.email_field, ...GENERIC_FILL_CANDIDATES.email],
|
|
148
|
-
phone: [GREENHOUSE_SELECTORS.phone_field, ...GENERIC_FILL_CANDIDATES.phone],
|
|
149
|
-
linkedin: [
|
|
150
|
-
GREENHOUSE_SELECTORS.linkedin_field,
|
|
151
|
-
...GENERIC_FILL_CANDIDATES.linkedin,
|
|
152
|
-
],
|
|
153
|
-
cover_letter: [
|
|
154
|
-
GREENHOUSE_SELECTORS.cover_letter_field,
|
|
155
|
-
...GENERIC_FILL_CANDIDATES.cover_letter,
|
|
156
|
-
],
|
|
157
|
-
},
|
|
158
|
-
},
|
|
159
|
-
lever: {
|
|
160
|
-
apply_button_candidates: [LEVER_SELECTORS.apply_button, GENERIC_SELECTORS.apply_button],
|
|
161
|
-
submit_button_candidates: [
|
|
162
|
-
LEVER_SELECTORS.submit_button,
|
|
163
|
-
GENERIC_SELECTORS.submit_button,
|
|
164
|
-
],
|
|
165
|
-
resume_upload_candidates: [
|
|
166
|
-
LEVER_SELECTORS.resume_upload,
|
|
167
|
-
GENERIC_SELECTORS.resume_upload,
|
|
168
|
-
'input[type="file"][name*="resume"]',
|
|
169
|
-
],
|
|
170
|
-
fill_field_candidates: {
|
|
171
|
-
...GENERIC_FILL_CANDIDATES,
|
|
172
|
-
name: [LEVER_SELECTORS.name_field, ...GENERIC_FILL_CANDIDATES.name],
|
|
173
|
-
email: [LEVER_SELECTORS.email_field, ...GENERIC_FILL_CANDIDATES.email],
|
|
174
|
-
phone: [LEVER_SELECTORS.phone_field, ...GENERIC_FILL_CANDIDATES.phone],
|
|
175
|
-
linkedin: [LEVER_SELECTORS.linkedin_field, ...GENERIC_FILL_CANDIDATES.linkedin],
|
|
176
|
-
github: [LEVER_SELECTORS.github_field, ...GENERIC_FILL_CANDIDATES.github],
|
|
177
|
-
website: [LEVER_SELECTORS.website_field, ...GENERIC_FILL_CANDIDATES.website],
|
|
178
|
-
cover_letter: [
|
|
179
|
-
LEVER_SELECTORS.cover_letter_field,
|
|
180
|
-
...GENERIC_FILL_CANDIDATES.cover_letter,
|
|
181
|
-
],
|
|
182
|
-
},
|
|
183
|
-
},
|
|
184
|
-
workday: {
|
|
185
|
-
apply_button_candidates: [
|
|
186
|
-
WORKDAY_SELECTORS.apply_button,
|
|
187
|
-
GENERIC_SELECTORS.apply_button,
|
|
188
|
-
],
|
|
189
|
-
submit_button_candidates: [
|
|
190
|
-
WORKDAY_SELECTORS.submit_button,
|
|
191
|
-
GENERIC_SELECTORS.submit_button,
|
|
192
|
-
],
|
|
193
|
-
resume_upload_candidates: [
|
|
194
|
-
WORKDAY_SELECTORS.resume_upload,
|
|
195
|
-
GENERIC_SELECTORS.resume_upload,
|
|
196
|
-
'input[type="file"][data-automation-id*="file-upload"]',
|
|
197
|
-
],
|
|
198
|
-
fill_field_candidates: {
|
|
199
|
-
...GENERIC_FILL_CANDIDATES,
|
|
200
|
-
first_name: [WORKDAY_SELECTORS.name_field, ...GENERIC_FILL_CANDIDATES.first_name],
|
|
201
|
-
last_name: [
|
|
202
|
-
WORKDAY_SELECTORS.last_name_field,
|
|
203
|
-
...GENERIC_FILL_CANDIDATES.last_name,
|
|
204
|
-
],
|
|
205
|
-
email: [WORKDAY_SELECTORS.email_field, ...GENERIC_FILL_CANDIDATES.email],
|
|
206
|
-
phone: [WORKDAY_SELECTORS.phone_field, ...GENERIC_FILL_CANDIDATES.phone],
|
|
207
|
-
},
|
|
208
|
-
},
|
|
209
|
-
unknown: {
|
|
210
|
-
apply_button_candidates: [GENERIC_SELECTORS.apply_button],
|
|
211
|
-
submit_button_candidates: [GENERIC_SELECTORS.submit_button],
|
|
212
|
-
resume_upload_candidates: [
|
|
213
|
-
GENERIC_SELECTORS.resume_upload,
|
|
214
|
-
'input[type="file"][accept*="pdf"]',
|
|
215
|
-
'input[type="file"]',
|
|
216
|
-
],
|
|
217
|
-
fill_field_candidates: { ...GENERIC_FILL_CANDIDATES },
|
|
218
|
-
},
|
|
219
|
-
};
|
|
220
|
-
export function getSelectors(atsType) {
|
|
221
|
-
return SELECTOR_MAP[atsType];
|
|
222
|
-
}
|
|
223
|
-
export function getActionPlan(atsType) {
|
|
224
|
-
return ACTION_PLAN_MAP[atsType];
|
|
225
|
-
}
|
|
226
|
-
//# sourceMappingURL=ats-patterns.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ats-patterns.js","sourceRoot":"","sources":["../../../../src/agent/tools/browser/ats-patterns.ts"],"names":[],"mappings":"AAoCA,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IAC/B,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,OAAO,CAAA;IACjD,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC;QAAE,OAAO,YAAY,CAAA;IACxD,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,OAAO,CAAA;IAC9C,IAAI,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,SAAS,CAAA;IAC1F,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,eAAe,GAAiB;IACpC,YAAY,EACV,wEAAwE;IAC1E,UAAU,EACR,0EAA0E;IAC5E,WAAW,EAAE,0CAA0C;IACvD,aAAa,EACX,wFAAwF;IAC1F,aAAa,EACX,4EAA4E;IAC9E,WAAW,EAAE,yCAAyC;IACtD,cAAc,EAAE,yDAAyD;IACzE,cAAc,EAAE,yDAAyD;IACzE,aAAa,EACX,sEAAsE;CACzE,CAAA;AAED,MAAM,oBAAoB,GAAiB;IACzC,YAAY,EAAE,4CAA4C;IAC1D,UAAU,EAAE,wDAAwD;IACpE,WAAW,EAAE,8CAA8C;IAC3D,aAAa,EAAE,oEAAoE;IACnF,aAAa,EAAE,6CAA6C;IAC5D,eAAe,EAAE,sDAAsD;IACvE,WAAW,EAAE,8CAA8C;IAC3D,cAAc,EAAE,yDAAyD;IACzE,kBAAkB,EAAE,gCAAgC;CACrD,CAAA;AAED,MAAM,eAAe,GAAiB;IACpC,YAAY,EAAE,mEAAmE;IACjF,UAAU,EAAE,oBAAoB;IAChC,WAAW,EAAE,qBAAqB;IAClC,aAAa,EAAE,mCAAmC;IAClD,aAAa,EAAE,8DAA8D;IAC7E,WAAW,EAAE,qBAAqB;IAClC,cAAc,EAAE,8BAA8B;IAC9C,YAAY,EAAE,4BAA4B;IAC1C,aAAa,EAAE,+BAA+B;IAC9C,kBAAkB,EAAE,2BAA2B;CAChD,CAAA;AAED,MAAM,iBAAiB,GAAiB;IACtC,YAAY,EAAE,yEAAyE;IACvF,UAAU,EAAE,wDAAwD;IACpE,WAAW,EAAE,mCAAmC;IAChD,aAAa,EAAE,gEAAgE;IAC/E,aAAa,EAAE,4DAA4D;IAC3E,eAAe,EAAE,uDAAuD;IACxE,WAAW,EAAE,0CAA0C;IACvD,gBAAgB,EAAE,8CAA8C;CACjE,CAAA;AAED,MAAM,iBAAiB,GAAiB;IACtC,YAAY,EAAE,iEAAiE;IAC/E,UAAU,EAAE,oEAAoE;IAChF,WAAW,EAAE,wEAAwE;IACrF,aAAa,EAAE,oBAAoB;IACnC,aAAa,EAAE,wEAAwE;CACxF,CAAA;AAED,MAAM,YAAY,GAAkC;IAClD,KAAK,EAAE,eAAe;IACtB,UAAU,EAAE,oBAAoB;IAChC,KAAK,EAAE,eAAe;IACtB,OAAO,EAAE,iBAAiB;IAC1B,OAAO,EAAE,iBAAiB;CAC3B,CAAA;AAED,MAAM,uBAAuB,GAAkC;IAC7D,IAAI,EAAE;QACJ,6EAA6E;KAC9E;IACD,UAAU,EAAE;QACV,4EAA4E;KAC7E;IACD,SAAS,EAAE;QACT,2EAA2E;KAC5E;IACD,KAAK,EAAE;QACL,wEAAwE;KACzE;IACD,KAAK,EAAE,CAAC,oEAAoE,CAAC;IAC7E,QAAQ,EAAE;QACR,+FAA+F;KAChG;IACD,QAAQ,EAAE,CAAC,yDAAyD,CAAC;IACrE,MAAM,EAAE,CAAC,qDAAqD,CAAC;IAC/D,OAAO,EAAE,CAAC,sEAAsE,CAAC;IACjF,YAAY,EAAE;QACZ,mFAAmF;KACpF;IACD,OAAO,EAAE;QACP,8CAA8C;KAC/C;CACF,CAAA;AAED,MAAM,eAAe,GAAmC;IACtD,KAAK,EAAE;QACL,uBAAuB,EAAE;YACvB,eAAe,CAAC,YAAY;YAC5B,iBAAiB,CAAC,YAAY;SAC/B;QACD,wBAAwB,EAAE;YACxB,eAAe,CAAC,aAAa;YAC7B,iBAAiB,CAAC,aAAa;SAChC;QACD,wBAAwB,EAAE;YACxB,eAAe,CAAC,aAAa;YAC7B,iBAAiB,CAAC,aAAa;YAC/B,mCAAmC;SACpC;QACD,qBAAqB,EAAE;YACrB,GAAG,uBAAuB;YAC1B,IAAI,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,uBAAuB,CAAC,IAAI,CAAC;YACnE,KAAK,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE,GAAG,uBAAuB,CAAC,KAAK,CAAC;YACtE,KAAK,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE,GAAG,uBAAuB,CAAC,KAAK,CAAC;YACtE,QAAQ,EAAE,CAAC,eAAe,CAAC,cAAc,EAAE,GAAG,uBAAuB,CAAC,QAAQ,CAAC;YAC/E,QAAQ,EAAE,CAAC,eAAe,CAAC,cAAc,EAAE,GAAG,uBAAuB,CAAC,QAAQ,CAAC;YAC/E,OAAO,EAAE,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,uBAAuB,CAAC,OAAO,CAAC;SAC7E;KACF;IACD,UAAU,EAAE;QACV,uBAAuB,EAAE;YACvB,oBAAoB,CAAC,YAAY;YACjC,iBAAiB,CAAC,YAAY;SAC/B;QACD,wBAAwB,EAAE;YACxB,oBAAoB,CAAC,aAAa;YAClC,iBAAiB,CAAC,aAAa;SAChC;QACD,wBAAwB,EAAE;YACxB,oBAAoB,CAAC,aAAa;YAClC,iBAAiB,CAAC,aAAa;YAC/B,oCAAoC;SACrC;QACD,qBAAqB,EAAE;YACrB,GAAG,uBAAuB;YAC1B,UAAU,EAAE;gBACV,oBAAoB,CAAC,UAAU;gBAC/B,GAAG,uBAAuB,CAAC,UAAU;aACtC;YACD,SAAS,EAAE;gBACT,oBAAoB,CAAC,eAAe;gBACpC,GAAG,uBAAuB,CAAC,SAAS;aACrC;YACD,KAAK,EAAE,CAAC,oBAAoB,CAAC,WAAW,EAAE,GAAG,uBAAuB,CAAC,KAAK,CAAC;YAC3E,KAAK,EAAE,CAAC,oBAAoB,CAAC,WAAW,EAAE,GAAG,uBAAuB,CAAC,KAAK,CAAC;YAC3E,QAAQ,EAAE;gBACR,oBAAoB,CAAC,cAAc;gBACnC,GAAG,uBAAuB,CAAC,QAAQ;aACpC;YACD,YAAY,EAAE;gBACZ,oBAAoB,CAAC,kBAAkB;gBACvC,GAAG,uBAAuB,CAAC,YAAY;aACxC;SACF;KACF;IACD,KAAK,EAAE;QACL,uBAAuB,EAAE,CAAC,eAAe,CAAC,YAAY,EAAE,iBAAiB,CAAC,YAAY,CAAC;QACvF,wBAAwB,EAAE;YACxB,eAAe,CAAC,aAAa;YAC7B,iBAAiB,CAAC,aAAa;SAChC;QACD,wBAAwB,EAAE;YACxB,eAAe,CAAC,aAAa;YAC7B,iBAAiB,CAAC,aAAa;YAC/B,oCAAoC;SACrC;QACD,qBAAqB,EAAE;YACrB,GAAG,uBAAuB;YAC1B,IAAI,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,uBAAuB,CAAC,IAAI,CAAC;YACnE,KAAK,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE,GAAG,uBAAuB,CAAC,KAAK,CAAC;YACtE,KAAK,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE,GAAG,uBAAuB,CAAC,KAAK,CAAC;YACtE,QAAQ,EAAE,CAAC,eAAe,CAAC,cAAc,EAAE,GAAG,uBAAuB,CAAC,QAAQ,CAAC;YAC/E,MAAM,EAAE,CAAC,eAAe,CAAC,YAAY,EAAE,GAAG,uBAAuB,CAAC,MAAM,CAAC;YACzE,OAAO,EAAE,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,uBAAuB,CAAC,OAAO,CAAC;YAC5E,YAAY,EAAE;gBACZ,eAAe,CAAC,kBAAkB;gBAClC,GAAG,uBAAuB,CAAC,YAAY;aACxC;SACF;KACF;IACD,OAAO,EAAE;QACP,uBAAuB,EAAE;YACvB,iBAAiB,CAAC,YAAY;YAC9B,iBAAiB,CAAC,YAAY;SAC/B;QACD,wBAAwB,EAAE;YACxB,iBAAiB,CAAC,aAAa;YAC/B,iBAAiB,CAAC,aAAa;SAChC;QACD,wBAAwB,EAAE;YACxB,iBAAiB,CAAC,aAAa;YAC/B,iBAAiB,CAAC,aAAa;YAC/B,uDAAuD;SACxD;QACD,qBAAqB,EAAE;YACrB,GAAG,uBAAuB;YAC1B,UAAU,EAAE,CAAC,iBAAiB,CAAC,UAAU,EAAE,GAAG,uBAAuB,CAAC,UAAU,CAAC;YACjF,SAAS,EAAE;gBACT,iBAAiB,CAAC,eAAe;gBACjC,GAAG,uBAAuB,CAAC,SAAS;aACrC;YACD,KAAK,EAAE,CAAC,iBAAiB,CAAC,WAAW,EAAE,GAAG,uBAAuB,CAAC,KAAK,CAAC;YACxE,KAAK,EAAE,CAAC,iBAAiB,CAAC,WAAW,EAAE,GAAG,uBAAuB,CAAC,KAAK,CAAC;SACzE;KACF;IACD,OAAO,EAAE;QACP,uBAAuB,EAAE,CAAC,iBAAiB,CAAC,YAAY,CAAC;QACzD,wBAAwB,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC;QAC3D,wBAAwB,EAAE;YACxB,iBAAiB,CAAC,aAAa;YAC/B,mCAAmC;YACnC,oBAAoB;SACrB;QACD,qBAAqB,EAAE,EAAE,GAAG,uBAAuB,EAAE;KACtD;CACF,CAAA;AAED,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,OAAO,YAAY,CAAC,OAAO,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,OAAO,eAAe,CAAC,OAAO,CAAC,CAAA;AACjC,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { ToolDefinition } from "../../types.js";
|
|
2
|
-
import { BROWSER_ACTIONS, BROWSER_OPERATORS, BROWSER_SUBMIT_MODES, type BrowserOperator, type BrowserOperatorPreference, type BrowserSubmitMode } from "./types.js";
|
|
3
|
-
import { ACTION_TIMEOUT, getPage } from "./providers/playwright.js";
|
|
4
|
-
export type BrowserToolOptions = {
|
|
5
|
-
defaultProvider?: BrowserOperatorPreference;
|
|
6
|
-
fallbackProviders?: BrowserOperator[];
|
|
7
|
-
submitMode?: BrowserSubmitMode;
|
|
8
|
-
};
|
|
9
|
-
export declare function closeBrowser(): Promise<void>;
|
|
10
|
-
export { ACTION_TIMEOUT };
|
|
11
|
-
export { getPage };
|
|
12
|
-
export { BROWSER_ACTIONS, BROWSER_OPERATORS, BROWSER_SUBMIT_MODES, type BrowserOperator, type BrowserOperatorPreference, type BrowserSubmitMode, };
|
|
13
|
-
export declare function createBrowserTool(options?: BrowserToolOptions): ToolDefinition;
|
|
14
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/agent/tools/browser/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAA2B,MAAM,gBAAgB,CAAA;AAK7E,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,cAAc,EACd,OAAO,EAER,MAAM,2BAA2B,CAAA;AAIlC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,eAAe,CAAC,EAAE,yBAAyB,CAAA;IAC3C,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAA;IACrC,UAAU,CAAC,EAAE,iBAAiB,CAAA;CAC/B,CAAA;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAElD;AAED,OAAO,EAAE,cAAc,EAAE,CAAA;AACzB,OAAO,EAAE,OAAO,EAAE,CAAA;AAClB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,GACvB,CAAA;AAED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,GAAG,cAAc,CAwFlF"}
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { executeOperatorAction, resolveProviderOrder, } from "./operator-runtime.js";
|
|
3
|
-
import { BROWSER_ACTIONS, BROWSER_OPERATORS, BROWSER_SUBMIT_MODES, } from "./types.js";
|
|
4
|
-
import { ACTION_TIMEOUT, getPage, closePlaywrightSession, } from "./providers/playwright.js";
|
|
5
|
-
const PROVIDER_OPTIONS = ["auto", ...BROWSER_OPERATORS];
|
|
6
|
-
export async function closeBrowser() {
|
|
7
|
-
await closePlaywrightSession();
|
|
8
|
-
}
|
|
9
|
-
export { ACTION_TIMEOUT };
|
|
10
|
-
export { getPage };
|
|
11
|
-
export { BROWSER_ACTIONS, BROWSER_OPERATORS, BROWSER_SUBMIT_MODES, };
|
|
12
|
-
export function createBrowserTool(options = {}) {
|
|
13
|
-
return {
|
|
14
|
-
name: "browser",
|
|
15
|
-
description: "Control a web browser to navigate pages, fill forms, click elements, and take screenshots. Used for job applications and research.",
|
|
16
|
-
parameters: z.object({
|
|
17
|
-
action: z.enum(BROWSER_ACTIONS),
|
|
18
|
-
url: z.string().optional().describe("URL to navigate to"),
|
|
19
|
-
selector: z
|
|
20
|
-
.string()
|
|
21
|
-
.optional()
|
|
22
|
-
.describe("CSS or Playwright selector for the target element"),
|
|
23
|
-
value: z
|
|
24
|
-
.string()
|
|
25
|
-
.optional()
|
|
26
|
-
.describe("Value to fill into a form field"),
|
|
27
|
-
provider: z
|
|
28
|
-
.enum(PROVIDER_OPTIONS)
|
|
29
|
-
.optional()
|
|
30
|
-
.describe("Browser provider: auto, playwright, or chrome-mcp"),
|
|
31
|
-
}),
|
|
32
|
-
policy: "auto",
|
|
33
|
-
async execute(args, context) {
|
|
34
|
-
const { action, url, selector, value, provider } = args;
|
|
35
|
-
const headless = context?.config.browser_headless ?? true;
|
|
36
|
-
const submitMode = resolveSubmitMode(options.submitMode);
|
|
37
|
-
try {
|
|
38
|
-
if (action === "submit") {
|
|
39
|
-
if (submitMode === "draft-only") {
|
|
40
|
-
return fail("Submit blocked: browser submit mode is draft-only");
|
|
41
|
-
}
|
|
42
|
-
if (submitMode === "confirm-before-submit") {
|
|
43
|
-
if (!context?.approvalCallback) {
|
|
44
|
-
return fail("Submit requires explicit approval, but no approval channel is available");
|
|
45
|
-
}
|
|
46
|
-
const approved = await context.approvalCallback("browser", {
|
|
47
|
-
action: "submit",
|
|
48
|
-
selector,
|
|
49
|
-
});
|
|
50
|
-
if (!approved)
|
|
51
|
-
return fail("Submit action was not approved by user");
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
const preferredProvider = provider ?? options.defaultProvider ?? resolveDefaultProvider();
|
|
55
|
-
const fallbackProviders = resolveProviderOrder(preferredProvider, options.fallbackProviders ?? resolveFallbackProviders()).slice(1);
|
|
56
|
-
const result = await executeOperatorAction({
|
|
57
|
-
action: { action, url, selector, value },
|
|
58
|
-
preferredProvider,
|
|
59
|
-
fallbackProviders,
|
|
60
|
-
headless,
|
|
61
|
-
});
|
|
62
|
-
if (!result.ok) {
|
|
63
|
-
return fail(result.error);
|
|
64
|
-
}
|
|
65
|
-
const responseData = isRecord(result.data)
|
|
66
|
-
? {
|
|
67
|
-
...result.data,
|
|
68
|
-
provider: result.provider,
|
|
69
|
-
attempted_providers: result.attemptedProviders,
|
|
70
|
-
evidence: result.evidence,
|
|
71
|
-
}
|
|
72
|
-
: {
|
|
73
|
-
result: result.data,
|
|
74
|
-
provider: result.provider,
|
|
75
|
-
attempted_providers: result.attemptedProviders,
|
|
76
|
-
evidence: result.evidence,
|
|
77
|
-
};
|
|
78
|
-
return ok(responseData);
|
|
79
|
-
}
|
|
80
|
-
catch (err) {
|
|
81
|
-
return fail(err instanceof Error ? err.message : String(err));
|
|
82
|
-
}
|
|
83
|
-
},
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
function ok(data) {
|
|
87
|
-
return { tool_name: "browser", success: true, data };
|
|
88
|
-
}
|
|
89
|
-
function fail(error) {
|
|
90
|
-
return { tool_name: "browser", success: false, data: null, error };
|
|
91
|
-
}
|
|
92
|
-
function resolveSubmitMode(mode) {
|
|
93
|
-
if (mode) {
|
|
94
|
-
return mode;
|
|
95
|
-
}
|
|
96
|
-
const fromEnv = process.env.ARTIE_BROWSER_SUBMIT_MODE;
|
|
97
|
-
if (fromEnv && BROWSER_SUBMIT_MODES.includes(fromEnv)) {
|
|
98
|
-
return fromEnv;
|
|
99
|
-
}
|
|
100
|
-
return "confirm-before-submit";
|
|
101
|
-
}
|
|
102
|
-
function resolveDefaultProvider() {
|
|
103
|
-
const fromEnv = process.env.ARTIE_BROWSER_PROVIDER;
|
|
104
|
-
if (fromEnv === "auto") {
|
|
105
|
-
return "auto";
|
|
106
|
-
}
|
|
107
|
-
if (fromEnv && BROWSER_OPERATORS.includes(fromEnv)) {
|
|
108
|
-
return fromEnv;
|
|
109
|
-
}
|
|
110
|
-
return "auto";
|
|
111
|
-
}
|
|
112
|
-
function resolveFallbackProviders() {
|
|
113
|
-
const fromEnv = process.env.ARTIE_BROWSER_FALLBACKS;
|
|
114
|
-
if (!fromEnv) {
|
|
115
|
-
return ["playwright"];
|
|
116
|
-
}
|
|
117
|
-
const providers = fromEnv
|
|
118
|
-
.split(",")
|
|
119
|
-
.map((value) => value.trim())
|
|
120
|
-
.filter((value) => BROWSER_OPERATORS.includes(value));
|
|
121
|
-
return providers.length > 0 ? providers : ["playwright"];
|
|
122
|
-
}
|
|
123
|
-
function isRecord(value) {
|
|
124
|
-
return typeof value === "object" && value !== null;
|
|
125
|
-
}
|
|
126
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/agent/tools/browser/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { type BrowserActionInput, type BrowserOperator, type BrowserOperatorPreference } from "./types.js";
|
|
2
|
-
type ExecuteOperatorActionInput = {
|
|
3
|
-
action: BrowserActionInput;
|
|
4
|
-
preferredProvider: BrowserOperatorPreference;
|
|
5
|
-
fallbackProviders: BrowserOperator[];
|
|
6
|
-
headless: boolean;
|
|
7
|
-
};
|
|
8
|
-
export type BrowserEvidence = {
|
|
9
|
-
action: BrowserActionInput["action"];
|
|
10
|
-
provider: BrowserOperator;
|
|
11
|
-
attempted_providers: BrowserOperator[];
|
|
12
|
-
requested_url: string | null;
|
|
13
|
-
selector: string | null;
|
|
14
|
-
url: string | null;
|
|
15
|
-
title: string | null;
|
|
16
|
-
step_name: string | null;
|
|
17
|
-
visible_fields: string[];
|
|
18
|
-
has_screenshot: boolean;
|
|
19
|
-
captured_at: string;
|
|
20
|
-
};
|
|
21
|
-
export type ExecuteOperatorActionResult = {
|
|
22
|
-
ok: true;
|
|
23
|
-
provider: BrowserOperator;
|
|
24
|
-
attemptedProviders: BrowserOperator[];
|
|
25
|
-
data: unknown;
|
|
26
|
-
evidence: BrowserEvidence;
|
|
27
|
-
} | {
|
|
28
|
-
ok: false;
|
|
29
|
-
attemptedProviders: BrowserOperator[];
|
|
30
|
-
error: string;
|
|
31
|
-
};
|
|
32
|
-
export declare function resolveProviderOrder(preferredProvider: BrowserOperatorPreference, fallbackProviders: BrowserOperator[]): BrowserOperator[];
|
|
33
|
-
export declare function executeOperatorAction(input: ExecuteOperatorActionInput): Promise<ExecuteOperatorActionResult>;
|
|
34
|
-
export {};
|
|
35
|
-
//# sourceMappingURL=operator-runtime.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"operator-runtime.d.ts","sourceRoot":"","sources":["../../../../src/agent/tools/browser/operator-runtime.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC/B,MAAM,YAAY,CAAA;AAEnB,KAAK,0BAA0B,GAAG;IAChC,MAAM,EAAE,kBAAkB,CAAA;IAC1B,iBAAiB,EAAE,yBAAyB,CAAA;IAC5C,iBAAiB,EAAE,eAAe,EAAE,CAAA;IACpC,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IACpC,QAAQ,EAAE,eAAe,CAAA;IACzB,mBAAmB,EAAE,eAAe,EAAE,CAAA;IACtC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,cAAc,EAAE,OAAO,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,2BAA2B,GACnC;IACE,EAAE,EAAE,IAAI,CAAA;IACR,QAAQ,EAAE,eAAe,CAAA;IACzB,kBAAkB,EAAE,eAAe,EAAE,CAAA;IACrC,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,eAAe,CAAA;CAC1B,GACD;IACE,EAAE,EAAE,KAAK,CAAA;IACT,kBAAkB,EAAE,eAAe,EAAE,CAAA;IACrC,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAEL,wBAAgB,oBAAoB,CAClC,iBAAiB,EAAE,yBAAyB,EAC5C,iBAAiB,EAAE,eAAe,EAAE,GACnC,eAAe,EAAE,CA6BnB;AAED,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,2BAA2B,CAAC,CAsCtC"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { executeChromeMcpAction } from "./providers/chrome-mcp.js";
|
|
2
|
-
import { executePlaywrightAction } from "./providers/playwright.js";
|
|
3
|
-
import { BROWSER_OPERATORS, } from "./types.js";
|
|
4
|
-
export function resolveProviderOrder(preferredProvider, fallbackProviders) {
|
|
5
|
-
const chromeMcpConfigured = isChromeMcpConfigured();
|
|
6
|
-
const seed = preferredProvider === "auto"
|
|
7
|
-
? ["playwright", ...(chromeMcpConfigured ? ["chrome-mcp"] : [])]
|
|
8
|
-
: [preferredProvider];
|
|
9
|
-
const ordered = [...seed, ...fallbackProviders];
|
|
10
|
-
const deduped = [];
|
|
11
|
-
for (const provider of ordered) {
|
|
12
|
-
if (provider === "chrome-mcp" &&
|
|
13
|
-
!chromeMcpConfigured &&
|
|
14
|
-
preferredProvider !== "chrome-mcp") {
|
|
15
|
-
continue;
|
|
16
|
-
}
|
|
17
|
-
if (BROWSER_OPERATORS.includes(provider) && !deduped.includes(provider)) {
|
|
18
|
-
deduped.push(provider);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
if (deduped.length === 0) {
|
|
22
|
-
return ["playwright"];
|
|
23
|
-
}
|
|
24
|
-
return deduped;
|
|
25
|
-
}
|
|
26
|
-
export async function executeOperatorAction(input) {
|
|
27
|
-
const providerOrder = resolveProviderOrder(input.preferredProvider, input.fallbackProviders);
|
|
28
|
-
const errors = [];
|
|
29
|
-
const attemptedProviders = [];
|
|
30
|
-
for (const provider of providerOrder) {
|
|
31
|
-
attemptedProviders.push(provider);
|
|
32
|
-
const result = provider === "playwright"
|
|
33
|
-
? await executePlaywrightAction(input.action, input.headless)
|
|
34
|
-
: await executeChromeMcpAction(input.action);
|
|
35
|
-
if (result.ok) {
|
|
36
|
-
return {
|
|
37
|
-
ok: true,
|
|
38
|
-
provider,
|
|
39
|
-
attemptedProviders,
|
|
40
|
-
data: result.data,
|
|
41
|
-
evidence: buildEvidence(input.action, provider, attemptedProviders, result.data),
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
errors.push(`${provider}: ${result.error}`);
|
|
45
|
-
if (!result.retryable) {
|
|
46
|
-
break;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return {
|
|
50
|
-
ok: false,
|
|
51
|
-
attemptedProviders,
|
|
52
|
-
error: errors.join(" | "),
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
function buildEvidence(actionInput, provider, attemptedProviders, data) {
|
|
56
|
-
const record = isRecord(data) ? data : {};
|
|
57
|
-
const checkpoint = isRecord(record.checkpoint) ? record.checkpoint : {};
|
|
58
|
-
const hasScreenshot = typeof record.screenshot_base64 === "string";
|
|
59
|
-
const url = typeof record.url === "string"
|
|
60
|
-
? record.url
|
|
61
|
-
: typeof checkpoint.url === "string"
|
|
62
|
-
? checkpoint.url
|
|
63
|
-
: null;
|
|
64
|
-
const title = typeof record.title === "string"
|
|
65
|
-
? record.title
|
|
66
|
-
: typeof checkpoint.title === "string"
|
|
67
|
-
? checkpoint.title
|
|
68
|
-
: null;
|
|
69
|
-
const stepName = typeof checkpoint.step_name === "string" ? checkpoint.step_name : null;
|
|
70
|
-
const visibleFields = Array.isArray(checkpoint.visible_fields)
|
|
71
|
-
? checkpoint.visible_fields.filter((value) => typeof value === "string")
|
|
72
|
-
: [];
|
|
73
|
-
return {
|
|
74
|
-
action: actionInput.action,
|
|
75
|
-
provider,
|
|
76
|
-
attempted_providers: attemptedProviders,
|
|
77
|
-
requested_url: actionInput.url ?? null,
|
|
78
|
-
selector: actionInput.selector ?? null,
|
|
79
|
-
url,
|
|
80
|
-
title,
|
|
81
|
-
step_name: stepName,
|
|
82
|
-
visible_fields: visibleFields,
|
|
83
|
-
has_screenshot: hasScreenshot,
|
|
84
|
-
captured_at: new Date().toISOString(),
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
function isRecord(value) {
|
|
88
|
-
return typeof value === "object" && value !== null;
|
|
89
|
-
}
|
|
90
|
-
function isChromeMcpConfigured() {
|
|
91
|
-
return Boolean(process.env.ARTIE_CHROME_MCP_ENDPOINT?.trim());
|
|
92
|
-
}
|
|
93
|
-
//# sourceMappingURL=operator-runtime.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"operator-runtime.js","sourceRoot":"","sources":["../../../../src/agent/tools/browser/operator-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chrome-mcp.d.ts","sourceRoot":"","sources":["../../../../../src/agent/tools/browser/providers/chrome-mcp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAE5E,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,qBAAqB,CAAC,CA0EhC"}
|