gscdump 0.18.6 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -159,7 +159,7 @@ const cannibalization = analyzeCannibalization(keywordPageData)
159
159
  - [`@gscdump/cli`](../cli) — CLI: `sync`, `query`, `dump`, `analyze`, `mcp`, `store` admin.
160
160
  - [`@gscdump/engine`](../engine) — Append-only Parquet/DuckDB storage engine.
161
161
  - [`@gscdump/analysis`](../analysis) — SEO analyzers (row-based + DuckDB-native + D1-ready).
162
- - [`@gscdump/nuxt-analytics`](../nuxt-analytics) — Nuxt layer wrapping the full stack.
162
+ - [`@gscdump/nuxt`](../nuxt) — Nuxt layer wrapping the full stack.
163
163
 
164
164
  ## License
165
165
 
@@ -1,21 +1,4 @@
1
- type TableName = 'pages' | 'keywords' | 'countries' | 'devices' | 'page_keywords' | 'search_appearance';
2
- type Row = Record<string, unknown>;
3
- type ColumnType = 'DATE' | 'VARCHAR' | 'INTEGER' | 'BIGINT' | 'DOUBLE';
4
- interface ColumnDef {
5
- name: string;
6
- type: ColumnType;
7
- nullable: boolean;
8
- }
9
- interface TableSchema {
10
- name: TableName;
11
- columns: ColumnDef[];
12
- sortKey: string[];
13
- version: number;
14
- }
15
- interface TenantCtx {
16
- userId: string;
17
- siteId?: string;
18
- }
1
+ import { ColumnDef, ColumnType, Row, TableName, TableSchema, TenantCtx } from "@gscdump/contracts";
19
2
  type GscSearchAnalyticsDimension = 'page' | 'query' | 'country' | 'device' | 'date' | 'hour' | 'searchAppearance';
20
3
  type GscDataState = 'final' | 'all' | 'hourly_all';
21
4
  interface GscSearchAnalyticsMetadata {
@@ -61,4 +44,4 @@ interface GscSearchAnalyticsResponse {
61
44
  responseAggregationType?: GscResponseAggregationType;
62
45
  metadata?: GscSearchAnalyticsMetadata;
63
46
  }
64
- export { ColumnDef, ColumnType, GscAggregationType, GscDataState, GscResponseAggregationType, GscSearchAnalyticsDimension, GscSearchAnalyticsFilter, GscSearchAnalyticsFilterGroup, GscSearchAnalyticsFilterOperator, GscSearchAnalyticsMetadata, GscSearchAnalyticsRequest, GscSearchAnalyticsResponse, GscSearchAnalyticsRow, GscSearchType, Row, TableName, TableSchema, TenantCtx };
47
+ export { type ColumnDef, type ColumnType, GscAggregationType, GscDataState, GscResponseAggregationType, GscSearchAnalyticsDimension, GscSearchAnalyticsFilter, GscSearchAnalyticsFilterGroup, GscSearchAnalyticsFilterOperator, GscSearchAnalyticsMetadata, GscSearchAnalyticsRequest, GscSearchAnalyticsResponse, GscSearchAnalyticsRow, GscSearchType, type Row, type TableName, type TableSchema, type TenantCtx };
@@ -1,5 +1,5 @@
1
1
  import _dayjs, { Dayjs } from "dayjs";
2
- type TableName = 'pages' | 'keywords' | 'countries' | 'devices' | 'page_keywords' | 'search_appearance';
2
+ import { TableName } from "@gscdump/contracts";
3
3
  type GscSearchAnalyticsDimension = 'page' | 'query' | 'country' | 'device' | 'date' | 'hour' | 'searchAppearance';
4
4
  type GscDataState = 'final' | 'all' | 'hourly_all';
5
5
  type GscSearchAnalyticsFilterOperator = 'equals' | 'notEquals' | 'contains' | 'notContains' | 'includingRegex' | 'excludingRegex';
@@ -2040,7 +2040,7 @@ function inferDataset(dimensions, filterDims = []) {
2040
2040
  if (has("page")) return "pages";
2041
2041
  if (has("country")) return "countries";
2042
2042
  if (has("device")) return "devices";
2043
- return "keywords";
2043
+ return "devices";
2044
2044
  }
2045
2045
  function requireCapability(capabilities, capability, enabled, context) {
2046
2046
  if (enabled && !capabilities?.[capability]) throw new UnsupportedLogicalCapabilityError(capability, context);
@@ -1,4 +1,4 @@
1
- type TableName = 'pages' | 'keywords' | 'countries' | 'devices' | 'page_keywords' | 'search_appearance';
1
+ import { TableName } from "@gscdump/contracts";
2
2
  type GscDataState = 'final' | 'all' | 'hourly_all';
3
3
  type GscAggregationType = 'auto' | 'byPage' | 'byProperty' | 'byNewsShowcasePanel';
4
4
  declare const _default: {
@@ -1686,7 +1686,7 @@ function inferDataset(dimensions, filterDims = []) {
1686
1686
  if (has("page")) return "pages";
1687
1687
  if (has("country")) return "countries";
1688
1688
  if (has("device")) return "devices";
1689
- return "keywords";
1689
+ return "devices";
1690
1690
  }
1691
1691
  function requireCapability(capabilities, capability, enabled, context) {
1692
1692
  if (enabled && !capabilities?.[capability]) throw new UnsupportedLogicalCapabilityError(capability, context);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "gscdump",
3
3
  "type": "module",
4
- "version": "0.18.6",
4
+ "version": "0.19.0",
5
5
  "description": "Google Search Console API wrapper with typed query builder, streaming pagination, and SEO analysis functions",
6
6
  "author": {
7
7
  "name": "Harlan Wilton",
@@ -108,7 +108,7 @@
108
108
  "defu": "^6.1.7",
109
109
  "ofetch": "^1.5.1",
110
110
  "ufo": "^1.6.4",
111
- "@gscdump/contracts": "0.18.6"
111
+ "@gscdump/contracts": "0.19.0"
112
112
  },
113
113
  "devDependencies": {
114
114
  "@googleapis/indexing": "^6.0.1",