@enricai/barnacle 1.0.0 → 1.1.0
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 +51 -0
- package/dist/config.d.ts +10 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/lib/datadog.d.ts +20 -5
- package/dist/lib/datadog.d.ts.map +1 -1
- package/dist/lib/datadog.js +65 -19
- package/dist/lib/datadog.js.map +1 -1
- package/dist/lib/errors.d.ts +8 -0
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +11 -0
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/logging.js +1 -1
- package/dist/lib/logging.js.map +1 -1
- package/dist/lib/statsd.d.ts +20 -5
- package/dist/lib/statsd.d.ts.map +1 -1
- package/dist/lib/statsd.js +56 -28
- package/dist/lib/statsd.js.map +1 -1
- package/dist/scraper/http-client.js +2 -2
- package/dist/scraper/http-client.js.map +1 -1
- package/dist/scraper/raw-fetch.d.ts +22 -0
- package/dist/scraper/raw-fetch.d.ts.map +1 -1
- package/dist/scraper/raw-fetch.js +2 -2
- package/dist/scraper/raw-fetch.js.map +1 -1
- package/dist/scraper/session-browserbase.d.ts +4 -4
- package/dist/scraper/session-browserbase.js +4 -4
- package/dist/scripts/recon-generate.d.ts.map +1 -1
- package/dist/scripts/recon-generate.js +42 -14
- package/dist/scripts/recon-generate.js.map +1 -1
- package/dist/testing/{contract-parity-suite.d.ts → contract-parity-suite.d.mts} +2 -2
- package/dist/testing/contract-parity-suite.d.mts.map +1 -0
- package/dist/testing/{contract-parity-suite.js → contract-parity-suite.mjs} +9 -12
- package/dist/testing/contract-parity-suite.mjs.map +1 -0
- package/dist/testing/{coverage-guard-suite.d.ts → coverage-guard-suite.d.mts} +1 -1
- package/dist/testing/coverage-guard-suite.d.mts.map +1 -0
- package/dist/testing/{coverage-guard-suite.js → coverage-guard-suite.mjs} +9 -12
- package/dist/testing/coverage-guard-suite.mjs.map +1 -0
- package/dist/testing/persona-fixture.d.ts +8 -6
- package/dist/testing/persona-fixture.d.ts.map +1 -1
- package/dist/testing/persona-fixture.js +8 -6
- package/dist/testing/persona-fixture.js.map +1 -1
- package/dist/testing/{replay-integration-suite.d.ts → replay-integration-suite.d.mts} +3 -3
- package/dist/testing/replay-integration-suite.d.mts.map +1 -0
- package/dist/testing/{replay-integration-suite.js → replay-integration-suite.mjs} +11 -14
- package/dist/testing/replay-integration-suite.mjs.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +40 -20
- package/dist/lib/application-answers.d.ts +0 -151
- package/dist/lib/application-answers.d.ts.map +0 -1
- package/dist/lib/application-answers.js +0 -95
- package/dist/lib/application-answers.js.map +0 -1
- package/dist/scripts/hca-inbox-poll.d.ts +0 -19
- package/dist/scripts/hca-inbox-poll.d.ts.map +0 -1
- package/dist/scripts/hca-inbox-poll.js +0 -151
- package/dist/scripts/hca-inbox-poll.js.map +0 -1
- package/dist/testing/answers-fixture.d.ts +0 -13
- package/dist/testing/answers-fixture.d.ts.map +0 -1
- package/dist/testing/answers-fixture.js +0 -37
- package/dist/testing/answers-fixture.js.map +0 -1
- package/dist/testing/contract-parity-suite.d.ts.map +0 -1
- package/dist/testing/contract-parity-suite.js.map +0 -1
- package/dist/testing/coverage-guard-suite.d.ts.map +0 -1
- package/dist/testing/coverage-guard-suite.js.map +0 -1
- package/dist/testing/replay-integration-suite.d.ts.map +0 -1
- package/dist/testing/replay-integration-suite.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@enricai/barnacle",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Site-agnostic browser automation engine. POST a structured payload to a typed endpoint; Barnacle drives a Steel + Stagehand session through the target site and returns a structured result.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Enricai",
|
|
@@ -66,10 +66,6 @@
|
|
|
66
66
|
"types": "./dist/lib/applicant-payload.d.ts",
|
|
67
67
|
"default": "./dist/lib/applicant-payload.js"
|
|
68
68
|
},
|
|
69
|
-
"./lib/application-answers": {
|
|
70
|
-
"types": "./dist/lib/application-answers.d.ts",
|
|
71
|
-
"default": "./dist/lib/application-answers.js"
|
|
72
|
-
},
|
|
73
69
|
"./lib/case-insensitive-headers": {
|
|
74
70
|
"types": "./dist/lib/case-insensitive-headers.d.ts",
|
|
75
71
|
"default": "./dist/lib/case-insensitive-headers.js"
|
|
@@ -174,13 +170,17 @@
|
|
|
174
170
|
"types": "./dist/site-plugin.d.ts",
|
|
175
171
|
"default": "./dist/site-plugin.js"
|
|
176
172
|
},
|
|
177
|
-
"./testing/
|
|
178
|
-
"types": "./dist/testing/
|
|
179
|
-
"default": "./dist/testing/
|
|
173
|
+
"./testing/batch-email-confirmation": {
|
|
174
|
+
"types": "./dist/testing/batch-email-confirmation.d.ts",
|
|
175
|
+
"default": "./dist/testing/batch-email-confirmation.js"
|
|
176
|
+
},
|
|
177
|
+
"./testing/batch-report": {
|
|
178
|
+
"types": "./dist/testing/batch-report.d.ts",
|
|
179
|
+
"default": "./dist/testing/batch-report.js"
|
|
180
180
|
},
|
|
181
181
|
"./testing/contract-parity-suite": {
|
|
182
|
-
"types": "./dist/testing/contract-parity-suite.d.
|
|
183
|
-
"default": "./dist/testing/contract-parity-suite.
|
|
182
|
+
"types": "./dist/testing/contract-parity-suite.d.mts",
|
|
183
|
+
"default": "./dist/testing/contract-parity-suite.mjs"
|
|
184
184
|
},
|
|
185
185
|
"./testing/mock-fetch-response": {
|
|
186
186
|
"types": "./dist/testing/mock-fetch-response.d.ts",
|
|
@@ -191,13 +191,17 @@
|
|
|
191
191
|
"default": "./dist/testing/persona-fixture.js"
|
|
192
192
|
},
|
|
193
193
|
"./testing/replay-integration-suite": {
|
|
194
|
-
"types": "./dist/testing/replay-integration-suite.d.
|
|
195
|
-
"default": "./dist/testing/replay-integration-suite.
|
|
194
|
+
"types": "./dist/testing/replay-integration-suite.d.mts",
|
|
195
|
+
"default": "./dist/testing/replay-integration-suite.mjs"
|
|
196
196
|
},
|
|
197
197
|
"./testing/resume-fixture": {
|
|
198
198
|
"types": "./dist/testing/resume-fixture.d.ts",
|
|
199
199
|
"default": "./dist/testing/resume-fixture.js"
|
|
200
200
|
},
|
|
201
|
+
"./testmail/client": {
|
|
202
|
+
"types": "./dist/testmail/client.d.ts",
|
|
203
|
+
"default": "./dist/testmail/client.js"
|
|
204
|
+
},
|
|
201
205
|
"./types/logging": {
|
|
202
206
|
"types": "./dist/types/logging.d.ts",
|
|
203
207
|
"default": "./dist/types/logging.js"
|
|
@@ -229,9 +233,9 @@
|
|
|
229
233
|
"probe:warmup": "tsx --env-file=.env src/scripts/probe-warmup-reliability.ts"
|
|
230
234
|
},
|
|
231
235
|
"dependencies": {
|
|
232
|
-
"@ai-sdk/amazon-bedrock": "^5.0.
|
|
233
|
-
"@anthropic-ai/sdk": "^0.
|
|
234
|
-
"@aws-sdk/client-s3": "^3.
|
|
236
|
+
"@ai-sdk/amazon-bedrock": "^5.0.17",
|
|
237
|
+
"@anthropic-ai/sdk": "^0.111.0",
|
|
238
|
+
"@aws-sdk/client-s3": "^3.1085.0",
|
|
235
239
|
"@browserbasehq/stagehand": "^3.6.0",
|
|
236
240
|
"@fastify/compress": "^9.0.0",
|
|
237
241
|
"@fastify/helmet": "^13.1.0",
|
|
@@ -242,33 +246,49 @@
|
|
|
242
246
|
"bcryptjs": "^3.0.3",
|
|
243
247
|
"bottleneck": "^2.19.5",
|
|
244
248
|
"date-fns": "^4.4.0",
|
|
245
|
-
"dd-trace": "^6",
|
|
246
249
|
"dotenv": "^17.4.2",
|
|
247
250
|
"fastify": "^5.10.0",
|
|
248
251
|
"fastify-plugin": "^6.0.0",
|
|
249
252
|
"fastify-type-provider-zod": "^5.0.2",
|
|
250
|
-
"hot-shots": "^16",
|
|
251
253
|
"http-status-codes": "^2.3.0",
|
|
252
254
|
"lru-cache": "^11.5.2",
|
|
253
|
-
"nanoid": "^
|
|
255
|
+
"nanoid": "^6.0.0",
|
|
254
256
|
"normalize-url": "^9.0.1",
|
|
255
257
|
"p-queue": "^9.3.1",
|
|
256
258
|
"p-retry": "^8.0.0",
|
|
257
259
|
"pino": "^10.3.1",
|
|
258
260
|
"steel-sdk": "^0.18.0",
|
|
259
|
-
"typescript": "^
|
|
261
|
+
"typescript": "^7.0.2",
|
|
260
262
|
"undici": "8",
|
|
261
263
|
"zod": "^3.23.8"
|
|
262
264
|
},
|
|
265
|
+
"peerDependencies": {
|
|
266
|
+
"dd-trace": "^6",
|
|
267
|
+
"hot-shots": "^17",
|
|
268
|
+
"vitest": "^4.1.10"
|
|
269
|
+
},
|
|
270
|
+
"peerDependenciesMeta": {
|
|
271
|
+
"dd-trace": {
|
|
272
|
+
"optional": true
|
|
273
|
+
},
|
|
274
|
+
"hot-shots": {
|
|
275
|
+
"optional": true
|
|
276
|
+
},
|
|
277
|
+
"vitest": {
|
|
278
|
+
"optional": true
|
|
279
|
+
}
|
|
280
|
+
},
|
|
263
281
|
"devDependencies": {
|
|
264
282
|
"@biomejs/biome": "^2.5.2",
|
|
265
283
|
"@types/bcryptjs": "^3.0.0",
|
|
266
284
|
"@types/node": "^26.1.0",
|
|
267
285
|
"@vitest/coverage-v8": "^4.1.10",
|
|
286
|
+
"dd-trace": "^6",
|
|
287
|
+
"hot-shots": "^17",
|
|
268
288
|
"husky": "^9.1.6",
|
|
269
289
|
"pino-pretty": "^13.0.0",
|
|
270
290
|
"tsc-alias": "^1.9.0",
|
|
271
|
-
"tsx": "^4.23.
|
|
291
|
+
"tsx": "^4.23.1",
|
|
272
292
|
"vitest": "^4.1.10"
|
|
273
293
|
},
|
|
274
294
|
"pnpm": {
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared Zod schema for the integrated-questions yes/no + free-text answer
|
|
3
|
-
* block that AppCast-powered ATS plugins require on every submission. Both
|
|
4
|
-
* Appcast and Encompass Health declare the same 21 fields; this module is the
|
|
5
|
-
* single source of truth so a field-type change propagates everywhere.
|
|
6
|
-
*
|
|
7
|
-
* Callers wrap this with `multipartJsonObject()` when the parent payload is
|
|
8
|
-
* multipart — this module exports the raw object so each plugin chooses its
|
|
9
|
-
* own wrapper.
|
|
10
|
-
*/
|
|
11
|
-
import { z } from "zod/v4";
|
|
12
|
-
export declare const ApplicationAnswersSchema: z.ZodObject<{
|
|
13
|
-
WorkAuthorization: z.ZodEnum<{
|
|
14
|
-
Yes: "Yes";
|
|
15
|
-
No: "No";
|
|
16
|
-
}>;
|
|
17
|
-
VisaSponsorship: z.ZodString;
|
|
18
|
-
NonCompete: z.ZodEnum<{
|
|
19
|
-
Yes: "Yes";
|
|
20
|
-
No: "No";
|
|
21
|
-
}>;
|
|
22
|
-
OIGGSAOFACExcluded: z.ZodEnum<{
|
|
23
|
-
Yes: "Yes";
|
|
24
|
-
No: "No";
|
|
25
|
-
}>;
|
|
26
|
-
FormerEmployee: z.ZodString;
|
|
27
|
-
CurrentNonEmployeeId: z.ZodString;
|
|
28
|
-
OtherOpportunities: z.ZodEnum<{
|
|
29
|
-
Yes: "Yes";
|
|
30
|
-
No: "No";
|
|
31
|
-
}>;
|
|
32
|
-
RelatedToEmployee: z.ZodEnum<{
|
|
33
|
-
Yes: "Yes";
|
|
34
|
-
No: "No";
|
|
35
|
-
}>;
|
|
36
|
-
PreviouslyEmployedAtEncompass: z.ZodEnum<{
|
|
37
|
-
Yes: "Yes";
|
|
38
|
-
No: "No";
|
|
39
|
-
}>;
|
|
40
|
-
EverSanctionedOrOnProbation: z.ZodEnum<{
|
|
41
|
-
Yes: "Yes";
|
|
42
|
-
No: "No";
|
|
43
|
-
}>;
|
|
44
|
-
EverTerminated: z.ZodEnum<{
|
|
45
|
-
Yes: "Yes";
|
|
46
|
-
No: "No";
|
|
47
|
-
}>;
|
|
48
|
-
EverExcludedFromFederalProgram: z.ZodEnum<{
|
|
49
|
-
Yes: "Yes";
|
|
50
|
-
No: "No";
|
|
51
|
-
}>;
|
|
52
|
-
LegallyEligibleToWorkUS: z.ZodEnum<{
|
|
53
|
-
Yes: "Yes";
|
|
54
|
-
No: "No";
|
|
55
|
-
}>;
|
|
56
|
-
CanPerformJobFunctions: z.ZodEnum<{
|
|
57
|
-
Yes: "Yes";
|
|
58
|
-
No: "No";
|
|
59
|
-
}>;
|
|
60
|
-
Gender: z.ZodString;
|
|
61
|
-
Degree: z.ZodString;
|
|
62
|
-
EducationLevel: z.ZodString;
|
|
63
|
-
SignatureFullName: z.ZodString;
|
|
64
|
-
MeetsMinimumAge: z.ZodDefault<z.ZodEnum<{
|
|
65
|
-
Yes: "Yes";
|
|
66
|
-
No: "No";
|
|
67
|
-
}>>;
|
|
68
|
-
AppliedToSanfordOrGoodSamaritanLast6Months: z.ZodDefault<z.ZodEnum<{
|
|
69
|
-
Yes: "Yes";
|
|
70
|
-
No: "No";
|
|
71
|
-
}>>;
|
|
72
|
-
HasOrWillObtainLicense: z.ZodDefault<z.ZodEnum<{
|
|
73
|
-
Yes: "Yes";
|
|
74
|
-
No: "No";
|
|
75
|
-
}>>;
|
|
76
|
-
}, z.core.$strip>;
|
|
77
|
-
export type ApplicationAnswers = z.infer<typeof ApplicationAnswersSchema>;
|
|
78
|
-
/**
|
|
79
|
-
* Lax variant of ApplicationAnswersSchema used exclusively by the `/run` route
|
|
80
|
-
* body validation. The four detector-checked free-text fields are optional so
|
|
81
|
-
* that detectMissingRequiredFields can actually run instead of being
|
|
82
|
-
* pre-empted by a 400 from Fastify body validation. All other fields keep
|
|
83
|
-
* their strict constraints.
|
|
84
|
-
*/
|
|
85
|
-
export declare const RunIntakeAnswersSchema: z.ZodObject<{
|
|
86
|
-
WorkAuthorization: z.ZodEnum<{
|
|
87
|
-
Yes: "Yes";
|
|
88
|
-
No: "No";
|
|
89
|
-
}>;
|
|
90
|
-
VisaSponsorship: z.ZodString;
|
|
91
|
-
NonCompete: z.ZodEnum<{
|
|
92
|
-
Yes: "Yes";
|
|
93
|
-
No: "No";
|
|
94
|
-
}>;
|
|
95
|
-
OIGGSAOFACExcluded: z.ZodEnum<{
|
|
96
|
-
Yes: "Yes";
|
|
97
|
-
No: "No";
|
|
98
|
-
}>;
|
|
99
|
-
FormerEmployee: z.ZodString;
|
|
100
|
-
CurrentNonEmployeeId: z.ZodString;
|
|
101
|
-
OtherOpportunities: z.ZodEnum<{
|
|
102
|
-
Yes: "Yes";
|
|
103
|
-
No: "No";
|
|
104
|
-
}>;
|
|
105
|
-
RelatedToEmployee: z.ZodEnum<{
|
|
106
|
-
Yes: "Yes";
|
|
107
|
-
No: "No";
|
|
108
|
-
}>;
|
|
109
|
-
PreviouslyEmployedAtEncompass: z.ZodEnum<{
|
|
110
|
-
Yes: "Yes";
|
|
111
|
-
No: "No";
|
|
112
|
-
}>;
|
|
113
|
-
EverSanctionedOrOnProbation: z.ZodEnum<{
|
|
114
|
-
Yes: "Yes";
|
|
115
|
-
No: "No";
|
|
116
|
-
}>;
|
|
117
|
-
EverTerminated: z.ZodEnum<{
|
|
118
|
-
Yes: "Yes";
|
|
119
|
-
No: "No";
|
|
120
|
-
}>;
|
|
121
|
-
EverExcludedFromFederalProgram: z.ZodEnum<{
|
|
122
|
-
Yes: "Yes";
|
|
123
|
-
No: "No";
|
|
124
|
-
}>;
|
|
125
|
-
LegallyEligibleToWorkUS: z.ZodEnum<{
|
|
126
|
-
Yes: "Yes";
|
|
127
|
-
No: "No";
|
|
128
|
-
}>;
|
|
129
|
-
CanPerformJobFunctions: z.ZodEnum<{
|
|
130
|
-
Yes: "Yes";
|
|
131
|
-
No: "No";
|
|
132
|
-
}>;
|
|
133
|
-
MeetsMinimumAge: z.ZodDefault<z.ZodEnum<{
|
|
134
|
-
Yes: "Yes";
|
|
135
|
-
No: "No";
|
|
136
|
-
}>>;
|
|
137
|
-
AppliedToSanfordOrGoodSamaritanLast6Months: z.ZodDefault<z.ZodEnum<{
|
|
138
|
-
Yes: "Yes";
|
|
139
|
-
No: "No";
|
|
140
|
-
}>>;
|
|
141
|
-
HasOrWillObtainLicense: z.ZodDefault<z.ZodEnum<{
|
|
142
|
-
Yes: "Yes";
|
|
143
|
-
No: "No";
|
|
144
|
-
}>>;
|
|
145
|
-
Gender: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
146
|
-
Degree: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
147
|
-
EducationLevel: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
148
|
-
SignatureFullName: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
149
|
-
}, z.core.$strip>;
|
|
150
|
-
export type RunIntakeAnswers = z.infer<typeof RunIntakeAnswersSchema>;
|
|
151
|
-
//# sourceMappingURL=application-answers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"application-answers.d.ts","sourceRoot":"","sources":["../../src/lib/application-answers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkEnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Shared Zod schema for the integrated-questions yes/no + free-text answer
|
|
4
|
-
* block that AppCast-powered ATS plugins require on every submission. Both
|
|
5
|
-
* Appcast and Encompass Health declare the same 21 fields; this module is the
|
|
6
|
-
* single source of truth so a field-type change propagates everywhere.
|
|
7
|
-
*
|
|
8
|
-
* Callers wrap this with `multipartJsonObject()` when the parent payload is
|
|
9
|
-
* multipart — this module exports the raw object so each plugin chooses its
|
|
10
|
-
* own wrapper.
|
|
11
|
-
*/
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.RunIntakeAnswersSchema = exports.ApplicationAnswersSchema = void 0;
|
|
14
|
-
const v4_1 = require("zod/v4");
|
|
15
|
-
exports.ApplicationAnswersSchema = v4_1.z.object({
|
|
16
|
-
WorkAuthorization: v4_1.z.enum(["Yes", "No"]),
|
|
17
|
-
/** Free text; "NA" means no sponsorship required. */
|
|
18
|
-
VisaSponsorship: v4_1.z.string().min(1),
|
|
19
|
-
NonCompete: v4_1.z.enum(["Yes", "No"]),
|
|
20
|
-
OIGGSAOFACExcluded: v4_1.z.enum(["Yes", "No"]),
|
|
21
|
-
/** Free text; "Not Applicable" / "No" / a former-employee ID. */
|
|
22
|
-
FormerEmployee: v4_1.z.string().min(1),
|
|
23
|
-
/** Free text; "NA" means none. */
|
|
24
|
-
CurrentNonEmployeeId: v4_1.z.string().min(1),
|
|
25
|
-
OtherOpportunities: v4_1.z.enum(["Yes", "No"]),
|
|
26
|
-
/** Some tenants (Encompass Health and similar) require a "related to a current
|
|
27
|
-
* employee?" Yes/No radio before submit unlocks. Default "No" is candidate-
|
|
28
|
-
* favorable; pass "Yes" when the applicant has a referral relationship. */
|
|
29
|
-
RelatedToEmployee: v4_1.z.enum(["Yes", "No"]),
|
|
30
|
-
/** "Previously worked for Encompass Health" (or analogous tenant question).
|
|
31
|
-
* Independent from FormerEmployee which targets the generic AppCast-level
|
|
32
|
-
* former-employee question; this is the tenant-level duplicate that
|
|
33
|
-
* Encompass and similar healthcare ATSes ask separately. Default "No". */
|
|
34
|
-
PreviouslyEmployedAtEncompass: v4_1.z.enum(["Yes", "No"]),
|
|
35
|
-
/** "Have you ever received sanctions, been on probation, or had limitations
|
|
36
|
-
* placed on your license?" Encompass-style behavioral question.
|
|
37
|
-
* Default "No" is candidate-favorable. */
|
|
38
|
-
EverSanctionedOrOnProbation: v4_1.z.enum(["Yes", "No"]),
|
|
39
|
-
/** "Have you ever been terminated from or asked to resign from a position?"
|
|
40
|
-
* Encompass-style behavioral question. Default "No". */
|
|
41
|
-
EverTerminated: v4_1.z.enum(["Yes", "No"]),
|
|
42
|
-
/** "Have you ever been excluded or made ineligible to participate in any
|
|
43
|
-
* federal program?" (OIG/GSA/OFAC-adjacent). Independent from the
|
|
44
|
-
* generic OIGGSAOFACExcluded field above because some tenants ask both
|
|
45
|
-
* the catch-all and the federal-program-specific variant. Default "No". */
|
|
46
|
-
EverExcludedFromFederalProgram: v4_1.z.enum(["Yes", "No"]),
|
|
47
|
-
/** "Can you present proof of your legal eligibility to work in the United
|
|
48
|
-
* States?" Maps to the documented WorkAuthorization but some tenants ask
|
|
49
|
-
* the proof-of-eligibility framing separately. Default "Yes". */
|
|
50
|
-
LegallyEligibleToWorkUS: v4_1.z.enum(["Yes", "No"]),
|
|
51
|
-
/** "Can you perform all the required job functions and/or duties of the
|
|
52
|
-
* job for which you are applying?" Default "Yes" is candidate-favorable. */
|
|
53
|
-
CanPerformJobFunctions: v4_1.z.enum(["Yes", "No"]),
|
|
54
|
-
/** Demographic gender selection. Free text so callers can pass
|
|
55
|
-
* "Male"/"Female"/"Non-binary"/"Prefer not to say"/etc. The fixture
|
|
56
|
-
* defaults to "Prefer not to say" — least-disclosing. */
|
|
57
|
-
Gender: v4_1.z.string().min(1),
|
|
58
|
-
/** Highest degree obtained. Free text: "High School Diploma", "Associate",
|
|
59
|
-
* "Bachelor", "Master", "Doctoral", etc. */
|
|
60
|
-
Degree: v4_1.z.string().min(1),
|
|
61
|
-
/** Education level (often duplicates Degree with different wording).
|
|
62
|
-
* Free text. */
|
|
63
|
-
EducationLevel: v4_1.z.string().min(1),
|
|
64
|
-
/** Full name for E-Signature field. Production callers should pass the
|
|
65
|
-
* applicant's legal full name. */
|
|
66
|
-
SignatureFullName: v4_1.z.string().min(1),
|
|
67
|
-
/** Age-verification gate ("Are you at least 16/18 years old?"). Defaults
|
|
68
|
-
* to "Yes" so existing callers (Encompass Health, which never asks this)
|
|
69
|
-
* don't break. Threshold varies by tenant — Lifespace asks 16, ClearCompany
|
|
70
|
-
* asks 18 — so the field is threshold-agnostic. */
|
|
71
|
-
MeetsMinimumAge: v4_1.z.enum(["Yes", "No"]).default("Yes"),
|
|
72
|
-
/** "Have you applied to a Sanford Health or Good Samaritan Society
|
|
73
|
-
* position in the last 6 months?" Tenant-specific question for Sanford /
|
|
74
|
-
* Good Samaritan jobs routed through AppCast. Default "No". */
|
|
75
|
-
AppliedToSanfordOrGoodSamaritanLast6Months: v4_1.z.enum(["Yes", "No"]).default("No"),
|
|
76
|
-
/** "Do you have or do you plan to obtain the state license or credential?"
|
|
77
|
-
* Appcast job 57238731502 (question id 15271). Default "Yes" is
|
|
78
|
-
* candidate-favorable — assumes the applicant holds or will obtain the
|
|
79
|
-
* required credential. */
|
|
80
|
-
HasOrWillObtainLicense: v4_1.z.enum(["Yes", "No"]).default("Yes"),
|
|
81
|
-
});
|
|
82
|
-
/**
|
|
83
|
-
* Lax variant of ApplicationAnswersSchema used exclusively by the `/run` route
|
|
84
|
-
* body validation. The four detector-checked free-text fields are optional so
|
|
85
|
-
* that detectMissingRequiredFields can actually run instead of being
|
|
86
|
-
* pre-empted by a 400 from Fastify body validation. All other fields keep
|
|
87
|
-
* their strict constraints.
|
|
88
|
-
*/
|
|
89
|
-
exports.RunIntakeAnswersSchema = exports.ApplicationAnswersSchema.extend({
|
|
90
|
-
Gender: v4_1.z.string().optional().default(""),
|
|
91
|
-
Degree: v4_1.z.string().optional().default(""),
|
|
92
|
-
EducationLevel: v4_1.z.string().optional().default(""),
|
|
93
|
-
SignatureFullName: v4_1.z.string().optional().default(""),
|
|
94
|
-
});
|
|
95
|
-
//# sourceMappingURL=application-answers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"application-answers.js","sourceRoot":"","sources":["../../src/lib/application-answers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Standalone confirmation-email poller for the HCA batch — DECOUPLED from the
|
|
3
|
-
* live-verify run so it never slows a submission. Reads the batch log, extracts
|
|
4
|
-
* every SUBMITTED job's testmail inbox (`{jobId, address, tag, timestampFrom}`),
|
|
5
|
-
* and polls each inbox for a confirmation email. Idempotent + re-runnable: pass
|
|
6
|
-
* the same `--out` file across runs and it only polls inboxes not yet confirmed,
|
|
7
|
-
* so it can be run repeatedly as emails trickle in (HCA/Talemetry may email
|
|
8
|
-
* minutes-to-hours after submit, or not at all — this measures which).
|
|
9
|
-
*
|
|
10
|
-
* Usage:
|
|
11
|
-
* pnpm tsx --env-file=.env src/scripts/hca-inbox-poll.ts \
|
|
12
|
-
* [--log <batch.log>] [--out <results.json>] [--timeout-ms <per-inbox budget>]
|
|
13
|
-
*
|
|
14
|
-
* "SUBMITTED" is already the authoritative in-band success signal (Talemetry
|
|
15
|
-
* completed=true + thank-you URL); this is an ADDITIONAL out-of-band check to
|
|
16
|
-
* learn whether HCA actually delivers a confirmation email.
|
|
17
|
-
*/
|
|
18
|
-
export {};
|
|
19
|
-
//# sourceMappingURL=hca-inbox-poll.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hca-inbox-poll.d.ts","sourceRoot":"","sources":["../../src/scripts/hca-inbox-poll.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG"}
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Standalone confirmation-email poller for the HCA batch — DECOUPLED from the
|
|
4
|
-
* live-verify run so it never slows a submission. Reads the batch log, extracts
|
|
5
|
-
* every SUBMITTED job's testmail inbox (`{jobId, address, tag, timestampFrom}`),
|
|
6
|
-
* and polls each inbox for a confirmation email. Idempotent + re-runnable: pass
|
|
7
|
-
* the same `--out` file across runs and it only polls inboxes not yet confirmed,
|
|
8
|
-
* so it can be run repeatedly as emails trickle in (HCA/Talemetry may email
|
|
9
|
-
* minutes-to-hours after submit, or not at all — this measures which).
|
|
10
|
-
*
|
|
11
|
-
* Usage:
|
|
12
|
-
* pnpm tsx --env-file=.env src/scripts/hca-inbox-poll.ts \
|
|
13
|
-
* [--log <batch.log>] [--out <results.json>] [--timeout-ms <per-inbox budget>]
|
|
14
|
-
*
|
|
15
|
-
* "SUBMITTED" is already the authoritative in-band success signal (Talemetry
|
|
16
|
-
* completed=true + thank-you URL); this is an ADDITIONAL out-of-band check to
|
|
17
|
-
* learn whether HCA actually delivers a confirmation email.
|
|
18
|
-
*/
|
|
19
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
const node_fs_1 = require("node:fs");
|
|
21
|
-
const config_1 = require("../config");
|
|
22
|
-
const logging_1 = require("../lib/logging");
|
|
23
|
-
const client_1 = require("../testmail/client");
|
|
24
|
-
const logger = (0, logging_1.getLogger)({ name: "hca-inbox-poll" });
|
|
25
|
-
const DEFAULT_LOG = "/private/tmp/claude-501/-Users-andres-src-vivian-barnacle/2c51c4a7-1a01-4e80-a3ad-8c8d02045529/scratchpad/hca-allvalid.log";
|
|
26
|
-
const DEFAULT_OUT = "/private/tmp/claude-501/-Users-andres-src-vivian-barnacle/2c51c4a7-1a01-4e80-a3ad-8c8d02045529/scratchpad/hca-inbox-results.json";
|
|
27
|
-
function parseArgs() {
|
|
28
|
-
const args = process.argv.slice(2);
|
|
29
|
-
const logPaths = [];
|
|
30
|
-
let outPath = DEFAULT_OUT;
|
|
31
|
-
let timeoutMs = 15_000;
|
|
32
|
-
for (let i = 0; i < args.length; i++) {
|
|
33
|
-
if (args[i] === "--log" && args[i + 1])
|
|
34
|
-
logPaths.push(args[++i]);
|
|
35
|
-
else if (args[i] === "--out" && args[i + 1])
|
|
36
|
-
outPath = args[++i];
|
|
37
|
-
else if (args[i] === "--timeout-ms" && args[i + 1])
|
|
38
|
-
timeoutMs = Number(args[++i]);
|
|
39
|
-
}
|
|
40
|
-
return { logPaths: logPaths.length > 0 ? logPaths : [DEFAULT_LOG], outPath, timeoutMs };
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Reconstruct each SUBMITTED job's inbox from the batch log. A "starting" line
|
|
44
|
-
* carries `job=<id> email=<namespace>.<tag>@inbox.testmail.app` + a timestamp;
|
|
45
|
-
* a later `job=<id> SUBMITTED` line confirms it applied. The address yields the
|
|
46
|
-
* tag; the starting line's clock is a safe `timestampFrom` lower bound.
|
|
47
|
-
*/
|
|
48
|
-
function parseSubmittedInboxes(log) {
|
|
49
|
-
const byJob = new Map();
|
|
50
|
-
const lines = log.split("\n");
|
|
51
|
-
for (const line of lines) {
|
|
52
|
-
const m = /\[(\d{4}-\d\d-\d\d \d\d:\d\d:\d\d)[^\]]*\].*job=(\d+) email=([^ ]+@inbox\.testmail\.app)/.exec(line);
|
|
53
|
-
if (!m)
|
|
54
|
-
continue;
|
|
55
|
-
const [, clock, jobId, address] = m;
|
|
56
|
-
const tag = address.split("@")[0].split(".").slice(1).join(".");
|
|
57
|
-
// The starting clock (local time) → Unix ms lower bound for received-after.
|
|
58
|
-
const timestampFrom = new Date(clock.replace(" ", "T")).getTime();
|
|
59
|
-
byJob.set(jobId, { address: address, tag, timestampFrom });
|
|
60
|
-
}
|
|
61
|
-
const submitted = new Set();
|
|
62
|
-
for (const m of log.matchAll(/job=(\d+) SUBMITTED/g)) {
|
|
63
|
-
submitted.add(m[1]);
|
|
64
|
-
}
|
|
65
|
-
const out = [];
|
|
66
|
-
for (const jobId of submitted) {
|
|
67
|
-
const info = byJob.get(jobId);
|
|
68
|
-
if (info)
|
|
69
|
-
out.push({ jobId, ...info });
|
|
70
|
-
}
|
|
71
|
-
return out;
|
|
72
|
-
}
|
|
73
|
-
function loadPriorResults(outPath) {
|
|
74
|
-
try {
|
|
75
|
-
const arr = JSON.parse((0, node_fs_1.readFileSync)(outPath, "utf8"));
|
|
76
|
-
return new Map(arr.map((r) => [r.jobId, r]));
|
|
77
|
-
}
|
|
78
|
-
catch {
|
|
79
|
-
return new Map();
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Poll every not-yet-confirmed submitted inbox once and persist results. Exists
|
|
84
|
-
* as a discrete script so it can run on its own cadence beside the live batch.
|
|
85
|
-
*/
|
|
86
|
-
async function main() {
|
|
87
|
-
const { logPaths, outPath, timeoutMs } = parseArgs();
|
|
88
|
-
if (!config_1.config.testmail.namespace) {
|
|
89
|
-
throw new Error("TESTMAIL_NAMESPACE not set — cannot poll inboxes");
|
|
90
|
-
}
|
|
91
|
-
// Merge submitted inboxes from every log (original batch + any resume runs),
|
|
92
|
-
// deduped by jobId so re-run jobs don't double-poll.
|
|
93
|
-
const byJob = new Map();
|
|
94
|
-
for (const p of logPaths) {
|
|
95
|
-
let text;
|
|
96
|
-
try {
|
|
97
|
-
text = (0, node_fs_1.readFileSync)(p, "utf8");
|
|
98
|
-
}
|
|
99
|
-
catch {
|
|
100
|
-
continue;
|
|
101
|
-
}
|
|
102
|
-
for (const inb of parseSubmittedInboxes(text))
|
|
103
|
-
byJob.set(inb.jobId, inb);
|
|
104
|
-
}
|
|
105
|
-
const inboxes = [...byJob.values()];
|
|
106
|
-
const prior = loadPriorResults(outPath);
|
|
107
|
-
const pending = inboxes.filter((x) => prior.get(x.jobId)?.confirmed !== true);
|
|
108
|
-
logger.info(`hca-inbox-poll: ${inboxes.length} submitted inbox(es); ${prior.size} prior result(s); polling ${pending.length} not-yet-confirmed`);
|
|
109
|
-
const results = new Map(prior);
|
|
110
|
-
let newlyConfirmed = 0;
|
|
111
|
-
for (const inb of pending) {
|
|
112
|
-
try {
|
|
113
|
-
const msg = await (0, client_1.pollTestmailInbox)({
|
|
114
|
-
inbox: { address: inb.address, tag: inb.tag, timestampFrom: inb.timestampFrom },
|
|
115
|
-
timeoutMs,
|
|
116
|
-
});
|
|
117
|
-
results.set(inb.jobId, {
|
|
118
|
-
jobId: inb.jobId,
|
|
119
|
-
address: inb.address,
|
|
120
|
-
confirmed: true,
|
|
121
|
-
subject: msg.subject,
|
|
122
|
-
from: msg.from,
|
|
123
|
-
checkedAt: new Date().toISOString(),
|
|
124
|
-
});
|
|
125
|
-
newlyConfirmed++;
|
|
126
|
-
logger.info(`hca-inbox-poll: job ${inb.jobId} CONFIRMED — from="${msg.from}" subject="${msg.subject}"`);
|
|
127
|
-
}
|
|
128
|
-
catch (err) {
|
|
129
|
-
// Any throw (timeout = no email within budget, or a transient API error)
|
|
130
|
-
// → not confirmed THIS pass; a later re-run retries it.
|
|
131
|
-
results.set(inb.jobId, {
|
|
132
|
-
jobId: inb.jobId,
|
|
133
|
-
address: inb.address,
|
|
134
|
-
confirmed: false,
|
|
135
|
-
subject: null,
|
|
136
|
-
from: null,
|
|
137
|
-
checkedAt: new Date().toISOString(),
|
|
138
|
-
});
|
|
139
|
-
logger.info(`hca-inbox-poll: job ${inb.jobId} no confirmation (${err instanceof Error ? err.constructor.name : "error"})`);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
const all = [...results.values()];
|
|
143
|
-
(0, node_fs_1.writeFileSync)(outPath, JSON.stringify(all, null, 2));
|
|
144
|
-
const confirmed = all.filter((r) => r.confirmed).length;
|
|
145
|
-
logger.info(`hca-inbox-poll: DONE — ${confirmed}/${all.length} confirmed (${newlyConfirmed} new this run). Results: ${outPath}`);
|
|
146
|
-
}
|
|
147
|
-
main().catch((err) => {
|
|
148
|
-
logger.error(`hca-inbox-poll: fatal — ${err instanceof Error ? err.message : String(err)}`);
|
|
149
|
-
process.exit(1);
|
|
150
|
-
});
|
|
151
|
-
//# sourceMappingURL=hca-inbox-poll.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hca-inbox-poll.js","sourceRoot":"","sources":["../../src/scripts/hca-inbox-poll.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Canonical ApplicationAnswers fixture for all plugin tests. Centralised so
|
|
3
|
-
* a 21-field answer block is defined once and downstream consumers spread +
|
|
4
|
-
* override the handful of fields they assert differently — a field-type change
|
|
5
|
-
* or new tenant default is a one-edit propagation.
|
|
6
|
-
*
|
|
7
|
-
* Values are seeded from the AppCast/Encompass Health recon run so they satisfy
|
|
8
|
-
* every tenant-level question the question-mapper knows about. Demographic
|
|
9
|
-
* fields default to the least-disclosing option ("Prefer not to say").
|
|
10
|
-
*/
|
|
11
|
-
import type { ApplicationAnswers } from "../lib/application-answers";
|
|
12
|
-
export declare const TEST_ANSWERS: ApplicationAnswers;
|
|
13
|
-
//# sourceMappingURL=answers-fixture.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"answers-fixture.d.ts","sourceRoot":"","sources":["../../src/testing/answers-fixture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,eAAO,MAAM,YAAY,EAAE,kBAsB1B,CAAC"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Canonical ApplicationAnswers fixture for all plugin tests. Centralised so
|
|
4
|
-
* a 21-field answer block is defined once and downstream consumers spread +
|
|
5
|
-
* override the handful of fields they assert differently — a field-type change
|
|
6
|
-
* or new tenant default is a one-edit propagation.
|
|
7
|
-
*
|
|
8
|
-
* Values are seeded from the AppCast/Encompass Health recon run so they satisfy
|
|
9
|
-
* every tenant-level question the question-mapper knows about. Demographic
|
|
10
|
-
* fields default to the least-disclosing option ("Prefer not to say").
|
|
11
|
-
*/
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.TEST_ANSWERS = void 0;
|
|
14
|
-
exports.TEST_ANSWERS = {
|
|
15
|
-
WorkAuthorization: "Yes",
|
|
16
|
-
VisaSponsorship: "NA",
|
|
17
|
-
NonCompete: "No",
|
|
18
|
-
OIGGSAOFACExcluded: "No",
|
|
19
|
-
FormerEmployee: "Not Applicable",
|
|
20
|
-
CurrentNonEmployeeId: "NA",
|
|
21
|
-
OtherOpportunities: "Yes",
|
|
22
|
-
RelatedToEmployee: "No",
|
|
23
|
-
PreviouslyEmployedAtEncompass: "No",
|
|
24
|
-
EverSanctionedOrOnProbation: "No",
|
|
25
|
-
EverTerminated: "No",
|
|
26
|
-
EverExcludedFromFederalProgram: "No",
|
|
27
|
-
LegallyEligibleToWorkUS: "Yes",
|
|
28
|
-
CanPerformJobFunctions: "Yes",
|
|
29
|
-
Gender: "Prefer not to say",
|
|
30
|
-
Degree: "Nursing",
|
|
31
|
-
EducationLevel: "Bachelor's Degree",
|
|
32
|
-
SignatureFullName: "Reginald Reconaldo",
|
|
33
|
-
MeetsMinimumAge: "Yes",
|
|
34
|
-
AppliedToSanfordOrGoodSamaritanLast6Months: "No",
|
|
35
|
-
HasOrWillObtainLicense: "Yes",
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=answers-fixture.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"answers-fixture.js","sourceRoot":"","sources":["../../src/testing/answers-fixture.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAIU,QAAA,YAAY,GAAuB;IAC9C,iBAAiB,EAAE,KAAK;IACxB,eAAe,EAAE,IAAI;IACrB,UAAU,EAAE,IAAI;IAChB,kBAAkB,EAAE,IAAI;IACxB,cAAc,EAAE,gBAAgB;IAChC,oBAAoB,EAAE,IAAI;IAC1B,kBAAkB,EAAE,KAAK;IACzB,iBAAiB,EAAE,IAAI;IACvB,6BAA6B,EAAE,IAAI;IACnC,2BAA2B,EAAE,IAAI;IACjC,cAAc,EAAE,IAAI;IACpB,8BAA8B,EAAE,IAAI;IACpC,uBAAuB,EAAE,KAAK;IAC9B,sBAAsB,EAAE,KAAK;IAC7B,MAAM,EAAE,mBAAmB;IAC3B,MAAM,EAAE,SAAS;IACjB,cAAc,EAAE,mBAAmB;IACnC,iBAAiB,EAAE,oBAAoB;IACvC,eAAe,EAAE,KAAK;IACtB,0CAA0C,EAAE,IAAI;IAChD,sBAAsB,EAAE,KAAK;CAC9B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contract-parity-suite.d.ts","sourceRoot":"","sources":["../../src/testing/contract-parity-suite.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,iEAAiE;AACjE,MAAM,WAAW,mBAAmB;IAClC,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtE;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CACvC;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,MAAM,EAAE;QAAE,IAAI,EAAE,cAAc,CAAA;KAAE,CAAC;IACjC;;;OAGG;IACH,YAAY,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C;;;;OAIG;IACH,cAAc,EAAE,mBAAmB,EAAE,CAAC;CACvC;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,0BAA0B,GAAG,IAAI,CA+BhF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contract-parity-suite.js","sourceRoot":"","sources":["../../src/testing/contract-parity-suite.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAmDH,8DA+BC;AAhFD,mCAA8C;AA4C9C;;;;GAIG;AACH,SAAgB,yBAAyB,CAAC,IAAgC;IACxE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IACjE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;IAEtC,IAAA,iBAAQ,EAAC,SAAS,EAAE,GAAG,EAAE;QACvB,IAAA,WAAE,EAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC;YAChD,IAAA,eAAM,EACJ,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAE,MAA6B,CAAC,KAAK,CAAC,CAC3E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;YAChC,IAAA,WAAE,EAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE;gBAC7B,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,YAAY,EAAE,EAAE,CAAC,CAAC;gBACjD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACzC,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;oBACxD,MAAM,IAAI,GAAG,EAAE,CAAC,eAAe,CAAC;oBAChC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7C,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CACtD,CAAC;oBACF,IAAA,eAAM,EACJ,GAAG,EACH,yCAAyC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAChI,CAAC,WAAW,EAAE,CAAC;gBAClB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"coverage-guard-suite.d.ts","sourceRoot":"","sources":["../../src/testing/coverage-guard-suite.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,iFAAiF;AACjF,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/D;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,yBAAyB,GAAG,IAAI,CAoB9E"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"coverage-guard-suite.js","sourceRoot":"","sources":["../../src/testing/coverage-guard-suite.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AA2CH,4DAoBC;AA7DD,qCAAqC;AACrC,yCAAoC;AAEpC,mCAA8C;AA6B9C;;;;;;;;GAQG;AACH,SAAgB,wBAAwB,CAAC,IAA+B;IACtE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAE/D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEjC,IAAA,iBAAQ,EAAC,SAAS,EAAE,GAAG,EAAE;QACvB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;YAC/B,MAAM,SAAS,GAAG,IAAA,mBAAO,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAE5C,IAAA,WAAE,EAAC,GAAG,MAAM,kCAAkC,EAAE,GAAG,EAAE;gBACnD,IAAA,eAAM,EACJ,IAAA,oBAAU,EAAC,IAAA,mBAAO,EAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC,EACzD,GAAG,MAAM,qCAAqC,CAC/C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;YAEH,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|