@epsilon-asi/actors 0.0.46 → 0.0.48

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.
@@ -1 +1 @@
1
- {"version":3,"file":"upwork-com.actor.d.ts","sourceRoot":"","sources":["../../../src/sites/upwork-com/upwork-com.actor.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACpB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAA2B,gBAAgB,EAAC,MAAM,4BAA4B,CAAC;AAEtF,OAAO,EAE2B,qBAAqB,EACnD,uBAAuB,EAC1B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAA4B,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAEtF,eAAO,MAAM,cAAc;;yEAuDgB,qBAAqB,KAAQ,OAAO,CAAC,gBAAgB,EAAE,CAAC;qEAO3D,iBAAiB,KAAG,OAAO,CAAC;QACxD,UAAU,EAAE,gBAAgB,CAAC;QAC7B,YAAY,EAAE,uBAAuB,CAAA;KACxC,CAAC;yEAakC,qBAAqB,GAAG,qBAAqB,KAAG,OAAO,CAAC,sBAAsB,CAAC;EA+BzH,CAAC"}
1
+ {"version":3,"file":"upwork-com.actor.d.ts","sourceRoot":"","sources":["../../../src/sites/upwork-com/upwork-com.actor.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACpB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAA2B,gBAAgB,EAAC,MAAM,4BAA4B,CAAC;AAEtF,OAAO,EAE2B,qBAAqB,EACnD,uBAAuB,EAC1B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAA4B,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAEtF,eAAO,MAAM,cAAc;;yEA0DgB,qBAAqB,KAAQ,OAAO,CAAC,gBAAgB,EAAE,CAAC;qEAY3D,iBAAiB,KAAG,OAAO,CAAC;QACxD,UAAU,EAAE,gBAAgB,CAAC;QAC7B,YAAY,EAAE,uBAAuB,CAAA;KACxC,CAAC;yEAmBkC,qBAAqB,GAAG,qBAAqB,KAAG,OAAO,CAAC,sBAAsB,CAAC;EAwCzH,CAAC"}
@@ -56,41 +56,65 @@ export const upworkComActor = defineActor({
56
56
  }),
57
57
  tasks: {
58
58
  test: async (context, input) => {
59
+ console.log('starting test task');
59
60
  //@ts-ignore
60
61
  await context.native.fileDialogs.selectFile(process.env.TEST);
62
+ console.log('moving mouse in test task');
61
63
  await context.native.mouse.moveTo({ x: 100, y: 200 });
64
+ console.log('finished test task');
62
65
  },
63
66
  searchJobs: async (context, input = {}) => {
67
+ console.log('starting job search task');
64
68
  const path = '/nx/s/universal-search/jobs?category2_uid=531770282580668420,531770282580668419,531770282580668418&client_hires=1-9,10-&payment_verified=1&q=%27rancher%27%20or%20%27terraform%27%20or%20%27gitops%27%20or%20%27azure%27%20or%20%27microsoft%20azure%27%20or%20%27cloud%20architect%27%20or%20%27ai%20architect%27%20or%20%27forward%20deployed%20engineer%27%20or%20%27aws%27%20or%20%27aks%27%20or%20%27eks%27%20or%20%27gke%27%20or%20%27cloud%20engineer%27%20or%20devops%20or%20kuberentes%20or%20%27platform%20engineer%27%20or%20%27infrastructure%20engineer%27%20or%20"google%20cloud%20platform"%20or%20"GCP"%20or%20"langsmith"%20or%20"langgraph"%20or%20"gemini%20enterprise"&sort=recency&user_location_match=1';
69
+ console.log('navigating to jobs search page');
65
70
  await context.nav.goto(path, {});
66
- return await parseUpworkSearchResults(context.session.page);
71
+ console.log('parsing jobs search results');
72
+ const results = await parseUpworkSearchResults(context.session.page);
73
+ console.log('finished job search task');
74
+ return results;
67
75
  },
68
76
  getJob: async (_context, input) => {
69
- await _context.nav.goto(`/nx/proposals/job/~${input.jobId}/`);
77
+ console.log('starting get job task');
78
+ console.log('opening job details page');
79
+ await _context.nav.goto(`/jobs/~02${input.jobId}/`);
80
+ console.log('parsing job details content');
70
81
  const jobDetails = parseUpworkJobDetailsPage(await _context.session.page.content());
71
- await _context.nav.goto(`/nx/proposals/job/~${input.jobId}/apply/`);
82
+ console.log('opening job application page');
83
+ await _context.nav.goto(`/nx/proposals/job/~02${input.jobId}/apply/`);
84
+ console.log('parsing proposal questions');
72
85
  const jobQuestions = await parseUpworkProposalQuestions(_context.session.page);
86
+ console.log('finished get job task');
73
87
  return {
74
88
  jobDetails,
75
89
  jobQuestions
76
90
  };
77
91
  },
78
92
  applyToJob: async (_context, input) => {
93
+ console.log('starting apply to job task');
94
+ console.log('opening apply page');
79
95
  await _context.nav.goto(`/nx/proposals/job/~02${input.jobId}/apply/`);
96
+ console.log('opening agency selector');
80
97
  await _context.cursor.move('.up-fe-agency-member-selector > [data-test="dropdown-toggle"]');
81
98
  await _context.cursor.click('.up-fe-agency-member-selector > [data-test="dropdown-toggle"]');
99
+ console.log('selecting agency option');
82
100
  await _context.cursor.move('li[role="option"][tabindex="0"]');
83
101
  await _context.cursor.click('li[role="option"][tabindex="0"]');
102
+ console.log('opening contractor selector');
84
103
  await _context.cursor.move('.up-fe-contractor-selector > [data-test="dropdown-toggle"]');
85
104
  await _context.cursor.click('.up-fe-contractor-selector > [data-test="dropdown-toggle"]');
105
+ console.log('selecting contractor option');
86
106
  await _context.cursor.move('li[role="option"][tabindex="0"]');
87
107
  await _context.cursor.click('li[role="option"][tabindex="0"]');
108
+ console.log('scrolling to rate increase selector');
88
109
  await _context.cursor.scrollIntoView('[data-test="sri-form-card"] > [data-test="dropdown-toggle"] > [aria-label="How often do you want a rate increase?"]');
110
+ console.log('opening rate increase selector');
89
111
  await _context.cursor.move('[data-test="sri-form-card"] > [data-test="dropdown-toggle"] > [aria-label="How often do you want a rate increase?"]');
90
112
  await _context.cursor.click('[data-test="sri-form-card"] > [data-test="dropdown-toggle"] > [aria-label="How often do you want a rate increase?"]');
91
113
  await _context.cursor.move('li[role="option"][tabindex="0"]');
92
114
  await _context.cursor.click('li[role="option"][tabindex="0"]');
115
+ console.log('filling proposal answers');
93
116
  await fillUpworkProposalQuestions(_context.session.page, input.answers);
117
+ console.log('building apply result payload');
94
118
  return {
95
119
  coverLetter: input.answers.coverLetter ?? '',
96
120
  rate: parseRate(input.rate)
@@ -1 +1 @@
1
- {"version":3,"file":"upwork-com.actor.js","sourceRoot":"","sources":["../../../src/sites/upwork-com/upwork-com.actor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upwork-com.actor.js","sourceRoot":"","sources":["../../../src/sites/upwork-com/upwork-com.actor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epsilon-asi/actors",
3
- "version": "0.0.46",
3
+ "version": "0.0.48",
4
4
  "description": "A TypeScript Puppeteer actor framework using existing Chrome profiles and ghost-cursor.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -33,4 +33,4 @@ export interface ActorContext {
33
33
  auth: AuthController;
34
34
  logger: Logger;
35
35
  native: NativeAutomation;
36
- }
36
+ }
@@ -69,58 +69,81 @@ export const upworkComActor = defineActor({
69
69
  }),
70
70
  tasks: {
71
71
  test: async (context, input) => {
72
+ console.log('starting test task');
72
73
  //@ts-ignore
73
74
  await context.native.fileDialogs.selectFile(process.env.TEST)
74
- await context.native.mouse.moveTo({x: 100, y: 200})
75
+ console.log('moving mouse in test task');
76
+ await context.native.mouse.moveTo({x: 100, y: 200})
77
+ console.log('finished test task');
75
78
  },
76
79
  searchJobs: async (context, input: UpworkJobSearchFields = {}): Promise<UpworkJobListing[]> => {
80
+ console.log('starting job search task');
77
81
  const path = '/nx/s/universal-search/jobs?category2_uid=531770282580668420,531770282580668419,531770282580668418&client_hires=1-9,10-&payment_verified=1&q=%27rancher%27%20or%20%27terraform%27%20or%20%27gitops%27%20or%20%27azure%27%20or%20%27microsoft%20azure%27%20or%20%27cloud%20architect%27%20or%20%27ai%20architect%27%20or%20%27forward%20deployed%20engineer%27%20or%20%27aws%27%20or%20%27aks%27%20or%20%27eks%27%20or%20%27gke%27%20or%20%27cloud%20engineer%27%20or%20devops%20or%20kuberentes%20or%20%27platform%20engineer%27%20or%20%27infrastructure%20engineer%27%20or%20"google%20cloud%20platform"%20or%20"GCP"%20or%20"langsmith"%20or%20"langgraph"%20or%20"gemini%20enterprise"&sort=recency&user_location_match=1';
78
82
 
83
+ console.log('navigating to jobs search page');
79
84
  await context.nav.goto(path, {});
80
85
 
81
- return await parseUpworkSearchResults(context.session.page as Page);
86
+ console.log('parsing jobs search results');
87
+ const results = await parseUpworkSearchResults(context.session.page as Page);
88
+ console.log('finished job search task');
89
+ return results;
82
90
  },
83
91
  getJob: async (_context, input: UpworkJobSelector): Promise<{
84
92
  jobDetails: UpworkJobDetails,
85
93
  jobQuestions: UpworkProposalQuestions
86
94
  }> => {
95
+ console.log('starting get job task');
96
+ console.log('opening job details page');
87
97
  await _context.nav.goto(`/jobs/~02${input.jobId}/`);
88
98
 
99
+ console.log('parsing job details content');
89
100
  const jobDetails = parseUpworkJobDetailsPage(await _context.session.page.content());
90
101
 
102
+ console.log('opening job application page');
91
103
  await _context.nav.goto(`/nx/proposals/job/~02${input.jobId}/apply/`);
92
104
 
105
+ console.log('parsing proposal questions');
93
106
  const jobQuestions = await parseUpworkProposalQuestions(_context.session.page as Page);
107
+ console.log('finished get job task');
94
108
  return {
95
109
  jobDetails,
96
110
  jobQuestions
97
111
  }
98
112
  },
99
113
  applyToJob: async (_context, input: UpworkApplyToJobInput & UpworkProposalAnswers): Promise<UpworkApplyToJobResult> => {
100
-
114
+ console.log('starting apply to job task');
115
+ console.log('opening apply page');
101
116
  await _context.nav.goto(`/nx/proposals/job/~02${input.jobId}/apply/`);
102
117
 
118
+ console.log('opening agency selector');
103
119
  await _context.cursor.move('.up-fe-agency-member-selector > [data-test="dropdown-toggle"]')
104
120
  await _context.cursor.click('.up-fe-agency-member-selector > [data-test="dropdown-toggle"]')
105
121
 
122
+ console.log('selecting agency option');
106
123
  await _context.cursor.move('li[role="option"][tabindex="0"]')
107
124
  await _context.cursor.click('li[role="option"][tabindex="0"]')
108
125
 
126
+ console.log('opening contractor selector');
109
127
  await _context.cursor.move('.up-fe-contractor-selector > [data-test="dropdown-toggle"]')
110
128
  await _context.cursor.click('.up-fe-contractor-selector > [data-test="dropdown-toggle"]')
111
129
 
130
+ console.log('selecting contractor option');
112
131
  await _context.cursor.move('li[role="option"][tabindex="0"]')
113
132
  await _context.cursor.click('li[role="option"][tabindex="0"]')
114
133
 
134
+ console.log('scrolling to rate increase selector');
115
135
  await _context.cursor.scrollIntoView('[data-test="sri-form-card"] > [data-test="dropdown-toggle"] > [aria-label="How often do you want a rate increase?"]')
116
136
 
137
+ console.log('opening rate increase selector');
117
138
  await _context.cursor.move('[data-test="sri-form-card"] > [data-test="dropdown-toggle"] > [aria-label="How often do you want a rate increase?"]')
118
139
  await _context.cursor.click('[data-test="sri-form-card"] > [data-test="dropdown-toggle"] > [aria-label="How often do you want a rate increase?"]')
119
140
  await _context.cursor.move('li[role="option"][tabindex="0"]')
120
141
  await _context.cursor.click('li[role="option"][tabindex="0"]')
121
142
 
143
+ console.log('filling proposal answers');
122
144
  await fillUpworkProposalQuestions(_context.session.page as Page, input.answers)
123
145
 
146
+ console.log('building apply result payload');
124
147
  return {
125
148
  coverLetter: input.answers.coverLetter ?? '',
126
149
  rate: parseRate(input.rate)