open-local-audit 0.9.0 → 0.11.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 CHANGED
@@ -4,6 +4,22 @@ All notable changes to Open Local Audit will be documented here.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## v0.11.0 - 2026-05-13
8
+
9
+ - Added discovery controls: `--limit`, `--max-audits`, and `--summary-json`.
10
+ - Added terminal discovery summary output for website, audit, priority, and average-score counts.
11
+ - Added `opportunityScore` to discovery prospect CSV exports.
12
+ - Added CSV formula-injection hardening for exported CSV cells.
13
+ - Added a Google Maps Platform billing warning when `--provider google-places` is used.
14
+
15
+ ## v0.10.0 - 2026-05-12
16
+
17
+ - Added an opt-in `google-places` provider for `discover`.
18
+ - Added `GOOGLE_MAPS_API_KEY` support for official Google Places Text Search requests.
19
+ - Resolved official place website URLs through `websiteUri` where available.
20
+ - Kept Google Places storage conservative: no Google Maps scraping, no reviews/photos/ratings collection, and no long-term raw Places data store.
21
+ - Fed resolved Google Places websites into the existing audit pipeline and prospect CSV export.
22
+
7
23
  ## v0.9.0 - 2026-05-12
8
24
 
9
25
  - Added `discover --input places.csv --provider manual-csv` for operator-prepared lead discovery.
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.
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, and write summary JSON.
8
8
 
9
9
  ## Business purpose
10
10
 
@@ -160,7 +160,25 @@ Manual CSV lead discovery:
160
160
  open-local-audit discover --input places.csv --provider manual-csv --profile dental --out-dir reports/dental --export-csv leads.csv
161
161
  ```
162
162
 
163
- The first `discover` slice is local operator triage only. It reads an operator-prepared CSV, resolves supplied website URLs, audits website-present rows through the existing batch pipeline, and writes `leads.csv` with `hasWebsite`, `websiteUrl`, `priority`, and `nextAction`. Use `--dry-run` to create the prospect CSV without auditing websites. It does not scrape Google Maps, call a Google provider, or send outreach; a Google Places provider stays deferred until the manual CSV flow is proven.
163
+ The `manual-csv` provider reads an operator-prepared CSV, resolves supplied website URLs, audits website-present rows through the existing batch pipeline, and writes `leads.csv` with `hasWebsite`, `websiteUrl`, `priority`, and `nextAction`. Use `--dry-run` to create the prospect CSV without auditing websites.
164
+
165
+ Google Places lead discovery:
166
+
167
+ ```bash
168
+ GOOGLE_MAPS_API_KEY=your-key open-local-audit discover "guzellik salonu Umraniye" --provider google-places --profile beauty --out-dir reports/umraniye-beauty --export-csv leads.csv
169
+ ```
170
+
171
+ Control discovery cost and audit volume:
172
+
173
+ ```bash
174
+ 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
+ ```
176
+
177
+ 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
+
179
+ Discovery CSV exports include `opportunityScore` for quick triage. Spreadsheet formula-like cell values are neutralized before export.
180
+
181
+ See [Google Maps API key setup](./docs/operations/google-maps-api-key.md) for local environment setup.
164
182
 
165
183
  Check same-origin links and fail CI when high-severity issues are found:
166
184
 
@@ -210,6 +228,9 @@ Example report artifacts are available under [`examples/reports`](./examples/rep
210
228
  - `--screenshot` uses the rendered audit path, requires `--out-dir`, and also requires Playwright.
211
229
  - Batch triage options apply to the aggregate batch index, not individual per-site report contents.
212
230
  - `--export-csv` is only supported for batch audits.
231
+ - `discover --provider google-places` requires `GOOGLE_MAPS_API_KEY` and may incur Google Maps Platform billing.
232
+ - `--limit` caps Google Places candidates at 50; it does not paginate beyond one Text Search request.
233
+ - `--max-audits` limits website audits only; all discovered candidates still appear in `leads.csv`.
213
234
  - Batch input requires `--out-dir` and cannot be combined with a positional URL.
214
235
  - Industry profiles are deterministic vertical heuristics, not a replacement for a human review of each business model.
215
236
  - Higher `--concurrency` values can increase network load against audited sites; use conservative values for prospect batches.
package/dist/cli.js CHANGED
@@ -4,7 +4,7 @@ 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 { buildProspectRows, readManualDiscoveryCsv, renderProspectRowsCsv, resolveCandidateWebsite } from "./discovery.js";
7
+ import { buildDiscoverySummary, buildProspectRows, fetchGooglePlacesCandidates, readManualDiscoveryCsv, 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";
@@ -15,16 +15,19 @@ const discoveryProgram = program
15
15
  .description("Discover local lead candidates from an operator-provided source and prepare prospect triage output.")
16
16
  .argument("[query]", "provider-specific discovery query")
17
17
  .option("--input <path>", "read candidate businesses from a manual CSV file")
18
- .option("--provider <provider>", "discovery provider: manual-csv", "manual-csv")
18
+ .option("--provider <provider>", "discovery provider: manual-csv or google-places", "manual-csv")
19
19
  .option("--profile <profile>", "default industry profile for candidates", "generic")
20
20
  .option("--out-dir <path>", "write generated audit reports to a directory")
21
21
  .option("--export-csv <path>", "write lead discovery CSV output")
22
+ .option("--summary-json <path>", "write discovery summary JSON output")
22
23
  .option("--dry-run", "resolve candidates and write leads without auditing websites", false)
24
+ .option("--limit <count>", "maximum Google Places candidates to request", "10")
25
+ .option("--max-audits <count>", "maximum website-present candidates to audit")
23
26
  .option("--concurrency <count>", "maximum concurrent audits when dry-run is not used", "1")
24
27
  .addHelpText("after", `
25
28
  Discovery boundaries:
26
- Only --provider manual-csv is supported in this release.
27
- Google Maps scraping, google-places provider calls, and outreach sending are not supported.
29
+ --provider google-places requires GOOGLE_MAPS_API_KEY and uses the official Places Text Search API.
30
+ Google Maps scraping, reviews/photos collection, and outreach sending are not supported.
28
31
  `);
29
32
  function preferredReportPath(slug, outputs) {
30
33
  const preferred = outputs.find((output) => output.format === "html") ??
@@ -32,6 +35,17 @@ function preferredReportPath(slug, outputs) {
32
35
  outputs[0];
33
36
  return preferred?.path ? `${slug}/${preferred.path.split(/[\\/]/).pop()}` : undefined;
34
37
  }
38
+ function renderDiscoverySummary(summary) {
39
+ return [
40
+ `With website: ${summary.withWebsite}`,
41
+ `Without website: ${summary.withoutWebsite}`,
42
+ `Unknown website: ${summary.unknownWebsite}`,
43
+ `Audited: ${summary.audited}`,
44
+ `Audit failed: ${summary.auditFailed}`,
45
+ `Not audited: ${summary.notAudited}`,
46
+ `Average score: ${summary.averageScore ?? "N/A"}`
47
+ ].join("\n");
48
+ }
35
49
  discoveryProgram.action(async (query) => {
36
50
  try {
37
51
  const rawDiscoveryOptions = {
@@ -46,27 +60,41 @@ discoveryProgram.action(async (query) => {
46
60
  exportCsv: true,
47
61
  dryRun: true,
48
62
  concurrency: true,
49
- provider: true
63
+ provider: true,
64
+ limit: true,
65
+ maxAudits: true,
66
+ summaryJson: true
50
67
  })
51
68
  .parse(rawDiscoveryOptions);
52
- if (options.provider !== "manual-csv") {
53
- throw new Error("Only --provider manual-csv is supported in this release");
54
- }
55
- if (query?.trim()) {
56
- throw new Error("Manual CSV discovery does not accept a positional query; use --input instead");
57
- }
58
- if (!options.input) {
59
- throw new Error("--input is required when --provider manual-csv is used");
60
- }
61
69
  if (!options.exportCsv) {
62
70
  throw new Error("--export-csv is required for discover output");
63
71
  }
64
72
  if (!options.dryRun && !options.outDir) {
65
73
  throw new Error("--out-dir is required unless --dry-run is used");
66
74
  }
67
- const candidates = await readManualDiscoveryCsv(options.input, {
68
- defaultProfile: options.profile
69
- });
75
+ if (options.provider === "manual-csv") {
76
+ if (query?.trim()) {
77
+ throw new Error("Manual CSV discovery does not accept a positional query; use --input instead");
78
+ }
79
+ if (!options.input) {
80
+ throw new Error("--input is required when --provider manual-csv is used");
81
+ }
82
+ }
83
+ if (options.provider === "google-places" && options.input) {
84
+ throw new Error("--input is only supported when --provider manual-csv is used");
85
+ }
86
+ if (options.provider === "google-places") {
87
+ process.stderr.write("open-local-audit: Google Maps Platform billing may apply for --provider google-places\n");
88
+ }
89
+ const candidates = options.provider === "manual-csv"
90
+ ? await readManualDiscoveryCsv(options.input ?? "", {
91
+ defaultProfile: options.profile
92
+ })
93
+ : await fetchGooglePlacesCandidates(query ?? "", {
94
+ apiKey: process.env.GOOGLE_MAPS_API_KEY,
95
+ defaultProfile: options.profile,
96
+ limit: options.limit
97
+ });
70
98
  const resolutions = candidates.map(resolveCandidateWebsite);
71
99
  let prospectInputs = candidates.map((candidate, index) => ({
72
100
  candidate,
@@ -75,7 +103,8 @@ discoveryProgram.action(async (query) => {
75
103
  if (!options.dryRun) {
76
104
  const auditable = prospectInputs
77
105
  .map((input, index) => ({ ...input, index }))
78
- .filter((input) => input.resolution.status === "resolved" && input.resolution.websiteUrl);
106
+ .filter((input) => input.resolution.status === "resolved" && input.resolution.websiteUrl)
107
+ .slice(0, options.maxAudits);
79
108
  const auditResults = await runBatchReports(auditable.map((input) => ({
80
109
  url: input.resolution.websiteUrl ?? "",
81
110
  label: input.candidate.label,
@@ -118,7 +147,13 @@ discoveryProgram.action(async (query) => {
118
147
  const rows = buildProspectRows(prospectInputs);
119
148
  await mkdir(dirname(options.exportCsv), { recursive: true });
120
149
  await writeFile(options.exportCsv, renderProspectRowsCsv(rows), "utf8");
150
+ const summary = buildDiscoverySummary(rows);
151
+ if (options.summaryJson) {
152
+ await mkdir(dirname(options.summaryJson), { recursive: true });
153
+ await writeFile(options.summaryJson, `${JSON.stringify(summary, null, 2)}\n`, "utf8");
154
+ }
121
155
  process.stdout.write(`Discovered ${rows.length} lead${rows.length === 1 ? "" : "s"}\n`);
156
+ process.stdout.write(`${renderDiscoverySummary(summary)}\n`);
122
157
  }
123
158
  catch (error) {
124
159
  const message = error instanceof Error ? error.message : "Unknown error";
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/csv.js CHANGED
@@ -31,9 +31,10 @@ export function cleanInputLines(content) {
31
31
  .filter((line) => line.length > 0 && !line.startsWith("#"));
32
32
  }
33
33
  export function escapeCsvCell(value) {
34
- if (!/[",\r\n]/.test(value)) {
35
- return value;
34
+ const safeValue = /^\s*[=+\-@]/.test(value) ? `'${value}` : value;
35
+ if (!/[",\r\n]/.test(safeValue)) {
36
+ return safeValue;
36
37
  }
37
- return `"${value.replace(/"/g, '""')}"`;
38
+ return `"${safeValue.replace(/"/g, '""')}"`;
38
39
  }
39
40
  //# sourceMappingURL=csv.js.map
package/dist/csv.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"csv.js","sourceRoot":"","sources":["../src/csv.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE7B,IAAI,IAAI,KAAK,GAAG,IAAI,MAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAC3C,OAAO,IAAI,GAAG,CAAC;YACf,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,GAAG,CAAC,MAAM,CAAC;YACjB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3B,OAAO,GAAG,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QAED,OAAO,IAAI,IAAI,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,OAAO,OAAO;SACX,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"csv.js","sourceRoot":"","sources":["../src/csv.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE7B,IAAI,IAAI,KAAK,GAAG,IAAI,MAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAC3C,OAAO,IAAI,GAAG,CAAC;YACf,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,GAAG,CAAC,MAAM,CAAC;YACjB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3B,OAAO,GAAG,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QAED,OAAO,IAAI,IAAI,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,OAAO,OAAO;SACX,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAClE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AAC9C,CAAC"}
@@ -39,6 +39,7 @@ export interface ProspectExportRow {
39
39
  auditStatus?: "success" | "failed" | "not-audited";
40
40
  score?: number;
41
41
  topFinding?: string;
42
+ opportunityScore: number;
42
43
  priority: "high" | "medium" | "low";
43
44
  nextAction: string;
44
45
  reportPath?: string;
@@ -47,7 +48,26 @@ export interface ProspectExportRow {
47
48
  export interface ReadManualDiscoveryCsvOptions {
48
49
  defaultProfile?: AuditProfile;
49
50
  }
51
+ export interface FetchGooglePlacesCandidatesOptions {
52
+ apiKey?: string;
53
+ defaultProfile?: AuditProfile;
54
+ limit?: number;
55
+ fetch?: typeof fetch;
56
+ }
57
+ export interface DiscoverySummary {
58
+ totalCandidates: number;
59
+ withWebsite: number;
60
+ withoutWebsite: number;
61
+ unknownWebsite: number;
62
+ audited: number;
63
+ auditFailed: number;
64
+ notAudited: number;
65
+ averageScore?: number;
66
+ priority: Record<ProspectExportRow["priority"], number>;
67
+ }
50
68
  export declare function readManualDiscoveryCsv(path: string, options?: ReadManualDiscoveryCsvOptions): Promise<PlaceCandidate[]>;
69
+ export declare function fetchGooglePlacesCandidates(query: string, options?: FetchGooglePlacesCandidatesOptions): Promise<PlaceCandidate[]>;
51
70
  export declare function resolveCandidateWebsite(candidate: Pick<PlaceCandidate, "websiteUri">): WebsiteResolution;
52
71
  export declare function buildProspectRows(inputs: ProspectRowInput[]): ProspectExportRow[];
72
+ export declare function buildDiscoverySummary(rows: ProspectExportRow[]): DiscoverySummary;
53
73
  export declare function renderProspectRowsCsv(rows: ProspectExportRow[]): string;
package/dist/discovery.js CHANGED
@@ -1,6 +1,10 @@
1
1
  import { readFile } from "node:fs/promises";
2
2
  import { cleanInputLines, escapeCsvCell, parseCsvLine } from "./csv.js";
3
3
  import { auditProfileSchema, inputUrlSchema } from "./schema.js";
4
+ const googlePlacesTextSearchUrl = "https://places.googleapis.com/v1/places:searchText";
5
+ const googlePlacesFieldMask = "places.id,places.displayName,places.websiteUri";
6
+ const defaultGooglePlacesLimit = 10;
7
+ const maxGooglePlacesLimit = 50;
4
8
  function firstCell(cells, headers, names) {
5
9
  for (const name of names) {
6
10
  const index = headers.indexOf(name);
@@ -25,6 +29,12 @@ function normalizeOptionalUrl(value) {
25
29
  return value;
26
30
  }
27
31
  }
32
+ function normalizeLimit(limit) {
33
+ if (limit === undefined || !Number.isFinite(limit)) {
34
+ return defaultGooglePlacesLimit;
35
+ }
36
+ return Math.min(maxGooglePlacesLimit, Math.max(1, Math.floor(limit)));
37
+ }
28
38
  export async function readManualDiscoveryCsv(path, options = {}) {
29
39
  const content = await readFile(path, "utf8");
30
40
  const lines = cleanInputLines(content);
@@ -54,6 +64,42 @@ export async function readManualDiscoveryCsv(path, options = {}) {
54
64
  };
55
65
  });
56
66
  }
67
+ export async function fetchGooglePlacesCandidates(query, options = {}) {
68
+ const apiKey = options.apiKey?.trim();
69
+ if (!apiKey) {
70
+ throw new Error("GOOGLE_MAPS_API_KEY is required when --provider google-places is used");
71
+ }
72
+ const normalizedQuery = query.trim();
73
+ if (!normalizedQuery) {
74
+ throw new Error("A search query is required when --provider google-places is used");
75
+ }
76
+ const fetchImpl = options.fetch ?? fetch;
77
+ const limit = normalizeLimit(options.limit);
78
+ const response = await fetchImpl(googlePlacesTextSearchUrl, {
79
+ method: "POST",
80
+ headers: {
81
+ "Content-Type": "application/json",
82
+ "X-Goog-Api-Key": apiKey,
83
+ "X-Goog-FieldMask": googlePlacesFieldMask
84
+ },
85
+ body: JSON.stringify({
86
+ textQuery: normalizedQuery,
87
+ maxResultCount: limit
88
+ })
89
+ });
90
+ const payload = (await response.json());
91
+ if (!response.ok) {
92
+ throw new Error(payload.error?.message ?? `Google Places Text Search failed with HTTP ${response.status}`);
93
+ }
94
+ return (payload.places ?? []).slice(0, limit).map((place) => ({
95
+ source: "google-places",
96
+ sourceId: place.id,
97
+ query: normalizedQuery,
98
+ label: place.displayName?.text,
99
+ profile: options.defaultProfile,
100
+ websiteUri: normalizeOptionalUrl(place.websiteUri)
101
+ }));
102
+ }
57
103
  export function resolveCandidateWebsite(candidate) {
58
104
  if (!candidate.websiteUri?.trim()) {
59
105
  return {
@@ -130,6 +176,28 @@ function priorityFor(input) {
130
176
  : "Build a basic website before deeper audit."
131
177
  };
132
178
  }
179
+ function opportunityScoreFor(input) {
180
+ if (input.resolution.status === "missing") {
181
+ return 95;
182
+ }
183
+ if (input.resolution.status === "invalid") {
184
+ return 70;
185
+ }
186
+ if (input.audit?.status === "failed") {
187
+ return 60;
188
+ }
189
+ if (input.audit?.status === "success") {
190
+ const score = input.audit.score ?? 0;
191
+ if (score < 60) {
192
+ return 90;
193
+ }
194
+ if (score < 80) {
195
+ return 65;
196
+ }
197
+ return 30;
198
+ }
199
+ return input.resolution.hasWebsite ? 55 : 95;
200
+ }
133
201
  function hasWebsiteValue(resolution) {
134
202
  if (resolution.status === "resolved") {
135
203
  return "yes";
@@ -154,12 +222,31 @@ export function buildProspectRows(inputs) {
154
222
  auditStatus: audit.status,
155
223
  score: audit.score,
156
224
  topFinding: audit.topFinding,
225
+ opportunityScore: opportunityScoreFor(input),
157
226
  ...priority,
158
227
  reportPath: audit.reportPath,
159
228
  error: audit.error ?? input.resolution.reason
160
229
  };
161
230
  });
162
231
  }
232
+ export function buildDiscoverySummary(rows) {
233
+ const scores = rows.flatMap((row) => (row.auditStatus === "success" && row.score !== undefined ? [row.score] : []));
234
+ return {
235
+ totalCandidates: rows.length,
236
+ withWebsite: rows.filter((row) => row.hasWebsite === "yes").length,
237
+ withoutWebsite: rows.filter((row) => row.hasWebsite === "no").length,
238
+ unknownWebsite: rows.filter((row) => row.hasWebsite === "unknown").length,
239
+ audited: rows.filter((row) => row.auditStatus === "success").length,
240
+ auditFailed: rows.filter((row) => row.auditStatus === "failed").length,
241
+ notAudited: rows.filter((row) => row.auditStatus === "not-audited").length,
242
+ averageScore: scores.length > 0 ? Math.round(scores.reduce((total, score) => total + score, 0) / scores.length) : undefined,
243
+ priority: {
244
+ high: rows.filter((row) => row.priority === "high").length,
245
+ medium: rows.filter((row) => row.priority === "medium").length,
246
+ low: rows.filter((row) => row.priority === "low").length
247
+ }
248
+ };
249
+ }
163
250
  export function renderProspectRowsCsv(rows) {
164
251
  const header = [
165
252
  "source",
@@ -172,6 +259,7 @@ export function renderProspectRowsCsv(rows) {
172
259
  "auditStatus",
173
260
  "score",
174
261
  "topFinding",
262
+ "opportunityScore",
175
263
  "priority",
176
264
  "nextAction",
177
265
  "reportPath",
@@ -188,6 +276,7 @@ export function renderProspectRowsCsv(rows) {
188
276
  row.auditStatus ?? "",
189
277
  row.score?.toString() ?? "",
190
278
  row.topFinding ?? "",
279
+ row.opportunityScore.toString(),
191
280
  row.priority,
192
281
  row.nextAction,
193
282
  row.reportPath ?? "",
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
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 { buildProspectRows, readManualDiscoveryCsv, renderProspectRowsCsv, resolveCandidateWebsite } from "./discovery.js";
3
+ export { buildDiscoverySummary, buildProspectRows, fetchGooglePlacesCandidates, readManualDiscoveryCsv, renderProspectRowsCsv, resolveCandidateWebsite } 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, PlaceCandidate, ProspectExportRow, ProspectRowInput, ReadManualDiscoveryCsvOptions, WebsiteResolution } from "./discovery.js";
10
+ export type { DiscoveryAuditResult, DiscoveryProviderName, DiscoverySummary, FetchGooglePlacesCandidatesOptions, 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 { buildProspectRows, readManualDiscoveryCsv, renderProspectRowsCsv, resolveCandidateWebsite } from "./discovery.js";
3
+ export { buildDiscoverySummary, buildProspectRows, fetchGooglePlacesCandidates, readManualDiscoveryCsv, renderProspectRowsCsv, resolveCandidateWebsite } 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,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACxB,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"}
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,EACxB,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/schema.d.ts CHANGED
@@ -19,6 +19,9 @@ export declare const cliOptionsSchema: z.ZodObject<{
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
+ limit: z.ZodDefault<z.ZodNumber>;
23
+ maxAudits: z.ZodOptional<z.ZodNumber>;
24
+ summaryJson: z.ZodOptional<z.ZodString>;
22
25
  timeout: z.ZodDefault<z.ZodNumber>;
23
26
  maxRedirects: z.ZodDefault<z.ZodNumber>;
24
27
  checkLinks: z.ZodDefault<z.ZodBoolean>;
@@ -38,6 +41,7 @@ export declare const cliOptionsSchema: z.ZodObject<{
38
41
  concurrency: number;
39
42
  provider: "manual-csv" | "google-places";
40
43
  dryRun: boolean;
44
+ limit: number;
41
45
  timeout: number;
42
46
  failOn: "high" | "medium" | "low" | "none";
43
47
  pretty: boolean;
@@ -49,6 +53,8 @@ export declare const cliOptionsSchema: z.ZodObject<{
49
53
  minScore?: number | undefined;
50
54
  top?: number | undefined;
51
55
  exportCsv?: string | undefined;
56
+ maxAudits?: number | undefined;
57
+ summaryJson?: string | undefined;
52
58
  }, {
53
59
  screenshot?: boolean | undefined;
54
60
  maxRedirects?: number | undefined;
@@ -68,6 +74,9 @@ export declare const cliOptionsSchema: z.ZodObject<{
68
74
  exportCsv?: string | undefined;
69
75
  provider?: "manual-csv" | "google-places" | undefined;
70
76
  dryRun?: boolean | undefined;
77
+ limit?: number | undefined;
78
+ maxAudits?: number | undefined;
79
+ summaryJson?: string | undefined;
71
80
  timeout?: number | undefined;
72
81
  failOn?: "high" | "medium" | "low" | "none" | undefined;
73
82
  pretty?: boolean | undefined;
package/dist/schema.js CHANGED
@@ -32,6 +32,9 @@ export const cliOptionsSchema = z.object({
32
32
  exportCsv: z.string().optional(),
33
33
  provider: discoveryProviderSchema.default("manual-csv"),
34
34
  dryRun: z.boolean().default(false),
35
+ limit: z.coerce.number().int().positive().default(10),
36
+ maxAudits: z.coerce.number().int().min(0).optional(),
37
+ summaryJson: z.string().optional(),
35
38
  timeout: z.coerce.number().int().positive().max(60000).default(10000),
36
39
  maxRedirects: z.coerce.number().int().min(0).max(10).default(5),
37
40
  checkLinks: z.boolean().default(false),
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-local-audit",
3
- "version": "0.9.0",
3
+ "version": "0.11.0",
4
4
  "description": "Open-source website and local presence auditor for small businesses.",
5
5
  "license": "MIT",
6
6
  "type": "module",