open-local-audit 0.11.0 → 0.12.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/CHANGELOG.md +11 -0
- package/README.md +21 -4
- package/dist/cli.js +45 -6
- package/dist/cli.js.map +1 -1
- package/dist/discovery.d.ts +41 -1
- package/dist/discovery.js +203 -1
- package/dist/discovery.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/profiles.js +128 -2
- package/dist/profiles.js.map +1 -1
- package/dist/reporters.js +34 -7
- package/dist/reporters.js.map +1 -1
- package/dist/schema.d.ts +16 -4
- package/dist/schema.js +16 -1
- package/dist/schema.js.map +1 -1
- package/dist/secrets.d.ts +5 -0
- package/dist/secrets.js +31 -0
- package/dist/secrets.js.map +1 -0
- package/dist/types.d.ts +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,17 @@ All notable changes to Open Local Audit will be documented here.
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
+
## v0.12.0 - 2026-05-14
|
|
8
|
+
|
|
9
|
+
- Added discovery suppression lists with `--suppression-list` to skip previously reviewed leads.
|
|
10
|
+
- Added `leadKey`, `reviewStatus`, `reviewReason`, and `lastReviewedAt` columns to discovery CSV exports for local review workflows.
|
|
11
|
+
- Added `--min-opportunity-score` for filtering discovery exports to higher-value opportunities.
|
|
12
|
+
- Added `--review-csv` for merging local operator review decisions across discovery reruns.
|
|
13
|
+
- Added `--duplicates-json` for reporting duplicate lead groups.
|
|
14
|
+
- Added lawyer, clinic, gym, hotel, and auto-service industry profiles.
|
|
15
|
+
- Polished HTML reports with a branded shell, summary cards, and stronger visual hierarchy.
|
|
16
|
+
- Added Windows user-environment fallback for `GOOGLE_MAPS_API_KEY`.
|
|
17
|
+
|
|
7
18
|
## v0.11.0 - 2026-05-13
|
|
8
19
|
|
|
9
20
|
- Added discovery controls: `--limit`, `--max-audits`, and `--summary-json`.
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ Open Local Audit is an open-source website and local presence auditor for small
|
|
|
4
4
|
|
|
5
5
|
## Current stage
|
|
6
6
|
|
|
7
|
-
Published CLI. The project can run a single URL audit, an opt-in Playwright-rendered audit with screenshot evidence, a plain-text batch URL list, or a profile-aware CSV batch file, optionally check same-origin links, and produce JSON, Markdown, HTML, or all report formats. Batch runs can use controlled concurrency, write per-site reports, add aggregate insight sections to the top-level index, and optionally export prospect CSV data for triage. Discovery runs can control Google Places result counts, cap website audits,
|
|
7
|
+
Published CLI. The project can run a single URL audit, an opt-in Playwright-rendered audit with screenshot evidence, a plain-text batch URL list, or a profile-aware CSV batch file, optionally check same-origin links, and produce JSON, Markdown, HTML, or all report formats. Batch runs can use controlled concurrency, write per-site reports, add aggregate insight sections to the top-level index, and optionally export prospect CSV data for triage. Discovery runs can control Google Places result counts, cap website audits, write summary JSON, merge local review CSVs, and report duplicate lead groups.
|
|
8
8
|
|
|
9
9
|
## Business purpose
|
|
10
10
|
|
|
@@ -78,6 +78,8 @@ Run with an industry profile:
|
|
|
78
78
|
open-local-audit https://example.com --profile dental --format markdown
|
|
79
79
|
```
|
|
80
80
|
|
|
81
|
+
Supported profiles are `generic`, `dental`, `beauty`, `restaurant`, `contractor`, `lawyer`, `clinic`, `gym`, `hotel`, and `auto-service`.
|
|
82
|
+
|
|
81
83
|
Render the page before auditing when static HTML is not enough:
|
|
82
84
|
|
|
83
85
|
```bash
|
|
@@ -174,9 +176,21 @@ Control discovery cost and audit volume:
|
|
|
174
176
|
GOOGLE_MAPS_API_KEY=your-key open-local-audit discover "dis klinigi Kadikoy" --provider google-places --limit 20 --max-audits 5 --summary-json discovery-summary.json --out-dir reports/kadikoy-dental --export-csv leads.csv
|
|
175
177
|
```
|
|
176
178
|
|
|
179
|
+
Skip previously reviewed leads and keep only stronger opportunities:
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
open-local-audit discover --input places.csv --provider manual-csv --suppression-list reviewed-leads.csv --min-opportunity-score 90 --dry-run --export-csv leads.csv
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
Maintain a review queue and duplicate report across reruns:
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
open-local-audit discover --input places.csv --provider manual-csv --review-csv review.csv --duplicates-json duplicates.json --dry-run --export-csv leads.csv
|
|
189
|
+
```
|
|
190
|
+
|
|
177
191
|
The `google-places` provider is opt-in and requires `GOOGLE_MAPS_API_KEY`. It uses the official Places Text Search API and requests only `places.id`, `places.displayName`, and `places.websiteUri`. It does not scrape Google Maps, collect reviews/photos/ratings, send outreach, or store raw Places responses. Google Maps Platform billing and quota limits apply to API use, and the CLI prints a billing warning when this provider is selected.
|
|
178
192
|
|
|
179
|
-
Discovery CSV exports include `opportunityScore
|
|
193
|
+
Discovery CSV exports include `leadKey`, `opportunityScore`, and review columns for local triage. A suppression list can reuse a prior discovery CSV or a smaller CSV with `leadKey`, `sourceId`, `websiteUrl`, or `label` plus optional `reviewStatus`, `reviewReason`, and `lastReviewedAt` columns. Rows marked `rejected`, `contacted`, `not-fit`, `do-not-contact`, or `suppressed` are skipped before audits run. `--review-csv` preserves prior operator decisions and adds new leads as `pending`. Spreadsheet formula-like cell values are neutralized before export.
|
|
180
194
|
|
|
181
195
|
See [Google Maps API key setup](./docs/operations/google-maps-api-key.md) for local environment setup.
|
|
182
196
|
|
|
@@ -200,7 +214,7 @@ The first implementation milestone is a CLI that accepts one URL and outputs:
|
|
|
200
214
|
- Batch index filtering, sorting, and top-N triage controls.
|
|
201
215
|
- Controlled parallel batch audits with `--concurrency`.
|
|
202
216
|
- Batch index insights for average score, profile breakdown, segment breakdown, and frequent findings.
|
|
203
|
-
- Industry profiles for generic, dental, beauty, restaurant, and
|
|
217
|
+
- Industry profiles for generic, dental, beauty, restaurant, contractor, lawyer, clinic, gym, hotel, and auto-service audits.
|
|
204
218
|
- Profile-specific findings for dental, beauty, restaurant, and contractor conversion/trust signals.
|
|
205
219
|
- Prospect CSV export with profile, score, top finding, report path, and error columns.
|
|
206
220
|
- Optional rendered DOM audits with `--render`.
|
|
@@ -227,10 +241,13 @@ Example report artifacts are available under [`examples/reports`](./examples/rep
|
|
|
227
241
|
- `--render` requires Playwright in the calling project and a working browser runtime.
|
|
228
242
|
- `--screenshot` uses the rendered audit path, requires `--out-dir`, and also requires Playwright.
|
|
229
243
|
- Batch triage options apply to the aggregate batch index, not individual per-site report contents.
|
|
230
|
-
- `--export-csv` is
|
|
244
|
+
- `--export-csv` is supported for batch audits and discovery exports.
|
|
231
245
|
- `discover --provider google-places` requires `GOOGLE_MAPS_API_KEY` and may incur Google Maps Platform billing.
|
|
232
246
|
- `--limit` caps Google Places candidates at 50; it does not paginate beyond one Text Search request.
|
|
233
247
|
- `--max-audits` limits website audits only; all discovered candidates still appear in `leads.csv`.
|
|
248
|
+
- `--suppression-list` uses exact lead identity matching; source IDs are preferred, then normalized website URLs, then normalized labels.
|
|
249
|
+
- `--review-csv` is local operator state only; it does not send outreach or sync to a CRM.
|
|
250
|
+
- `--duplicates-json` reports exact lead-key duplicates, not fuzzy business-name matches.
|
|
234
251
|
- Batch input requires `--out-dir` and cannot be combined with a positional URL.
|
|
235
252
|
- Industry profiles are deterministic vertical heuristics, not a replacement for a human review of each business model.
|
|
236
253
|
- Higher `--concurrency` values can increase network load against audited sites; use conservative values for prospect batches.
|
package/dist/cli.js
CHANGED
|
@@ -4,10 +4,11 @@ import { mkdir, writeFile } from "node:fs/promises";
|
|
|
4
4
|
import { dirname, join } from "node:path";
|
|
5
5
|
import { auditUrl } from "./audit.js";
|
|
6
6
|
import { readBatchInput, runBatchReports } from "./batch.js";
|
|
7
|
-
import { buildDiscoverySummary, buildProspectRows, fetchGooglePlacesCandidates, readManualDiscoveryCsv, renderProspectRowsCsv, resolveCandidateWebsite } from "./discovery.js";
|
|
7
|
+
import { buildDiscoverySummary, buildProspectRows, findDuplicateProspectGroups, fetchGooglePlacesCandidates, filterSuppressedProspects, mergeDiscoveryReviewRows, readLeadSuppressionCsv, readLeadReviewCsv, readManualDiscoveryCsv, renderDiscoveryReviewCsv, renderProspectRowsCsv, resolveCandidateWebsite } from "./discovery.js";
|
|
8
8
|
import { shouldFailOnThreshold } from "./exit-policy.js";
|
|
9
9
|
import { writeReportOutputs } from "./output.js";
|
|
10
10
|
import { cliOptionsSchema, inputUrlSchema } from "./schema.js";
|
|
11
|
+
import { resolveGoogleMapsApiKey } from "./secrets.js";
|
|
11
12
|
import { renderTerminalSummary } from "./summary.js";
|
|
12
13
|
const program = new Command();
|
|
13
14
|
const discoveryProgram = program
|
|
@@ -20,9 +21,13 @@ const discoveryProgram = program
|
|
|
20
21
|
.option("--out-dir <path>", "write generated audit reports to a directory")
|
|
21
22
|
.option("--export-csv <path>", "write lead discovery CSV output")
|
|
22
23
|
.option("--summary-json <path>", "write discovery summary JSON output")
|
|
24
|
+
.option("--suppression-list <path>", "read reviewed or suppressed lead identities from a CSV file")
|
|
25
|
+
.option("--review-csv <path>", "write or merge a local discovery review queue CSV")
|
|
26
|
+
.option("--duplicates-json <path>", "write duplicate lead groups as JSON")
|
|
23
27
|
.option("--dry-run", "resolve candidates and write leads without auditing websites", false)
|
|
24
28
|
.option("--limit <count>", "maximum Google Places candidates to request", "10")
|
|
25
29
|
.option("--max-audits <count>", "maximum website-present candidates to audit")
|
|
30
|
+
.option("--min-opportunity-score <score>", "export only leads at or above an opportunity score")
|
|
26
31
|
.option("--concurrency <count>", "maximum concurrent audits when dry-run is not used", "1")
|
|
27
32
|
.addHelpText("after", `
|
|
28
33
|
Discovery boundaries:
|
|
@@ -43,9 +48,24 @@ function renderDiscoverySummary(summary) {
|
|
|
43
48
|
`Audited: ${summary.audited}`,
|
|
44
49
|
`Audit failed: ${summary.auditFailed}`,
|
|
45
50
|
`Not audited: ${summary.notAudited}`,
|
|
51
|
+
`Suppressed: ${summary.suppressedCandidates}`,
|
|
46
52
|
`Average score: ${summary.averageScore ?? "N/A"}`
|
|
47
53
|
].join("\n");
|
|
48
54
|
}
|
|
55
|
+
async function readOptionalReviewCsv(path) {
|
|
56
|
+
if (!path) {
|
|
57
|
+
return [];
|
|
58
|
+
}
|
|
59
|
+
try {
|
|
60
|
+
return await readLeadReviewCsv(path);
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
if (error && typeof error === "object" && "code" in error && error.code === "ENOENT") {
|
|
64
|
+
return [];
|
|
65
|
+
}
|
|
66
|
+
throw error;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
49
69
|
discoveryProgram.action(async (query) => {
|
|
50
70
|
try {
|
|
51
71
|
const rawDiscoveryOptions = {
|
|
@@ -63,7 +83,11 @@ discoveryProgram.action(async (query) => {
|
|
|
63
83
|
provider: true,
|
|
64
84
|
limit: true,
|
|
65
85
|
maxAudits: true,
|
|
66
|
-
summaryJson: true
|
|
86
|
+
summaryJson: true,
|
|
87
|
+
suppressionList: true,
|
|
88
|
+
reviewCsv: true,
|
|
89
|
+
duplicatesJson: true,
|
|
90
|
+
minOpportunityScore: true
|
|
67
91
|
})
|
|
68
92
|
.parse(rawDiscoveryOptions);
|
|
69
93
|
if (!options.exportCsv) {
|
|
@@ -91,7 +115,7 @@ discoveryProgram.action(async (query) => {
|
|
|
91
115
|
defaultProfile: options.profile
|
|
92
116
|
})
|
|
93
117
|
: await fetchGooglePlacesCandidates(query ?? "", {
|
|
94
|
-
apiKey:
|
|
118
|
+
apiKey: resolveGoogleMapsApiKey(),
|
|
95
119
|
defaultProfile: options.profile,
|
|
96
120
|
limit: options.limit
|
|
97
121
|
});
|
|
@@ -100,6 +124,13 @@ discoveryProgram.action(async (query) => {
|
|
|
100
124
|
candidate,
|
|
101
125
|
resolution: resolutions[index]
|
|
102
126
|
}));
|
|
127
|
+
const existingReviewRows = await readOptionalReviewCsv(options.reviewCsv);
|
|
128
|
+
const suppressionEntries = [
|
|
129
|
+
...(options.suppressionList ? await readLeadSuppressionCsv(options.suppressionList) : []),
|
|
130
|
+
...existingReviewRows
|
|
131
|
+
];
|
|
132
|
+
const suppressionResult = filterSuppressedProspects(prospectInputs, suppressionEntries);
|
|
133
|
+
prospectInputs = suppressionResult.included;
|
|
103
134
|
if (!options.dryRun) {
|
|
104
135
|
const auditable = prospectInputs
|
|
105
136
|
.map((input, index) => ({ ...input, index }))
|
|
@@ -144,10 +175,18 @@ discoveryProgram.action(async (query) => {
|
|
|
144
175
|
};
|
|
145
176
|
});
|
|
146
177
|
}
|
|
147
|
-
const rows = buildProspectRows(prospectInputs);
|
|
178
|
+
const rows = buildProspectRows(prospectInputs).filter((row) => options.minOpportunityScore === undefined ? true : row.opportunityScore >= options.minOpportunityScore);
|
|
148
179
|
await mkdir(dirname(options.exportCsv), { recursive: true });
|
|
149
180
|
await writeFile(options.exportCsv, renderProspectRowsCsv(rows), "utf8");
|
|
150
|
-
|
|
181
|
+
if (options.reviewCsv) {
|
|
182
|
+
await mkdir(dirname(options.reviewCsv), { recursive: true });
|
|
183
|
+
await writeFile(options.reviewCsv, renderDiscoveryReviewCsv(mergeDiscoveryReviewRows(rows, existingReviewRows)), "utf8");
|
|
184
|
+
}
|
|
185
|
+
if (options.duplicatesJson) {
|
|
186
|
+
await mkdir(dirname(options.duplicatesJson), { recursive: true });
|
|
187
|
+
await writeFile(options.duplicatesJson, `${JSON.stringify({ duplicateGroups: findDuplicateProspectGroups(rows) }, null, 2)}\n`, "utf8");
|
|
188
|
+
}
|
|
189
|
+
const summary = buildDiscoverySummary(rows, suppressionResult.suppressedCount);
|
|
151
190
|
if (options.summaryJson) {
|
|
152
191
|
await mkdir(dirname(options.summaryJson), { recursive: true });
|
|
153
192
|
await writeFile(options.summaryJson, `${JSON.stringify(summary, null, 2)}\n`, "utf8");
|
|
@@ -174,7 +213,7 @@ program
|
|
|
174
213
|
.option("--top <count>", "limit the batch index to the top N entries after filtering and sorting")
|
|
175
214
|
.option("--sort <sort>", "batch index sort: score-asc or severity-desc")
|
|
176
215
|
.option("--concurrency <count>", "maximum concurrent batch audits", "1")
|
|
177
|
-
.option("--profile <profile>", "industry profile: generic, dental, beauty, restaurant, or
|
|
216
|
+
.option("--profile <profile>", "industry profile: generic, dental, beauty, restaurant, contractor, lawyer, clinic, gym, hotel, or auto-service", "generic")
|
|
178
217
|
.option("--export-csv <path>", "write a batch prospect CSV export")
|
|
179
218
|
.option("--timeout <ms>", "request timeout in milliseconds", "10000")
|
|
180
219
|
.option("--max-redirects <count>", "maximum redirects to follow", "5")
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/discovery.d.ts
CHANGED
|
@@ -29,6 +29,7 @@ export interface ProspectRowInput {
|
|
|
29
29
|
audit?: DiscoveryAuditResult;
|
|
30
30
|
}
|
|
31
31
|
export interface ProspectExportRow {
|
|
32
|
+
leadKey: string;
|
|
32
33
|
source: string;
|
|
33
34
|
sourceId?: string;
|
|
34
35
|
label?: string;
|
|
@@ -42,9 +43,37 @@ export interface ProspectExportRow {
|
|
|
42
43
|
opportunityScore: number;
|
|
43
44
|
priority: "high" | "medium" | "low";
|
|
44
45
|
nextAction: string;
|
|
46
|
+
reviewStatus: string;
|
|
47
|
+
reviewReason?: string;
|
|
48
|
+
lastReviewedAt?: string;
|
|
45
49
|
reportPath?: string;
|
|
46
50
|
error?: string;
|
|
47
51
|
}
|
|
52
|
+
export interface LeadSuppressionEntry {
|
|
53
|
+
leadKey: string;
|
|
54
|
+
reviewStatus?: string;
|
|
55
|
+
reviewReason?: string;
|
|
56
|
+
lastReviewedAt?: string;
|
|
57
|
+
}
|
|
58
|
+
export interface LeadReviewRow {
|
|
59
|
+
leadKey: string;
|
|
60
|
+
source: string;
|
|
61
|
+
sourceId?: string;
|
|
62
|
+
label?: string;
|
|
63
|
+
websiteUrl?: string;
|
|
64
|
+
reviewStatus: string;
|
|
65
|
+
reviewReason?: string;
|
|
66
|
+
lastReviewedAt?: string;
|
|
67
|
+
opportunityScore?: number;
|
|
68
|
+
priority?: ProspectExportRow["priority"];
|
|
69
|
+
nextAction?: string;
|
|
70
|
+
}
|
|
71
|
+
export interface DuplicateProspectGroup {
|
|
72
|
+
leadKey: string;
|
|
73
|
+
count: number;
|
|
74
|
+
labels: string[];
|
|
75
|
+
sources: string[];
|
|
76
|
+
}
|
|
48
77
|
export interface ReadManualDiscoveryCsvOptions {
|
|
49
78
|
defaultProfile?: AuditProfile;
|
|
50
79
|
}
|
|
@@ -56,6 +85,7 @@ export interface FetchGooglePlacesCandidatesOptions {
|
|
|
56
85
|
}
|
|
57
86
|
export interface DiscoverySummary {
|
|
58
87
|
totalCandidates: number;
|
|
88
|
+
suppressedCandidates: number;
|
|
59
89
|
withWebsite: number;
|
|
60
90
|
withoutWebsite: number;
|
|
61
91
|
unknownWebsite: number;
|
|
@@ -66,8 +96,18 @@ export interface DiscoverySummary {
|
|
|
66
96
|
priority: Record<ProspectExportRow["priority"], number>;
|
|
67
97
|
}
|
|
68
98
|
export declare function readManualDiscoveryCsv(path: string, options?: ReadManualDiscoveryCsvOptions): Promise<PlaceCandidate[]>;
|
|
99
|
+
export declare function readLeadSuppressionCsv(path: string): Promise<LeadSuppressionEntry[]>;
|
|
100
|
+
export declare function readLeadReviewCsv(path: string): Promise<LeadReviewRow[]>;
|
|
69
101
|
export declare function fetchGooglePlacesCandidates(query: string, options?: FetchGooglePlacesCandidatesOptions): Promise<PlaceCandidate[]>;
|
|
70
102
|
export declare function resolveCandidateWebsite(candidate: Pick<PlaceCandidate, "websiteUri">): WebsiteResolution;
|
|
103
|
+
export declare function stableLeadKey(input: ProspectRowInput): string;
|
|
104
|
+
export declare function filterSuppressedProspects(inputs: ProspectRowInput[], entries: LeadSuppressionEntry[]): {
|
|
105
|
+
included: ProspectRowInput[];
|
|
106
|
+
suppressedCount: number;
|
|
107
|
+
};
|
|
108
|
+
export declare function mergeDiscoveryReviewRows(rows: ProspectExportRow[], existingRows?: LeadReviewRow[]): LeadReviewRow[];
|
|
109
|
+
export declare function findDuplicateProspectGroups(rows: ProspectExportRow[]): DuplicateProspectGroup[];
|
|
71
110
|
export declare function buildProspectRows(inputs: ProspectRowInput[]): ProspectExportRow[];
|
|
72
|
-
export declare function buildDiscoverySummary(rows: ProspectExportRow[]): DiscoverySummary;
|
|
111
|
+
export declare function buildDiscoverySummary(rows: ProspectExportRow[], suppressedCandidates?: number): DiscoverySummary;
|
|
73
112
|
export declare function renderProspectRowsCsv(rows: ProspectExportRow[]): string;
|
|
113
|
+
export declare function renderDiscoveryReviewCsv(rows: LeadReviewRow[]): string;
|
package/dist/discovery.js
CHANGED
|
@@ -5,6 +5,7 @@ const googlePlacesTextSearchUrl = "https://places.googleapis.com/v1/places:searc
|
|
|
5
5
|
const googlePlacesFieldMask = "places.id,places.displayName,places.websiteUri";
|
|
6
6
|
const defaultGooglePlacesLimit = 10;
|
|
7
7
|
const maxGooglePlacesLimit = 50;
|
|
8
|
+
const suppressedReviewStatuses = new Set(["rejected", "contacted", "not-fit", "not_a_fit", "do-not-contact", "suppressed"]);
|
|
8
9
|
function firstCell(cells, headers, names) {
|
|
9
10
|
for (const name of names) {
|
|
10
11
|
const index = headers.indexOf(name);
|
|
@@ -29,6 +30,26 @@ function normalizeOptionalUrl(value) {
|
|
|
29
30
|
return value;
|
|
30
31
|
}
|
|
31
32
|
}
|
|
33
|
+
function normalizeIdentityUrl(value) {
|
|
34
|
+
if (!value?.trim()) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
const parsed = new URL(inputUrlSchema.parse(value));
|
|
39
|
+
parsed.hash = "";
|
|
40
|
+
parsed.protocol = parsed.protocol.toLowerCase();
|
|
41
|
+
parsed.hostname = parsed.hostname.toLowerCase();
|
|
42
|
+
const normalized = parsed.toString();
|
|
43
|
+
return normalized.endsWith("/") ? normalized.slice(0, -1) : normalized;
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function normalizeLabel(value) {
|
|
50
|
+
const normalized = value?.trim().replace(/\s+/g, " ").toLowerCase();
|
|
51
|
+
return normalized || undefined;
|
|
52
|
+
}
|
|
32
53
|
function normalizeLimit(limit) {
|
|
33
54
|
if (limit === undefined || !Number.isFinite(limit)) {
|
|
34
55
|
return defaultGooglePlacesLimit;
|
|
@@ -64,6 +85,77 @@ export async function readManualDiscoveryCsv(path, options = {}) {
|
|
|
64
85
|
};
|
|
65
86
|
});
|
|
66
87
|
}
|
|
88
|
+
export async function readLeadSuppressionCsv(path) {
|
|
89
|
+
const content = await readFile(path, "utf8");
|
|
90
|
+
const lines = cleanInputLines(content);
|
|
91
|
+
if (lines.length === 0) {
|
|
92
|
+
return [];
|
|
93
|
+
}
|
|
94
|
+
const [rawHeader, ...rows] = lines;
|
|
95
|
+
const headers = parseCsvLine(rawHeader).map((header) => header.trim().toLowerCase());
|
|
96
|
+
return rows.flatMap((row) => {
|
|
97
|
+
const cells = parseCsvLine(row);
|
|
98
|
+
const explicitLeadKey = firstCell(cells, headers, ["leadkey", "lead_key"]);
|
|
99
|
+
const source = firstCell(cells, headers, ["source"]) ?? "manual-csv";
|
|
100
|
+
const sourceId = firstCell(cells, headers, ["sourceid", "source_id", "placeid", "place_id"]);
|
|
101
|
+
const websiteUrl = normalizeIdentityUrl(firstCell(cells, headers, ["websiteurl", "website_url", "website", "url"]));
|
|
102
|
+
const label = normalizeLabel(firstCell(cells, headers, ["label", "name", "business"]));
|
|
103
|
+
const leadKey = explicitLeadKey ??
|
|
104
|
+
(sourceId ? `${source}:${sourceId}` : undefined) ??
|
|
105
|
+
(websiteUrl ? `url:${websiteUrl}` : undefined) ??
|
|
106
|
+
(label ? `label:${source}:${label}` : undefined);
|
|
107
|
+
if (!leadKey) {
|
|
108
|
+
return [];
|
|
109
|
+
}
|
|
110
|
+
return [
|
|
111
|
+
{
|
|
112
|
+
leadKey,
|
|
113
|
+
reviewStatus: firstCell(cells, headers, ["reviewstatus", "review_status"]),
|
|
114
|
+
reviewReason: firstCell(cells, headers, ["reviewreason", "review_reason"]),
|
|
115
|
+
lastReviewedAt: firstCell(cells, headers, ["lastreviewedat", "last_reviewed_at"])
|
|
116
|
+
}
|
|
117
|
+
];
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
export async function readLeadReviewCsv(path) {
|
|
121
|
+
const content = await readFile(path, "utf8");
|
|
122
|
+
const lines = cleanInputLines(content);
|
|
123
|
+
if (lines.length === 0) {
|
|
124
|
+
return [];
|
|
125
|
+
}
|
|
126
|
+
const [rawHeader, ...rows] = lines;
|
|
127
|
+
const headers = parseCsvLine(rawHeader).map((header) => header.trim().toLowerCase());
|
|
128
|
+
return rows.flatMap((row) => {
|
|
129
|
+
const cells = parseCsvLine(row);
|
|
130
|
+
const explicitLeadKey = firstCell(cells, headers, ["leadkey", "lead_key"]);
|
|
131
|
+
const source = firstCell(cells, headers, ["source"]) ?? "manual-csv";
|
|
132
|
+
const sourceId = firstCell(cells, headers, ["sourceid", "source_id", "placeid", "place_id"]);
|
|
133
|
+
const websiteUrl = normalizeIdentityUrl(firstCell(cells, headers, ["websiteurl", "website_url", "website", "url"]));
|
|
134
|
+
const label = normalizeLabel(firstCell(cells, headers, ["label", "name", "business"]));
|
|
135
|
+
const leadKey = explicitLeadKey ??
|
|
136
|
+
(sourceId ? `${source}:${sourceId}` : undefined) ??
|
|
137
|
+
(websiteUrl ? `url:${websiteUrl}` : undefined) ??
|
|
138
|
+
(label ? `label:${source}:${label}` : undefined);
|
|
139
|
+
if (!leadKey) {
|
|
140
|
+
return [];
|
|
141
|
+
}
|
|
142
|
+
return [
|
|
143
|
+
{
|
|
144
|
+
leadKey,
|
|
145
|
+
source,
|
|
146
|
+
sourceId,
|
|
147
|
+
label: firstCell(cells, headers, ["label", "name", "business"]),
|
|
148
|
+
websiteUrl: firstCell(cells, headers, ["websiteurl", "website_url", "website", "url"]),
|
|
149
|
+
reviewStatus: firstCell(cells, headers, ["reviewstatus", "review_status"]) ?? "pending",
|
|
150
|
+
reviewReason: firstCell(cells, headers, ["reviewreason", "review_reason"]),
|
|
151
|
+
lastReviewedAt: firstCell(cells, headers, ["lastreviewedat", "last_reviewed_at"]),
|
|
152
|
+
opportunityScore: Number(firstCell(cells, headers, ["opportunityscore", "opportunity_score"])) || undefined,
|
|
153
|
+
priority: firstCell(cells, headers, ["priority"]),
|
|
154
|
+
nextAction: firstCell(cells, headers, ["nextaction", "next_action"])
|
|
155
|
+
}
|
|
156
|
+
];
|
|
157
|
+
});
|
|
158
|
+
}
|
|
67
159
|
export async function fetchGooglePlacesCandidates(query, options = {}) {
|
|
68
160
|
const apiKey = options.apiKey?.trim();
|
|
69
161
|
if (!apiKey) {
|
|
@@ -131,6 +223,74 @@ export function resolveCandidateWebsite(candidate) {
|
|
|
131
223
|
};
|
|
132
224
|
}
|
|
133
225
|
}
|
|
226
|
+
export function stableLeadKey(input) {
|
|
227
|
+
if (input.candidate.sourceId?.trim()) {
|
|
228
|
+
return `${input.candidate.source}:${input.candidate.sourceId.trim()}`;
|
|
229
|
+
}
|
|
230
|
+
const websiteUrl = normalizeIdentityUrl(input.resolution.websiteUrl ?? input.candidate.websiteUri);
|
|
231
|
+
if (websiteUrl) {
|
|
232
|
+
return `url:${websiteUrl}`;
|
|
233
|
+
}
|
|
234
|
+
const label = normalizeLabel(input.candidate.label);
|
|
235
|
+
return label ? `label:${input.candidate.source}:${label}` : `candidate:${input.candidate.source}:unknown`;
|
|
236
|
+
}
|
|
237
|
+
function isSuppressed(entry) {
|
|
238
|
+
const status = entry.reviewStatus?.trim().toLowerCase();
|
|
239
|
+
return status ? suppressedReviewStatuses.has(status) : true;
|
|
240
|
+
}
|
|
241
|
+
export function filterSuppressedProspects(inputs, entries) {
|
|
242
|
+
const suppressedKeys = new Set(entries.filter(isSuppressed).map((entry) => entry.leadKey));
|
|
243
|
+
const included = inputs.filter((input) => !suppressedKeys.has(stableLeadKey(input)));
|
|
244
|
+
return {
|
|
245
|
+
included,
|
|
246
|
+
suppressedCount: inputs.length - included.length
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
function reviewRowForProspect(row, existing) {
|
|
250
|
+
return {
|
|
251
|
+
leadKey: row.leadKey,
|
|
252
|
+
source: row.source,
|
|
253
|
+
sourceId: row.sourceId,
|
|
254
|
+
label: row.label,
|
|
255
|
+
websiteUrl: row.websiteUrl,
|
|
256
|
+
reviewStatus: existing?.reviewStatus ?? "pending",
|
|
257
|
+
reviewReason: existing?.reviewReason,
|
|
258
|
+
lastReviewedAt: existing?.lastReviewedAt,
|
|
259
|
+
opportunityScore: row.opportunityScore,
|
|
260
|
+
priority: row.priority,
|
|
261
|
+
nextAction: row.nextAction
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
export function mergeDiscoveryReviewRows(rows, existingRows = []) {
|
|
265
|
+
const currentByKey = new Map(rows.map((row) => [row.leadKey, row]));
|
|
266
|
+
const existingByKey = new Map(existingRows.map((row) => [row.leadKey, row]));
|
|
267
|
+
const merged = existingRows.map((existing) => {
|
|
268
|
+
const current = currentByKey.get(existing.leadKey);
|
|
269
|
+
return current ? reviewRowForProspect(current, existing) : existing;
|
|
270
|
+
});
|
|
271
|
+
for (const row of rows) {
|
|
272
|
+
if (!existingByKey.has(row.leadKey)) {
|
|
273
|
+
merged.push(reviewRowForProspect(row));
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
return merged;
|
|
277
|
+
}
|
|
278
|
+
export function findDuplicateProspectGroups(rows) {
|
|
279
|
+
const groups = new Map();
|
|
280
|
+
for (const row of rows) {
|
|
281
|
+
const group = groups.get(row.leadKey) ?? [];
|
|
282
|
+
group.push(row);
|
|
283
|
+
groups.set(row.leadKey, group);
|
|
284
|
+
}
|
|
285
|
+
return [...groups.entries()]
|
|
286
|
+
.filter(([, group]) => group.length > 1)
|
|
287
|
+
.map(([leadKey, group]) => ({
|
|
288
|
+
leadKey,
|
|
289
|
+
count: group.length,
|
|
290
|
+
labels: [...new Set(group.flatMap((row) => (row.label ? [row.label] : [])))],
|
|
291
|
+
sources: [...new Set(group.map((row) => row.source))]
|
|
292
|
+
}));
|
|
293
|
+
}
|
|
134
294
|
function priorityFor(input) {
|
|
135
295
|
if (input.resolution.status === "missing") {
|
|
136
296
|
return {
|
|
@@ -212,6 +372,7 @@ export function buildProspectRows(inputs) {
|
|
|
212
372
|
const audit = input.audit ?? { status: "not-audited" };
|
|
213
373
|
const priority = priorityFor(input);
|
|
214
374
|
return {
|
|
375
|
+
leadKey: stableLeadKey(input),
|
|
215
376
|
source: input.candidate.source,
|
|
216
377
|
sourceId: input.candidate.sourceId,
|
|
217
378
|
label: input.candidate.label,
|
|
@@ -224,15 +385,17 @@ export function buildProspectRows(inputs) {
|
|
|
224
385
|
topFinding: audit.topFinding,
|
|
225
386
|
opportunityScore: opportunityScoreFor(input),
|
|
226
387
|
...priority,
|
|
388
|
+
reviewStatus: "new",
|
|
227
389
|
reportPath: audit.reportPath,
|
|
228
390
|
error: audit.error ?? input.resolution.reason
|
|
229
391
|
};
|
|
230
392
|
});
|
|
231
393
|
}
|
|
232
|
-
export function buildDiscoverySummary(rows) {
|
|
394
|
+
export function buildDiscoverySummary(rows, suppressedCandidates = 0) {
|
|
233
395
|
const scores = rows.flatMap((row) => (row.auditStatus === "success" && row.score !== undefined ? [row.score] : []));
|
|
234
396
|
return {
|
|
235
397
|
totalCandidates: rows.length,
|
|
398
|
+
suppressedCandidates,
|
|
236
399
|
withWebsite: rows.filter((row) => row.hasWebsite === "yes").length,
|
|
237
400
|
withoutWebsite: rows.filter((row) => row.hasWebsite === "no").length,
|
|
238
401
|
unknownWebsite: rows.filter((row) => row.hasWebsite === "unknown").length,
|
|
@@ -249,6 +412,7 @@ export function buildDiscoverySummary(rows) {
|
|
|
249
412
|
}
|
|
250
413
|
export function renderProspectRowsCsv(rows) {
|
|
251
414
|
const header = [
|
|
415
|
+
"leadKey",
|
|
252
416
|
"source",
|
|
253
417
|
"sourceId",
|
|
254
418
|
"label",
|
|
@@ -262,10 +426,14 @@ export function renderProspectRowsCsv(rows) {
|
|
|
262
426
|
"opportunityScore",
|
|
263
427
|
"priority",
|
|
264
428
|
"nextAction",
|
|
429
|
+
"reviewStatus",
|
|
430
|
+
"reviewReason",
|
|
431
|
+
"lastReviewedAt",
|
|
265
432
|
"reportPath",
|
|
266
433
|
"error"
|
|
267
434
|
];
|
|
268
435
|
const body = rows.map((row) => [
|
|
436
|
+
row.leadKey,
|
|
269
437
|
row.source,
|
|
270
438
|
row.sourceId ?? "",
|
|
271
439
|
row.label ?? "",
|
|
@@ -279,6 +447,9 @@ export function renderProspectRowsCsv(rows) {
|
|
|
279
447
|
row.opportunityScore.toString(),
|
|
280
448
|
row.priority,
|
|
281
449
|
row.nextAction,
|
|
450
|
+
row.reviewStatus,
|
|
451
|
+
row.reviewReason ?? "",
|
|
452
|
+
row.lastReviewedAt ?? "",
|
|
282
453
|
row.reportPath ?? "",
|
|
283
454
|
row.error ?? ""
|
|
284
455
|
]
|
|
@@ -286,4 +457,35 @@ export function renderProspectRowsCsv(rows) {
|
|
|
286
457
|
.join(","));
|
|
287
458
|
return `${[header.join(","), ...body].join("\n")}\n`;
|
|
288
459
|
}
|
|
460
|
+
export function renderDiscoveryReviewCsv(rows) {
|
|
461
|
+
const header = [
|
|
462
|
+
"leadKey",
|
|
463
|
+
"source",
|
|
464
|
+
"sourceId",
|
|
465
|
+
"label",
|
|
466
|
+
"websiteUrl",
|
|
467
|
+
"reviewStatus",
|
|
468
|
+
"reviewReason",
|
|
469
|
+
"lastReviewedAt",
|
|
470
|
+
"opportunityScore",
|
|
471
|
+
"priority",
|
|
472
|
+
"nextAction"
|
|
473
|
+
];
|
|
474
|
+
const body = rows.map((row) => [
|
|
475
|
+
row.leadKey,
|
|
476
|
+
row.source,
|
|
477
|
+
row.sourceId ?? "",
|
|
478
|
+
row.label ?? "",
|
|
479
|
+
row.websiteUrl ?? "",
|
|
480
|
+
row.reviewStatus,
|
|
481
|
+
row.reviewReason ?? "",
|
|
482
|
+
row.lastReviewedAt ?? "",
|
|
483
|
+
row.opportunityScore?.toString() ?? "",
|
|
484
|
+
row.priority ?? "",
|
|
485
|
+
row.nextAction ?? ""
|
|
486
|
+
]
|
|
487
|
+
.map(escapeCsvCell)
|
|
488
|
+
.join(","));
|
|
489
|
+
return `${[header.join(","), ...body].join("\n")}\n`;
|
|
490
|
+
}
|
|
289
491
|
//# sourceMappingURL=discovery.js.map
|
package/dist/discovery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AA2FjE,MAAM,yBAAyB,GAAG,oDAAoD,CAAC;AACvF,MAAM,qBAAqB,GAAG,gDAAgD,CAAC;AAC/E,MAAM,wBAAwB,GAAG,EAAE,CAAC;AACpC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEhC,SAAS,SAAS,CAAC,KAAe,EAAE,OAAiB,EAAE,KAAe;IACpE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,SAAS,CAAC,OAAiB,EAAE,KAAe;IACnD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAyB;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC;QACH,OAAO,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAyB;IAC/C,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAY,EACZ,UAAyC,EAAE;IAE3C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;IACnC,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACrF,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;IACrG,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;QAE3F,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YACrF,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;YAC3C,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YAC/D,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;YAC/C,OAAO;YACP,UAAU,EAAE,oBAAoB,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;SAC7G,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAAa,EACb,UAA8C,EAAE;IAEhD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACrC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACzC,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,yBAAyB,EAAE;QAC1D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,gBAAgB,EAAE,MAAM;YACxB,kBAAkB,EAAE,qBAAqB;SAC1C;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,SAAS,EAAE,eAAe;YAC1B,cAAc,EAAE,KAAK;SACtB,CAAC;KACH,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAmC,CAAC;IAE1E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,IAAI,8CAA8C,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7G,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5D,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,KAAK,CAAC,EAAE;QAClB,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI;QAC9B,OAAO,EAAE,OAAO,CAAC,cAAc;QAC/B,UAAU,EAAE,oBAAoB,CAAC,KAAK,CAAC,UAAU,CAAC;KACnD,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,SAA6C;IACnF,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC;QAClC,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,yBAAyB;SAClC,CAAC;IACJ,CAAC;IAED,IAAI,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QACrG,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,gDAAgD;SACzD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC9D,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,UAAU;YACV,MAAM,EAAE,UAAU;SACnB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB;SACvE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAuB;IAC1C,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO;YACL,QAAQ,EAAE,MAAM;YAChB,UAAU,EAAE,4CAA4C;SACzD,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,kDAAkD;SAC/D,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,oDAAoD;SACjE,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACrC,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;YACf,OAAO;gBACL,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,+CAA+C;aAC5D,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;YACf,OAAO;gBACL,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,yCAAyC;aACtD,CAAC;QACJ,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,8CAA8C;SAC3D,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;QACzD,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU;YACrC,CAAC,CAAC,iDAAiD;YACnD,CAAC,CAAC,4CAA4C;KACjD,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAuB;IAClD,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACrC,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,eAAe,CAAC,UAA6B;IACpD,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAA0B;IAC1D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,MAAM,EAAE,aAAsB,EAAE,CAAC;QAChE,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAEpC,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;YAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ;YAClC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK;YAC5B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO;YAChC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS;YAC7C,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC;YAC7C,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU;YACvC,WAAW,EAAE,KAAK,CAAC,MAAM;YACzB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,gBAAgB,EAAE,mBAAmB,CAAC,KAAK,CAAC;YAC5C,GAAG,QAAQ;YACX,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM;SAC9C,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAyB;IAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEpH,OAAO;QACL,eAAe,EAAE,IAAI,CAAC,MAAM;QAC5B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,MAAM;QAClE,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,MAAM;QACpE,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,MAAM;QACzE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,MAAM;QACnE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,MAAM;QACtE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,aAAa,CAAC,CAAC,MAAM;QAC1E,YAAY,EACV,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QAC/G,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM;YAC1D,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,MAAM;YAC9D,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,MAAM;SACzD;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAyB;IAC7D,MAAM,MAAM,GAAG;QACb,QAAQ;QACR,UAAU;QACV,OAAO;QACP,SAAS;QACT,SAAS;QACT,YAAY;QACZ,YAAY;QACZ,aAAa;QACb,OAAO;QACP,YAAY;QACZ,kBAAkB;QAClB,UAAU;QACV,YAAY;QACZ,YAAY;QACZ,OAAO;KACR,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC5B;QACE,GAAG,CAAC,MAAM;QACV,GAAG,CAAC,QAAQ,IAAI,EAAE;QAClB,GAAG,CAAC,KAAK,IAAI,EAAE;QACf,GAAG,CAAC,OAAO,IAAI,EAAE;QACjB,GAAG,CAAC,OAAO;QACX,GAAG,CAAC,UAAU;QACd,GAAG,CAAC,UAAU,IAAI,EAAE;QACpB,GAAG,CAAC,WAAW,IAAI,EAAE;QACrB,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3B,GAAG,CAAC,UAAU,IAAI,EAAE;QACpB,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAC/B,GAAG,CAAC,QAAQ;QACZ,GAAG,CAAC,UAAU;QACd,GAAG,CAAC,UAAU,IAAI,EAAE;QACpB,GAAG,CAAC,KAAK,IAAI,EAAE;KAChB;SACE,GAAG,CAAC,aAAa,CAAC;SAClB,IAAI,CAAC,GAAG,CAAC,CACb,CAAC;IAEF,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACvD,CAAC"}
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export { auditUrl, auditSnapshot } from "./audit.js";
|
|
2
2
|
export { readBatchInput, readInputUrls, runBatchReports, safeReportSlug } from "./batch.js";
|
|
3
|
-
export { buildDiscoverySummary, buildProspectRows, fetchGooglePlacesCandidates, readManualDiscoveryCsv, renderProspectRowsCsv, resolveCandidateWebsite } from "./discovery.js";
|
|
3
|
+
export { buildDiscoverySummary, buildProspectRows, findDuplicateProspectGroups, fetchGooglePlacesCandidates, filterSuppressedProspects, mergeDiscoveryReviewRows, readLeadSuppressionCsv, readLeadReviewCsv, readManualDiscoveryCsv, renderDiscoveryReviewCsv, renderProspectRowsCsv, resolveCandidateWebsite, stableLeadKey } from "./discovery.js";
|
|
4
4
|
export { shouldFailOnThreshold } from "./exit-policy.js";
|
|
5
5
|
export { auditProfiles } from "./profiles.js";
|
|
6
6
|
export { writeReportOutputs } from "./output.js";
|
|
7
7
|
export { renderHtmlReport, renderJsonReport, renderMarkdownReport } from "./reporters.js";
|
|
8
8
|
export { renderTerminalSummary } from "./summary.js";
|
|
9
9
|
export type { BatchAuditContext, BatchIndexOptions, BatchInputEntry, BatchReportOptions, BatchReportResult, FailedBatchReportResult, SuccessfulBatchReportResult } from "./batch.js";
|
|
10
|
-
export type { DiscoveryAuditResult, DiscoveryProviderName, DiscoverySummary, FetchGooglePlacesCandidatesOptions, PlaceCandidate, ProspectExportRow, ProspectRowInput, ReadManualDiscoveryCsvOptions, WebsiteResolution } from "./discovery.js";
|
|
10
|
+
export type { DiscoveryAuditResult, DiscoveryProviderName, DiscoverySummary, DuplicateProspectGroup, FetchGooglePlacesCandidatesOptions, LeadReviewRow, LeadSuppressionEntry, PlaceCandidate, ProspectExportRow, ProspectRowInput, ReadManualDiscoveryCsvOptions, WebsiteResolution } from "./discovery.js";
|
|
11
11
|
export type { AuditOptions, AuditProfile, AuditReport, AuditSummary, Evidence, Finding, FindingCategory, PageSnapshot, Score, Severity } from "./types.js";
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { auditUrl, auditSnapshot } from "./audit.js";
|
|
2
2
|
export { readBatchInput, readInputUrls, runBatchReports, safeReportSlug } from "./batch.js";
|
|
3
|
-
export { buildDiscoverySummary, buildProspectRows, fetchGooglePlacesCandidates, readManualDiscoveryCsv, renderProspectRowsCsv, resolveCandidateWebsite } from "./discovery.js";
|
|
3
|
+
export { buildDiscoverySummary, buildProspectRows, findDuplicateProspectGroups, fetchGooglePlacesCandidates, filterSuppressedProspects, mergeDiscoveryReviewRows, readLeadSuppressionCsv, readLeadReviewCsv, readManualDiscoveryCsv, renderDiscoveryReviewCsv, renderProspectRowsCsv, resolveCandidateWebsite, stableLeadKey } from "./discovery.js";
|
|
4
4
|
export { shouldFailOnThreshold } from "./exit-policy.js";
|
|
5
5
|
export { auditProfiles } from "./profiles.js";
|
|
6
6
|
export { writeReportOutputs } from "./output.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5F,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,2BAA2B,EAC3B,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5F,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,2BAA2B,EAC3B,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,aAAa,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/profiles.js
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import { load } from "cheerio";
|
|
2
|
-
export const auditProfiles = [
|
|
2
|
+
export const auditProfiles = [
|
|
3
|
+
"generic",
|
|
4
|
+
"dental",
|
|
5
|
+
"beauty",
|
|
6
|
+
"restaurant",
|
|
7
|
+
"contractor",
|
|
8
|
+
"lawyer",
|
|
9
|
+
"clinic",
|
|
10
|
+
"gym",
|
|
11
|
+
"hotel",
|
|
12
|
+
"auto-service"
|
|
13
|
+
];
|
|
3
14
|
const profileOverrides = {
|
|
4
15
|
dental: {
|
|
5
16
|
"review-cue-present": {
|
|
@@ -24,7 +35,12 @@ const profileOverrides = {
|
|
|
24
35
|
severity: "high",
|
|
25
36
|
recommendation: "List concrete services, project types, and service-area coverage so contractor leads can qualify quickly."
|
|
26
37
|
}
|
|
27
|
-
}
|
|
38
|
+
},
|
|
39
|
+
lawyer: {},
|
|
40
|
+
clinic: {},
|
|
41
|
+
gym: {},
|
|
42
|
+
hotel: {},
|
|
43
|
+
"auto-service": {}
|
|
28
44
|
};
|
|
29
45
|
function hasAction($, pattern) {
|
|
30
46
|
return $("a, button")
|
|
@@ -157,6 +173,116 @@ const profileFindingRules = {
|
|
|
157
173
|
/\b(service area|serving|serves|coverage area|available in)\b/i.test(text),
|
|
158
174
|
evidence: "No combined license, insurance, and service-area cue found"
|
|
159
175
|
}
|
|
176
|
+
],
|
|
177
|
+
lawyer: [
|
|
178
|
+
{
|
|
179
|
+
id: "lawyer-consultation-cta",
|
|
180
|
+
title: "Legal consultation CTA is missing",
|
|
181
|
+
category: "trust-contact",
|
|
182
|
+
severity: "high",
|
|
183
|
+
source: "lawyer profile",
|
|
184
|
+
recommendation: "Add a consultation CTA so legal prospects know how to request an initial review.",
|
|
185
|
+
isPresent: ({ $ }) => hasAction($, /\b(consultation|case review|book|schedule|contact attorney|speak with)\b/i),
|
|
186
|
+
evidence: "No legal consultation or case-review CTA found"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
id: "lawyer-practice-area-cue",
|
|
190
|
+
title: "Practice-area cue is missing",
|
|
191
|
+
category: "trust-contact",
|
|
192
|
+
severity: "medium",
|
|
193
|
+
source: "lawyer profile",
|
|
194
|
+
recommendation: "List practice areas so visitors can quickly confirm whether the firm handles their legal need.",
|
|
195
|
+
isPresent: ({ text }) => /\b(practice areas?|family law|immigration|criminal defense|business law|estate|injury|litigation)\b/i.test(text),
|
|
196
|
+
evidence: "No clear legal practice-area cue found"
|
|
197
|
+
}
|
|
198
|
+
],
|
|
199
|
+
clinic: [
|
|
200
|
+
{
|
|
201
|
+
id: "clinic-appointment-cta",
|
|
202
|
+
title: "Clinic appointment CTA is missing",
|
|
203
|
+
category: "trust-contact",
|
|
204
|
+
severity: "high",
|
|
205
|
+
source: "clinic profile",
|
|
206
|
+
recommendation: "Add an appointment CTA so patients can schedule care without searching for the next step.",
|
|
207
|
+
isPresent: ({ $ }) => hasAction($, /\b(appointment|schedule|book|visit|new patient)\b/i),
|
|
208
|
+
evidence: "No clinic appointment or scheduling CTA found"
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
id: "clinic-insurance-patient-cue",
|
|
212
|
+
title: "Clinic insurance or patient cue is missing",
|
|
213
|
+
category: "trust-contact",
|
|
214
|
+
severity: "medium",
|
|
215
|
+
source: "clinic profile",
|
|
216
|
+
recommendation: "Mention insurance, new patient forms, or patient intake details so visitors can prepare before booking.",
|
|
217
|
+
isPresent: ({ text }) => /\b(insurance|new patients?|patient forms?|intake|accepted plans?)\b/i.test(text),
|
|
218
|
+
evidence: "No clinic insurance, patient form, or intake cue found"
|
|
219
|
+
}
|
|
220
|
+
],
|
|
221
|
+
gym: [
|
|
222
|
+
{
|
|
223
|
+
id: "gym-trial-membership-cta",
|
|
224
|
+
title: "Gym trial or membership CTA is missing",
|
|
225
|
+
category: "trust-contact",
|
|
226
|
+
severity: "high",
|
|
227
|
+
source: "gym profile",
|
|
228
|
+
recommendation: "Add a trial, membership, or signup CTA so fitness prospects can start quickly.",
|
|
229
|
+
isPresent: ({ $ }) => hasAction($, /\b(trial|membership|join|sign up|signup|start)\b/i),
|
|
230
|
+
evidence: "No gym trial, membership, or signup CTA found"
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
id: "gym-class-schedule-cue",
|
|
234
|
+
title: "Gym class schedule cue is missing",
|
|
235
|
+
category: "trust-contact",
|
|
236
|
+
severity: "medium",
|
|
237
|
+
source: "gym profile",
|
|
238
|
+
recommendation: "Show class schedules, training options, or program details so visitors can evaluate fit.",
|
|
239
|
+
isPresent: ({ text }) => /\b(class schedule|classes|personal training|programs?|yoga|strength|training)\b/i.test(text),
|
|
240
|
+
evidence: "No class schedule, training, or program cue found"
|
|
241
|
+
}
|
|
242
|
+
],
|
|
243
|
+
hotel: [
|
|
244
|
+
{
|
|
245
|
+
id: "hotel-booking-availability-cta",
|
|
246
|
+
title: "Hotel booking or availability CTA is missing",
|
|
247
|
+
category: "trust-contact",
|
|
248
|
+
severity: "high",
|
|
249
|
+
source: "hotel profile",
|
|
250
|
+
recommendation: "Add a booking or availability CTA so guests can check rooms without extra friction.",
|
|
251
|
+
isPresent: ({ $ }) => hasAction($, /\b(book|booking|availability|reserve|rooms?|check in)\b/i),
|
|
252
|
+
evidence: "No hotel booking, room, or availability CTA found"
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
id: "hotel-amenities-location-cue",
|
|
256
|
+
title: "Hotel amenities or location cue is missing",
|
|
257
|
+
category: "trust-contact",
|
|
258
|
+
severity: "medium",
|
|
259
|
+
source: "hotel profile",
|
|
260
|
+
recommendation: "Mention amenities and location advantages so guests can compare the property quickly.",
|
|
261
|
+
isPresent: ({ text }) => /\b(amenities|breakfast|parking|wi-?fi|pool|airport|city center|nearby|location)\b/i.test(text),
|
|
262
|
+
evidence: "No amenities or location advantage cue found"
|
|
263
|
+
}
|
|
264
|
+
],
|
|
265
|
+
"auto-service": [
|
|
266
|
+
{
|
|
267
|
+
id: "auto-service-appointment-cta",
|
|
268
|
+
title: "Auto service appointment CTA is missing",
|
|
269
|
+
category: "trust-contact",
|
|
270
|
+
severity: "high",
|
|
271
|
+
source: "auto-service profile",
|
|
272
|
+
recommendation: "Add a service appointment CTA so vehicle owners can book repair or maintenance.",
|
|
273
|
+
isPresent: ({ $ }) => hasAction($, /\b(schedule|appointment|service|book|repair|maintenance)\b/i),
|
|
274
|
+
evidence: "No auto service appointment or repair CTA found"
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
id: "auto-service-repair-trust-cue",
|
|
278
|
+
title: "Auto service repair trust cue is missing",
|
|
279
|
+
category: "trust-contact",
|
|
280
|
+
severity: "medium",
|
|
281
|
+
source: "auto-service profile",
|
|
282
|
+
recommendation: "Mention repairs, certified mechanics, warranty, diagnostics, or maintenance services to build trust.",
|
|
283
|
+
isPresent: ({ text }) => /\b(certified|mechanic|warranty|diagnostics?|brake|oil change|repair|maintenance)\b/i.test(text),
|
|
284
|
+
evidence: "No repair, certification, warranty, or maintenance cue found"
|
|
285
|
+
}
|
|
160
286
|
]
|
|
161
287
|
};
|
|
162
288
|
function profileFindings(profile, snapshot) {
|
package/dist/profiles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,SAAS,CAAC;AAGhD,MAAM,CAAC,MAAM,aAAa,GAAmB,
|
|
1
|
+
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"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"}
|
package/dist/reporters.js
CHANGED
|
@@ -96,6 +96,7 @@ export function renderMarkdownReport(report) {
|
|
|
96
96
|
}
|
|
97
97
|
export function renderHtmlReport(report) {
|
|
98
98
|
const findings = [...report.findings].sort((left, right) => severityRank(left) - severityRank(right));
|
|
99
|
+
const overallScore = Math.round(Object.values(report.scores).reduce((total, score) => total + score.score, 0) / Object.values(report.scores).length);
|
|
99
100
|
const scoreRows = Object.values(report.scores)
|
|
100
101
|
.map((score) => `<tr><td>${escapeHtml(score.label)}</td><td>${score.score}/${score.max}</td></tr>`)
|
|
101
102
|
.join("\n");
|
|
@@ -118,16 +119,36 @@ export function renderHtmlReport(report) {
|
|
|
118
119
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
119
120
|
<title>Open Local Audit Report - ${escapeHtml(report.finalUrl)}</title>
|
|
120
121
|
<style>
|
|
121
|
-
|
|
122
|
+
:root { color-scheme: light; --ink: #172026; --muted: #5f6b75; --line: #d8dee5; --panel: #f6f8fa; --brand: #145a73; --accent: #2f7d5f; }
|
|
123
|
+
* { box-sizing: border-box; }
|
|
124
|
+
body { background: #eef2f5; color: var(--ink); font-family: Arial, sans-serif; line-height: 1.5; margin: 0; }
|
|
125
|
+
.report-shell { max-width: 1120px; margin: 0 auto; padding: 2rem; }
|
|
126
|
+
.hero { background: #ffffff; border: 1px solid var(--line); border-radius: 8px; padding: 1.5rem; }
|
|
127
|
+
.eyebrow { color: var(--brand); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
|
|
128
|
+
.meta { color: var(--muted); }
|
|
129
|
+
.score-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); margin: 1rem 0; }
|
|
130
|
+
.score-card { background: var(--panel); border: 1px solid var(--line); border-radius: 8px; padding: 1rem; }
|
|
131
|
+
.score-card strong { display: block; font-size: 1.8rem; }
|
|
132
|
+
section { background: #ffffff; border: 1px solid var(--line); border-radius: 8px; margin-top: 1rem; padding: 1.25rem; }
|
|
122
133
|
table { border-collapse: collapse; width: 100%; }
|
|
123
|
-
th, td { border: 1px solid
|
|
124
|
-
th { background:
|
|
125
|
-
|
|
134
|
+
th, td { border-bottom: 1px solid var(--line); padding: 0.65rem; text-align: left; vertical-align: top; }
|
|
135
|
+
th { background: var(--panel); color: var(--muted); font-size: 0.82rem; text-transform: uppercase; }
|
|
136
|
+
tr:last-child td { border-bottom: 0; }
|
|
126
137
|
</style>
|
|
127
138
|
</head>
|
|
128
139
|
<body>
|
|
129
|
-
<
|
|
130
|
-
<
|
|
140
|
+
<main class="report-shell">
|
|
141
|
+
<header class="hero">
|
|
142
|
+
<div class="eyebrow">Open Local Audit</div>
|
|
143
|
+
<h1>Open Local Audit Report</h1>
|
|
144
|
+
<p class="meta">URL: ${escapeHtml(report.url)}<br>Final URL: ${escapeHtml(report.finalUrl)}<br>Scanned at: ${escapeHtml(report.scannedAt)}<br>Status code: ${report.statusCode}<br>Profile: ${escapeHtml(report.profile ?? "generic")}</p>
|
|
145
|
+
<div class="score-grid" aria-label="Overall Health">
|
|
146
|
+
<div class="score-card"><span>Overall Health</span><strong>${overallScore}/100</strong></div>
|
|
147
|
+
<div class="score-card"><span>Priority Findings</span><strong>${report.summary.high + report.summary.medium}</strong></div>
|
|
148
|
+
<div class="score-card"><span>Total Findings</span><strong>${report.summary.totalFindings}</strong></div>
|
|
149
|
+
</div>
|
|
150
|
+
</header>
|
|
151
|
+
<section>
|
|
131
152
|
<h2>Score Summary</h2>
|
|
132
153
|
<table>
|
|
133
154
|
<thead><tr><th>Category</th><th>Score</th></tr></thead>
|
|
@@ -135,17 +156,23 @@ export function renderHtmlReport(report) {
|
|
|
135
156
|
${scoreRows}
|
|
136
157
|
</tbody>
|
|
137
158
|
</table>
|
|
138
|
-
|
|
159
|
+
</section>
|
|
160
|
+
${visualEvidence} <section>
|
|
161
|
+
<h2>Findings</h2>
|
|
139
162
|
<table>
|
|
140
163
|
<thead><tr><th>Severity</th><th>Finding</th><th>Evidence</th><th>Recommendation</th></tr></thead>
|
|
141
164
|
<tbody>
|
|
142
165
|
${findingRows}
|
|
143
166
|
</tbody>
|
|
144
167
|
</table>
|
|
168
|
+
</section>
|
|
169
|
+
<section>
|
|
145
170
|
<h2>Recommendations</h2>
|
|
146
171
|
<ul>
|
|
147
172
|
${recommendations}
|
|
148
173
|
</ul>
|
|
174
|
+
</section>
|
|
175
|
+
</main>
|
|
149
176
|
</body>
|
|
150
177
|
</html>
|
|
151
178
|
`;
|
package/dist/reporters.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporters.js","sourceRoot":"","sources":["../src/reporters.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"reporters.js","sourceRoot":"","sources":["../src/reporters.ts"],"names":[],"mappings":"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"}
|
package/dist/schema.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export declare const inputUrlSchema: z.ZodEffects<z.ZodPipeline<z.ZodEffects<z.Z
|
|
|
3
3
|
export declare const outputFormatSchema: z.ZodEnum<["json", "markdown", "html", "all"]>;
|
|
4
4
|
export declare const failOnSchema: z.ZodEnum<["none", "high", "medium", "low"]>;
|
|
5
5
|
export declare const batchIndexSortSchema: z.ZodEnum<["score-asc", "severity-desc"]>;
|
|
6
|
-
export declare const auditProfileSchema: z.ZodEnum<["generic", "dental", "beauty", "restaurant", "contractor"]>;
|
|
6
|
+
export declare const auditProfileSchema: z.ZodEnum<["generic", "dental", "beauty", "restaurant", "contractor", "lawyer", "clinic", "gym", "hotel", "auto-service"]>;
|
|
7
7
|
export declare const discoveryProviderSchema: z.ZodEnum<["manual-csv", "google-places"]>;
|
|
8
8
|
export declare const cliOptionsSchema: z.ZodObject<{
|
|
9
9
|
format: z.ZodDefault<z.ZodEnum<["json", "markdown", "html", "all"]>>;
|
|
@@ -15,13 +15,17 @@ export declare const cliOptionsSchema: z.ZodObject<{
|
|
|
15
15
|
top: z.ZodOptional<z.ZodNumber>;
|
|
16
16
|
sort: z.ZodOptional<z.ZodEnum<["score-asc", "severity-desc"]>>;
|
|
17
17
|
concurrency: z.ZodDefault<z.ZodNumber>;
|
|
18
|
-
profile: z.ZodDefault<z.ZodEnum<["generic", "dental", "beauty", "restaurant", "contractor"]>>;
|
|
18
|
+
profile: z.ZodDefault<z.ZodEnum<["generic", "dental", "beauty", "restaurant", "contractor", "lawyer", "clinic", "gym", "hotel", "auto-service"]>>;
|
|
19
19
|
exportCsv: z.ZodOptional<z.ZodString>;
|
|
20
20
|
provider: z.ZodDefault<z.ZodEnum<["manual-csv", "google-places"]>>;
|
|
21
21
|
dryRun: z.ZodDefault<z.ZodBoolean>;
|
|
22
22
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
23
23
|
maxAudits: z.ZodOptional<z.ZodNumber>;
|
|
24
24
|
summaryJson: z.ZodOptional<z.ZodString>;
|
|
25
|
+
suppressionList: z.ZodOptional<z.ZodString>;
|
|
26
|
+
reviewCsv: z.ZodOptional<z.ZodString>;
|
|
27
|
+
duplicatesJson: z.ZodOptional<z.ZodString>;
|
|
28
|
+
minOpportunityScore: z.ZodOptional<z.ZodNumber>;
|
|
25
29
|
timeout: z.ZodDefault<z.ZodNumber>;
|
|
26
30
|
maxRedirects: z.ZodDefault<z.ZodNumber>;
|
|
27
31
|
checkLinks: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -35,7 +39,7 @@ export declare const cliOptionsSchema: z.ZodObject<{
|
|
|
35
39
|
maxRedirects: number;
|
|
36
40
|
checkLinks: boolean;
|
|
37
41
|
maxPages: number;
|
|
38
|
-
profile: "generic" | "dental" | "beauty" | "restaurant" | "contractor";
|
|
42
|
+
profile: "generic" | "dental" | "beauty" | "restaurant" | "contractor" | "lawyer" | "clinic" | "gym" | "hotel" | "auto-service";
|
|
39
43
|
render: boolean;
|
|
40
44
|
format: "html" | "json" | "markdown" | "all";
|
|
41
45
|
concurrency: number;
|
|
@@ -55,12 +59,16 @@ export declare const cliOptionsSchema: z.ZodObject<{
|
|
|
55
59
|
exportCsv?: string | undefined;
|
|
56
60
|
maxAudits?: number | undefined;
|
|
57
61
|
summaryJson?: string | undefined;
|
|
62
|
+
suppressionList?: string | undefined;
|
|
63
|
+
reviewCsv?: string | undefined;
|
|
64
|
+
duplicatesJson?: string | undefined;
|
|
65
|
+
minOpportunityScore?: number | undefined;
|
|
58
66
|
}, {
|
|
59
67
|
screenshot?: boolean | undefined;
|
|
60
68
|
maxRedirects?: number | undefined;
|
|
61
69
|
checkLinks?: boolean | undefined;
|
|
62
70
|
maxPages?: number | undefined;
|
|
63
|
-
profile?: "generic" | "dental" | "beauty" | "restaurant" | "contractor" | undefined;
|
|
71
|
+
profile?: "generic" | "dental" | "beauty" | "restaurant" | "contractor" | "lawyer" | "clinic" | "gym" | "hotel" | "auto-service" | undefined;
|
|
64
72
|
render?: boolean | undefined;
|
|
65
73
|
sort?: "score-asc" | "severity-desc" | undefined;
|
|
66
74
|
format?: "html" | "json" | "markdown" | "all" | undefined;
|
|
@@ -77,6 +85,10 @@ export declare const cliOptionsSchema: z.ZodObject<{
|
|
|
77
85
|
limit?: number | undefined;
|
|
78
86
|
maxAudits?: number | undefined;
|
|
79
87
|
summaryJson?: string | undefined;
|
|
88
|
+
suppressionList?: string | undefined;
|
|
89
|
+
reviewCsv?: string | undefined;
|
|
90
|
+
duplicatesJson?: string | undefined;
|
|
91
|
+
minOpportunityScore?: number | undefined;
|
|
80
92
|
timeout?: number | undefined;
|
|
81
93
|
failOn?: "high" | "medium" | "low" | "none" | undefined;
|
|
82
94
|
pretty?: boolean | undefined;
|
package/dist/schema.js
CHANGED
|
@@ -16,7 +16,18 @@ export const inputUrlSchema = z
|
|
|
16
16
|
export const outputFormatSchema = z.enum(["json", "markdown", "html", "all"]);
|
|
17
17
|
export const failOnSchema = z.enum(["none", "high", "medium", "low"]);
|
|
18
18
|
export const batchIndexSortSchema = z.enum(["score-asc", "severity-desc"]);
|
|
19
|
-
export const auditProfileSchema = z.enum([
|
|
19
|
+
export const auditProfileSchema = z.enum([
|
|
20
|
+
"generic",
|
|
21
|
+
"dental",
|
|
22
|
+
"beauty",
|
|
23
|
+
"restaurant",
|
|
24
|
+
"contractor",
|
|
25
|
+
"lawyer",
|
|
26
|
+
"clinic",
|
|
27
|
+
"gym",
|
|
28
|
+
"hotel",
|
|
29
|
+
"auto-service"
|
|
30
|
+
]);
|
|
20
31
|
export const discoveryProviderSchema = z.enum(["manual-csv", "google-places"]);
|
|
21
32
|
export const cliOptionsSchema = z.object({
|
|
22
33
|
format: outputFormatSchema.default("markdown"),
|
|
@@ -35,6 +46,10 @@ export const cliOptionsSchema = z.object({
|
|
|
35
46
|
limit: z.coerce.number().int().positive().default(10),
|
|
36
47
|
maxAudits: z.coerce.number().int().min(0).optional(),
|
|
37
48
|
summaryJson: z.string().optional(),
|
|
49
|
+
suppressionList: z.string().optional(),
|
|
50
|
+
reviewCsv: z.string().optional(),
|
|
51
|
+
duplicatesJson: z.string().optional(),
|
|
52
|
+
minOpportunityScore: z.coerce.number().int().min(0).max(100).optional(),
|
|
38
53
|
timeout: z.coerce.number().int().positive().max(60000).default(10000),
|
|
39
54
|
maxRedirects: z.coerce.number().int().min(0).max(10).default(5),
|
|
40
55
|
checkLinks: z.boolean().default(false),
|
package/dist/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,EAAE;KACR,IAAI,EAAE;KACN,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC;KACzB,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;IACnB,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,WAAW,KAAK,EAAE,CAAC;AAC5B,CAAC,CAAC;KACD,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;KAC7D,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;IAC9C,OAAO,EAAE,wCAAwC;CAClD,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,EAAE;KACR,IAAI,EAAE;KACN,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC;KACzB,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;IACnB,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,WAAW,KAAK,EAAE,CAAC;AAC5B,CAAC,CAAC;KACD,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;KAC7D,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;IAC9C,OAAO,EAAE,wCAAwC;CAClD,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC;IACvC,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,YAAY;IACZ,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,OAAO;IACP,cAAc;CACf,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC;IAC9C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5C,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACtD,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClD,IAAI,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC;IAC9C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,QAAQ,EAAE,uBAAuB,CAAC,OAAO,CAAC,YAAY,CAAC;IACvD,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAClC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACrD,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACvE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACrE,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACjE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAClC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACtC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACnC,CAAC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { execFileSync } from "node:child_process";
|
|
2
|
+
type ExecFileSyncLike = typeof execFileSync;
|
|
3
|
+
export declare function readWindowsUserEnvironmentVariable(name: string, execFile?: ExecFileSyncLike, platform?: NodeJS.Platform): string | undefined;
|
|
4
|
+
export declare function resolveGoogleMapsApiKey(): string | undefined;
|
|
5
|
+
export {};
|
package/dist/secrets.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { execFileSync } from "node:child_process";
|
|
2
|
+
const safeEnvironmentVariableName = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
3
|
+
export function readWindowsUserEnvironmentVariable(name, execFile = execFileSync, platform = process.platform) {
|
|
4
|
+
if (platform !== "win32" || !safeEnvironmentVariableName.test(name)) {
|
|
5
|
+
return undefined;
|
|
6
|
+
}
|
|
7
|
+
try {
|
|
8
|
+
const output = execFile("reg", ["query", "HKCU\\Environment", "/v", name], {
|
|
9
|
+
encoding: "utf8",
|
|
10
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
11
|
+
windowsHide: true
|
|
12
|
+
});
|
|
13
|
+
const line = output
|
|
14
|
+
.split(/\r?\n/)
|
|
15
|
+
.map((item) => item.trim())
|
|
16
|
+
.find((item) => item.startsWith(name));
|
|
17
|
+
const match = line?.match(new RegExp(`^${name}\\s+REG_(?:SZ|EXPAND_SZ)\\s+(.+)$`));
|
|
18
|
+
const value = match?.[1]?.trim();
|
|
19
|
+
return value || undefined;
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export function resolveGoogleMapsApiKey() {
|
|
26
|
+
if (process.env.OPEN_LOCAL_AUDIT_DISABLE_WINDOWS_ENV_FALLBACK === "1") {
|
|
27
|
+
return process.env.GOOGLE_MAPS_API_KEY;
|
|
28
|
+
}
|
|
29
|
+
return process.env.GOOGLE_MAPS_API_KEY || readWindowsUserEnvironmentVariable("GOOGLE_MAPS_API_KEY");
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=secrets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../src/secrets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,MAAM,2BAA2B,GAAG,0BAA0B,CAAC;AAE/D,MAAM,UAAU,kCAAkC,CAChD,IAAY,EACZ,WAA6B,YAAY,EACzC,WAA4B,OAAO,CAAC,QAAQ;IAE5C,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;YACzE,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;YACnC,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM;aAChB,KAAK,CAAC,OAAO,CAAC;aACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,mCAAmC,CAAC,CAAC,CAAC;QACnF,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAEjC,OAAO,KAAK,IAAI,SAAS,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,IAAI,OAAO,CAAC,GAAG,CAAC,6CAA6C,KAAK,GAAG,EAAE,CAAC;QACtE,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IACzC,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,kCAAkC,CAAC,qBAAqB,CAAC,CAAC;AACtG,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export type Severity = "high" | "medium" | "low" | "info";
|
|
2
|
-
export type AuditProfile = "generic" | "dental" | "beauty" | "restaurant" | "contractor";
|
|
2
|
+
export type AuditProfile = "generic" | "dental" | "beauty" | "restaurant" | "contractor" | "lawyer" | "clinic" | "gym" | "hotel" | "auto-service";
|
|
3
3
|
export type FindingCategory = "technical-health" | "search-basics" | "mobile-usability" | "trust-contact";
|
|
4
4
|
export interface Evidence {
|
|
5
5
|
label: string;
|