atsfill 0.0.5.dev152__tar.gz → 0.0.5.dev154__tar.gz
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.
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/PKG-INFO +3 -1
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/README.md +2 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/pyproject.toml +1 -1
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/pyproject.toml.orig +1 -1
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/__init__.py +2 -0
- atsfill-0.0.5.dev154/src/atsfill/adapters/workatastartup.py +830 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/cli.py +21 -3
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/core/__init__.py +1 -1
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/core/adapter.py +38 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/core/browser.py +1 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/core/commands.py +127 -6
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/core/matching.py +2 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/core/results.py +4 -1
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/core/telemetry.py +8 -7
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/registry.toml +8 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/LICENSE +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/__init__.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/ashby.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/bamboohr.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/breezy.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/dayforce.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/eightfold.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/greenhouse.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/gupy.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/hireology.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/hiringthing.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/hrmdirect.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/isolvedhire.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/jazzhr.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/jobaffinity.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/join.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/lever.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/manatal.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/oracle.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/paycor.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/paylocity.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/personio.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/phenom.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/pinpoint.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/recruitee.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/recruiterflow.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/rippling.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/smartrecruiters.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/successfactors.js +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/successfactors.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/taleo.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/teamtailor.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/ukg.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/workable.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/workday.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/wttj.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/adapters/zohorecruit.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/core/accounts.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/core/attempts.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/core/conditions.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/core/html.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/core/otp.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/core/passwords.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/core/paths.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/core/registry.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/core/snapshot.py +0 -0
- {atsfill-0.0.5.dev152 → atsfill-0.0.5.dev154}/src/atsfill/py.typed +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: atsfill
|
|
3
|
-
Version: 0.0.5.
|
|
3
|
+
Version: 0.0.5.dev154
|
|
4
4
|
Summary: Read, dry-run and submit job application forms on hiring systems: Ashby, Greenhouse, Teamtailor, Welcome to the Jungle.
|
|
5
5
|
Keywords: job-applications,ats,ashby,greenhouse,teamtailor,ai-agents,cli
|
|
6
6
|
Author: shbernal
|
|
@@ -84,6 +84,7 @@ It is built for agents with a shell: every command prints one JSON document and
|
|
|
84
84
|
[](https://shbernal.github.io/atsfill/run-history/)
|
|
85
85
|
[](https://shbernal.github.io/atsfill/run-history/)
|
|
86
86
|
[](https://shbernal.github.io/atsfill/run-history/)
|
|
87
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
87
88
|
[](https://shbernal.github.io/atsfill/run-history/)
|
|
88
89
|
[](https://shbernal.github.io/atsfill/run-history/)
|
|
89
90
|
[](https://shbernal.github.io/atsfill/run-history/)
|
|
@@ -165,6 +166,7 @@ One home can send for more than one user: `--user <name>` gives each their own s
|
|
|
165
166
|
Given an account's email (`atsfill login <adapter> --email`) and a password source (a `[password-commands]` entry such as `rbw get example.com {email}`, or `--password -` on stdin), atsfill signs in by itself, and again whenever a form command finds the session signed out.
|
|
166
167
|
When a system emails an OTP, on a sign-in, a sign-up or a form, atsfill gets it from the user's `[otp-commands]` entry, a command that reads the mailbox (`{email}` and `{since}` are filled in), and types it in; without one the command ends `blocked: no_otp_command`.
|
|
167
168
|
Where a system's sign-up allows it, `atsfill login <adapter> --create --email <address>` (with `--details <file.json>` where the sign-up asks the user's name, phone or address) creates the account with a password atsfill generates and keeps in the system's secret store, never printed; creating an account is a side effect, never part of `fill` or `send`.
|
|
169
|
+
Where a system applies only from a complete account profile, `atsfill profile <adapter>` reads its profile form and `atsfill profile <adapter> --answers <file.json>` saves it, step by step, skipping the steps that already match; a form command that meets an incomplete profile ends `blocked: profile_incomplete`, naming that command. Saving a profile is a side effect, never part of `fill` or `send` ([ADR 0017](docs/adr/0017-account-profiles.md)).
|
|
168
170
|
|
|
169
171
|
## How it works
|
|
170
172
|
|
|
@@ -55,6 +55,7 @@ It is built for agents with a shell: every command prints one JSON document and
|
|
|
55
55
|
[](https://shbernal.github.io/atsfill/run-history/)
|
|
56
56
|
[](https://shbernal.github.io/atsfill/run-history/)
|
|
57
57
|
[](https://shbernal.github.io/atsfill/run-history/)
|
|
58
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
58
59
|
[](https://shbernal.github.io/atsfill/run-history/)
|
|
59
60
|
[](https://shbernal.github.io/atsfill/run-history/)
|
|
60
61
|
[](https://shbernal.github.io/atsfill/run-history/)
|
|
@@ -136,6 +137,7 @@ One home can send for more than one user: `--user <name>` gives each their own s
|
|
|
136
137
|
Given an account's email (`atsfill login <adapter> --email`) and a password source (a `[password-commands]` entry such as `rbw get example.com {email}`, or `--password -` on stdin), atsfill signs in by itself, and again whenever a form command finds the session signed out.
|
|
137
138
|
When a system emails an OTP, on a sign-in, a sign-up or a form, atsfill gets it from the user's `[otp-commands]` entry, a command that reads the mailbox (`{email}` and `{since}` are filled in), and types it in; without one the command ends `blocked: no_otp_command`.
|
|
138
139
|
Where a system's sign-up allows it, `atsfill login <adapter> --create --email <address>` (with `--details <file.json>` where the sign-up asks the user's name, phone or address) creates the account with a password atsfill generates and keeps in the system's secret store, never printed; creating an account is a side effect, never part of `fill` or `send`.
|
|
140
|
+
Where a system applies only from a complete account profile, `atsfill profile <adapter>` reads its profile form and `atsfill profile <adapter> --answers <file.json>` saves it, step by step, skipping the steps that already match; a form command that meets an incomplete profile ends `blocked: profile_incomplete`, naming that command. Saving a profile is a side effect, never part of `fill` or `send` ([ADR 0017](docs/adr/0017-account-profiles.md)).
|
|
139
141
|
|
|
140
142
|
## How it works
|
|
141
143
|
|
|
@@ -27,6 +27,7 @@ from atsfill.adapters.successfactors import SuccessFactors
|
|
|
27
27
|
from atsfill.adapters.teamtailor import Teamtailor
|
|
28
28
|
from atsfill.adapters.ukg import UKG
|
|
29
29
|
from atsfill.adapters.workable import Workable
|
|
30
|
+
from atsfill.adapters.workatastartup import WorkAtAStartup
|
|
30
31
|
from atsfill.adapters.workday import Workday
|
|
31
32
|
from atsfill.adapters.wttj import WelcomeToTheJungle
|
|
32
33
|
from atsfill.adapters.zohorecruit import ZohoRecruit
|
|
@@ -40,6 +41,7 @@ def adapters() -> list[Adapter]:
|
|
|
40
41
|
Teamtailor(),
|
|
41
42
|
Greenhouse(),
|
|
42
43
|
WelcomeToTheJungle(),
|
|
44
|
+
WorkAtAStartup(),
|
|
43
45
|
Join(),
|
|
44
46
|
JobAffinity(),
|
|
45
47
|
SmartRecruiters(),
|