🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

notion-cli-agent

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

notion-cli-agent - npm Package Compare versions

Comparing version
0.7.0
to
0.11.0
+8
dist/utils/command-handler.d.ts
/**
* Command error handler — wraps async command actions with standard error handling.
*
* Replaces the 37 identical try/catch blocks across command files:
* try { ... } catch (error) { console.error('Error:', (error as Error).message); process.exit(1); }
*/
export declare function withErrorHandler(fn: (...args: any[]) => Promise<void>): (...args: any[]) => Promise<void>;
//# sourceMappingURL=command-handler.d.ts.map
{"version":3,"file":"command-handler.d.ts","sourceRoot":"","sources":["../../src/utils/command-handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAUzG"}
/**
* Command error handler — wraps async command actions with standard error handling.
*
* Replaces the 37 identical try/catch blocks across command files:
* try { ... } catch (error) { console.error('Error:', (error as Error).message); process.exit(1); }
*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any
export function withErrorHandler(fn) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
return async (...args) => {
try {
await fn(...args);
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
};
}
//# sourceMappingURL=command-handler.js.map
{"version":3,"file":"command-handler.js","sourceRoot":"","sources":["../../src/utils/command-handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,8DAA8D;AAC9D,MAAM,UAAU,gBAAgB,CAAC,EAAqC;IACpE,8DAA8D;IAC9D,OAAO,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
/**
* Database Resolver — routes database operations to /v1/data_sources/
*
* Since API version 2025-09-03, database properties (schema) live on
* data_source objects, not database objects. This module discovers the
* data_source_id for a database and routes all schema/query/update
* operations to the correct /v1/data_sources/ endpoint.
*
* Design: This module is the ONLY place that knows about endpoint routing.
* Command files call getDatabaseSchema(), queryDatabase(), etc. and never
* construct database/data_source paths themselves.
*/
import type { NotionClient } from '../client.js';
import type { Database, Page } from '../types/notion.js';
export interface ResolvedDatabase {
type: 'data_source';
databaseId: string;
dataSourceId: string;
schemaPath: string;
queryPath: string;
updatePath: string;
schema: Database;
}
export interface ResolverOptions {
dataSourceId?: string;
}
export interface QueryAllOptions extends ResolverOptions {
filter?: Record<string, unknown>;
sorts?: Record<string, unknown>[];
pageSize?: number;
limit?: number;
onProgress?: (fetched: number) => void;
}
/**
* Set the global data-source-id fallback from CLI's --data-source-id option.
* Called once from cli.ts preAction hook. Commands don't need to thread
* this option — the resolver picks it up automatically.
*/
export declare function setGlobalDataSourceId(id?: string): void;
export declare function clearResolverCache(): void;
/**
* Resolve a database ID to the correct API endpoints.
*
* Resolution strategy:
* 1. If explicit dataSourceId is provided, fetch that data_source directly
* 2. Otherwise, GET /databases/{id} to discover data_sources, then fetch schema
* 3. Cache the result for the lifetime of the process
*/
export declare function resolveDatabase(client: NotionClient, databaseId: string, dataSourceId?: string): Promise<ResolvedDatabase>;
/**
* Get the schema (properties, title, etc.) for a database.
* Discovers the data_source automatically.
*/
export declare function getDatabaseSchema(client: NotionClient, databaseId: string, opts?: ResolverOptions): Promise<Database>;
/**
* Query a database. Resolves endpoint automatically.
*/
export declare function queryDatabase<T = unknown>(client: NotionClient, databaseId: string, body?: Record<string, unknown>, opts?: ResolverOptions): Promise<T>;
/**
* Query using an already-resolved database (avoids re-resolution).
* Useful in loops/pagination where resolution already happened.
*/
export declare function queryDatabaseDirect<T = unknown>(client: NotionClient, resolved: ResolvedDatabase, body?: Record<string, unknown>): Promise<T>;
/**
* Update a database schema. Resolves endpoint automatically.
*/
export declare function updateDatabase<T = unknown>(client: NotionClient, databaseId: string, body: Record<string, unknown>, opts?: ResolverOptions): Promise<T>;
/**
* Fetch all pages from a database, handling pagination automatically.
*/
export declare function queryAllPages(client: NotionClient, databaseId: string, opts?: QueryAllOptions): Promise<Page[]>;
//# sourceMappingURL=database-resolver.d.ts.map
{"version":3,"file":"database-resolver.d.ts","sourceRoot":"","sources":["../../src/utils/database-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAqB,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAI5E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,QAAQ,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAMD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAEvD;AAcD,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAgED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,gBAAgB,CAAC,CAe3B;AAYD;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,eAAe,GACrB,OAAO,CAAC,QAAQ,CAAC,CAGnB;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,CAAC,GAAG,OAAO,EAC7C,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAClC,IAAI,CAAC,EAAE,eAAe,GACrB,OAAO,CAAC,CAAC,CAAC,CAGZ;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,GAAG,OAAO,EACnD,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACjC,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,CAAC,GAAG,OAAO,EAC9C,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,CAAC,EAAE,eAAe,GACrB,OAAO,CAAC,CAAC,CAAC,CAGZ;AAID;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,IAAI,EAAE,CAAC,CA6BjB"}
/**
* Database Resolver — routes database operations to /v1/data_sources/
*
* Since API version 2025-09-03, database properties (schema) live on
* data_source objects, not database objects. This module discovers the
* data_source_id for a database and routes all schema/query/update
* operations to the correct /v1/data_sources/ endpoint.
*
* Design: This module is the ONLY place that knows about endpoint routing.
* Command files call getDatabaseSchema(), queryDatabase(), etc. and never
* construct database/data_source paths themselves.
*/
// ─── Global data-source-id fallback ─────────────────────────────────────────
let globalDataSourceId;
/**
* Set the global data-source-id fallback from CLI's --data-source-id option.
* Called once from cli.ts preAction hook. Commands don't need to thread
* this option — the resolver picks it up automatically.
*/
export function setGlobalDataSourceId(id) {
globalDataSourceId = id;
}
function effectiveDataSourceId(explicit) {
return explicit ?? globalDataSourceId;
}
// ─── Cache ──────────────────────────────────────────────────────────────────
const cache = new Map();
function cacheKey(databaseId, dataSourceId) {
return dataSourceId ? `${databaseId}::${dataSourceId}` : databaseId;
}
export function clearResolverCache() {
cache.clear();
}
// ─── Core resolution ────────────────────────────────────────────────────────
function buildPaths(dataSourceId) {
return {
schemaPath: `data_sources/${dataSourceId}`,
queryPath: `data_sources/${dataSourceId}/query`,
updatePath: `data_sources/${dataSourceId}`,
};
}
/**
* Discover the data_source_id for a database.
* On API v2025-09-03, GET /databases/{id} returns a data_sources array
* instead of properties. We pick the first (or only) data source.
* If multiple exist, the user must specify --data-source-id explicitly.
*/
async function discoverDataSourceId(client, databaseId) {
const db = await client.get(`databases/${databaseId}`);
const sources = db.data_sources;
if (!sources || sources.length === 0) {
throw new Error(`Database ${databaseId} has no data sources. Use --data-source-id to specify one.`);
}
if (sources.length > 1) {
const list = sources.map(s => ` - ${s.id} (${s.name})`).join('\n');
throw new Error(`Database ${databaseId} has ${sources.length} data sources:\n${list}\n` +
`Use --data-source-id <id> to specify which one.`);
}
return sources[0].id;
}
/**
* Fetch the data_source schema and build a ResolvedDatabase.
*/
async function fetchDataSource(client, databaseId, dataSourceId) {
const ds = await client.get(`data_sources/${dataSourceId}`);
return {
type: 'data_source',
databaseId,
dataSourceId,
...buildPaths(dataSourceId),
schema: normalizeToDatabase(ds, dataSourceId),
};
}
/**
* Resolve a database ID to the correct API endpoints.
*
* Resolution strategy:
* 1. If explicit dataSourceId is provided, fetch that data_source directly
* 2. Otherwise, GET /databases/{id} to discover data_sources, then fetch schema
* 3. Cache the result for the lifetime of the process
*/
export function resolveDatabase(client, databaseId, dataSourceId) {
const key = cacheKey(databaseId, dataSourceId);
if (!cache.has(key)) {
const promise = dataSourceId
? fetchDataSource(client, databaseId, dataSourceId)
: discoverAndResolve(client, databaseId);
cache.set(key, promise);
// Remove from cache on failure so retries work
promise.catch(() => cache.delete(key));
}
return cache.get(key);
}
async function discoverAndResolve(client, databaseId) {
const dataSourceId = await discoverDataSourceId(client, databaseId);
return fetchDataSource(client, databaseId, dataSourceId);
}
// ─── High-level helpers ─────────────────────────────────────────────────────
/**
* Get the schema (properties, title, etc.) for a database.
* Discovers the data_source automatically.
*/
export async function getDatabaseSchema(client, databaseId, opts) {
const resolved = await resolveDatabase(client, databaseId, effectiveDataSourceId(opts?.dataSourceId));
return resolved.schema;
}
/**
* Query a database. Resolves endpoint automatically.
*/
export async function queryDatabase(client, databaseId, body = {}, opts) {
const resolved = await resolveDatabase(client, databaseId, effectiveDataSourceId(opts?.dataSourceId));
return client.post(resolved.queryPath, body);
}
/**
* Query using an already-resolved database (avoids re-resolution).
* Useful in loops/pagination where resolution already happened.
*/
export async function queryDatabaseDirect(client, resolved, body = {}) {
return client.post(resolved.queryPath, body);
}
/**
* Update a database schema. Resolves endpoint automatically.
*/
export async function updateDatabase(client, databaseId, body, opts) {
const resolved = await resolveDatabase(client, databaseId, effectiveDataSourceId(opts?.dataSourceId));
return client.patch(resolved.updatePath, body);
}
// ─── Pagination helper ──────────────────────────────────────────────────────
/**
* Fetch all pages from a database, handling pagination automatically.
*/
export async function queryAllPages(client, databaseId, opts = {}) {
const resolved = await resolveDatabase(client, databaseId, effectiveDataSourceId(opts.dataSourceId));
const pages = [];
let cursor;
do {
const body = {
page_size: opts.pageSize ?? 100,
};
if (opts.filter)
body.filter = opts.filter;
if (opts.sorts)
body.sorts = opts.sorts;
if (cursor)
body.start_cursor = cursor;
const result = await queryDatabaseDirect(client, resolved, body);
pages.push(...result.results);
cursor = result.has_more ? result.next_cursor : undefined;
opts.onProgress?.(pages.length);
if (opts.limit && pages.length >= opts.limit) {
pages.splice(opts.limit);
break;
}
} while (cursor);
return pages;
}
// ─── Normalization ──────────────────────────────────────────────────────────
/**
* Normalize a data_source API response to the Database shape
* that all command files expect.
*/
function normalizeToDatabase(ds, id) {
return {
object: 'database',
id: ds.id || id,
title: ds.title,
description: ds.description,
url: ds.url,
properties: ds.properties || {},
};
}
//# sourceMappingURL=database-resolver.js.map
{"version":3,"file":"database-resolver.js","sourceRoot":"","sources":["../../src/utils/database-resolver.ts"],"names":[],"mappings":"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"}
+7
-1

@@ -18,4 +18,8 @@ #!/usr/bin/env node

*/
import { createRequire } from 'node:module';
import { Command } from 'commander';
import { initClient } from './client.js';
import { setGlobalDataSourceId } from './utils/database-resolver.js';
const require = createRequire(import.meta.url);
const { version } = require('../package.json');
import { registerSearchCommand } from './commands/search.js';

@@ -45,4 +49,5 @@ import { registerPagesCommand } from './commands/pages.js';

.description('Full-featured CLI for Notion API - built for humans AND AI agents\n\n 💡 AI Agents: Run "notion quickstart" for a complete quick reference guide')
.version('0.4.2')
.version(version)
.option('--token <token>', 'Notion API token (or set NOTION_TOKEN env var)')
.option('--data-source-id <id>', 'Explicit data source ID for multi-data-source databases')
.hook('preAction', (thisCommand) => {

@@ -52,2 +57,3 @@ const opts = thisCommand.opts();

initClient(opts.token);
setGlobalDataSourceId(opts.dataSourceId);
}

@@ -54,0 +60,0 @@ catch (error) {

+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,mJAAmJ,CAAC;KAChK,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,iBAAiB,EAAE,gDAAgD,CAAC;KAC3E,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;IACjC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC;QACH,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,wBAAwB;AACxB,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAClC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAClC,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC3B,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAClC,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAElC,qCAAqC;AACrC,OAAO;KACJ,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,wBAAwB,CAAC;KACrC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;KACnD,MAAM,CAAC,sBAAsB,EAAE,yCAAyC,CAAC;KACzE,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,IAAY,EAAE,OAAO,EAAE,EAAE;IACtD,IAAI,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,IAAI,IAAyC,CAAC;QAC9C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,KAAyC,CAAC;QAC9C,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,KAAK,GAAG,EAAE,CAAC;YACX,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5C,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,GAAG,IAAI,KAAK;oBAAE,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACvC,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;YACxC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAyC;YACnE,IAAI;YACJ,KAAK;SACN,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,oBAAoB;AACpB,OAAO,CAAC,KAAK,EAAE,CAAC"}
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}

@@ -15,2 +15,3 @@ /**

query?: Record<string, string | number | boolean | undefined>;
version?: string;
}

@@ -17,0 +18,0 @@ export declare class NotionClient {

@@ -1,1 +0,1 @@

{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;CAC/D;AA2BD,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAc;gBAErB,OAAO,EAAE,mBAAmB;IAOlC,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;IAsFlF,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI3E,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI3G,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI3E,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAG9C;AAKD,wBAAgB,SAAS,IAAI,YAAY,CAKxC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAuBrC;AAED,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,CAIvD"}
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA2BD,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAc;gBAErB,OAAO,EAAE,mBAAmB;IAOlC,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;IAsFlF,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI3E,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI3G,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI3E,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAG9C;AAKD,wBAAgB,SAAS,IAAI,YAAY,CAKxC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAuBrC;AAED,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,CAIvD"}

@@ -9,3 +9,3 @@ /**

const NOTION_API_BASE = 'https://api.notion.com/v1';
const NOTION_VERSION = '2022-06-28'; // Stable version
const NOTION_VERSION = '2026-03-11';
const DEFAULT_MAX_RETRIES = 3;

@@ -46,3 +46,3 @@ const DEFAULT_REQUESTS_PER_SECOND = 3;

async request(path, options = {}) {
const { method = 'GET', body, query } = options;
const { method = 'GET', body, query, version } = options;
let url = `${NOTION_API_BASE}/${path}`;

@@ -63,3 +63,3 @@ if (query) {

'Authorization': `Bearer ${this.token}`,
'Notion-Version': this.version,
'Notion-Version': version || this.version,
'Content-Type': 'application/json',

@@ -66,0 +66,0 @@ };

@@ -1,1 +0,1 @@

{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/commands/ai.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyDpC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkaxD"}
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/commands/ai.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2DpC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0YxD"}
import { getClient } from '../client.js';
import { fetchAllBlocks, getPageTitle, getDbTitle, getDbDescription, getPropertyValue } from '../utils/notion-helpers.js';
import { getDatabaseSchema, queryDatabase } from '../utils/database-resolver.js';
import { withErrorHandler } from '../utils/command-handler.js';
// Extract text from blocks

@@ -61,74 +63,68 @@ function extractBlockText(block) {

.option('-j, --json', 'Output as JSON')
.action(async (pageId, options) => {
try {
const client = getClient();
// Get page
const page = await client.get(`pages/${pageId}`);
const title = getPageTitle(page);
// Get blocks
const blocks = await fetchAllBlocks(client, pageId);
// Extract key info from properties
const keyProps = {};
for (const [name, value] of Object.entries(page.properties)) {
const val = getPropertyValue(value);
if (val && !['title'].includes(value.type)) {
keyProps[name] = val;
}
.action(withErrorHandler(async (pageId, options) => {
const client = getClient();
// Get page
const page = await client.get(`pages/${pageId}`);
const title = getPageTitle(page);
// Get blocks
const blocks = await fetchAllBlocks(client, pageId);
// Extract key info from properties
const keyProps = {};
for (const [name, value] of Object.entries(page.properties)) {
const val = getPropertyValue(value);
if (val && !['title'].includes(value.type)) {
keyProps[name] = val;
}
// Extract content summary
const contentLines = blocks
.map(b => extractBlockText(b))
.filter(t => t.trim())
.slice(0, parseInt(options.maxLines, 10));
// Identify key elements
const headings = contentLines.filter(l => l.startsWith('#'));
const todos = contentLines.filter(l => l.startsWith('○') || l.startsWith('✓'));
const completedTodos = todos.filter(l => l.startsWith('✓')).length;
const pendingTodos = todos.filter(l => l.startsWith('○')).length;
// Build summary
const summary = {
title,
id: page.id,
url: page.url,
lastEdited: timeSince(page.last_edited_time),
properties: keyProps,
structure: {
totalBlocks: blocks.length,
headings: headings.length,
todos: { completed: completedTodos, pending: pendingTodos },
},
sections: headings.slice(0, 5).map(h => h.replace(/^#+\s*/, '')),
preview: contentLines.slice(0, 10).join('\n'),
};
if (options.json) {
console.log(JSON.stringify(summary, null, 2));
return;
}
// Extract content summary
const contentLines = blocks
.map(b => extractBlockText(b))
.filter(t => t.trim())
.slice(0, parseInt(options.maxLines, 10));
// Identify key elements
const headings = contentLines.filter(l => l.startsWith('#'));
const todos = contentLines.filter(l => l.startsWith('○') || l.startsWith('✓'));
const completedTodos = todos.filter(l => l.startsWith('✓')).length;
const pendingTodos = todos.filter(l => l.startsWith('○')).length;
// Build summary
const summary = {
title,
id: page.id,
url: page.url,
lastEdited: timeSince(page.last_edited_time),
properties: keyProps,
structure: {
totalBlocks: blocks.length,
headings: headings.length,
todos: { completed: completedTodos, pending: pendingTodos },
},
sections: headings.slice(0, 5).map(h => h.replace(/^#+\s*/, '')),
preview: contentLines.slice(0, 10).join('\n'),
};
if (options.json) {
console.log(JSON.stringify(summary, null, 2));
return;
}
// Human-readable output
console.log(`# ${title}\n`);
console.log(`**Last edited:** ${summary.lastEdited}`);
console.log(`**Blocks:** ${blocks.length}`);
if (Object.keys(keyProps).length > 0) {
console.log('\n**Properties:**');
for (const [k, v] of Object.entries(keyProps)) {
console.log(` - ${k}: ${v}`);
}
// Human-readable output
console.log(`# ${title}\n`);
console.log(`**Last edited:** ${summary.lastEdited}`);
console.log(`**Blocks:** ${blocks.length}`);
if (Object.keys(keyProps).length > 0) {
console.log('\n**Properties:**');
for (const [k, v] of Object.entries(keyProps)) {
console.log(` - ${k}: ${v}`);
}
}
if (pendingTodos > 0 || completedTodos > 0) {
console.log(`\n**Todos:** ${completedTodos}/${completedTodos + pendingTodos} completed`);
}
if (headings.length > 0) {
console.log('\n**Sections:**');
headings.slice(0, 5).forEach(h => {
console.log(` ${h}`);
});
}
console.log('\n**Preview:**');
console.log(contentLines.slice(0, 5).map(l => ` ${l}`).join('\n'));
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
if (pendingTodos > 0 || completedTodos > 0) {
console.log(`\n**Todos:** ${completedTodos}/${completedTodos + pendingTodos} completed`);
}
});
if (headings.length > 0) {
console.log('\n**Sections:**');
headings.slice(0, 5).forEach(h => {
console.log(` ${h}`);
});
}
console.log('\n**Preview:**');
console.log(contentLines.slice(0, 5).map(l => ` ${l}`).join('\n'));
}));
// Extract structured data

@@ -140,72 +136,66 @@ ai

.option('--from-props', 'Extract from properties only (faster)')
.action(async (pageId, options) => {
try {
const client = getClient();
const fields = options.schema.split(',').map((f) => f.trim().toLowerCase());
// Get page
const page = await client.get(`pages/${pageId}`);
const extracted = {};
// Initialize all fields as null
.action(withErrorHandler(async (pageId, options) => {
const client = getClient();
const fields = options.schema.split(',').map((f) => f.trim().toLowerCase());
// Get page
const page = await client.get(`pages/${pageId}`);
const extracted = {};
// Initialize all fields as null
for (const field of fields) {
extracted[field] = null;
}
// Extract from properties
for (const [name, value] of Object.entries(page.properties)) {
const normalizedName = name.toLowerCase();
for (const field of fields) {
extracted[field] = null;
}
// Extract from properties
for (const [name, value] of Object.entries(page.properties)) {
const normalizedName = name.toLowerCase();
for (const field of fields) {
if (normalizedName.includes(field) || field.includes(normalizedName)) {
const val = getPropertyValue(value);
if (val) {
extracted[field] = val;
}
if (normalizedName.includes(field) || field.includes(normalizedName)) {
const val = getPropertyValue(value);
if (val) {
extracted[field] = val;
}
}
}
// Extract from content if needed
if (!options.fromProps) {
const blocks = await fetchAllBlocks(client, pageId);
const content = blocks.map(b => extractBlockText(b)).join('\n').toLowerCase();
// Simple pattern matching for common fields
for (const field of fields) {
if (extracted[field])
continue; // Already found
// Email pattern
if (field.includes('email') || field.includes('correo')) {
const emailMatch = content.match(/[\w.-]+@[\w.-]+\.\w+/);
if (emailMatch)
extracted[field] = emailMatch[0];
}
// Phone pattern
if (field.includes('phone') || field.includes('tel') || field.includes('móvil')) {
const phoneMatch = content.match(/[\d\s\-+()]{9,}/);
if (phoneMatch)
extracted[field] = phoneMatch[0].trim();
}
// URL pattern
if (field.includes('url') || field.includes('web') || field.includes('link')) {
const urlMatch = content.match(/https?:\/\/[\w.-]+[^\s]*/);
if (urlMatch)
extracted[field] = urlMatch[0];
}
// Date patterns
if (field.includes('date') || field.includes('fecha')) {
const dateMatch = content.match(/\d{4}-\d{2}-\d{2}|\d{1,2}\/\d{1,2}\/\d{2,4}/);
if (dateMatch)
extracted[field] = dateMatch[0];
}
// Amount/price patterns
if (field.includes('price') || field.includes('precio') || field.includes('amount') || field.includes('importe')) {
const priceMatch = content.match(/[\d.,]+\s*€|€\s*[\d.,]+|\$\s*[\d.,]+|[\d.,]+\s*eur/i);
if (priceMatch)
extracted[field] = priceMatch[0];
}
}
// Extract from content if needed
if (!options.fromProps) {
const blocks = await fetchAllBlocks(client, pageId);
const content = blocks.map(b => extractBlockText(b)).join('\n').toLowerCase();
// Simple pattern matching for common fields
for (const field of fields) {
if (extracted[field])
continue; // Already found
// Email pattern
if (field.includes('email') || field.includes('correo')) {
const emailMatch = content.match(/[\w.-]+@[\w.-]+\.\w+/);
if (emailMatch)
extracted[field] = emailMatch[0];
}
// Phone pattern
if (field.includes('phone') || field.includes('tel') || field.includes('móvil')) {
const phoneMatch = content.match(/[\d\s\-+()]{9,}/);
if (phoneMatch)
extracted[field] = phoneMatch[0].trim();
}
// URL pattern
if (field.includes('url') || field.includes('web') || field.includes('link')) {
const urlMatch = content.match(/https?:\/\/[\w.-]+[^\s]*/);
if (urlMatch)
extracted[field] = urlMatch[0];
}
// Date patterns
if (field.includes('date') || field.includes('fecha')) {
const dateMatch = content.match(/\d{4}-\d{2}-\d{2}|\d{1,2}\/\d{1,2}\/\d{2,4}/);
if (dateMatch)
extracted[field] = dateMatch[0];
}
// Amount/price patterns
if (field.includes('price') || field.includes('precio') || field.includes('amount') || field.includes('importe')) {
const priceMatch = content.match(/[\d.,]+\s*€|€\s*[\d.,]+|\$\s*[\d.,]+|[\d.,]+\s*eur/i);
if (priceMatch)
extracted[field] = priceMatch[0];
}
}
console.log(JSON.stringify(extracted, null, 2));
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
});
console.log(JSON.stringify(extracted, null, 2));
}));
// Generate agent prompt

@@ -217,197 +207,185 @@ ai

.option('--examples <number>', 'Number of example entries', '2')
.action(async (databaseId, options) => {
try {
const client = getClient();
// Get database
const db = await client.get(`databases/${databaseId}`);
const title = getDbTitle(db);
const description = getDbDescription(db);
// Get example entries
const examples = await client.post(`databases/${databaseId}/query`, {
page_size: parseInt(options.examples, 10),
});
// Analyze property usage
const propInfo = {};
for (const [name, schema] of Object.entries(db.properties)) {
const info = {
type: schema.type,
examples: [],
};
// Get options for select/status
if (schema.type === 'select') {
const opts = schema.select?.options || [];
info.options = opts.map(o => o.name);
}
else if (schema.type === 'multi_select') {
const opts = schema.multi_select?.options || [];
info.options = opts.map(o => o.name);
}
else if (schema.type === 'status') {
const opts = schema.status?.options || [];
info.options = opts.map(o => o.name);
}
// Get example values from entries
for (const entry of examples.results) {
const prop = entry.properties[name];
if (prop) {
const val = getPropertyValue(prop);
if (val && !info.examples.includes(val)) {
info.examples.push(val);
}
.action(withErrorHandler(async (databaseId, options) => {
const client = getClient();
// Get database
const db = await getDatabaseSchema(client, databaseId);
const title = getDbTitle(db);
const description = getDbDescription(db);
// Get example entries
const examples = await queryDatabase(client, databaseId, {
page_size: parseInt(options.examples, 10),
});
// Analyze property usage
const propInfo = {};
for (const [name, schema] of Object.entries(db.properties)) {
const info = {
type: schema.type,
examples: [],
};
// Get options for select/status
if (schema.type === 'select') {
const opts = schema.select?.options || [];
info.options = opts.map(o => o.name);
}
else if (schema.type === 'multi_select') {
const opts = schema.multi_select?.options || [];
info.options = opts.map(o => o.name);
}
else if (schema.type === 'status') {
const opts = schema.status?.options || [];
info.options = opts.map(o => o.name);
}
// Get example values from entries
for (const entry of examples.results) {
const prop = entry.properties[name];
if (prop) {
const val = getPropertyValue(prop);
if (val && !info.examples.includes(val)) {
info.examples.push(val);
}
}
propInfo[name] = info;
}
// Find title property
let titleProp = 'Name';
for (const [name, schema] of Object.entries(db.properties)) {
if (schema.type === 'title') {
titleProp = name;
break;
}
propInfo[name] = info;
}
// Find title property
let titleProp = 'Name';
for (const [name, schema] of Object.entries(db.properties)) {
if (schema.type === 'title') {
titleProp = name;
break;
}
// Generate prompt
console.log(`# Working with Notion Database: "${title}"\n`);
if (description) {
console.log(`> ${description}\n`);
}
// Generate prompt
console.log(`# Working with Notion Database: "${title}"\n`);
if (description) {
console.log(`> ${description}\n`);
}
console.log(`**Database ID:** \`${databaseId}\`\n`);
console.log('## Properties\n');
for (const [name, info] of Object.entries(propInfo)) {
console.log(`### ${name} (${info.type})`);
if (info.options && info.options.length > 0) {
console.log(`**Valid values:** ${info.options.map(o => `"${o}"`).join(', ')}`);
console.log(`⚠️ Use EXACTLY these values, not translations or variations.`);
}
console.log(`**Database ID:** \`${databaseId}\`\n`);
console.log('## Properties\n');
for (const [name, info] of Object.entries(propInfo)) {
console.log(`### ${name} (${info.type})`);
if (info.options && info.options.length > 0) {
console.log(`**Valid values:** ${info.options.map(o => `"${o}"`).join(', ')}`);
console.log(`⚠️ Use EXACTLY these values, not translations or variations.`);
}
if (info.examples.length > 0) {
console.log(`**Examples:** ${info.examples.slice(0, 3).join(', ')}`);
}
console.log('');
if (info.examples.length > 0) {
console.log(`**Examples:** ${info.examples.slice(0, 3).join(', ')}`);
}
console.log('## Common Operations\n');
console.log('### Search entries');
console.log('');
}
console.log('## Common Operations\n');
console.log('### Search entries');
console.log('```bash');
console.log(`notion search "query" --type page`);
console.log(`notion db query ${databaseId.slice(0, 8)}... --limit 10`);
console.log('```\n');
console.log('### Create new entry');
console.log('```bash');
console.log(`notion page create --parent ${databaseId.slice(0, 8)}... --title "Entry title"`);
// Add property examples
const statusProp = Object.entries(propInfo).find(([, i]) => i.type === 'status');
if (statusProp && statusProp[1].options) {
console.log(` --prop "${statusProp[0]}=${statusProp[1].options[0]}"`);
}
console.log('```\n');
console.log('### Update entry');
console.log('```bash');
console.log(`notion page update <page_id> --prop "PropertyName=value"`);
console.log('```\n');
console.log('### Smart find');
console.log('```bash');
console.log(`notion find "descripción en lenguaje natural" -d ${databaseId.slice(0, 8)}...`);
console.log('```\n');
console.log('## Important Notes\n');
console.log(`- Title property is called "${titleProp}" (not "Name" or "Title")`);
if (propInfo['Status']?.options) {
console.log(`- Status values are in Spanish: ${propInfo['Status'].options.slice(0, 3).join(', ')}`);
}
console.log('- Use `notion inspect schema` for full property details');
console.log('- Use `--dry-run` on bulk operations before executing');
}));
// Suggest command
ai
.command('suggest <database_id> <description>')
.description('Suggest the right command based on natural language')
.action(withErrorHandler(async (databaseId, description, _options) => {
const client = getClient();
const db = await getDatabaseSchema(client, databaseId);
const lowerDesc = description.toLowerCase();
// Find relevant properties
let statusProp = '';
let dateProp = '';
let peopleProp = '';
for (const [name, schema] of Object.entries(db.properties)) {
if (schema.type === 'status')
statusProp = name;
if (schema.type === 'date' && !dateProp)
dateProp = name;
if (schema.type === 'people' && !peopleProp)
peopleProp = name;
}
console.log('# Suggested commands\n');
// Filter patterns
if (lowerDesc.includes('done') || lowerDesc.includes('hecho') || lowerDesc.includes('completado')) {
console.log('## Find completed items');
console.log('```bash');
console.log(`notion search "query" --type page`);
console.log(`notion db query ${databaseId.slice(0, 8)}... --limit 10`);
console.log(`notion find "hecho" -d ${databaseId}`);
console.log('# or with explicit filter:');
console.log(`notion db query ${databaseId} --filter-prop "${statusProp}" --filter-type equals --filter-value "Hecho" --filter-prop-type status`);
console.log('```\n');
console.log('### Create new entry');
}
if (lowerDesc.includes('pending') || lowerDesc.includes('pendiente') || lowerDesc.includes('todo')) {
console.log('## Find pending items');
console.log('```bash');
console.log(`notion page create --parent ${databaseId.slice(0, 8)}... --title "Entry title"`);
// Add property examples
const statusProp = Object.entries(propInfo).find(([, i]) => i.type === 'status');
if (statusProp && statusProp[1].options) {
console.log(` --prop "${statusProp[0]}=${statusProp[1].options[0]}"`);
}
console.log(`notion find "pendiente" -d ${databaseId}`);
console.log('```\n');
console.log('### Update entry');
}
if (lowerDesc.includes('overdue') || lowerDesc.includes('vencid') || lowerDesc.includes('atrasad')) {
console.log('## Find overdue items');
console.log('```bash');
console.log(`notion page update <page_id> --prop "PropertyName=value"`);
console.log(`notion find "vencidas" -d ${databaseId}`);
console.log('```\n');
console.log('### Smart find');
}
if (lowerDesc.includes('unassigned') || lowerDesc.includes('sin asignar')) {
console.log('## Find unassigned items');
console.log('```bash');
console.log(`notion find "descripción en lenguaje natural" -d ${databaseId.slice(0, 8)}...`);
console.log(`notion find "sin asignar" -d ${databaseId}`);
console.log('```\n');
console.log('## Important Notes\n');
console.log(`- Title property is called "${titleProp}" (not "Name" or "Title")`);
if (propInfo['Status']?.options) {
console.log(`- Status values are in Spanish: ${propInfo['Status'].options.slice(0, 3).join(', ')}`);
}
console.log('- Use `notion inspect schema` for full property details');
console.log('- Use `--dry-run` on bulk operations before executing');
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
if (lowerDesc.includes('crear') || lowerDesc.includes('create') || lowerDesc.includes('añadir') || lowerDesc.includes('add')) {
console.log('## Create new entry');
console.log('```bash');
console.log(`notion page create --parent ${databaseId} --title "Título aquí"`);
console.log('```\n');
}
});
// Suggest command
ai
.command('suggest <database_id> <description>')
.description('Suggest the right command based on natural language')
.action(async (databaseId, description, _options) => {
try {
const client = getClient();
const db = await client.get(`databases/${databaseId}`);
const lowerDesc = description.toLowerCase();
// Find relevant properties
let statusProp = '';
let dateProp = '';
let peopleProp = '';
for (const [name, schema] of Object.entries(db.properties)) {
if (schema.type === 'status')
statusProp = name;
if (schema.type === 'date' && !dateProp)
dateProp = name;
if (schema.type === 'people' && !peopleProp)
peopleProp = name;
}
console.log('# Suggested commands\n');
// Filter patterns
if (lowerDesc.includes('done') || lowerDesc.includes('hecho') || lowerDesc.includes('completado')) {
console.log('## Find completed items');
console.log('```bash');
console.log(`notion find "hecho" -d ${databaseId}`);
console.log('# or with explicit filter:');
console.log(`notion db query ${databaseId} --filter-prop "${statusProp}" --filter-type equals --filter-value "Hecho" --filter-prop-type status`);
console.log('```\n');
}
if (lowerDesc.includes('pending') || lowerDesc.includes('pendiente') || lowerDesc.includes('todo')) {
console.log('## Find pending items');
console.log('```bash');
console.log(`notion find "pendiente" -d ${databaseId}`);
console.log('```\n');
}
if (lowerDesc.includes('overdue') || lowerDesc.includes('vencid') || lowerDesc.includes('atrasad')) {
console.log('## Find overdue items');
console.log('```bash');
console.log(`notion find "vencidas" -d ${databaseId}`);
console.log('```\n');
}
if (lowerDesc.includes('unassigned') || lowerDesc.includes('sin asignar')) {
console.log('## Find unassigned items');
console.log('```bash');
console.log(`notion find "sin asignar" -d ${databaseId}`);
console.log('```\n');
}
if (lowerDesc.includes('crear') || lowerDesc.includes('create') || lowerDesc.includes('añadir') || lowerDesc.includes('add')) {
console.log('## Create new entry');
console.log('```bash');
console.log(`notion page create --parent ${databaseId} --title "Título aquí"`);
console.log('```\n');
}
if (lowerDesc.includes('actualizar') || lowerDesc.includes('update') || lowerDesc.includes('cambiar')) {
console.log('## Update entries');
console.log('```bash');
console.log(`# Single entry:`);
console.log(`notion page update <page_id> --prop "Status=Hecho"`);
console.log(`# Multiple entries:`);
console.log(`notion bulk update ${databaseId} --where "Status=Por empezar" --set "Status=En marcha" --dry-run`);
console.log('```\n');
}
if (lowerDesc.includes('archivar') || lowerDesc.includes('archive') || lowerDesc.includes('borrar') || lowerDesc.includes('delete')) {
console.log('## Archive entries');
console.log('```bash');
console.log(`notion bulk archive ${databaseId} --where "Status=Hecho" --dry-run`);
console.log('```\n');
}
if (lowerDesc.includes('estadísticas') || lowerDesc.includes('stats') || lowerDesc.includes('resumen')) {
console.log('## Get statistics');
console.log('```bash');
console.log(`notion stats overview ${databaseId}`);
console.log(`notion stats timeline ${databaseId} --days 7`);
console.log('```\n');
}
if (lowerDesc.includes('export') || lowerDesc.includes('backup')) {
console.log('## Export/Backup');
console.log('```bash');
console.log(`notion export db ${databaseId} --vault ~/backup --folder notion-export`);
console.log('```\n');
}
if (lowerDesc.includes('actualizar') || lowerDesc.includes('update') || lowerDesc.includes('cambiar')) {
console.log('## Update entries');
console.log('```bash');
console.log(`# Single entry:`);
console.log(`notion page update <page_id> --prop "Status=Hecho"`);
console.log(`# Multiple entries:`);
console.log(`notion bulk update ${databaseId} --where "Status=Por empezar" --set "Status=En marcha" --dry-run`);
console.log('```\n');
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
if (lowerDesc.includes('archivar') || lowerDesc.includes('archive') || lowerDesc.includes('borrar') || lowerDesc.includes('delete')) {
console.log('## Archive entries');
console.log('```bash');
console.log(`notion bulk archive ${databaseId} --where "Status=Hecho" --dry-run`);
console.log('```\n');
}
});
if (lowerDesc.includes('estadísticas') || lowerDesc.includes('stats') || lowerDesc.includes('resumen')) {
console.log('## Get statistics');
console.log('```bash');
console.log(`notion stats overview ${databaseId}`);
console.log(`notion stats timeline ${databaseId} --days 7`);
console.log('```\n');
}
if (lowerDesc.includes('export') || lowerDesc.includes('backup')) {
console.log('## Export/Backup');
console.log('```bash');
console.log(`notion export db ${databaseId} --vault ~/backup --folder notion-export`);
console.log('```\n');
}
}));
}
//# sourceMappingURL=ai.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"ai.js","sourceRoot":"","sources":["../../src/commands/ai.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../../src/commands/ai.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../src/commands/backup.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgCpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyK5D"}
{"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../src/commands/backup.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkCpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2I5D"}

@@ -5,3 +5,5 @@ import { getClient } from '../client.js';

import { blocksToMarkdownSync } from '../utils/markdown.js';
import { fetchAllBlocks, getPageTitle } from '../utils/notion-helpers.js';
import { fetchAllBlocks, getPageTitle, getDbTitle, getPropertyRawValue } from '../utils/notion-helpers.js';
import { getDatabaseSchema, queryAllPages } from '../utils/database-resolver.js';
import { withErrorHandler } from '../utils/command-handler.js';
function sanitizeFilename(name) {

@@ -33,134 +35,113 @@ return name

.option('--limit <number>', 'Max entries to backup')
.action(async (databaseId, options) => {
try {
const client = getClient();
const outputDir = path.resolve(options.output);
// Create output directory
if (!fs.existsSync(outputDir)) {
fs.mkdirSync(outputDir, { recursive: true });
}
// Get database info
console.log('Fetching database schema...');
const db = await client.get(`databases/${databaseId}`);
const dbTitle = db.title?.map(t => t.plain_text).join('') || 'Untitled';
// Save schema
const schemaPath = path.join(outputDir, 'schema.json');
fs.writeFileSync(schemaPath, JSON.stringify(db, null, 2));
console.log(`✅ Schema saved to ${schemaPath}`);
// Check for incremental backup
let lastBackupTime = null;
const metaPath = path.join(outputDir, '.backup-meta.json');
if (options.incremental && fs.existsSync(metaPath)) {
const meta = JSON.parse(fs.readFileSync(metaPath, 'utf-8'));
lastBackupTime = new Date(meta.lastBackup);
console.log(`📅 Incremental backup since ${lastBackupTime.toISOString()}`);
}
// Query entries
const entries = [];
let cursor;
const queryBody = {
page_size: 100,
sorts: [{ timestamp: 'last_edited_time', direction: 'descending' }],
.action(withErrorHandler(async (databaseId, options) => {
const client = getClient();
const outputDir = path.resolve(options.output);
// Create output directory
if (!fs.existsSync(outputDir)) {
fs.mkdirSync(outputDir, { recursive: true });
}
// Get database info
console.log('Fetching database schema...');
const db = await getDatabaseSchema(client, databaseId);
const dbTitle = getDbTitle(db);
// Save schema
const schemaPath = path.join(outputDir, 'schema.json');
fs.writeFileSync(schemaPath, JSON.stringify(db, null, 2));
console.log(`✅ Schema saved to ${schemaPath}`);
// Check for incremental backup
let lastBackupTime = null;
const metaPath = path.join(outputDir, '.backup-meta.json');
if (options.incremental && fs.existsSync(metaPath)) {
const meta = JSON.parse(fs.readFileSync(metaPath, 'utf-8'));
lastBackupTime = new Date(meta.lastBackup);
console.log(`📅 Incremental backup since ${lastBackupTime.toISOString()}`);
}
// Query entries
const filter = lastBackupTime
? { timestamp: 'last_edited_time', last_edited_time: { after: lastBackupTime.toISOString() } }
: undefined;
const entries = await queryAllPages(client, databaseId, {
filter,
sorts: [{ timestamp: 'last_edited_time', direction: 'descending' }],
limit: options.limit ? parseInt(options.limit, 10) : undefined,
onProgress: (fetched) => process.stdout.write(`\rFetching entries: ${fetched}...`),
});
console.log(`\rFound ${entries.length} entries to backup. \n`);
if (entries.length === 0) {
console.log('No entries to backup.');
return;
}
// Create pages directory
const pagesDir = path.join(outputDir, 'pages');
if (!fs.existsSync(pagesDir)) {
fs.mkdirSync(pagesDir, { recursive: true });
}
// Backup each entry
let backed = 0;
let totalSize = 0;
for (const entry of entries) {
const title = getPageTitle(entry);
const filename = `${sanitizeFilename(title)}_${entry.id.slice(0, 8)}`;
const pageData = {
id: entry.id,
url: entry.url,
created_time: entry.created_time,
last_edited_time: entry.last_edited_time,
properties: entry.properties,
};
if (lastBackupTime) {
queryBody.filter = {
timestamp: 'last_edited_time',
last_edited_time: { after: lastBackupTime.toISOString() },
};
}
do {
if (cursor)
queryBody.start_cursor = cursor;
const result = await client.post(`databases/${databaseId}/query`, queryBody);
entries.push(...result.results);
cursor = result.has_more ? result.next_cursor : undefined;
process.stdout.write(`\rFetching entries: ${entries.length}...`);
if (options.limit && entries.length >= parseInt(options.limit, 10)) {
entries.splice(parseInt(options.limit, 10));
break;
// Fetch content if requested
if (options.content) {
try {
const blocks = await fetchBlocksRecursive(client, entry.id);
pageData.content = blocks;
}
} while (cursor);
console.log(`\rFound ${entries.length} entries to backup. \n`);
if (entries.length === 0) {
console.log('No entries to backup.');
return;
catch (error) {
pageData.content_error = error.message;
}
}
// Create pages directory
const pagesDir = path.join(outputDir, 'pages');
if (!fs.existsSync(pagesDir)) {
fs.mkdirSync(pagesDir, { recursive: true });
// Save based on format
if (options.format === 'markdown') {
const mdContent = generateMarkdown(entry, pageData.content);
const filePath = path.join(pagesDir, `${filename}.md`);
fs.writeFileSync(filePath, mdContent);
totalSize += mdContent.length;
}
// Backup each entry
let backed = 0;
let totalSize = 0;
for (const entry of entries) {
const title = getPageTitle(entry);
const filename = `${sanitizeFilename(title)}_${entry.id.slice(0, 8)}`;
const pageData = {
id: entry.id,
url: entry.url,
created_time: entry.created_time,
last_edited_time: entry.last_edited_time,
properties: entry.properties,
};
// Fetch content if requested
if (options.content) {
try {
const blocks = await fetchBlocksRecursive(client, entry.id);
pageData.content = blocks;
}
catch (error) {
pageData.content_error = error.message;
}
}
// Save based on format
if (options.format === 'markdown') {
const mdContent = generateMarkdown(entry, pageData.content);
const filePath = path.join(pagesDir, `${filename}.md`);
fs.writeFileSync(filePath, mdContent);
totalSize += mdContent.length;
}
else {
const jsonContent = JSON.stringify(pageData, null, 2);
const filePath = path.join(pagesDir, `${filename}.json`);
fs.writeFileSync(filePath, jsonContent);
totalSize += jsonContent.length;
}
backed++;
process.stdout.write(`\r💾 Backed up ${backed}/${entries.length}...`);
else {
const jsonContent = JSON.stringify(pageData, null, 2);
const filePath = path.join(pagesDir, `${filename}.json`);
fs.writeFileSync(filePath, jsonContent);
totalSize += jsonContent.length;
}
// Save index
const index = entries.map(e => ({
id: e.id,
title: getPageTitle(e),
last_edited: e.last_edited_time,
}));
const indexPath = path.join(outputDir, 'index.json');
fs.writeFileSync(indexPath, JSON.stringify(index, null, 2));
// Save metadata
const meta = {
databaseId,
databaseTitle: dbTitle,
lastBackup: new Date().toISOString(),
entriesCount: entries.length,
format: options.format,
includesContent: !!options.content,
};
fs.writeFileSync(metaPath, JSON.stringify(meta, null, 2));
// Summary
const sizeMb = (totalSize / (1024 * 1024)).toFixed(2);
console.log(`\n\n✅ Backup complete!`);
console.log(` Database: ${dbTitle}`);
console.log(` Entries: ${backed}`);
console.log(` Size: ${sizeMb} MB`);
console.log(` Location: ${outputDir}`);
if (options.incremental) {
console.log(` Mode: Incremental (since ${lastBackupTime?.toISOString() || 'beginning'})`);
}
backed++;
process.stdout.write(`\r💾 Backed up ${backed}/${entries.length}...`);
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
// Save index
const index = entries.map(e => ({
id: e.id,
title: getPageTitle(e),
last_edited: e.last_edited_time,
}));
const indexPath = path.join(outputDir, 'index.json');
fs.writeFileSync(indexPath, JSON.stringify(index, null, 2));
// Save metadata
const meta = {
databaseId,
databaseTitle: dbTitle,
lastBackup: new Date().toISOString(),
entriesCount: entries.length,
format: options.format,
includesContent: !!options.content,
};
fs.writeFileSync(metaPath, JSON.stringify(meta, null, 2));
// Summary
const sizeMb = (totalSize / (1024 * 1024)).toFixed(2);
console.log(`\n\n✅ Backup complete!`);
console.log(` Database: ${dbTitle}`);
console.log(` Entries: ${backed}`);
console.log(` Size: ${sizeMb} MB`);
console.log(` Location: ${outputDir}`);
if (options.incremental) {
console.log(` Mode: Incremental (since ${lastBackupTime?.toISOString() || 'beginning'})`);
}
});
}));
}

@@ -182,3 +163,3 @@ function generateMarkdown(page, blocks) {

continue;
const val = extractPropertyValue(prop);
const val = getPropertyRawValue(prop);
if (val !== null && val !== '') {

@@ -206,30 +187,2 @@ const safeName = name.toLowerCase().replace(/[^a-z0-9]/g, '_');

}
function extractPropertyValue(prop) {
const type = prop.type;
const data = prop[type];
switch (type) {
case 'title':
case 'rich_text':
return data?.map(t => t.plain_text).join('') || null;
case 'select':
case 'status':
return data?.name || null;
case 'multi_select':
return data?.map(s => s.name) || [];
case 'date':
return data?.start || null;
case 'number':
return data;
case 'checkbox':
return data;
case 'url':
case 'email':
case 'phone_number':
return data || null;
case 'people':
return data?.map(p => p.name).filter(Boolean) || [];
default:
return null;
}
}
//# sourceMappingURL=backup.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/commands/backup.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/commands/backup.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../src/commands/batch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2IpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuF3D"}
{"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../src/commands/batch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8IpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkF3D"}
import { getClient } from '../client.js';
import { formatOutput } from '../utils/format.js';
import { getDatabaseSchema, queryDatabase, updateDatabase } from '../utils/database-resolver.js';
import { withErrorHandler } from '../utils/command-handler.js';
import { buildTrashPayload } from '../utils/notion-helpers.js';
async function executeOperation(client, op) {

@@ -9,3 +12,3 @@ switch (op.op) {

if (op.type === 'database')
return client.get(`databases/${op.id}`);
return getDatabaseSchema(client, op.id);
if (op.type === 'block')

@@ -36,3 +39,3 @@ return client.get(`blocks/${op.id}`);

if (op.type === 'database')
return client.patch(`databases/${op.id}`, op.data || {});
return updateDatabase(client, op.id, op.data || {});
if (op.type === 'block')

@@ -44,6 +47,6 @@ return client.patch(`blocks/${op.id}`, op.data || {});

return client.delete(`blocks/${op.id}`);
return client.patch(`pages/${op.id}`, { archived: true });
return client.patch(`pages/${op.id}`, buildTrashPayload(true));
case 'query':
if (op.type === 'database') {
return client.post(`databases/${op.id}/query`, op.data || {});
return queryDatabase(client, op.id, op.data || {});
}

@@ -122,75 +125,69 @@ break;

.option('--llm', 'Output in LLM-friendly format')
.action(async (options) => {
try {
let operations;
if (options.file) {
const fs = await import('fs');
const content = fs.readFileSync(options.file, 'utf-8');
operations = JSON.parse(content);
.action(withErrorHandler(async (options) => {
let operations;
if (options.file) {
const fs = await import('fs');
const content = fs.readFileSync(options.file, 'utf-8');
operations = JSON.parse(content);
}
else if (options.data) {
operations = JSON.parse(options.data);
}
else {
// Read from stdin
const chunks = [];
for await (const chunk of process.stdin) {
chunks.push(chunk);
}
else if (options.data) {
operations = JSON.parse(options.data);
}
else {
// Read from stdin
const chunks = [];
for await (const chunk of process.stdin) {
chunks.push(chunk);
const input = Buffer.concat(chunks).toString('utf-8');
operations = JSON.parse(input);
}
if (!Array.isArray(operations)) {
operations = [operations];
}
if (options.dryRun) {
console.log('🔍 Dry run - would execute:');
operations.forEach((op, i) => {
console.log(` ${i + 1}. ${op.op} ${op.type} ${op.id || op.parent || ''}`);
});
console.log(`\nTotal: ${operations.length} operations`);
return;
}
const client = getClient();
const concurrency = (options.sequential || options.stopOnError) ? 1 : parseInt(options.concurrency, 10);
const { results, succeeded, failed } = await runWithConcurrency(operations, client, concurrency, options.stopOnError);
// Output results
if (options.llm) {
console.log(`## Batch Results: ${succeeded}/${operations.length} succeeded\n`);
results.forEach(r => {
const status = r.success ? '✅' : '❌';
const timing = r.durationMs !== undefined ? ` (${r.durationMs}ms)` : '';
console.log(`${status} [${r.index}] ${r.op}${timing}`);
if (r.error) {
console.log(` Error: ${r.error}`);
}
const input = Buffer.concat(chunks).toString('utf-8');
operations = JSON.parse(input);
}
if (!Array.isArray(operations)) {
operations = [operations];
}
if (options.dryRun) {
console.log('🔍 Dry run - would execute:');
operations.forEach((op, i) => {
console.log(` ${i + 1}. ${op.op} ${op.type} ${op.id || op.parent || ''}`);
});
console.log(`\nTotal: ${operations.length} operations`);
return;
}
const client = getClient();
const concurrency = (options.sequential || options.stopOnError) ? 1 : parseInt(options.concurrency, 10);
const { results, succeeded, failed } = await runWithConcurrency(operations, client, concurrency, options.stopOnError);
// Output results
if (options.llm) {
console.log(`## Batch Results: ${succeeded}/${operations.length} succeeded\n`);
results.forEach(r => {
const status = r.success ? '✅' : '❌';
const timing = r.durationMs !== undefined ? ` (${r.durationMs}ms)` : '';
console.log(`${status} [${r.index}] ${r.op}${timing}`);
if (r.error) {
console.log(` Error: ${r.error}`);
}
else if (r.result) {
const res = r.result;
if (res.id)
console.log(` ID: ${res.id}`);
if (res.url)
console.log(` URL: ${res.url}`);
}
});
if (failed > 0) {
console.log(`\n⚠️ ${failed} operations failed`);
else if (r.result) {
const res = r.result;
if (res.id)
console.log(` ID: ${res.id}`);
if (res.url)
console.log(` URL: ${res.url}`);
}
}
else {
console.log(formatOutput({
summary: { total: operations.length, succeeded, failed },
results,
}));
}
// Exit with error code if any failed
});
if (failed > 0) {
process.exit(1);
console.log(`\n⚠️ ${failed} operations failed`);
}
}
catch (error) {
console.error('Error:', error.message);
else {
console.log(formatOutput({
summary: { total: operations.length, succeeded, failed },
results,
}));
}
// Exit with error code if any failed
if (failed > 0) {
process.exit(1);
}
});
}));
}
//# sourceMappingURL=batch.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"batch.js","sourceRoot":"","sources":["../../src/commands/batch.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"batch.js","sourceRoot":"","sources":["../../src/commands/batch.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../src/commands/blocks.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8M5D"}
{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../src/commands/blocks.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+K5D"}
import { getClient } from '../client.js';
import { formatOutput, formatBlock } from '../utils/format.js';
import { parseInlineMarkdown } from '../utils/markdown.js';
import { withErrorHandler } from '../utils/command-handler.js';
import { buildBlockPosition, buildTrashPayload } from '../utils/notion-helpers.js';
export function registerBlocksCommand(program) {

@@ -15,13 +17,7 @@ const blocks = program

.option('-j, --json', 'Output raw JSON')
.action(async (blockId, options) => {
try {
const client = getClient();
const block = await client.get(`blocks/${blockId}`);
console.log(options.json ? formatOutput(block) : formatBlock(block));
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
});
.action(withErrorHandler(async (blockId, options) => {
const client = getClient();
const block = await client.get(`blocks/${blockId}`);
console.log(options.json ? formatOutput(block) : formatBlock(block));
}));
// List children

@@ -35,28 +31,21 @@ blocks

.option('-j, --json', 'Output raw JSON')
.action(async (blockId, options) => {
try {
const client = getClient();
const query = {};
if (options.limit)
query.page_size = parseInt(options.limit, 10);
if (options.cursor)
query.start_cursor = options.cursor;
const result = await client.get(`blocks/${blockId}/children`, query);
if (options.json) {
console.log(formatOutput(result));
return;
}
const typedResult = result;
for (const block of typedResult.results) {
console.log(formatBlock(block));
}
if (typedResult.has_more) {
console.log(`\nMore results available. Use --cursor ${typedResult.next_cursor}`);
}
.action(withErrorHandler(async (blockId, options) => {
const client = getClient();
const query = {};
if (options.limit)
query.page_size = parseInt(options.limit, 10);
if (options.cursor)
query.start_cursor = options.cursor;
const result = await client.get(`blocks/${blockId}/children`, query);
if (options.json) {
console.log(formatOutput(result));
return;
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
for (const block of result.results) {
console.log(formatBlock(block));
}
});
if (result.has_more) {
console.log(`\nMore results available. Use --cursor ${result.next_cursor}`);
}
}));
// Append blocks

@@ -80,67 +69,61 @@ blocks

.option('-j, --json', 'Output raw JSON')
.action(async (blockId, options) => {
try {
const client = getClient();
const children = [];
// Build blocks from options
if (options.text) {
children.push(createParagraph(options.text));
.action(withErrorHandler(async (blockId, options) => {
const client = getClient();
const children = [];
// Build blocks from options
if (options.text) {
children.push(createParagraph(options.text));
}
if (options.heading1) {
children.push(createHeading(options.heading1, 1));
}
if (options.heading2) {
children.push(createHeading(options.heading2, 2));
}
if (options.heading3) {
children.push(createHeading(options.heading3, 3));
}
if (options.bullet) {
for (const text of options.bullet) {
children.push(createBullet(text));
}
if (options.heading1) {
children.push(createHeading(options.heading1, 1));
}
if (options.numbered) {
for (const text of options.numbered) {
children.push(createNumbered(text));
}
if (options.heading2) {
children.push(createHeading(options.heading2, 2));
}
if (options.todo) {
for (const text of options.todo) {
children.push(createTodo(text));
}
if (options.heading3) {
children.push(createHeading(options.heading3, 3));
}
if (options.bullet) {
for (const text of options.bullet) {
children.push(createBullet(text));
}
}
if (options.numbered) {
for (const text of options.numbered) {
children.push(createNumbered(text));
}
}
if (options.todo) {
for (const text of options.todo) {
children.push(createTodo(text));
}
}
if (options.code) {
children.push(createCode(options.code, options.codeLang));
}
if (options.quote) {
children.push(createQuote(options.quote));
}
if (options.divider) {
children.push({ object: 'block', type: 'divider', divider: {} });
}
if (options.callout) {
children.push(createCallout(options.callout));
}
if (children.length === 0) {
console.error('Error: No content specified. Use --text, --heading1, --bullet, etc.');
process.exit(1);
}
const body = { children };
if (options.after) {
body.after = options.after;
}
const result = await client.patch(`blocks/${blockId}/children`, body);
if (options.json) {
console.log(formatOutput(result));
}
else {
console.log(`✅ Added ${children.length} block(s)`);
}
}
catch (error) {
console.error('Error:', error.message);
if (options.code) {
children.push(createCode(options.code, options.codeLang));
}
if (options.quote) {
children.push(createQuote(options.quote));
}
if (options.divider) {
children.push({ object: 'block', type: 'divider', divider: {} });
}
if (options.callout) {
children.push(createCallout(options.callout));
}
if (children.length === 0) {
console.error('Error: No content specified. Use --text, --heading1, --bullet, etc.');
process.exit(1);
}
});
const body = {
children,
...buildBlockPosition(options.after),
};
const result = await client.patch(`blocks/${blockId}/children`, body);
if (options.json) {
console.log(formatOutput(result));
}
else {
console.log(`✅ Added ${children.length} block(s)`);
}
}));
// Update block

@@ -153,30 +136,24 @@ blocks

.option('-j, --json', 'Output raw JSON')
.action(async (blockId, options) => {
try {
const client = getClient();
// First, get the block to know its type
const existing = await client.get(`blocks/${blockId}`);
const blockType = existing.type;
const body = {};
if (options.text) {
body[blockType] = {
rich_text: [{ type: 'text', text: { content: options.text } }],
};
}
if (options.archive) {
body.archived = true;
}
const result = await client.patch(`blocks/${blockId}`, body);
if (options.json) {
console.log(formatOutput(result));
}
else {
console.log('✅ Block updated');
}
.action(withErrorHandler(async (blockId, options) => {
const client = getClient();
// First, get the block to know its type
const existing = await client.get(`blocks/${blockId}`);
const blockType = existing.type;
const body = {};
if (options.text) {
body[blockType] = {
rich_text: [{ type: 'text', text: { content: options.text } }],
};
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
if (options.archive) {
Object.assign(body, buildTrashPayload(true));
}
});
const result = await client.patch(`blocks/${blockId}`, body);
if (options.json) {
console.log(formatOutput(result));
}
else {
console.log('✅ Block updated');
}
}));
// Delete block

@@ -186,13 +163,7 @@ blocks

.description('Delete (archive) a block')
.action(async (blockId) => {
try {
const client = getClient();
await client.delete(`blocks/${blockId}`);
console.log('✅ Block deleted');
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
});
.action(withErrorHandler(async (blockId) => {
const client = getClient();
await client.delete(`blocks/${blockId}`);
console.log('✅ Block deleted');
}));
}

@@ -199,0 +170,0 @@ // Block creation helpers — uses parseInlineMarkdown so that

@@ -1,1 +0,1 @@

{"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../src/commands/blocks.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG3D,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,MAAM,GAAG,OAAO;SACnB,OAAO,CAAC,OAAO,CAAC;SAChB,KAAK,CAAC,QAAQ,CAAC;SACf,KAAK,CAAC,GAAG,CAAC;SACV,WAAW,CAAC,4BAA4B,CAAC,CAAC;IAE7C,YAAY;IACZ,MAAM;SACH,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,wBAAwB,CAAC;SACrC,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC;SACvC,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,OAAO,EAAE,EAAE;QACzC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,gBAAgB;IAChB,MAAM;SACH,OAAO,CAAC,iBAAiB,CAAC;SAC1B,KAAK,CAAC,UAAU,CAAC;SACjB,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,sBAAsB,EAAE,aAAa,EAAE,KAAK,CAAC;SACpD,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;SAChD,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC;SACvC,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,OAAO,EAAE,EAAE;QACzC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAE3B,MAAM,KAAK,GAAoC,EAAE,CAAC;YAClD,IAAI,OAAO,CAAC,KAAK;gBAAE,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACjE,IAAI,OAAO,CAAC,MAAM;gBAAE,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;YAExD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,OAAO,WAAW,EAAE,KAAK,CAAC,CAAC;YAErE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;gBAClC,OAAO;YACT,CAAC;YAED,MAAM,WAAW,GAAG,MAInB,CAAC;YAEF,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YAClC,CAAC;YAED,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,0CAA0C,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,gBAAgB;IAChB,MAAM;SACH,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;SACtD,MAAM,CAAC,mBAAmB,EAAE,eAAe,CAAC;SAC5C,MAAM,CAAC,mBAAmB,EAAE,eAAe,CAAC;SAC5C,MAAM,CAAC,mBAAmB,EAAE,eAAe,CAAC;SAC5C,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;SACrD,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC;SACzD,MAAM,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;SAC5C,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC;SACzC,MAAM,CAAC,wBAAwB,EAAE,qBAAqB,EAAE,YAAY,CAAC;SACrE,MAAM,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;SAC3C,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC;SAClC,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;SAC/C,MAAM,CAAC,oBAAoB,EAAE,yBAAyB,CAAC;SACvD,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC;SACvC,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,OAAO,EAAE,EAAE;QACzC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAmC,EAAE,CAAC;YAEpD,4BAA4B;YAC5B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/C,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBAClC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACpC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBAChC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;gBACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,IAAI,GAA4B,EAAE,QAAQ,EAAE,CAAC;YACnD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC7B,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,OAAO,WAAW,EAAE,IAAI,CAAC,CAAC;YAEtE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,CAAC,MAAM,WAAW,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,eAAe;IACf,MAAM;SACH,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,gBAAgB,CAAC;SAC7B,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;SAC/C,MAAM,CAAC,WAAW,EAAE,mBAAmB,CAAC;SACxC,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC;SACvC,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,OAAO,EAAE,EAAE;QACzC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAE3B,wCAAwC;YACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAqB,CAAC;YAC3E,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC;YAEhC,MAAM,IAAI,GAA4B,EAAE,CAAC;YAEzC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC,SAAS,CAAC,GAAG;oBAChB,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;iBAC/D,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;YAE7D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,eAAe;IACf,MAAM;SACH,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,0BAA0B,CAAC;SACvC,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;QAChC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,4DAA4D;AAC5D,uEAAuE;AACvE,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO;QACL,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE;KAC/C,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,KAAgB;IACnD,MAAM,IAAI,GAAG,WAAW,KAAK,EAAE,CAAC;IAChC,OAAO;QACL,MAAM,EAAE,OAAO;QACf,IAAI;QACJ,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO;QACL,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,oBAAoB;QAC1B,kBAAkB,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE;KACxD,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO;QACL,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,oBAAoB;QAC1B,kBAAkB,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE;KACxD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,OAAO,GAAG,KAAK;IAC/C,OAAO;QACL,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE;KACpD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,QAAgB;IAChD,OAAO;QACL,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE;YACJ,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC;YAC/B,QAAQ;SACT;KACF,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO;QACL,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE;KAC3C,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO;QACL,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,SAAS;QACf,OAAO,EAAE;YACP,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC;YAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;SACrC;KACF,CAAC;AACJ,CAAC"}
{"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../src/commands/blocks.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAGnF,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,MAAM,GAAG,OAAO;SACnB,OAAO,CAAC,OAAO,CAAC;SAChB,KAAK,CAAC,QAAQ,CAAC;SACf,KAAK,CAAC,GAAG,CAAC;SACV,WAAW,CAAC,4BAA4B,CAAC,CAAC;IAE7C,YAAY;IACZ,MAAM;SACH,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,wBAAwB,CAAC;SACrC,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC;SACvC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAe,EAAE,OAAO,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC,CAAC;IAEN,gBAAgB;IAChB,MAAM;SACH,OAAO,CAAC,iBAAiB,CAAC;SAC1B,KAAK,CAAC,UAAU,CAAC;SACjB,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,sBAAsB,EAAE,aAAa,EAAE,KAAK,CAAC;SACpD,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;SAChD,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC;SACvC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAe,EAAE,OAAO,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,MAAM,KAAK,GAAoC,EAAE,CAAC;QAClD,IAAI,OAAO,CAAC,KAAK;YAAE,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjE,IAAI,OAAO,CAAC,MAAM;YAAE,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;QAExD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,OAAO,WAAW,EAAE,KAAK,CAA+B,CAAC;QAEnG,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,0CAA0C,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;IAEN,gBAAgB;IAChB,MAAM;SACH,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;SACtD,MAAM,CAAC,mBAAmB,EAAE,eAAe,CAAC;SAC5C,MAAM,CAAC,mBAAmB,EAAE,eAAe,CAAC;SAC5C,MAAM,CAAC,mBAAmB,EAAE,eAAe,CAAC;SAC5C,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;SACrD,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC;SACzD,MAAM,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;SAC5C,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC;SACzC,MAAM,CAAC,wBAAwB,EAAE,qBAAqB,EAAE,YAAY,CAAC;SACrE,MAAM,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;SAC3C,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC;SAClC,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;SAC/C,MAAM,CAAC,oBAAoB,EAAE,yBAAyB,CAAC;SACvD,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC;SACvC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAe,EAAE,OAAO,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAmC,EAAE,CAAC;QAEpD,4BAA4B;QAC5B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBAClC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACpC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBAChC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;YACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,GAA4B;YACpC,QAAQ;YACR,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC;SACrC,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,OAAO,WAAW,EAAE,IAAI,CAAC,CAAC;QAEtE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,CAAC,MAAM,WAAW,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;IAEN,eAAe;IACf,MAAM;SACH,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,gBAAgB,CAAC;SAC7B,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;SAC/C,MAAM,CAAC,WAAW,EAAE,mBAAmB,CAAC;SACxC,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC;SACvC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAe,EAAE,OAAO,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,wCAAwC;QACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAqB,CAAC;QAC3E,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC;QAEhC,MAAM,IAAI,GAA4B,EAAE,CAAC;QAEzC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,CAAC,GAAG;gBAChB,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;aAC/D,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;QAE7D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;IAEN,eAAe;IACf,MAAM;SACH,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,0BAA0B,CAAC;SACvC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;QACjD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC;AAED,4DAA4D;AAC5D,uEAAuE;AACvE,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO;QACL,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE;KAC/C,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,KAAgB;IACnD,MAAM,IAAI,GAAG,WAAW,KAAK,EAAE,CAAC;IAChC,OAAO;QACL,MAAM,EAAE,OAAO;QACf,IAAI;QACJ,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO;QACL,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,oBAAoB;QAC1B,kBAAkB,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE;KACxD,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO;QACL,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,oBAAoB;QAC1B,kBAAkB,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE;KACxD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,OAAO,GAAG,KAAK;IAC/C,OAAO;QACL,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE;KACpD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,QAAgB;IAChD,OAAO;QACL,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE;YACJ,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC;YAC/B,QAAQ;SACT;KACF,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO;QACL,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE;KAC3C,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO;QACL,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,SAAS;QACf,OAAO,EAAE;YACP,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC;YAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;SACrC;KACF,CAAC;AACJ,CAAC"}

@@ -1,1 +0,1 @@

{"version":3,"file":"bulk.d.ts","sourceRoot":"","sources":["../../src/commands/bulk.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoFpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoM1D"}
{"version":3,"file":"bulk.d.ts","sourceRoot":"","sources":["../../src/commands/bulk.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsFpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0L1D"}
import { getClient } from '../client.js';
import { parseProperties } from '../utils/format.js';
import { getPageTitle } from '../utils/notion-helpers.js';
import { getPageTitle, buildTrashPayload } from '../utils/notion-helpers.js';
import { getDatabaseSchema, queryDatabase } from '../utils/database-resolver.js';
import { withErrorHandler } from '../utils/command-handler.js';
// Parse simple where clause: "Status=Done,Priority=High"

@@ -82,68 +84,62 @@ function parseWhereClause(where, schema) {

.option('--yes', 'Skip confirmation')
.action(async (databaseId, options) => {
try {
const client = getClient();
// Get database schema
const db = await client.get(`databases/${databaseId}`);
// Parse where clause
const filter = parseWhereClause(options.where, db.properties);
if (!filter) {
console.error('Error: Invalid --where clause');
process.exit(1);
.action(withErrorHandler(async (databaseId, options) => {
const client = getClient();
// Get database schema
const db = await getDatabaseSchema(client, databaseId);
// Parse where clause
const filter = parseWhereClause(options.where, db.properties);
if (!filter) {
console.error('Error: Invalid --where clause');
process.exit(1);
}
// Parse set clause
const setProperties = parseProperties(options.set.split(',').map((s) => s.trim()));
// Query matching entries
const result = await queryDatabase(client, databaseId, {
filter,
page_size: parseInt(options.limit, 10),
});
if (result.results.length === 0) {
console.log('No entries match the condition.');
return;
}
console.log(`Found ${result.results.length} matching entries${result.has_more ? ' (more available)' : ''}`);
// Show preview
if (options.dryRun || !options.yes) {
console.log('\nEntries to update:');
for (const page of result.results.slice(0, 10)) {
console.log(` - ${getPageTitle(page)} (${page.id.slice(0, 8)}...)`);
}
// Parse set clause
const setProperties = parseProperties(options.set.split(',').map((s) => s.trim()));
// Query matching entries
const result = await client.post(`databases/${databaseId}/query`, {
filter,
page_size: parseInt(options.limit, 10),
});
if (result.results.length === 0) {
console.log('No entries match the condition.');
return;
if (result.results.length > 10) {
console.log(` ... and ${result.results.length - 10} more`);
}
console.log(`Found ${result.results.length} matching entries${result.has_more ? ' (more available)' : ''}`);
// Show preview
if (options.dryRun || !options.yes) {
console.log('\nEntries to update:');
for (const page of result.results.slice(0, 10)) {
console.log(` - ${getPageTitle(page)} (${page.id.slice(0, 8)}...)`);
}
if (result.results.length > 10) {
console.log(` ... and ${result.results.length - 10} more`);
}
console.log('\nChanges to apply:');
for (const [key, value] of Object.entries(setProperties)) {
console.log(` ${key} → ${JSON.stringify(value)}`);
}
console.log('\nChanges to apply:');
for (const [key, value] of Object.entries(setProperties)) {
console.log(` ${key} → ${JSON.stringify(value)}`);
}
if (options.dryRun) {
console.log('\n🔍 Dry run - no changes made');
return;
}
if (options.dryRun) {
console.log('\n🔍 Dry run - no changes made');
return;
}
if (!options.yes) {
console.log('\nUse --yes to execute, or --dry-run to preview');
return;
}
// Execute updates
let updated = 0;
let failed = 0;
for (const page of result.results) {
try {
await client.patch(`pages/${page.id}`, { properties: setProperties });
updated++;
process.stdout.write(`\r✅ Updated ${updated}/${result.results.length}...`);
}
if (!options.yes) {
console.log('\nUse --yes to execute, or --dry-run to preview');
return;
catch (error) {
failed++;
console.error(`\n❌ Failed to update ${page.id}: ${error.message}`);
}
// Execute updates
let updated = 0;
let failed = 0;
for (const page of result.results) {
try {
await client.patch(`pages/${page.id}`, { properties: setProperties });
updated++;
process.stdout.write(`\r✅ Updated ${updated}/${result.results.length}...`);
}
catch (error) {
failed++;
console.error(`\n❌ Failed to update ${page.id}: ${error.message}`);
}
}
console.log(`\n\n✅ Updated ${updated} entries${failed > 0 ? `, ${failed} failed` : ''}`);
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
});
console.log(`\n\n✅ Updated ${updated} entries${failed > 0 ? `, ${failed} failed` : ''}`);
}));
// Bulk archive

@@ -157,62 +153,56 @@ bulk

.option('--yes', 'Skip confirmation')
.action(async (databaseId, options) => {
try {
const client = getClient();
// Get database schema
const db = await client.get(`databases/${databaseId}`);
// Parse where clause
const filter = parseWhereClause(options.where, db.properties);
if (!filter) {
console.error('Error: Invalid --where clause');
process.exit(1);
.action(withErrorHandler(async (databaseId, options) => {
const client = getClient();
// Get database schema
const db = await getDatabaseSchema(client, databaseId);
// Parse where clause
const filter = parseWhereClause(options.where, db.properties);
if (!filter) {
console.error('Error: Invalid --where clause');
process.exit(1);
}
// Query matching entries
const result = await queryDatabase(client, databaseId, {
filter,
page_size: parseInt(options.limit, 10),
});
if (result.results.length === 0) {
console.log('No entries match the condition.');
return;
}
console.log(`Found ${result.results.length} matching entries${result.has_more ? ' (more available)' : ''}`);
// Show preview
if (options.dryRun || !options.yes) {
console.log('\nEntries to archive:');
for (const page of result.results.slice(0, 10)) {
console.log(` - ${getPageTitle(page)} (${page.id.slice(0, 8)}...)`);
}
// Query matching entries
const result = await client.post(`databases/${databaseId}/query`, {
filter,
page_size: parseInt(options.limit, 10),
});
if (result.results.length === 0) {
console.log('No entries match the condition.');
return;
if (result.results.length > 10) {
console.log(` ... and ${result.results.length - 10} more`);
}
console.log(`Found ${result.results.length} matching entries${result.has_more ? ' (more available)' : ''}`);
// Show preview
if (options.dryRun || !options.yes) {
console.log('\nEntries to archive:');
for (const page of result.results.slice(0, 10)) {
console.log(` - ${getPageTitle(page)} (${page.id.slice(0, 8)}...)`);
}
if (result.results.length > 10) {
console.log(` ... and ${result.results.length - 10} more`);
}
}
if (options.dryRun) {
console.log('\n🔍 Dry run - no changes made');
return;
}
if (!options.yes) {
console.log('\nUse --yes to execute, or --dry-run to preview');
return;
}
// Execute archival
let archived = 0;
let failed = 0;
for (const page of result.results) {
try {
await client.patch(`pages/${page.id}`, buildTrashPayload(true));
archived++;
process.stdout.write(`\r🗑️ Archived ${archived}/${result.results.length}...`);
}
if (options.dryRun) {
console.log('\n🔍 Dry run - no changes made');
return;
catch (error) {
failed++;
console.error(`\n❌ Failed to archive ${page.id}: ${error.message}`);
}
if (!options.yes) {
console.log('\nUse --yes to execute, or --dry-run to preview');
return;
}
// Execute archival
let archived = 0;
let failed = 0;
for (const page of result.results) {
try {
await client.patch(`pages/${page.id}`, { archived: true });
archived++;
process.stdout.write(`\r🗑️ Archived ${archived}/${result.results.length}...`);
}
catch (error) {
failed++;
console.error(`\n❌ Failed to archive ${page.id}: ${error.message}`);
}
}
console.log(`\n\n✅ Archived ${archived} entries${failed > 0 ? `, ${failed} failed` : ''}`);
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
});
console.log(`\n\n✅ Archived ${archived} entries${failed > 0 ? `, ${failed} failed` : ''}`);
}));
// Bulk delete (really archive, Notion doesn't have true delete)

@@ -219,0 +209,0 @@ bulk

@@ -1,1 +0,1 @@

{"version":3,"file":"bulk.js","sourceRoot":"","sources":["../../src/commands/bulk.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"bulk.js","sourceRoot":"","sources":["../../src/commands/bulk.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAe,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAG/D,yDAAyD;AACzD,SAAS,gBAAgB,CACvB,KAAa,EACb,MAAsC;IAEtC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzC,MAAM,OAAO,GAA8B,EAAE,CAAC;IAE9C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,2CAA2C;QAC3C,IAAI,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAEhE,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;QAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAElC,0BAA0B;QAC1B,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,sBAAsB,WAAW,uBAAuB,CAAC,CAAC;YACvE,SAAS;QACX,CAAC;QAED,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC;QACjC,IAAI,UAAkB,CAAC;QACvB,IAAI,WAAW,GAAY,YAAY,CAAC;QAExC,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,GAAG;gBACN,UAAU,GAAG,QAAQ,CAAC;gBACtB,MAAM;YACR,KAAK,IAAI;gBACP,UAAU,GAAG,gBAAgB,CAAC;gBAC9B,MAAM;YACR,KAAK,GAAG;gBACN,UAAU,GAAG,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;gBAC1D,MAAM;YACR,KAAK,GAAG;gBACN,UAAU,GAAG,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;gBAC5D,MAAM;YACR,KAAK,IAAI;gBACP,UAAU,GAAG,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,uBAAuB,CAAC;gBAC5E,MAAM;YACR,KAAK,IAAI;gBACP,UAAU,GAAG,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,0BAA0B,CAAC;gBAC9E,MAAM;YACR;gBACE,UAAU,GAAG,QAAQ,CAAC;QAC1B,CAAC;QAED,2BAA2B;QAC3B,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QACzC,CAAC;QAED,kBAAkB;QAClB,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC5B,WAAW,GAAG,YAAY,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;QACtD,CAAC;QAED,mBAAmB;QACnB,MAAM,MAAM,GAA4B,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;QAClE,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;QAEjD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5C,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,MAAM,IAAI,GAAG,OAAO;SACjB,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,8BAA8B,CAAC,CAAC;IAE/C,cAAc;IACd,IAAI;SACD,OAAO,CAAC,sBAAsB,CAAC;SAC/B,WAAW,CAAC,8CAA8C,CAAC;SAC3D,cAAc,CAAC,qBAAqB,EAAE,wCAAwC,CAAC;SAC/E,cAAc,CAAC,oBAAoB,EAAE,sDAAsD,CAAC;SAC5F,MAAM,CAAC,WAAW,EAAE,mDAAmD,CAAC;SACxE,MAAM,CAAC,kBAAkB,EAAE,uBAAuB,EAAE,KAAK,CAAC;SAC1D,MAAM,CAAC,OAAO,EAAE,mBAAmB,CAAC;SACpC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAkB,EAAE,OAAO,EAAE,EAAE;QAC7D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,sBAAsB;QACtB,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAEvD,qBAAqB;QACrB,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;QAE9D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,mBAAmB;QACnB,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAE3F,yBAAyB;QACzB,MAAM,MAAM,GAAG,MAAM,aAAa,CAA0B,MAAM,EAAE,UAAU,EAAE;YAC9E,MAAM;YACN,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SACvC,CAAC,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,OAAO,CAAC,MAAM,oBAAoB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAE5G,eAAe;QACf,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACpC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;YACvE,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,OAAO,CAAC,CAAC;YAC9D,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACnC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,kBAAkB;QAClB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;gBACtE,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;YAC7E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,wBAAwB,IAAI,CAAC,EAAE,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,WAAW,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC,CAAC;IAEN,eAAe;IACf,IAAI;SACD,OAAO,CAAC,uBAAuB,CAAC;SAChC,WAAW,CAAC,+CAA+C,CAAC;SAC5D,cAAc,CAAC,qBAAqB,EAAE,wCAAwC,CAAC;SAC/E,MAAM,CAAC,WAAW,EAAE,oDAAoD,CAAC;SACzE,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,EAAE,KAAK,CAAC;SAC3D,MAAM,CAAC,OAAO,EAAE,mBAAmB,CAAC;SACpC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAkB,EAAE,OAAO,EAAE,EAAE;QAC7D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,sBAAsB;QACtB,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAEvD,qBAAqB;QACrB,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;QAE9D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,yBAAyB;QACzB,MAAM,MAAM,GAAG,MAAM,aAAa,CAA0B,MAAM,EAAE,UAAU,EAAE;YAC9E,MAAM;YACN,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SACvC,CAAC,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,OAAO,CAAC,MAAM,oBAAoB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAE5G,eAAe;QACf,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YACrC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;YACvE,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,OAAO,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,mBAAmB;QACnB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,EAAE,EAAE,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChE,QAAQ,EAAE,CAAC;gBACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;YACjF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,yBAAyB,IAAI,CAAC,EAAE,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,WAAW,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC,CAAC;IAEN,gEAAgE;IAChE,IAAI;SACD,OAAO,CAAC,sBAAsB,CAAC;SAC/B,WAAW,CAAC,wDAAwD,CAAC;SACrE,cAAc,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;SACzD,MAAM,CAAC,WAAW,EAAE,mDAAmD,CAAC;SACxE,MAAM,CAAC,kBAAkB,EAAE,uBAAuB,EAAE,KAAK,CAAC;SAC1D,MAAM,CAAC,OAAO,EAAE,+BAA+B,CAAC;SAChD,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,OAAO,EAAE,EAAE;QAC5C,oBAAoB;QACpB,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;QAE7F,oBAAoB;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,SAAS,CAAC,CAAC;QACnE,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,UAAU,CAAC,UAAU,CAAC;gBAC1B,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,OAAO,CAAC,KAAK;gBACxB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpD,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAClC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}

@@ -1,1 +0,1 @@

{"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../src/commands/comments.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2H9D"}
{"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../src/commands/comments.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsG9D"}
import { getClient } from '../client.js';
import { formatOutput } from '../utils/format.js';
import { withErrorHandler } from '../utils/command-handler.js';
export function registerCommentsCommand(program) {

@@ -15,37 +16,30 @@ const comments = program

.option('-j, --json', 'Output raw JSON')
.action(async (blockId, options) => {
try {
const client = getClient();
const query = { block_id: blockId };
if (options.limit)
query.page_size = parseInt(options.limit, 10);
if (options.cursor)
query.start_cursor = options.cursor;
const result = await client.get('comments', query);
if (options.json) {
console.log(formatOutput(result));
return;
}
const typedResult = result;
if (typedResult.results.length === 0) {
console.log('No comments found.');
return;
}
for (const comment of typedResult.results) {
const text = comment.rich_text.map(t => t.plain_text).join('');
const date = new Date(comment.created_time).toLocaleString();
console.log(`💬 ${text}`);
console.log(` ID: ${comment.id}`);
console.log(` Date: ${date}`);
console.log('');
}
if (typedResult.has_more) {
console.log(`More results available. Use --cursor ${typedResult.next_cursor}`);
}
.action(withErrorHandler(async (blockId, options) => {
const client = getClient();
const query = { block_id: blockId };
if (options.limit)
query.page_size = parseInt(options.limit, 10);
if (options.cursor)
query.start_cursor = options.cursor;
const result = await client.get('comments', query);
if (options.json) {
console.log(formatOutput(result));
return;
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
if (result.results.length === 0) {
console.log('No comments found.');
return;
}
});
for (const comment of result.results) {
const text = comment.rich_text.map(t => t.plain_text).join('');
const date = new Date(comment.created_time).toLocaleString();
console.log(`💬 ${text}`);
console.log(` ID: ${comment.id}`);
console.log(` Date: ${date}`);
console.log('');
}
if (result.has_more) {
console.log(`More results available. Use --cursor ${result.next_cursor}`);
}
}));
// Get comment

@@ -56,22 +50,16 @@ comments

.option('-j, --json', 'Output raw JSON')
.action(async (commentId, options) => {
try {
const client = getClient();
const comment = await client.get(`comments/${commentId}`);
if (options.json) {
console.log(formatOutput(comment));
}
else {
const text = comment.rich_text.map(t => t.plain_text).join('');
console.log(`💬 ${text}`);
console.log(`ID: ${comment.id}`);
console.log(`Discussion: ${comment.discussion_id}`);
console.log(`Date: ${new Date(comment.created_time).toLocaleString()}`);
}
.action(withErrorHandler(async (commentId, options) => {
const client = getClient();
const comment = await client.get(`comments/${commentId}`);
if (options.json) {
console.log(formatOutput(comment));
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
else {
const text = comment.rich_text.map(t => t.plain_text).join('');
console.log(`💬 ${text}`);
console.log(`ID: ${comment.id}`);
console.log(`Discussion: ${comment.discussion_id}`);
console.log(`Date: ${new Date(comment.created_time).toLocaleString()}`);
}
});
}));
// Create comment

@@ -85,34 +73,28 @@ comments

.option('-j, --json', 'Output raw JSON')
.action(async (options) => {
try {
if (!options.page && !options.discussion) {
console.error('Error: Either --page or --discussion is required');
process.exit(1);
}
const client = getClient();
const body = {
rich_text: [{ type: 'text', text: { content: options.text } }],
};
if (options.page) {
body.parent = { page_id: options.page };
}
else if (options.discussion) {
body.discussion_id = options.discussion;
}
const comment = await client.post('comments', body);
if (options.json) {
console.log(formatOutput(comment));
}
else {
console.log('✅ Comment created');
console.log('ID:', comment.id);
console.log('Discussion:', comment.discussion_id);
}
}
catch (error) {
console.error('Error:', error.message);
.action(withErrorHandler(async (options) => {
if (!options.page && !options.discussion) {
console.error('Error: Either --page or --discussion is required');
process.exit(1);
}
});
const client = getClient();
const body = {
rich_text: [{ type: 'text', text: { content: options.text } }],
};
if (options.page) {
body.parent = { page_id: options.page };
}
else if (options.discussion) {
body.discussion_id = options.discussion;
}
const comment = await client.post('comments', body);
if (options.json) {
console.log(formatOutput(comment));
}
else {
console.log('✅ Comment created');
console.log('ID:', comment.id);
console.log('Discussion:', comment.discussion_id);
}
}));
}
//# sourceMappingURL=comments.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"comments.js","sourceRoot":"","sources":["../../src/commands/comments.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../../src/commands/comments.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"databases.d.ts","sourceRoot":"","sources":["../../src/commands/databases.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8M/D"}
{"version":3,"file":"databases.d.ts","sourceRoot":"","sources":["../../src/commands/databases.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0N/D"}
import { getClient } from '../client.js';
import { formatOutput, formatDatabaseTitle, parseFilter } from '../utils/format.js';
import { getDatabaseSchema, queryDatabase, updateDatabase } from '../utils/database-resolver.js';
import { withErrorHandler } from '../utils/command-handler.js';
export function registerDatabasesCommand(program) {

@@ -14,24 +16,17 @@ const databases = program

.option('-j, --json', 'Output raw JSON')
.action(async (databaseId, options) => {
try {
const client = getClient();
const db = await client.get(`databases/${databaseId}`);
if (options.json) {
console.log(formatOutput(db));
.action(withErrorHandler(async (databaseId, options) => {
const client = getClient();
const db = await getDatabaseSchema(client, databaseId);
if (options.json) {
console.log(formatOutput(db));
}
else {
console.log('Database:', formatDatabaseTitle(db));
console.log('ID:', db.id);
console.log('\nProperties:');
for (const [name, prop] of Object.entries(db.properties)) {
console.log(` - ${name}: ${prop.type}`);
}
else {
console.log('Database:', formatDatabaseTitle(db));
console.log('ID:', db.id);
console.log('\nProperties:');
const props = db.properties;
for (const [name, prop] of Object.entries(props)) {
console.log(` - ${name}: ${prop.type}`);
}
}
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
});
}));
// Query database

@@ -42,54 +37,83 @@ databases

.option('-f, --filter <json>', 'Filter as JSON string')
.option('--filter-prop <property>', 'Property to filter on')
.option('--filter-type <type>', 'Filter type: equals, contains, etc.')
.option('--filter-value <value>', 'Filter value')
.option('--filter-prop-type <propType>', 'Property type: select, status, text, number, date, checkbox')
.option('--filter-prop <property>', 'Property to filter on (repeatable)', (v, a) => [...a, v], [])
.option('--filter-type <type>', 'Filter type: equals, contains, etc. (repeatable)', (v, a) => [...a, v], [])
.option('--filter-value <value>', 'Filter value (repeatable)', (v, a) => [...a, v], [])
.option('--filter-prop-type <propType>', 'Property type: select, status, text, number, date, checkbox (repeatable)', (v, a) => [...a, v], [])
.option('-s, --sort <property>', 'Sort by property')
.option('--sort-dir <direction>', 'Sort direction: asc, desc', 'desc')
.option('--title <value>', 'Filter by exact title (auto-detects title property)')
.option('-l, --limit <number>', 'Max results', '100')
.option('--cursor <cursor>', 'Pagination cursor')
.option('--llm', 'Compact LLM-friendly output')
.option('-j, --json', 'Output raw JSON')
.action(async (databaseId, options) => {
try {
const client = getClient();
const body = {};
// Handle filter
if (options.filter) {
body.filter = JSON.parse(options.filter);
.action(withErrorHandler(async (databaseId, options) => {
const client = getClient();
const body = {};
// Handle --title shortcut (auto-detects title property from schema)
if (options.title) {
const db = await getDatabaseSchema(client, databaseId);
const titlePropName = Object.entries(db.properties)
.find(([, p]) => p.type === 'title')?.[0] || 'Name';
body.filter = {
property: titlePropName,
title: { equals: options.title },
};
}
// Handle filter
if (!body.filter && options.filter) {
body.filter = JSON.parse(options.filter);
}
else if (!body.filter && options.filterProp.length > 0) {
const props = options.filterProp;
const types = options.filterType;
const values = options.filterValue;
const propTypes = options.filterPropType;
if (props.length !== types.length || props.length !== values.length) {
console.error('Error: --filter-prop, --filter-type, and --filter-value must be provided the same number of times');
process.exit(1);
}
else if (options.filterProp && options.filterType && options.filterValue) {
body.filter = parseFilter(options.filterProp, options.filterType, options.filterValue, options.filterPropType);
if (propTypes.length !== 0 && propTypes.length !== props.length) {
console.error('Error: --filter-prop-type must be provided either for all filter groups or for none');
process.exit(1);
}
// Handle sort
if (options.sort) {
body.sorts = [{
property: options.sort,
direction: options.sortDir === 'asc' ? 'ascending' : 'descending',
}];
}
if (options.limit)
body.page_size = parseInt(options.limit, 10);
if (options.cursor)
body.start_cursor = options.cursor;
const result = await client.post(`databases/${databaseId}/query`, body);
if (options.json) {
console.log(formatOutput(result));
return;
}
const typedResult = result;
console.log(`Found ${typedResult.results.length} items:\n`);
for (const item of typedResult.results) {
const filters = props.map((prop, i) => parseFilter(prop, types[i], values[i], propTypes[i]));
body.filter = filters.length > 1 ? { and: filters } : filters[0];
}
// Handle sort
if (options.sort) {
body.sorts = [{
property: options.sort,
direction: options.sortDir === 'asc' ? 'ascending' : 'descending',
}];
}
if (options.limit)
body.page_size = parseInt(options.limit, 10);
if (options.cursor)
body.start_cursor = options.cursor;
const result = await queryDatabase(client, databaseId, body);
if (options.json) {
console.log(formatOutput(result));
return;
}
// --llm: compact output
if (options.llm) {
for (const item of result.results) {
const title = getItemTitle(item);
console.log(`📄 ${title}`);
console.log(` ID: ${item.id}`);
console.log(`${item.id} ${title}`);
}
if (typedResult.has_more) {
console.log(`\nMore results available. Use --cursor ${typedResult.next_cursor}`);
if (result.has_more) {
console.log(`(more results, cursor: ${result.next_cursor})`);
}
return;
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
console.log(`Found ${result.results.length} items:\n`);
for (const item of result.results) {
const title = getItemTitle(item);
console.log(`📄 ${title}`);
console.log(` ID: ${item.id}`);
}
});
if (result.has_more) {
console.log(`\nMore results available. Use --cursor ${result.next_cursor}`);
}
}));
// Create database

@@ -104,40 +128,34 @@ databases

.option('-j, --json', 'Output raw JSON')
.action(async (options) => {
try {
const client = getClient();
const properties = {
Name: { title: {} }, // Default title property
};
// Parse additional properties
if (options.property) {
for (const prop of options.property) {
const [name, type] = prop.split(':');
if (name && type) {
properties[name] = { [type]: {} };
}
.action(withErrorHandler(async (options) => {
const client = getClient();
const properties = {
Name: { title: {} }, // Default title property
};
// Parse additional properties
if (options.property) {
for (const prop of options.property) {
const [name, type] = prop.split(':');
if (name && type) {
properties[name] = { [type]: {} };
}
}
const body = {
parent: { page_id: options.parent },
title: [{ type: 'text', text: { content: options.title } }],
properties,
};
if (options.inline) {
body.is_inline = true;
}
const db = await client.post('databases', body);
if (options.json) {
console.log(formatOutput(db));
}
else {
console.log('✅ Database created');
console.log('ID:', db.id);
console.log('URL:', db.url);
}
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
const body = {
parent: { page_id: options.parent },
title: [{ type: 'text', text: { content: options.title } }],
properties,
};
if (options.inline) {
body.is_inline = true;
}
});
const db = await client.post('databases', body);
if (options.json) {
console.log(formatOutput(db));
}
else {
console.log('✅ Database created');
console.log('ID:', db.id);
console.log('URL:', db.url);
}
}));
// Update database

@@ -151,35 +169,29 @@ databases

.option('-j, --json', 'Output raw JSON')
.action(async (databaseId, options) => {
try {
const client = getClient();
const body = {};
if (options.title) {
body.title = [{ type: 'text', text: { content: options.title } }];
.action(withErrorHandler(async (databaseId, options) => {
const client = getClient();
const body = {};
if (options.title) {
body.title = [{ type: 'text', text: { content: options.title } }];
}
const properties = {};
if (options.addProp) {
const [name, type] = options.addProp.split(':');
if (name && type) {
properties[name] = { [type]: {} };
}
const properties = {};
if (options.addProp) {
const [name, type] = options.addProp.split(':');
if (name && type) {
properties[name] = { [type]: {} };
}
}
if (options.removeProp) {
properties[options.removeProp] = null;
}
if (Object.keys(properties).length > 0) {
body.properties = properties;
}
const db = await client.patch(`databases/${databaseId}`, body);
if (options.json) {
console.log(formatOutput(db));
}
else {
console.log('✅ Database updated');
}
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
if (options.removeProp) {
properties[options.removeProp] = null;
}
});
if (Object.keys(properties).length > 0) {
body.properties = properties;
}
const db = await updateDatabase(client, databaseId, body);
if (options.json) {
console.log(formatOutput(db));
}
else {
console.log('✅ Database updated');
}
}));
}

@@ -186,0 +198,0 @@ function getItemTitle(item) {

@@ -1,1 +0,1 @@

{"version":3,"file":"databases.js","sourceRoot":"","sources":["../../src/commands/databases.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEpF,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,MAAM,SAAS,GAAG,OAAO;SACtB,OAAO,CAAC,UAAU,CAAC;SACnB,KAAK,CAAC,WAAW,CAAC;SAClB,KAAK,CAAC,IAAI,CAAC;SACX,WAAW,CAAC,yBAAyB,CAAC,CAAC;IAE1C,eAAe;IACf,SAAS;SACN,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC;SACvC,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,OAAO,EAAE,EAAE;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,UAAU,EAAE,CAAC,CAAC;YAEvD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAG,EAAqB,CAAC,EAAE,CAAC,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAC7B,MAAM,KAAK,GAAI,EAAuD,CAAC,UAAU,CAAC;gBAClF,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjD,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,iBAAiB;IACjB,SAAS;SACN,OAAO,CAAC,qBAAqB,CAAC;SAC9B,WAAW,CAAC,kBAAkB,CAAC;SAC/B,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,CAAC;SACtD,MAAM,CAAC,0BAA0B,EAAE,uBAAuB,CAAC;SAC3D,MAAM,CAAC,sBAAsB,EAAE,qCAAqC,CAAC;SACrE,MAAM,CAAC,wBAAwB,EAAE,cAAc,CAAC;SAChD,MAAM,CAAC,+BAA+B,EAAE,6DAA6D,CAAC;SACtG,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,CAAC;SACnD,MAAM,CAAC,wBAAwB,EAAE,2BAA2B,EAAE,MAAM,CAAC;SACrE,MAAM,CAAC,sBAAsB,EAAE,aAAa,EAAE,KAAK,CAAC;SACpD,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;SAChD,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC;SACvC,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,OAAO,EAAE,EAAE;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAE3B,MAAM,IAAI,GAA4B,EAAE,CAAC;YAEzC,gBAAgB;YAChB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC;iBAAM,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC3E,IAAI,CAAC,MAAM,GAAG,WAAW,CACvB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,cAAc,CACvB,CAAC;YACJ,CAAC;YAED,cAAc;YACd,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC,KAAK,GAAG,CAAC;wBACZ,QAAQ,EAAE,OAAO,CAAC,IAAI;wBACtB,SAAS,EAAE,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY;qBAClE,CAAC,CAAC;YACL,CAAC;YAED,IAAI,OAAO,CAAC,KAAK;gBAAE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAChE,IAAI,OAAO,CAAC,MAAM;gBAAE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;YAEvD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,UAAU,QAAQ,EAAE,IAAI,CAAC,CAAC;YAExE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;gBAClC,OAAO;YACT,CAAC;YAED,MAAM,WAAW,GAAG,MAInB,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,SAAS,WAAW,CAAC,OAAO,CAAC,MAAM,WAAW,CAAC,CAAC;YAE5D,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBACvC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACnC,CAAC;YAED,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,0CAA0C,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,kBAAkB;IAClB,SAAS;SACN,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,uBAAuB,CAAC;SACpC,cAAc,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;SACtD,cAAc,CAAC,qBAAqB,EAAE,gBAAgB,CAAC;SACvD,MAAM,CAAC,UAAU,EAAE,2BAA2B,CAAC;SAC/C,MAAM,CAAC,+BAA+B,EAAE,+CAA+C,CAAC;SACxF,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC;SACvC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAE3B,MAAM,UAAU,GAA8E;gBAC5F,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,yBAAyB;aAC/C,CAAC;YAEF,8BAA8B;YAC9B,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACpC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACrC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;wBACjB,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,IAAI,GAA4B;gBACpC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE;gBACnC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC3D,UAAU;aACX,CAAC;YAEF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACxB,CAAC;YAED,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAEhD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAG,EAAqB,CAAC,EAAE,CAAC,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAG,EAAsB,CAAC,GAAG,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,kBAAkB;IAClB,SAAS;SACN,OAAO,CAAC,sBAAsB,CAAC;SAC/B,WAAW,CAAC,4BAA4B,CAAC;SACzC,MAAM,CAAC,qBAAqB,EAAE,WAAW,CAAC;SAC1C,MAAM,CAAC,wBAAwB,EAAE,gBAAgB,CAAC;SAClD,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,CAAC;SACnD,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC;SACvC,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,OAAO,EAAE,EAAE;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAE3B,MAAM,IAAI,GAA4B,EAAE,CAAC;YAEzC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,MAAM,UAAU,GAA4B,EAAE,CAAC;YAE/C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChD,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;oBACjB,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;gBACpC,CAAC;YACH,CAAC;YAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YACxC,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC/B,CAAC;YAED,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,aAAa,UAAU,EAAE,EAAE,IAAI,CAAC,CAAC;YAE/D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,YAAY,CAAC,IAA6C;IACjE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,IAA+D,CAAC;QAClF,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YAClD,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC;QACvE,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
{"version":3,"file":"databases.js","sourceRoot":"","sources":["../../src/commands/databases.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"duplicate.d.ts","sourceRoot":"","sources":["../../src/commands/duplicate.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkEpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4W/D"}
{"version":3,"file":"duplicate.d.ts","sourceRoot":"","sources":["../../src/commands/duplicate.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoEpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2U/D"}
import { getClient } from '../client.js';
import { fetchAllBlocks, getPageTitle, getDbTitle } from '../utils/notion-helpers.js';
import { fetchAllBlocks, getPageTitle, getDbTitle, isParentDatabase, getParentDatabaseId } from '../utils/notion-helpers.js';
import { getDatabaseSchema, queryAllPages } from '../utils/database-resolver.js';
import { withErrorHandler } from '../utils/command-handler.js';
// Clean block for duplication (remove IDs, etc.)

@@ -62,77 +64,71 @@ function cleanBlockForDuplication(block) {

.option('--no-content', 'Copy only properties, not content blocks')
.action(async (pageId, options) => {
try {
const client = getClient();
// Get source page
console.log('Fetching source page...');
const sourcePage = await client.get(`pages/${pageId}`);
const sourceTitle = getPageTitle(sourcePage);
// Determine parent
let parent;
if (options.to) {
parent = options.parentType === 'page'
? { page_id: options.to }
: { database_id: options.to };
.action(withErrorHandler(async (pageId, options) => {
const client = getClient();
// Get source page
console.log('Fetching source page...');
const sourcePage = await client.get(`pages/${pageId}`);
const sourceTitle = getPageTitle(sourcePage);
// Determine parent
let parent;
if (options.to) {
parent = options.parentType === 'page'
? { page_id: options.to }
: { database_id: options.to };
}
else {
// Use same parent as source
if (isParentDatabase(sourcePage.parent)) {
parent = { database_id: getParentDatabaseId(sourcePage.parent) };
}
else {
// Use same parent as source
if (sourcePage.parent.type === 'database_id') {
parent = { database_id: sourcePage.parent.database_id };
}
else {
parent = { page_id: sourcePage.parent.page_id };
}
parent = { page_id: sourcePage.parent.page_id };
}
// Prepare new title
const newTitle = options.title || `Copy of ${sourceTitle}`;
// Clone properties (with new title)
const newProperties = {};
for (const [name, value] of Object.entries(sourcePage.properties)) {
const prop = value;
if (prop.type === 'title') {
// Set new title
newProperties[name] = {
title: [{ text: { content: newTitle } }],
};
}
else if (
// Skip computed/readonly properties
prop.type !== 'created_time' &&
prop.type !== 'created_by' &&
prop.type !== 'last_edited_time' &&
prop.type !== 'last_edited_by' &&
prop.type !== 'formula' &&
prop.type !== 'rollup') {
newProperties[name] = { [prop.type]: prop[prop.type] };
}
}
// Prepare new title
const newTitle = options.title || `Copy of ${sourceTitle}`;
// Clone properties (with new title)
const newProperties = {};
for (const [name, value] of Object.entries(sourcePage.properties)) {
const prop = value;
if (prop.type === 'title') {
// Set new title
newProperties[name] = {
title: [{ text: { content: newTitle } }],
};
}
// Create new page
console.log('Creating new page...');
const newPage = await client.post('pages', {
parent,
properties: newProperties,
});
let blockCount = 0;
// Copy content if requested
if (options.content !== false) {
console.log('Copying content blocks...');
const sourceBlocks = await fetchAllBlocks(client, pageId);
if (sourceBlocks.length > 0) {
blockCount = await duplicateBlocksRecursive(client, sourceBlocks, newPage.id);
}
else if (
// Skip computed/readonly properties
prop.type !== 'created_time' &&
prop.type !== 'created_by' &&
prop.type !== 'last_edited_time' &&
prop.type !== 'last_edited_by' &&
prop.type !== 'formula' &&
prop.type !== 'rollup') {
newProperties[name] = { [prop.type]: prop[prop.type] };
}
console.log(`\n✅ Page duplicated`);
console.log(` Original: ${sourceTitle}`);
console.log(` New: ${newTitle}`);
console.log(` ID: ${newPage.id}`);
if (newPage.url)
console.log(` URL: ${newPage.url}`);
if (blockCount > 0)
console.log(` Copied ${blockCount} blocks`);
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
// Create new page
console.log('Creating new page...');
const newPage = await client.post('pages', {
parent,
properties: newProperties,
});
let blockCount = 0;
// Copy content if requested
if (options.content !== false) {
console.log('Copying content blocks...');
const sourceBlocks = await fetchAllBlocks(client, pageId);
if (sourceBlocks.length > 0) {
blockCount = await duplicateBlocksRecursive(client, sourceBlocks, newPage.id);
}
}
});
console.log(`\n✅ Page duplicated`);
console.log(` Original: ${sourceTitle}`);
console.log(` New: ${newTitle}`);
console.log(` ID: ${newPage.id}`);
if (newPage.url)
console.log(` URL: ${newPage.url}`);
if (blockCount > 0)
console.log(` Copied ${blockCount} blocks`);
}));
// Clone database structure (schema only)

@@ -145,99 +141,93 @@ duplicate

.option('-t, --title <title>', 'New database title')
.action(async (databaseId, options) => {
try {
const client = getClient();
// Get source database
console.log('Fetching source database schema...');
const sourceDb = await client.get(`databases/${databaseId}`);
const sourceTitle = getDbTitle(sourceDb);
// Prepare new title
const newTitle = options.title || `Copy of ${sourceTitle}`;
// Clone properties (excluding computed ones)
const newProperties = {};
for (const [name, schema] of Object.entries(sourceDb.properties)) {
// Skip formula and rollup as they depend on other DBs
if (schema.type === 'formula' ||
schema.type === 'rollup' ||
schema.type === 'created_time' ||
schema.type === 'created_by' ||
schema.type === 'last_edited_time' ||
schema.type === 'last_edited_by') {
.action(withErrorHandler(async (databaseId, options) => {
const client = getClient();
// Get source database
console.log('Fetching source database schema...');
const sourceDb = await getDatabaseSchema(client, databaseId);
const sourceTitle = getDbTitle(sourceDb);
// Prepare new title
const newTitle = options.title || `Copy of ${sourceTitle}`;
// Clone properties (excluding computed ones)
const newProperties = {};
for (const [name, schema] of Object.entries(sourceDb.properties)) {
// Skip formula and rollup as they depend on other DBs
if (schema.type === 'formula' ||
schema.type === 'rollup' ||
schema.type === 'created_time' ||
schema.type === 'created_by' ||
schema.type === 'last_edited_time' ||
schema.type === 'last_edited_by') {
continue;
}
// Skip relations to other DBs (would need special handling)
if (schema.type === 'relation') {
console.log(` ⚠️ Skipping relation property: ${name}`);
continue;
}
// Clone property
const propConfig = {};
switch (schema.type) {
case 'title':
propConfig.title = {};
break;
case 'rich_text':
propConfig.rich_text = {};
break;
case 'number':
propConfig.number = { format: schema.number?.format || 'number' };
break;
case 'select':
propConfig.select = { options: schema.select?.options || [] };
break;
case 'multi_select':
propConfig.multi_select = { options: schema.multi_select?.options || [] };
break;
case 'status':
propConfig.status = {
options: schema.status?.options || [],
groups: schema.status?.groups || [],
};
break;
case 'date':
propConfig.date = {};
break;
case 'people':
propConfig.people = {};
break;
case 'files':
propConfig.files = {};
break;
case 'checkbox':
propConfig.checkbox = {};
break;
case 'url':
propConfig.url = {};
break;
case 'email':
propConfig.email = {};
break;
case 'phone_number':
propConfig.phone_number = {};
break;
default:
console.log(` ⚠️ Skipping unsupported property type: ${name} (${schema.type})`);
continue;
}
// Skip relations to other DBs (would need special handling)
if (schema.type === 'relation') {
console.log(` ⚠️ Skipping relation property: ${name}`);
continue;
}
// Clone property
const propConfig = {};
switch (schema.type) {
case 'title':
propConfig.title = {};
break;
case 'rich_text':
propConfig.rich_text = {};
break;
case 'number':
propConfig.number = { format: schema.number?.format || 'number' };
break;
case 'select':
propConfig.select = { options: schema.select?.options || [] };
break;
case 'multi_select':
propConfig.multi_select = { options: schema.multi_select?.options || [] };
break;
case 'status':
propConfig.status = {
options: schema.status?.options || [],
groups: schema.status?.groups || [],
};
break;
case 'date':
propConfig.date = {};
break;
case 'people':
propConfig.people = {};
break;
case 'files':
propConfig.files = {};
break;
case 'checkbox':
propConfig.checkbox = {};
break;
case 'url':
propConfig.url = {};
break;
case 'email':
propConfig.email = {};
break;
case 'phone_number':
propConfig.phone_number = {};
break;
default:
console.log(` ⚠️ Skipping unsupported property type: ${name} (${schema.type})`);
continue;
}
newProperties[name] = propConfig;
}
// Create new database
console.log('Creating new database...');
const newDb = await client.post('databases', {
parent: { page_id: options.to },
title: [{ text: { content: newTitle } }],
properties: newProperties,
});
console.log(`\n✅ Database schema cloned`);
console.log(` Original: ${sourceTitle}`);
console.log(` New: ${newTitle}`);
console.log(` ID: ${newDb.id}`);
if (newDb.url)
console.log(` URL: ${newDb.url}`);
console.log(` Properties: ${Object.keys(newProperties).length}`);
newProperties[name] = propConfig;
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
});
// Create new database
console.log('Creating new database...');
const newDb = await client.post('databases', {
parent: { page_id: options.to },
title: [{ text: { content: newTitle } }],
properties: newProperties,
});
console.log(`\n✅ Database schema cloned`);
console.log(` Original: ${sourceTitle}`);
console.log(` New: ${newTitle}`);
console.log(` ID: ${newDb.id}`);
if (newDb.url)
console.log(` URL: ${newDb.url}`);
console.log(` Properties: ${Object.keys(newProperties).length}`);
}));
// Full database clone (structure + data)

@@ -253,144 +243,127 @@ duplicate

.option('--dry-run', 'Show what would be cloned')
.action(async (databaseId, options) => {
try {
const client = getClient();
// Get source database
console.log('Fetching source database...');
const sourceDb = await client.get(`databases/${databaseId}`);
const sourceTitle = getDbTitle(sourceDb);
// Query all entries
const entries = [];
let cursor;
do {
const body = { page_size: 100 };
if (cursor)
body.start_cursor = cursor;
if (options.limit && entries.length >= parseInt(options.limit, 10))
.action(withErrorHandler(async (databaseId, options) => {
const client = getClient();
// Get source database
console.log('Fetching source database...');
const sourceDb = await getDatabaseSchema(client, databaseId);
const sourceTitle = getDbTitle(sourceDb);
// Query all entries
const entries = await queryAllPages(client, databaseId, {
pageSize: 100,
limit: options.limit ? parseInt(options.limit, 10) : undefined,
onProgress: (fetched) => process.stdout.write(`\rFetching entries: ${fetched}...`),
});
console.log(`\rFound ${entries.length} entries to clone. `);
if (options.dryRun) {
console.log('\n🔍 Dry run - would clone:');
console.log(` Database: ${sourceTitle}`);
console.log(` Entries: ${entries.length}`);
console.log(` Target: page ${options.to}`);
return;
}
// Clone schema first
console.log('\nCloning database schema...');
const newTitle = options.title || `Copy of ${sourceTitle}`;
const newProperties = {};
for (const [name, schema] of Object.entries(sourceDb.properties)) {
if (['formula', 'rollup', 'relation', 'created_time', 'created_by',
'last_edited_time', 'last_edited_by'].includes(schema.type)) {
continue;
}
const propConfig = {};
switch (schema.type) {
case 'title':
propConfig.title = {};
break;
const result = await client.post(`databases/${databaseId}/query`, body);
entries.push(...result.results);
cursor = result.has_more ? result.next_cursor : undefined;
process.stdout.write(`\rFetching entries: ${entries.length}...`);
} while (cursor);
if (options.limit) {
entries.splice(parseInt(options.limit, 10));
case 'rich_text':
propConfig.rich_text = {};
break;
case 'number':
propConfig.number = { format: schema.number?.format || 'number' };
break;
case 'select':
propConfig.select = { options: schema.select?.options || [] };
break;
case 'multi_select':
propConfig.multi_select = { options: schema.multi_select?.options || [] };
break;
case 'status':
propConfig.status = { options: schema.status?.options || [], groups: schema.status?.groups || [] };
break;
case 'date':
propConfig.date = {};
break;
case 'people':
propConfig.people = {};
break;
case 'files':
propConfig.files = {};
break;
case 'checkbox':
propConfig.checkbox = {};
break;
case 'url':
propConfig.url = {};
break;
case 'email':
propConfig.email = {};
break;
case 'phone_number':
propConfig.phone_number = {};
break;
default: continue;
}
console.log(`\rFound ${entries.length} entries to clone. `);
if (options.dryRun) {
console.log('\n🔍 Dry run - would clone:');
console.log(` Database: ${sourceTitle}`);
console.log(` Entries: ${entries.length}`);
console.log(` Target: page ${options.to}`);
return;
}
// Clone schema first
console.log('\nCloning database schema...');
const newTitle = options.title || `Copy of ${sourceTitle}`;
const newProperties = {};
for (const [name, schema] of Object.entries(sourceDb.properties)) {
if (['formula', 'rollup', 'relation', 'created_time', 'created_by',
'last_edited_time', 'last_edited_by'].includes(schema.type)) {
continue;
newProperties[name] = propConfig;
}
const newDb = await client.post('databases', {
parent: { page_id: options.to },
title: [{ text: { content: newTitle } }],
properties: newProperties,
});
console.log(`Created database: ${newDb.id}`);
// Clone entries
console.log('Cloning entries...');
let cloned = 0;
let failed = 0;
for (const entry of entries) {
try {
// Prepare properties
const entryProps = {};
for (const [name, value] of Object.entries(entry.properties)) {
const prop = value;
if (['formula', 'rollup', 'relation', 'created_time', 'created_by',
'last_edited_time', 'last_edited_by'].includes(prop.type)) {
continue;
}
// Check if property exists in new schema
if (!newProperties[name])
continue;
entryProps[name] = { [prop.type]: prop[prop.type] };
}
const propConfig = {};
switch (schema.type) {
case 'title':
propConfig.title = {};
break;
case 'rich_text':
propConfig.rich_text = {};
break;
case 'number':
propConfig.number = { format: schema.number?.format || 'number' };
break;
case 'select':
propConfig.select = { options: schema.select?.options || [] };
break;
case 'multi_select':
propConfig.multi_select = { options: schema.multi_select?.options || [] };
break;
case 'status':
propConfig.status = { options: schema.status?.options || [], groups: schema.status?.groups || [] };
break;
case 'date':
propConfig.date = {};
break;
case 'people':
propConfig.people = {};
break;
case 'files':
propConfig.files = {};
break;
case 'checkbox':
propConfig.checkbox = {};
break;
case 'url':
propConfig.url = {};
break;
case 'email':
propConfig.email = {};
break;
case 'phone_number':
propConfig.phone_number = {};
break;
default: continue;
}
newProperties[name] = propConfig;
}
const newDb = await client.post('databases', {
parent: { page_id: options.to },
title: [{ text: { content: newTitle } }],
properties: newProperties,
});
console.log(`Created database: ${newDb.id}`);
// Clone entries
console.log('Cloning entries...');
let cloned = 0;
let failed = 0;
for (const entry of entries) {
try {
// Prepare properties
const entryProps = {};
for (const [name, value] of Object.entries(entry.properties)) {
const prop = value;
if (['formula', 'rollup', 'relation', 'created_time', 'created_by',
'last_edited_time', 'last_edited_by'].includes(prop.type)) {
continue;
}
// Check if property exists in new schema
if (!newProperties[name])
continue;
entryProps[name] = { [prop.type]: prop[prop.type] };
// Create page
const pageData = {
parent: { database_id: newDb.id },
properties: entryProps,
};
const newPage = await client.post('pages', pageData);
// Copy content if requested
if (options.content) {
const blocks = await fetchAllBlocks(client, entry.id);
if (blocks.length > 0) {
await duplicateBlocksRecursive(client, blocks, newPage.id);
}
// Create page
const pageData = {
parent: { database_id: newDb.id },
properties: entryProps,
};
const newPage = await client.post('pages', pageData);
// Copy content if requested
if (options.content) {
const blocks = await fetchAllBlocks(client, entry.id);
if (blocks.length > 0) {
await duplicateBlocksRecursive(client, blocks, newPage.id);
}
}
cloned++;
process.stdout.write(`\r📄 Cloned ${cloned}/${entries.length}...`);
}
catch (error) {
failed++;
console.error(`\n❌ Failed: ${error.message}`);
}
cloned++;
process.stdout.write(`\r📄 Cloned ${cloned}/${entries.length}...`);
}
console.log(`\n\n✅ Database cloned`);
console.log(` Entries: ${cloned} cloned${failed > 0 ? `, ${failed} failed` : ''}`);
console.log(` New database ID: ${newDb.id}`);
catch (error) {
failed++;
console.error(`\n❌ Failed: ${error.message}`);
}
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
});
console.log(`\n\n✅ Database cloned`);
console.log(` Entries: ${cloned} cloned${failed > 0 ? `, ${failed} failed` : ''}`);
console.log(` New database ID: ${newDb.id}`);
}));
}
//# sourceMappingURL=duplicate.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"duplicate.js","sourceRoot":"","sources":["../../src/commands/duplicate.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"duplicate.js","sourceRoot":"","sources":["../../src/commands/duplicate.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2JpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgI5D"}
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsFpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqG5D"}

@@ -5,6 +5,15 @@ import { getClient } from '../client.js';

import { richTextToMarkdown, } from '../utils/markdown.js';
import { blocksToMarkdownAsync } from '../utils/notion-helpers.js';
function getPageTitle(page) {
const props = page.properties;
for (const [, value] of Object.entries(props)) {
import { queryAllPages } from '../utils/database-resolver.js';
import { blocksToMarkdownAsync, getPropertyRawValue } from '../utils/notion-helpers.js';
import { withErrorHandler } from '../utils/command-handler.js';
/** Property raw value options pre-configured with markdown formatting for rich text. */
const markdownPropertyOptions = {
richTextFormatter: (rt) => richTextToMarkdown(rt),
};
/**
* Extract the title from a Notion page with markdown formatting (bold, italic, etc.).
* Used by export commands where rich text annotations must be preserved.
*/
function getPageTitleMarkdown(page) {
for (const value of Object.values(page.properties)) {
const prop = value;

@@ -17,61 +26,2 @@ if (prop.type === 'title' && prop.title) {

}
function propertyToValue(prop) {
const type = prop.type;
const data = prop[type];
switch (type) {
case 'title':
case 'rich_text':
return richTextToMarkdown(data);
case 'number':
return data;
case 'select':
return data?.name || null;
case 'multi_select':
return data?.map(s => s.name) || [];
case 'status':
return data?.name || null;
case 'date':
const dateData = data;
if (!dateData)
return null;
return dateData.end ? `${dateData.start} - ${dateData.end}` : dateData.start;
case 'checkbox':
return data;
case 'url':
case 'email':
case 'phone_number':
return data;
case 'people':
return data?.map(p => p.name).filter(Boolean) || [];
case 'files':
return data?.map(f => f.file?.url || f.external?.url || f.name) || [];
case 'relation':
return data?.map(r => r.id) || [];
case 'formula':
const formula = data;
switch (formula?.type) {
case 'string': return formula.string;
case 'number': return formula.number;
case 'boolean': return formula.boolean;
case 'date': return formula.date?.start;
default: return null;
}
case 'rollup':
const rollup = data;
switch (rollup?.type) {
case 'array': return rollup.array;
case 'number': return rollup.number;
case 'date': return rollup.date?.start;
default: return null;
}
case 'created_time':
case 'last_edited_time':
return data;
case 'created_by':
case 'last_edited_by':
return data?.name || null;
default:
return null;
}
}
function generateFrontmatter(page, includeId = true) {

@@ -96,3 +46,3 @@ const lines = ['---'];

continue; // Title is the filename
const val = propertyToValue(prop);
const val = getPropertyRawValue(prop, markdownPropertyOptions);
if (val === null || val === undefined || val === '')

@@ -140,34 +90,28 @@ continue;

.option('--no-frontmatter', 'Export only content, no frontmatter')
.action(async (pageId, options) => {
try {
const client = getClient();
// Fetch page
const page = await client.get(`pages/${pageId}`);
const title = getPageTitle(page);
let output = '';
// Add frontmatter
if (options.frontmatter !== false && options.obsidian) {
output += generateFrontmatter(page);
}
// Add title
output += `# ${title}\n\n`;
// Add content
if (options.content !== false) {
const content = await blocksToMarkdownAsync(client, pageId);
output += content;
}
// Output
if (options.output) {
fs.writeFileSync(options.output, output);
console.log(`✅ Exported to ${options.output}`);
}
else {
console.log(output);
}
.action(withErrorHandler(async (pageId, options) => {
const client = getClient();
// Fetch page
const page = await client.get(`pages/${pageId}`);
const title = getPageTitleMarkdown(page);
let output = '';
// Add frontmatter
if (options.frontmatter !== false && options.obsidian) {
output += generateFrontmatter(page);
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
// Add title
output += `# ${title}\n\n`;
// Add content
if (options.content !== false) {
const content = await blocksToMarkdownAsync(client, pageId);
output += content;
}
});
// Output
if (options.output) {
fs.writeFileSync(options.output, output);
console.log(`✅ Exported to ${options.output}`);
}
else {
console.log(output);
}
}));
// Export database to Obsidian vault

@@ -183,59 +127,42 @@ exportCmd

.option('--filter <json>', 'Filter as JSON')
.action(async (databaseId, options) => {
try {
const client = getClient();
// Determine output folder
const vaultPath = path.resolve(options.vault);
const outputFolder = options.folder
? path.join(vaultPath, options.folder)
: vaultPath;
// Create folder if needed
if (!fs.existsSync(outputFolder)) {
fs.mkdirSync(outputFolder, { recursive: true });
}
// Query database
const body = {};
if (options.limit)
body.page_size = parseInt(options.limit, 10);
if (options.filter)
body.filter = JSON.parse(options.filter);
let cursor;
let exported = 0;
do {
if (cursor)
body.start_cursor = cursor;
const result = await client.post(`databases/${databaseId}/query`, body);
for (const page of result.results) {
const title = getPageTitle(page);
const filename = sanitizeFilename(title) + '.md';
const filepath = path.join(outputFolder, filename);
let content = generateFrontmatter(page);
content += `# ${title}\n\n`;
if (options.content) {
try {
const pageContent = await blocksToMarkdownAsync(client, page.id);
content += pageContent;
}
catch {
content += `<!-- Failed to fetch content -->\n`;
}
}
fs.writeFileSync(filepath, content);
exported++;
process.stdout.write(`\r📄 Exported ${exported} pages...`);
.action(withErrorHandler(async (databaseId, options) => {
const client = getClient();
// Determine output folder
const vaultPath = path.resolve(options.vault);
const outputFolder = options.folder
? path.join(vaultPath, options.folder)
: vaultPath;
// Create folder if needed
if (!fs.existsSync(outputFolder)) {
fs.mkdirSync(outputFolder, { recursive: true });
}
// Query all pages from database
const pages = await queryAllPages(client, databaseId, {
filter: options.filter ? JSON.parse(options.filter) : undefined,
limit: options.limit ? parseInt(options.limit, 10) : undefined,
onProgress: (n) => process.stdout.write(`\r📄 Fetching ${n} pages...`),
});
let exported = 0;
for (const page of pages) {
const title = getPageTitleMarkdown(page);
const filename = sanitizeFilename(title) + '.md';
const filepath = path.join(outputFolder, filename);
let content = generateFrontmatter(page);
content += `# ${title}\n\n`;
if (options.content) {
try {
const pageContent = await blocksToMarkdownAsync(client, page.id);
content += pageContent;
}
cursor = result.has_more ? result.next_cursor : undefined;
// Respect limit
if (options.limit && exported >= parseInt(options.limit, 10)) {
cursor = undefined;
catch {
content += `<!-- Failed to fetch content -->\n`;
}
} while (cursor);
console.log(`\n✅ Exported ${exported} pages to ${outputFolder}`);
}
fs.writeFileSync(filepath, content);
exported++;
process.stdout.write(`\r📄 Exported ${exported}/${pages.length} pages...`);
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
});
console.log(`\n✅ Exported ${exported} pages to ${outputFolder}`);
}));
}
//# sourceMappingURL=export.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../src/commands/find.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6KpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2L1D"}
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../src/commands/find.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+KpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmL1D"}
import { getClient } from '../client.js';
import { formatOutput } from '../utils/format.js';
import { getPageTitle } from '../utils/notion-helpers.js';
import { getDatabaseSchema, queryDatabase } from '../utils/database-resolver.js';
import { withErrorHandler } from '../utils/command-handler.js';
// Parse natural language query into filter components

@@ -140,155 +142,149 @@ function parseQuery(query) {

.option('--llm', 'LLM-friendly output')
.action(async (query, options) => {
try {
const client = getClient();
// Get database schema first
const db = await client.get(`databases/${options.database}`);
const schema = db.properties;
// Parse the query
const parsed = parseQuery(query);
// Build filter
const filters = [];
// Status filter
if (parsed.statusFilter) {
const statusProp = findProperty(schema, ['status', 'select'], ['status', 'estado', 'state']);
if (statusProp) {
const statusValue = findStatusValue(schema, statusProp, parsed.statusFilter);
if (statusValue) {
const propType = schema[statusProp].type;
filters.push({
property: statusProp,
[propType]: { equals: statusValue },
});
}
}
}
// Assignee filter
if (parsed.assigneeFilter === 'empty') {
const assigneeProp = findProperty(schema, ['people'], ['assignee', 'asignado', 'owner', 'responsible', 'assigned']);
if (assigneeProp) {
.action(withErrorHandler(async (query, options) => {
const client = getClient();
// Get database schema first
const db = await getDatabaseSchema(client, options.database);
const schema = db.properties;
// Parse the query
const parsed = parseQuery(query);
// Build filter
const filters = [];
// Status filter
if (parsed.statusFilter) {
const statusProp = findProperty(schema, ['status', 'select'], ['status', 'estado', 'state']);
if (statusProp) {
const statusValue = findStatusValue(schema, statusProp, parsed.statusFilter);
if (statusValue) {
const propType = schema[statusProp].type;
filters.push({
property: assigneeProp,
people: { is_empty: true },
property: statusProp,
[propType]: { equals: statusValue },
});
}
}
// Date filter (deadline/due)
if (parsed.dateFilter) {
const dateProp = findProperty(schema, ['date'], ['deadline', 'due', 'fecha', 'date', 'vencimiento', 'due date']);
if (dateProp && parsed.dateFilter.type !== 'last_edited_today' &&
parsed.dateFilter.type !== 'created_today') {
if (parsed.dateFilter.type === 'this_week') {
filters.push({
property: dateProp,
date: { this_week: {} },
});
}
else if (parsed.dateFilter.value) {
filters.push({
property: dateProp,
date: { [parsed.dateFilter.type]: parsed.dateFilter.value },
});
}
}
// Handle last_edited filter (uses timestamp property)
if (parsed.dateFilter.type === 'last_edited_today') {
const today = new Date();
today.setHours(0, 0, 0, 0);
}
// Assignee filter
if (parsed.assigneeFilter === 'empty') {
const assigneeProp = findProperty(schema, ['people'], ['assignee', 'asignado', 'owner', 'responsible', 'assigned']);
if (assigneeProp) {
filters.push({
property: assigneeProp,
people: { is_empty: true },
});
}
}
// Date filter (deadline/due)
if (parsed.dateFilter) {
const dateProp = findProperty(schema, ['date'], ['deadline', 'due', 'fecha', 'date', 'vencimiento', 'due date']);
if (dateProp && parsed.dateFilter.type !== 'last_edited_today' &&
parsed.dateFilter.type !== 'created_today') {
if (parsed.dateFilter.type === 'this_week') {
filters.push({
timestamp: 'last_edited_time',
last_edited_time: { on_or_after: today.toISOString() },
property: dateProp,
date: { this_week: {} },
});
}
if (parsed.dateFilter.type === 'created_today') {
const today = new Date();
today.setHours(0, 0, 0, 0);
else if (parsed.dateFilter.value) {
filters.push({
timestamp: 'created_time',
created_time: { on_or_after: today.toISOString() },
property: dateProp,
date: { [parsed.dateFilter.type]: parsed.dateFilter.value },
});
}
}
// Priority filter
if (parsed.priorityFilter) {
const priorityProp = findProperty(schema, ['select'], ['priority', 'prioridad', 'importance', 'importancia']);
if (priorityProp) {
// Find matching priority value
const propData = schema[priorityProp].select;
const options = propData?.options || [];
const match = options.find(o => o.name.toLowerCase().includes(parsed.priorityFilter.toLowerCase()));
if (match) {
filters.push({
property: priorityProp,
select: { equals: match.name },
});
}
}
// Handle last_edited filter (uses timestamp property)
if (parsed.dateFilter.type === 'last_edited_today') {
const today = new Date();
today.setHours(0, 0, 0, 0);
filters.push({
timestamp: 'last_edited_time',
last_edited_time: { on_or_after: today.toISOString() },
});
}
// Build final filter
const filter = filters.length > 1
? { and: filters }
: filters.length === 1
? filters[0]
: undefined;
// Explain mode
if (options.explain) {
console.log('🔍 Parsed query:', JSON.stringify(parsed, null, 2));
console.log('\n📋 Generated filter:', JSON.stringify(filter, null, 2));
console.log('\n💡 To execute manually:');
console.log(`notion db query ${options.database} --filter '${JSON.stringify(filter)}'`);
return;
if (parsed.dateFilter.type === 'created_today') {
const today = new Date();
today.setHours(0, 0, 0, 0);
filters.push({
timestamp: 'created_time',
created_time: { on_or_after: today.toISOString() },
});
}
// Execute query
const body = {
page_size: parseInt(options.limit, 10),
};
if (filter)
body.filter = filter;
const result = await client.post(`databases/${options.database}/query`, body);
// Output
if (options.json) {
console.log(formatOutput(result));
return;
}
if (options.llm) {
console.log(`## Found ${result.results.length} results for: "${query}"\n`);
if (filter) {
console.log(`Filter applied: \`${JSON.stringify(filter)}\`\n`);
}
// Priority filter
if (parsed.priorityFilter) {
const priorityProp = findProperty(schema, ['select'], ['priority', 'prioridad', 'importance', 'importancia']);
if (priorityProp) {
// Find matching priority value
const propData = schema[priorityProp].select;
const options = propData?.options || [];
const match = options.find(o => o.name.toLowerCase().includes(parsed.priorityFilter.toLowerCase()));
if (match) {
filters.push({
property: priorityProp,
select: { equals: match.name },
});
}
result.results.forEach((page, i) => {
const title = getPageTitle(page);
console.log(`${i + 1}. **${title}**`);
console.log(` ID: ${page.id}`);
if (page.url)
console.log(` URL: ${page.url}`);
});
if (result.has_more) {
console.log(`\n*More results available*`);
}
return;
}
// Standard output
console.log(`Found ${result.results.length} results for: "${query}"\n`);
if (result.results.length === 0) {
console.log('No matching entries found.');
return;
}
// Build final filter
const filter = filters.length > 1
? { and: filters }
: filters.length === 1
? filters[0]
: undefined;
// Explain mode
if (options.explain) {
console.log('🔍 Parsed query:', JSON.stringify(parsed, null, 2));
console.log('\n📋 Generated filter:', JSON.stringify(filter, null, 2));
console.log('\n💡 To execute manually:');
console.log(`notion db query ${options.database} --filter '${JSON.stringify(filter)}'`);
return;
}
// Execute query
const body = {
page_size: parseInt(options.limit, 10),
};
if (filter)
body.filter = filter;
const result = await queryDatabase(client, options.database, body);
// Output
if (options.json) {
console.log(formatOutput(result));
return;
}
if (options.llm) {
console.log(`## Found ${result.results.length} results for: "${query}"\n`);
if (filter) {
console.log(`Filter applied: \`${JSON.stringify(filter)}\`\n`);
}
for (const page of result.results) {
result.results.forEach((page, i) => {
const title = getPageTitle(page);
console.log(`📄 ${title}`);
console.log(`${i + 1}. **${title}**`);
console.log(` ID: ${page.id}`);
if (page.url)
console.log(` URL: ${page.url}`);
console.log('');
}
});
if (result.has_more) {
console.log(`More results available. Use --limit to fetch more.`);
console.log(`\n*More results available*`);
}
return;
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
// Standard output
console.log(`Found ${result.results.length} results for: "${query}"\n`);
if (result.results.length === 0) {
console.log('No matching entries found.');
return;
}
});
for (const page of result.results) {
const title = getPageTitle(page);
console.log(`📄 ${title}`);
console.log(` ID: ${page.id}`);
if (page.url)
console.log(` URL: ${page.url}`);
console.log('');
}
if (result.has_more) {
console.log(`More results available. Use --limit to fetch more.`);
}
}));
}
//# sourceMappingURL=find.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/commands/find.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/commands/find.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"help-agent.d.ts","sourceRoot":"","sources":["../../src/commands/help-agent.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8G/D"}
{"version":3,"file":"help-agent.d.ts","sourceRoot":"","sources":["../../src/commands/help-agent.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiH/D"}

@@ -17,4 +17,5 @@ export function registerHelpAgentCommand(program) {

\`\`\`bash
notion inspect ws # List all accessible databases
notion inspect schema <db_id> # Get database schema with property types
notion inspect ws --compact # List all accessible databases
notion inspect ws --json # Full raw inventory
notion inspect schema <db_id> --llm # Get database schema with valid values
notion inspect context <db_id> # Full context for working with a database

@@ -27,2 +28,3 @@ \`\`\`

notion db query <db_id> --limit 10 # Query database entries
notion db query <db_id> --limit 10 --json
notion find "overdue tasks" -d <db_id> # Smart natural language query

@@ -47,2 +49,3 @@ \`\`\`

notion page get <page_id> --content # Include content blocks
notion page get <page_id> --json # Raw JSON
notion ai summarize <page_id> # Get concise summary

@@ -95,3 +98,3 @@ \`\`\`

- --json or -j: Raw JSON (for parsing)
- --llm: Optimized for LLM consumption
- --llm: Supported on selected commands such as find, batch, and inspect schema

@@ -98,0 +101,0 @@ ## Tips for AI Agents

@@ -1,1 +0,1 @@

{"version":3,"file":"help-agent.js","sourceRoot":"","sources":["../../src/commands/help-agent.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,OAAO;SACJ,OAAO,CAAC,YAAY,CAAC;SACrB,KAAK,CAAC,IAAI,CAAC;SACX,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsGjB,CAAC,CAAC;IACC,CAAC,CAAC,CAAC;AACP,CAAC"}
{"version":3,"file":"help-agent.js","sourceRoot":"","sources":["../../src/commands/help-agent.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,OAAO;SACJ,OAAO,CAAC,YAAY,CAAC;SACrB,KAAK,CAAC,IAAI,CAAC;SACX,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyGjB,CAAC,CAAC;IACC,CAAC,CAAC,CAAC;AACP,CAAC"}

@@ -1,1 +0,1 @@

{"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/commands/import.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoMpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+T5D"}
{"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/commands/import.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmNpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6T5D"}

@@ -5,2 +5,4 @@ import { getClient } from '../client.js';

import { markdownToBlocks } from '../utils/markdown.js';
import { getDatabaseSchema } from '../utils/database-resolver.js';
import { withErrorHandler } from '../utils/command-handler.js';
// Parse YAML frontmatter from markdown content

@@ -68,5 +70,6 @@ function parseFrontMatter(content) {

const properties = {};
const skippedProps = [];
for (const [key, value] of Object.entries(frontMatter)) {
// Skip notion-specific metadata
if (key === 'notion_id' || key === 'notion_url')
// Skip notion-specific metadata and title (handled separately by caller)
if (key === 'notion_id' || key === 'notion_url' || key === 'title')
continue;

@@ -84,4 +87,6 @@ // Find matching property (case-insensitive, underscores to spaces)

}
if (!propName || !propSchema)
if (!propName || !propSchema) {
skippedProps.push(key);
continue;
}
// Convert value based on property type

@@ -128,5 +133,12 @@ switch (propSchema.type) {

break;
case 'phone_number':
properties[propName] = { phone_number: String(value) || null };
break;
default:
// Unsupported types: people, relation, files, formula, rollup, created_by, etc.
skippedProps.push(`${propName} (${propSchema.type})`);
break;
}
}
return properties;
return { properties, skipped: skippedProps };
}

@@ -176,87 +188,91 @@ // Find title property in schema

.option('--limit <number>', 'Max files to import')
.action(async (vaultPath, options) => {
try {
const client = getClient();
// Get database schema
const db = await client.get(`databases/${options.to}`);
const titleProp = findTitleProperty(db.properties);
// Find markdown files
const basePath = options.folder
? path.join(vaultPath, options.folder)
: vaultPath;
if (!fs.existsSync(basePath)) {
console.error(`Error: Path not found: ${basePath}`);
process.exit(1);
}
const files = [];
function scanDir(dir) {
const entries = fs.readdirSync(dir, { withFileTypes: true });
for (const entry of entries) {
if (entry.name.startsWith('.'))
continue;
const fullPath = path.join(dir, entry.name);
if (entry.isDirectory()) {
scanDir(fullPath);
}
else if (entry.name.endsWith('.md')) {
files.push(fullPath);
}
.action(withErrorHandler(async (vaultPath, options) => {
const client = getClient();
// Get database schema
const db = await getDatabaseSchema(client, options.to);
const titleProp = findTitleProperty(db.properties);
// Find markdown files
const basePath = options.folder
? path.join(vaultPath, options.folder)
: vaultPath;
if (!fs.existsSync(basePath)) {
console.error(`Error: Path not found: ${basePath}`);
process.exit(1);
}
const files = [];
function scanDir(dir) {
const entries = fs.readdirSync(dir, { withFileTypes: true });
for (const entry of entries) {
if (entry.name.startsWith('.'))
continue;
const fullPath = path.join(dir, entry.name);
if (entry.isDirectory()) {
scanDir(fullPath);
}
else if (entry.name.endsWith('.md')) {
files.push(fullPath);
}
}
scanDir(basePath);
if (options.limit) {
files.splice(parseInt(options.limit, 10));
}
scanDir(basePath);
if (options.limit) {
files.splice(parseInt(options.limit, 10));
}
console.log(`Found ${files.length} markdown files\n`);
if (options.dryRun) {
console.log('Files to import:');
files.slice(0, 20).forEach(f => {
const name = path.basename(f, '.md');
console.log(` - ${name}`);
});
if (files.length > 20) {
console.log(` ... and ${files.length - 20} more`);
}
console.log(`Found ${files.length} markdown files\n`);
if (options.dryRun) {
console.log('Files to import:');
files.slice(0, 20).forEach(f => {
const name = path.basename(f, '.md');
console.log(` - ${name}`);
});
if (files.length > 20) {
console.log(` ... and ${files.length - 20} more`);
console.log('\n🔍 Dry run - no changes made');
return;
}
let imported = 0;
let failed = 0;
for (const file of files) {
try {
const content = fs.readFileSync(file, 'utf-8');
const { frontMatter, body } = parseFrontMatter(content);
// Get title from filename or frontmatter
const title = frontMatter.title || path.basename(file, '.md');
// Convert frontmatter to properties
const { properties, skipped } = frontMatterToProperties(frontMatter, db.properties, titleProp);
if (skipped.length > 0) {
console.warn(`\n⚠️ ${path.basename(file)}: skipped unsupported properties: ${skipped.join(', ')}`);
}
console.log('\n🔍 Dry run - no changes made');
return;
}
let imported = 0;
let failed = 0;
for (const file of files) {
try {
const content = fs.readFileSync(file, 'utf-8');
const { frontMatter, body } = parseFrontMatter(content);
// Get title from filename or frontmatter
const title = frontMatter.title || path.basename(file, '.md');
// Convert frontmatter to properties
const properties = frontMatterToProperties(frontMatter, db.properties, titleProp);
// Add title
properties[titleProp] = {
title: [{ text: { content: title } }],
};
// Create page
const pageData = {
parent: { database_id: options.to },
properties,
};
// Add content if requested
if (options.content && body.trim()) {
pageData.children = markdownToBlocks(body).slice(0, 100); // Notion limit
}
await client.post('pages', pageData);
imported++;
process.stdout.write(`\r📥 Imported ${imported}/${files.length}...`);
// Add title
properties[titleProp] = {
title: [{ text: { content: title } }],
};
// Create page
const pageData = {
parent: { database_id: options.to },
properties,
};
// Add content if requested — chunk at 100 blocks (Notion API limit per request)
const contentBlocks = (options.content && body.trim()) ? markdownToBlocks(body) : [];
// First 100 blocks can be included in the create request
if (contentBlocks.length > 0) {
pageData.children = contentBlocks.slice(0, 100);
}
catch (error) {
failed++;
console.error(`\n❌ Failed to import ${path.basename(file)}: ${error.message}`);
const createdPage = await client.post('pages', pageData);
// Append remaining blocks in chunks of 100
for (let i = 100; i < contentBlocks.length; i += 100) {
const chunk = contentBlocks.slice(i, i + 100);
await client.patch(`blocks/${createdPage.id}/children`, { children: chunk });
}
imported++;
process.stdout.write(`\r📥 Imported ${imported}/${files.length}...`);
}
console.log(`\n\n✅ Imported ${imported} files${failed > 0 ? `, ${failed} failed` : ''}`);
catch (error) {
failed++;
console.error(`\n❌ Failed to import ${path.basename(file)}: ${error.message}`);
}
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
});
console.log(`\n\n✅ Imported ${imported} files${failed > 0 ? `, ${failed} failed` : ''}`);
}));
// Import from CSV

@@ -270,116 +286,110 @@ importCmd

.option('--limit <number>', 'Max rows to import')
.action(async (filePath, options) => {
try {
const client = getClient();
// Get database schema
const db = await client.get(`databases/${options.to}`);
const titleProp = findTitleProperty(db.properties);
// Read CSV
const content = fs.readFileSync(filePath, 'utf-8');
const lines = content.split('\n').filter(l => l.trim());
if (lines.length < 2) {
console.error('Error: CSV must have header row and at least one data row');
process.exit(1);
}
const headers = parseCSVLine(lines[0]);
let dataLines = lines.slice(1);
if (options.limit) {
dataLines = dataLines.slice(0, parseInt(options.limit, 10));
}
console.log(`Found ${dataLines.length} rows to import`);
console.log(`Columns: ${headers.join(', ')}\n`);
if (options.dryRun) {
console.log('Preview (first 5 rows):');
dataLines.slice(0, 5).forEach((line, i) => {
const values = parseCSVLine(line);
const titleIdx = headers.findIndex(h => h.toLowerCase() === options.titleColumn.toLowerCase());
const title = titleIdx >= 0 ? values[titleIdx] : values[0];
console.log(` ${i + 1}. ${title}`);
});
console.log('\n🔍 Dry run - no changes made');
return;
}
let imported = 0;
let failed = 0;
for (const line of dataLines) {
try {
const values = parseCSVLine(line);
const properties = {};
// Map CSV columns to Notion properties
for (let i = 0; i < headers.length; i++) {
const header = headers[i];
const value = values[i] || '';
// Find matching property
let propName = null;
let propSchema = null;
for (const [schemaName, schemaProp] of Object.entries(db.properties)) {
if (schemaName.toLowerCase() === header.toLowerCase()) {
propName = schemaName;
propSchema = schemaProp;
break;
}
.action(withErrorHandler(async (filePath, options) => {
const client = getClient();
// Get database schema
const db = await getDatabaseSchema(client, options.to);
const titleProp = findTitleProperty(db.properties);
// Read CSV
const content = fs.readFileSync(filePath, 'utf-8');
const lines = content.split('\n').filter(l => l.trim());
if (lines.length < 2) {
console.error('Error: CSV must have header row and at least one data row');
process.exit(1);
}
const headers = parseCSVLine(lines[0]);
let dataLines = lines.slice(1);
if (options.limit) {
dataLines = dataLines.slice(0, parseInt(options.limit, 10));
}
console.log(`Found ${dataLines.length} rows to import`);
console.log(`Columns: ${headers.join(', ')}\n`);
if (options.dryRun) {
console.log('Preview (first 5 rows):');
dataLines.slice(0, 5).forEach((line, i) => {
const values = parseCSVLine(line);
const titleIdx = headers.findIndex(h => h.toLowerCase() === options.titleColumn.toLowerCase());
const title = titleIdx >= 0 ? values[titleIdx] : values[0];
console.log(` ${i + 1}. ${title}`);
});
console.log('\n🔍 Dry run - no changes made');
return;
}
let imported = 0;
let failed = 0;
for (const line of dataLines) {
try {
const values = parseCSVLine(line);
const properties = {};
// Map CSV columns to Notion properties
for (let i = 0; i < headers.length; i++) {
const header = headers[i];
const value = values[i] || '';
// Find matching property
let propName = null;
let propSchema = null;
for (const [schemaName, schemaProp] of Object.entries(db.properties)) {
if (schemaName.toLowerCase() === header.toLowerCase()) {
propName = schemaName;
propSchema = schemaProp;
break;
}
if (!propName || !propSchema || !value)
continue;
// Convert based on type
switch (propSchema.type) {
case 'title':
properties[propName] = { title: [{ text: { content: value } }] };
break;
case 'rich_text':
properties[propName] = { rich_text: [{ text: { content: value } }] };
break;
case 'number':
properties[propName] = { number: parseFloat(value) || null };
break;
case 'checkbox':
properties[propName] = { checkbox: value.toLowerCase() === 'true' };
break;
case 'select':
properties[propName] = { select: { name: value } };
break;
case 'multi_select':
properties[propName] = {
multi_select: value.split(',').map(v => ({ name: v.trim() })),
};
break;
case 'status':
properties[propName] = { status: { name: value } };
break;
case 'date':
properties[propName] = { date: { start: value } };
break;
case 'url':
properties[propName] = { url: value };
break;
case 'email':
properties[propName] = { email: value };
break;
}
}
// Ensure title is set
if (!properties[titleProp]) {
const titleIdx = headers.findIndex(h => h.toLowerCase() === options.titleColumn.toLowerCase());
const title = titleIdx >= 0 ? values[titleIdx] : values[0] || 'Untitled';
properties[titleProp] = { title: [{ text: { content: title } }] };
if (!propName || !propSchema || !value)
continue;
// Convert based on type
switch (propSchema.type) {
case 'title':
properties[propName] = { title: [{ text: { content: value } }] };
break;
case 'rich_text':
properties[propName] = { rich_text: [{ text: { content: value } }] };
break;
case 'number':
properties[propName] = { number: parseFloat(value) || null };
break;
case 'checkbox':
properties[propName] = { checkbox: value.toLowerCase() === 'true' };
break;
case 'select':
properties[propName] = { select: { name: value } };
break;
case 'multi_select':
properties[propName] = {
multi_select: value.split(',').map(v => ({ name: v.trim() })),
};
break;
case 'status':
properties[propName] = { status: { name: value } };
break;
case 'date':
properties[propName] = { date: { start: value } };
break;
case 'url':
properties[propName] = { url: value };
break;
case 'email':
properties[propName] = { email: value };
break;
}
await client.post('pages', {
parent: { database_id: options.to },
properties,
});
imported++;
process.stdout.write(`\r📥 Imported ${imported}/${dataLines.length}...`);
}
catch (error) {
failed++;
console.error(`\n❌ Failed: ${error.message}`);
// Ensure title is set
if (!properties[titleProp]) {
const titleIdx = headers.findIndex(h => h.toLowerCase() === options.titleColumn.toLowerCase());
const title = titleIdx >= 0 ? values[titleIdx] : values[0] || 'Untitled';
properties[titleProp] = { title: [{ text: { content: title } }] };
}
await client.post('pages', {
parent: { database_id: options.to },
properties,
});
imported++;
process.stdout.write(`\r📥 Imported ${imported}/${dataLines.length}...`);
}
console.log(`\n\n✅ Imported ${imported} rows${failed > 0 ? `, ${failed} failed` : ''}`);
catch (error) {
failed++;
console.error(`\n❌ Failed: ${error.message}`);
}
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
});
console.log(`\n\n✅ Imported ${imported} rows${failed > 0 ? `, ${failed} failed` : ''}`);
}));
// Import single markdown file to page

@@ -392,52 +402,46 @@ importCmd

.option('--dry-run', 'Show what would be imported')
.action(async (filePath, options) => {
try {
const client = getClient();
// Read file
const content = fs.readFileSync(filePath, 'utf-8');
const { body } = parseFrontMatter(content);
// Convert to blocks
const blocks = markdownToBlocks(body);
console.log(`Parsed ${blocks.length} blocks from ${path.basename(filePath)}`);
if (options.dryRun) {
console.log('\nBlocks to create:');
blocks.slice(0, 10).forEach((block, i) => {
const type = block.type;
console.log(` ${i + 1}. ${type}`);
});
if (blocks.length > 10) {
console.log(` ... and ${blocks.length - 10} more`);
}
console.log('\n🔍 Dry run - no changes made');
return;
.action(withErrorHandler(async (filePath, options) => {
const client = getClient();
// Read file
const content = fs.readFileSync(filePath, 'utf-8');
const { body } = parseFrontMatter(content);
// Convert to blocks
const blocks = markdownToBlocks(body);
console.log(`Parsed ${blocks.length} blocks from ${path.basename(filePath)}`);
if (options.dryRun) {
console.log('\nBlocks to create:');
blocks.slice(0, 10).forEach((block, i) => {
const type = block.type;
console.log(` ${i + 1}. ${type}`);
});
if (blocks.length > 10) {
console.log(` ... and ${blocks.length - 10} more`);
}
// Delete existing blocks if replace mode
if (options.replace) {
console.log('Removing existing content...');
const existing = await client.get(`blocks/${options.to}/children`);
for (const block of existing.results) {
await client.delete(`blocks/${block.id}`);
}
console.log('\n🔍 Dry run - no changes made');
return;
}
// Delete existing blocks if replace mode
if (options.replace) {
console.log('Removing existing content...');
const existing = await client.get(`blocks/${options.to}/children`);
for (const block of existing.results) {
await client.delete(`blocks/${block.id}`);
}
// Append blocks (Notion has a limit of 100 per request)
const chunks = [];
for (let i = 0; i < blocks.length; i += 100) {
chunks.push(blocks.slice(i, i + 100));
}
let added = 0;
for (const chunk of chunks) {
await client.patch(`blocks/${options.to}/children`, {
children: chunk,
});
added += chunk.length;
process.stdout.write(`\r📥 Added ${added}/${blocks.length} blocks...`);
}
console.log(`\n\n✅ Imported ${blocks.length} blocks to page`);
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
// Append blocks (Notion has a limit of 100 per request)
const chunks = [];
for (let i = 0; i < blocks.length; i += 100) {
chunks.push(blocks.slice(i, i + 100));
}
});
let added = 0;
for (const chunk of chunks) {
await client.patch(`blocks/${options.to}/children`, {
children: chunk,
});
added += chunk.length;
process.stdout.write(`\r📥 Added ${added}/${blocks.length} blocks...`);
}
console.log(`\n\n✅ Imported ${blocks.length} blocks to page`);
}));
}
//# sourceMappingURL=import.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/commands/import.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/commands/import.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsEpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqT7D"}
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgFpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkT7D"}
import { getClient } from '../client.js';
import { formatOutput } from '../utils/format.js';
import { getDbTitle, getDbDescription } from '../utils/notion-helpers.js';
import { getDatabaseSchema, queryDatabase } from '../utils/database-resolver.js';
import { withErrorHandler } from '../utils/command-handler.js';
function isMultiDataSource(db) {
return Array.isArray(db.data_sources) && db.data_sources.length > 1;
}
function formatPropertyType(prop) {

@@ -35,3 +40,3 @@ const type = prop.type;

case 'relation': {
const relatedDb = data?.database_id || 'unknown';
const relatedDb = data?.data_source_id || data?.database_id || 'unknown';
return `relation → ${relatedDb.slice(0, 8)}...`;

@@ -63,29 +68,35 @@ }

.option('--compact', 'Compact output (names only)')
.action(async (options) => {
try {
const client = getClient();
// Search for all databases
const result = await client.post('search', {
filter: { property: 'object', value: 'database' },
page_size: parseInt(options.limit, 10),
});
if (options.json) {
console.log(formatOutput(result.results));
return;
}
console.log(`Found ${result.results.length} accessible database(s):\n`);
for (const db of result.results) {
.action(withErrorHandler(async (options) => {
const client = getClient();
// Search for all databases (data_source in API v2025-09-03)
const result = await client.post('search', {
filter: { property: 'object', value: 'data_source' },
page_size: parseInt(options.limit, 10),
});
if (options.json) {
console.log(formatOutput(result.results));
return;
}
console.log(`Found ${result.results.length} accessible database(s):\n`);
for (const db of result.results) {
try {
const title = getDbTitle(db);
const multiSource = isMultiDataSource(db);
const multiTag = multiSource ? ' [multi-source]' : '';
const desc = getDbDescription(db);
if (options.compact) {
console.log(`📊 ${title} (${db.id.slice(0, 8)}...)`);
console.log(`📊 ${title} (${db.id.slice(0, 8)}...)${multiTag}`);
continue;
}
console.log(`📊 ${title}`);
console.log(`📊 ${title}${multiTag}`);
console.log(` ID: ${db.id}`);
if (desc)
console.log(` Description: ${desc}`);
// List properties
const props = Object.entries(db.properties)
.filter(([, p]) => p.type !== 'title') // Skip title, it's obvious
if (multiSource && db.data_sources) {
console.log(` Data sources: ${db.data_sources.map(ds => ds.id).join(', ')}`);
}
// List properties (guard against missing properties on multi-DS)
const properties = db.properties || {};
const props = Object.entries(properties)
.filter(([, p]) => p.type !== 'title')
.slice(0, 8);

@@ -97,3 +108,3 @@ if (props.length > 0) {

}
const totalProps = Object.keys(db.properties).length;
const totalProps = Object.keys(properties).length;
if (totalProps > 9) {

@@ -105,8 +116,8 @@ console.log(` ... and ${totalProps - 9} more`);

}
catch (dbError) {
console.warn(` Warning: could not read database ${db?.id || 'unknown'}: ${dbError.message}`);
console.log('');
}
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
});
}));
// Get detailed schema for a database

@@ -118,65 +129,22 @@ inspect

.option('--llm', 'Output optimized for LLM consumption')
.action(async (databaseId, options) => {
try {
const client = getClient();
const db = await client.get(`databases/${databaseId}`);
if (options.json) {
console.log(formatOutput(db));
return;
}
const title = getDbTitle(db);
const desc = getDbDescription(db);
if (options.llm) {
// Compact LLM-friendly format
console.log(`# Database: ${title}\n`);
console.log(`ID: ${db.id}`);
if (desc)
console.log(`Description: ${desc}`);
console.log(`\n## Properties\n`);
for (const [name, prop] of Object.entries(db.properties)) {
const typeInfo = formatPropertyType(prop);
console.log(`- **${name}** (${typeInfo})`);
// Add options for select/status
if (prop.type === 'select' || prop.type === 'multi_select') {
const data = prop[prop.type];
const opts = data?.options || [];
if (opts.length > 0) {
console.log(` Options: ${opts.map(o => `"${o.name}"`).join(', ')}`);
}
}
else if (prop.type === 'status') {
const data = prop.status;
const opts = data?.options || [];
const groups = data?.groups || [];
for (const group of groups) {
const groupOpts = opts.filter(o => group.option_ids.includes(o.id));
if (groupOpts.length > 0) {
console.log(` ${group.name}: ${groupOpts.map(o => `"${o.name}"`).join(', ')}`);
}
}
}
}
console.log(`\n## Usage Examples\n`);
console.log('```bash');
console.log(`# Query this database`);
console.log(`notion db query ${databaseId.slice(0, 8)}... --limit 10`);
console.log('');
console.log(`# Create a new entry`);
console.log(`notion page create --parent ${databaseId.slice(0, 8)}... --title "New Item"`);
console.log('```');
return;
}
// Standard detailed output
console.log(`📊 Database: ${title}`);
.action(withErrorHandler(async (databaseId, options) => {
const client = getClient();
const db = await getDatabaseSchema(client, databaseId);
if (options.json) {
console.log(formatOutput(db));
return;
}
const title = getDbTitle(db);
const desc = getDbDescription(db);
if (options.llm) {
// Compact LLM-friendly format
console.log(`# Database: ${title}\n`);
console.log(`ID: ${db.id}`);
if (db.url)
console.log(`URL: ${db.url}`);
if (desc)
console.log(`Description: ${desc}`);
console.log('\nProperties:\n');
console.log(`\n## Properties\n`);
for (const [name, prop] of Object.entries(db.properties)) {
console.log(` ${name}`);
console.log(` Type: ${prop.type}`);
console.log(` ID: ${prop.id}`);
// Show options for select/multi_select
const typeInfo = formatPropertyType(prop);
console.log(`- **${name}** (${typeInfo})`);
// Add options for select/status
if (prop.type === 'select' || prop.type === 'multi_select') {

@@ -186,33 +154,71 @@ const data = prop[prop.type];

if (opts.length > 0) {
console.log(` Options: ${opts.map(o => o.name).join(', ')}`);
console.log(` Options: ${opts.map(o => `"${o.name}"`).join(', ')}`);
}
}
// Show status options grouped
if (prop.type === 'status') {
else if (prop.type === 'status') {
const data = prop.status;
const opts = data?.options || [];
const groups = data?.groups || [];
console.log(' Status groups:');
for (const group of groups) {
const groupOpts = opts.filter(o => group.option_ids.includes(o.id));
if (groupOpts.length > 0) {
console.log(` ${group.name}: ${groupOpts.map(o => o.name).join(', ')}`);
console.log(` ${group.name}: ${groupOpts.map(o => `"${o.name}"`).join(', ')}`);
}
}
}
// Show relation info
if (prop.type === 'relation') {
const data = prop.relation;
if (data?.database_id) {
console.log(` Related database: ${data.database_id}`);
}
console.log(`\n## Usage Examples\n`);
console.log('```bash');
console.log(`# Query this database`);
console.log(`notion db query ${databaseId.slice(0, 8)}... --limit 10`);
console.log('');
console.log(`# Create a new entry`);
console.log(`notion page create --parent ${databaseId.slice(0, 8)}... --title "New Item"`);
console.log('```');
return;
}
// Standard detailed output
console.log(`📊 Database: ${title}`);
console.log(`ID: ${db.id}`);
if (db.url)
console.log(`URL: ${db.url}`);
if (desc)
console.log(`Description: ${desc}`);
console.log('\nProperties:\n');
for (const [name, prop] of Object.entries(db.properties)) {
console.log(` ${name}`);
console.log(` Type: ${prop.type}`);
console.log(` ID: ${prop.id}`);
// Show options for select/multi_select
if (prop.type === 'select' || prop.type === 'multi_select') {
const data = prop[prop.type];
const opts = data?.options || [];
if (opts.length > 0) {
console.log(` Options: ${opts.map(o => o.name).join(', ')}`);
}
}
// Show status options grouped
if (prop.type === 'status') {
const data = prop.status;
const opts = data?.options || [];
const groups = data?.groups || [];
console.log(' Status groups:');
for (const group of groups) {
const groupOpts = opts.filter(o => group.option_ids.includes(o.id));
if (groupOpts.length > 0) {
console.log(` ${group.name}: ${groupOpts.map(o => o.name).join(', ')}`);
}
}
console.log('');
}
// Show relation info
if (prop.type === 'relation') {
const data = prop.relation;
const relId = data?.data_source_id ?? data?.database_id;
if (relId) {
console.log(` Related database: ${relId}`);
}
}
console.log('');
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
});
}));
// Generate context for LLM

@@ -223,112 +229,104 @@ inspect

.option('--examples <number>', 'Number of example entries to include', '3')
.action(async (databaseId, options) => {
try {
const client = getClient();
// Get database schema
const db = await client.get(`databases/${databaseId}`);
const title = getDbTitle(db);
const desc = getDbDescription(db);
// Get example entries
const examples = await client.post(`databases/${databaseId}/query`, {
page_size: parseInt(options.examples, 10),
});
// Generate context
console.log(`# Notion Database Context: ${title}\n`);
if (desc) {
console.log(`> ${desc}\n`);
.action(withErrorHandler(async (databaseId, options) => {
const client = getClient();
// Get database schema
const db = await getDatabaseSchema(client, databaseId);
const title = getDbTitle(db);
const desc = getDbDescription(db);
// Get example entries
const examples = await queryDatabase(client, databaseId, { page_size: parseInt(options.examples, 10) });
// Generate context
console.log(`# Notion Database Context: ${title}\n`);
if (desc) {
console.log(`> ${desc}\n`);
}
console.log(`**Database ID:** \`${databaseId}\`\n`);
// Schema summary
console.log(`## Schema\n`);
console.log('| Property | Type | Values |');
console.log('|----------|------|--------|');
for (const [name, prop] of Object.entries(db.properties)) {
let values = '-';
if (prop.type === 'select' || prop.type === 'multi_select') {
const data = prop[prop.type];
const opts = data?.options || [];
if (opts.length > 0) {
values = opts.slice(0, 5).map(o => o.name).join(', ');
if (opts.length > 5)
values += '...';
}
}
console.log(`**Database ID:** \`${databaseId}\`\n`);
// Schema summary
console.log(`## Schema\n`);
console.log('| Property | Type | Values |');
console.log('|----------|------|--------|');
for (const [name, prop] of Object.entries(db.properties)) {
let values = '-';
if (prop.type === 'select' || prop.type === 'multi_select') {
const data = prop[prop.type];
const opts = data?.options || [];
if (opts.length > 0) {
values = opts.slice(0, 5).map(o => o.name).join(', ');
if (opts.length > 5)
values += '...';
}
else if (prop.type === 'status') {
const data = prop.status;
const opts = data?.options || [];
if (opts.length > 0) {
values = opts.map(o => o.name).join(', ');
}
else if (prop.type === 'status') {
const data = prop.status;
const opts = data?.options || [];
if (opts.length > 0) {
values = opts.map(o => o.name).join(', ');
}
}
console.log(`| ${name} | ${prop.type} | ${values} |`);
}
// Example entries
if (examples.results.length > 0) {
console.log(`\n## Example Entries\n`);
for (let i = 0; i < examples.results.length; i++) {
const entry = examples.results[i];
console.log(`### Entry ${i + 1}`);
console.log(`ID: ${entry.id}\n`);
for (const [name, value] of Object.entries(entry.properties)) {
const prop = value;
const data = prop[prop.type];
let displayValue = '-';
switch (prop.type) {
case 'title':
case 'rich_text': {
const texts = data;
displayValue = texts?.map(t => t.plain_text).join('') || '-';
break;
}
case 'select':
case 'status': {
displayValue = data?.name || '-';
break;
}
case 'multi_select': {
const items = data;
displayValue = items?.map(i => i.name).join(', ') || '-';
break;
}
case 'number':
case 'checkbox':
displayValue = String(data ?? '-');
break;
case 'date': {
const dateData = data;
displayValue = dateData?.start || '-';
break;
}
case 'url':
case 'email':
case 'phone_number':
displayValue = String(data || '-');
break;
console.log(`| ${name} | ${prop.type} | ${values} |`);
}
// Example entries
if (examples.results.length > 0) {
console.log(`\n## Example Entries\n`);
for (let i = 0; i < examples.results.length; i++) {
const entry = examples.results[i];
console.log(`### Entry ${i + 1}`);
console.log(`ID: ${entry.id}\n`);
for (const [name, value] of Object.entries(entry.properties)) {
const prop = value;
const data = prop[prop.type];
let displayValue = '-';
switch (prop.type) {
case 'title':
case 'rich_text': {
const texts = data;
displayValue = texts?.map(t => t.plain_text).join('') || '-';
break;
}
if (displayValue && displayValue !== '-') {
console.log(`- **${name}:** ${displayValue}`);
case 'select':
case 'status': {
displayValue = data?.name || '-';
break;
}
case 'multi_select': {
const items = data;
displayValue = items?.map(i => i.name).join(', ') || '-';
break;
}
case 'number':
case 'checkbox':
displayValue = String(data ?? '-');
break;
case 'date': {
const dateData = data;
displayValue = dateData?.start || '-';
break;
}
case 'url':
case 'email':
case 'phone_number':
displayValue = String(data || '-');
break;
}
console.log('');
if (displayValue && displayValue !== '-') {
console.log(`- **${name}:** ${displayValue}`);
}
}
console.log('');
}
// Usage hints
console.log(`## Quick Commands\n`);
console.log('```bash');
console.log(`# Query all entries`);
console.log(`notion db query ${databaseId}`);
console.log('');
console.log(`# Filter by status (if applicable)`);
console.log(`notion db query ${databaseId} --filter-prop "Status" --filter-type equals --filter-value "Done" --filter-prop-type status`);
console.log('');
console.log(`# Create new entry`);
console.log(`notion page create --parent ${databaseId} --title "New Entry"`);
console.log('```');
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
});
// Usage hints
console.log(`## Quick Commands\n`);
console.log('```bash');
console.log(`# Query all entries`);
console.log(`notion db query ${databaseId}`);
console.log('');
console.log(`# Filter by status (if applicable)`);
console.log(`notion db query ${databaseId} --filter-prop "Status" --filter-type equals --filter-value "Done" --filter-prop-type status`);
console.log('');
console.log(`# Create new entry`);
console.log(`notion page create --parent ${databaseId} --title "New Entry"`);
console.log('```');
}));
}
//# sourceMappingURL=inspect.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAe1E,SAAS,kBAAkB,CAAC,IAAoB;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAwC,CAAC;IAE/D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,OAAO,GAAI,IAAI,EAAE,OAA0B,IAAI,EAAE,CAAC;YACxD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACtC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,OAAO,GAAG,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC;QACtD,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,OAAO,GAAI,IAAI,EAAE,OAA0B,IAAI,EAAE,CAAC;YACxD,MAAM,MAAM,GAAI,IAAI,EAAE,MAAwB,IAAI,EAAE,CAAC;YACrD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEtC,+BAA+B;YAC/B,MAAM,cAAc,GAAa,EAAE,CAAC;YACpC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,YAAY,GAAG,OAAO;qBACzB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBAC5C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACpB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YACD,OAAO,WAAW,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QAClD,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,SAAS,GAAI,IAAI,EAAE,WAAsB,IAAI,SAAS,CAAC;YAC7D,OAAO,cAAc,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;QAClD,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,UAAU,GAAI,IAAI,EAAE,oBAA+B,IAAI,EAAE,CAAC;YAChE,MAAM,YAAY,GAAI,IAAI,EAAE,sBAAiC,IAAI,EAAE,CAAC;YACpE,OAAO,UAAU,YAAY,IAAI,UAAU,GAAG,CAAC;QACjD,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,OAAO,SAAS,CAAC;QACnB,CAAC;QAED;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,6CAA6C,CAAC,CAAC;IAE9D,gCAAgC;IAChC,OAAO;SACJ,OAAO,CAAC,WAAW,CAAC;SACpB,KAAK,CAAC,IAAI,CAAC;SACX,WAAW,CAAC,kDAAkD,CAAC;SAC/D,MAAM,CAAC,sBAAsB,EAAE,uBAAuB,EAAE,IAAI,CAAC;SAC7D,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC;SACvC,MAAM,CAAC,WAAW,EAAE,6BAA6B,CAAC;SAClD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAE3B,2BAA2B;YAC3B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACzC,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE;gBACjD,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;aACvC,CAA4B,CAAC;YAE9B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,OAAO,CAAC,MAAM,4BAA4B,CAAC,CAAC;YAExE,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;gBAC7B,MAAM,IAAI,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBAElC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;oBACrD,SAAS;gBACX,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/B,IAAI,IAAI;oBAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;gBAEjD,kBAAkB;gBAClB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC;qBACxC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,2BAA2B;qBACjE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAEf,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oBAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;wBACjC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,KAAK,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC7D,CAAC;oBAED,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;oBACrD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;wBACnB,OAAO,CAAC,GAAG,CAAC,gBAAgB,UAAU,GAAG,CAAC,OAAO,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,qCAAqC;IACrC,OAAO;SACJ,OAAO,CAAC,sBAAsB,CAAC;SAC/B,WAAW,CAAC,oCAAoC,CAAC;SACjD,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC;SACvC,MAAM,CAAC,OAAO,EAAE,sCAAsC,CAAC;SACvD,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,OAAO,EAAE,EAAE;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,UAAU,EAAE,CAAa,CAAC;YAEnE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;YAC7B,MAAM,IAAI,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAElC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,8BAA8B;gBAC9B,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5B,IAAI,IAAI;oBAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBAEjC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;oBACzD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBAC1C,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,QAAQ,GAAG,CAAC,CAAC;oBAE3C,gCAAgC;oBAChC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;wBAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAiC,CAAC;wBAC7D,MAAM,IAAI,GAAG,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;wBACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACpB,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACvE,CAAC;oBACH,CAAC;yBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,MAA8D,CAAC;wBACjF,MAAM,IAAI,GAAG,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;wBACjC,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC;wBAElC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;4BAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;4BACpE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACzB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BAClF,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,mBAAmB,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC;gBACvE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,+BAA+B,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,wBAAwB,CAAC,CAAC;gBAC3F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,2BAA2B;YAC3B,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5B,IAAI,EAAE,CAAC,GAAG;gBAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YAC1C,IAAI,IAAI;gBAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAE/B,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBAElC,uCAAuC;gBACvC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAiC,CAAC;oBAC7D,MAAM,IAAI,GAAG,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;oBACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACpB,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAClE,CAAC;gBACH,CAAC;gBAED,8BAA8B;gBAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAA8D,CAAC;oBACjF,MAAM,IAAI,GAAG,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;oBACjC,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC;oBAElC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;oBAClC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACpE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACzB,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAC/E,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,qBAAqB;gBACrB,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAoC,CAAC;oBACvD,IAAI,IAAI,EAAE,WAAW,EAAE,CAAC;wBACtB,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC3D,CAAC;gBACH,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,2BAA2B;IAC3B,OAAO;SACJ,OAAO,CAAC,uBAAuB,CAAC;SAChC,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,qBAAqB,EAAE,sCAAsC,EAAE,GAAG,CAAC;SAC1E,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,OAAO,EAAE,EAAE;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAE3B,sBAAsB;YACtB,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,UAAU,EAAE,CAAa,CAAC;YACnE,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;YAC7B,MAAM,IAAI,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAElC,sBAAsB;YACtB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,UAAU,QAAQ,EAAE;gBAClE,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;aAC1C,CAAuE,CAAC;YAEzE,mBAAmB;YACnB,OAAO,CAAC,GAAG,CAAC,8BAA8B,KAAK,IAAI,CAAC,CAAC;YAErD,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;YAC7B,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,UAAU,MAAM,CAAC,CAAC;YAEpD,iBAAiB;YACjB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;YAE5C,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzD,IAAI,MAAM,GAAG,GAAG,CAAC;gBAEjB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAiC,CAAC;oBAC7D,MAAM,IAAI,GAAG,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;oBACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACpB,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACtD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;4BAAE,MAAM,IAAI,KAAK,CAAC;oBACvC,CAAC;gBACH,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAsC,CAAC;oBACzD,MAAM,IAAI,GAAG,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;oBACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACpB,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5C,CAAC;gBACH,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,MAAM,IAAI,CAAC,CAAC;YACxD,CAAC;YAED,kBAAkB;YAClB,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBAClC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAClC,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;oBAEjC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC7D,MAAM,IAAI,GAAG,KAAiD,CAAC;wBAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAE7B,IAAI,YAAY,GAAG,GAAG,CAAC;wBAEvB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;4BAClB,KAAK,OAAO,CAAC;4BACb,KAAK,WAAW,CAAC,CAAC,CAAC;gCACjB,MAAM,KAAK,GAAG,IAAgC,CAAC;gCAC/C,YAAY,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC;gCAC7D,MAAM;4BACR,CAAC;4BACD,KAAK,QAAQ,CAAC;4BACd,KAAK,QAAQ,CAAC,CAAC,CAAC;gCACd,YAAY,GAAI,IAA0B,EAAE,IAAI,IAAI,GAAG,CAAC;gCACxD,MAAM;4BACR,CAAC;4BACD,KAAK,cAAc,CAAC,CAAC,CAAC;gCACpB,MAAM,KAAK,GAAG,IAA0B,CAAC;gCACzC,YAAY,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;gCACzD,MAAM;4BACR,CAAC;4BACD,KAAK,QAAQ,CAAC;4BACd,KAAK,UAAU;gCACb,YAAY,GAAG,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;gCACnC,MAAM;4BACR,KAAK,MAAM,CAAC,CAAC,CAAC;gCACZ,MAAM,QAAQ,GAAG,IAAiC,CAAC;gCACnD,YAAY,GAAG,QAAQ,EAAE,KAAK,IAAI,GAAG,CAAC;gCACtC,MAAM;4BACR,CAAC;4BACD,KAAK,KAAK,CAAC;4BACX,KAAK,OAAO,CAAC;4BACb,KAAK,cAAc;gCACjB,YAAY,GAAG,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;gCACnC,MAAM;wBACV,CAAC;wBAED,IAAI,YAAY,IAAI,YAAY,KAAK,GAAG,EAAE,CAAC;4BACzC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,YAAY,EAAE,CAAC,CAAC;wBAChD,CAAC;oBACH,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,cAAc;YACd,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,mBAAmB,UAAU,8FAA8F,CAAC,CAAC;YACzI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,+BAA+B,UAAU,sBAAsB,CAAC,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAErB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../src/commands/pages.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwhB3D"}
{"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../src/commands/pages.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAogB3D"}

@@ -5,3 +5,5 @@ import * as fs from 'fs';

import { markdownToBlocks } from '../utils/markdown.js';
import { blocksToMarkdownAsync, fetchAllBlocks, getPageTitle } from '../utils/notion-helpers.js';
import { blocksToMarkdownAsync, fetchAllBlocks, getPageTitle, isParentDatabase, getParentDatabaseId, resolvePropertyName, buildClearPayload, buildTrashPayload, buildBlockPosition } from '../utils/notion-helpers.js';
import { getDatabaseSchema } from '../utils/database-resolver.js';
import { withErrorHandler } from '../utils/command-handler.js';
export function registerPagesCommand(program) {

@@ -19,32 +21,26 @@ const pages = program

.option('--content', 'Also fetch page content (blocks)')
.action(async (pageId, options) => {
try {
const client = getClient();
const page = await client.get(`pages/${pageId}`);
if (options.content) {
const blocks = await client.get(`blocks/${pageId}/children`);
if (options.json) {
console.log(formatOutput({ page, blocks }));
}
else {
console.log('Page:', formatPageTitle(page));
console.log('ID:', page.id);
console.log('\nContent:');
console.log(formatOutput(blocks));
}
.action(withErrorHandler(async (pageId, options) => {
const client = getClient();
const page = await client.get(`pages/${pageId}`);
if (options.content) {
const blocks = await fetchAllBlocks(client, pageId);
if (options.json) {
console.log(formatOutput({ page, blocks }));
}
else {
console.log(options.json ? formatOutput(page) : formatPageTitle(page));
if (!options.json) {
console.log('ID:', page.id);
console.log('\nProperties:');
console.log(formatOutput(page.properties));
}
console.log('Page:', formatPageTitle(page));
console.log('ID:', page.id);
console.log('\nContent:');
console.log(formatOutput(blocks));
}
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
else {
console.log(options.json ? formatOutput(page) : formatPageTitle(page));
if (!options.json) {
console.log('ID:', page.id);
console.log('\nProperties:');
console.log(formatOutput(page.properties));
}
}
});
}));
// Create page

@@ -62,69 +58,63 @@ pages

.option('-j, --json', 'Output raw JSON')
.action(async (options) => {
try {
const client = getClient();
const parent = options.parentType === 'page'
? { page_id: options.parent }
: { database_id: options.parent };
const properties = {};
// Handle title - auto-detect title property name from database schema
if (options.title) {
let titlePropName = options.titleProp;
// If not specified and parent is database, fetch schema to find title property
if (!titlePropName && options.parentType === 'database') {
try {
const db = await client.get(`databases/${options.parent}`);
// Find the property with type "title"
for (const [name, prop] of Object.entries(db.properties)) {
if (prop.type === 'title') {
titlePropName = name;
break;
}
.action(withErrorHandler(async (options) => {
const client = getClient();
const parent = options.parentType === 'page'
? { page_id: options.parent }
: { database_id: options.parent };
const properties = {};
// Handle title - auto-detect title property name from database schema
if (options.title) {
let titlePropName = options.titleProp;
// If not specified and parent is database, fetch schema to find title property
if (!titlePropName && options.parentType === 'database') {
try {
const db = await getDatabaseSchema(client, options.parent);
// Find the property with type "title"
for (const [name, prop] of Object.entries(db.properties)) {
if (prop.type === 'title') {
titlePropName = name;
break;
}
}
catch {
// Fall back to common defaults
}
}
// Use detected name or fall back based on parent type
// Non-DB pages (page/workspace parent) use 'title'; DB pages default to 'Name'
titlePropName = titlePropName || (options.parentType === 'page' ? 'title' : 'Name');
properties[titlePropName] = {
title: [{ text: { content: options.title } }],
};
catch {
// Fall back to common defaults
}
}
// Handle additional properties
if (options.prop) {
const parsed = parseProperties(options.prop);
Object.assign(properties, parsed);
}
const body = { parent, properties };
if (options.icon) {
body.icon = { type: 'emoji', emoji: options.icon };
}
// Add initial content if provided
if (options.content) {
body.children = [{
object: 'block',
type: 'paragraph',
paragraph: {
rich_text: [{ type: 'text', text: { content: options.content } }],
},
}];
}
const page = await client.post('pages', body);
if (options.json) {
console.log(formatOutput(page));
}
else {
console.log('✅ Page created');
console.log('ID:', page.id);
console.log('URL:', page.url);
}
// Use detected name or fall back based on parent type
// Non-DB pages (page/workspace parent) use 'title'; DB pages default to 'Name'
titlePropName = titlePropName || (options.parentType === 'page' ? 'title' : 'Name');
properties[titlePropName] = {
title: [{ text: { content: options.title } }],
};
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
// Handle additional properties
if (options.prop) {
const parsed = parseProperties(options.prop);
Object.assign(properties, parsed);
}
});
const body = { parent, properties };
if (options.icon) {
body.icon = { type: 'emoji', emoji: options.icon };
}
// Add initial content if provided
if (options.content) {
body.children = [{
object: 'block',
type: 'paragraph',
paragraph: {
rich_text: [{ type: 'text', text: { content: options.content } }],
},
}];
}
const page = await client.post('pages', body);
if (options.json) {
console.log(formatOutput(page));
}
else {
console.log('✅ Page created');
console.log('ID:', page.id);
console.log('URL:', page.url);
}
}));
// Update page

@@ -137,2 +127,3 @@ pages

.option('-p, --prop <key=value...>', 'Set property (can be used multiple times)')
.option('--clear-prop <name...>', 'Clear a property (type-aware, e.g., --clear-prop "Assignee")')
.option('--archive', 'Archive the page')

@@ -142,69 +133,83 @@ .option('--unarchive', 'Unarchive the page')

.option('-j, --json', 'Output raw JSON')
.action(async (pageId, options) => {
try {
const client = getClient();
const body = {};
const properties = {};
if (options.title) {
let titlePropName = options.titleProp;
// parentType: 'database' | 'page' | null (null = unknown, page fetch failed)
let detectedParentType = null;
if (!titlePropName) {
try {
const page = await client.get(`pages/${pageId}`);
if (page.parent.type === 'database_id' && page.parent.database_id) {
detectedParentType = 'database';
const db = await client.get(`databases/${page.parent.database_id}`);
for (const [name, prop] of Object.entries(db.properties)) {
if (prop.type === 'title') {
titlePropName = name;
break;
}
.action(withErrorHandler(async (pageId, options) => {
const client = getClient();
const body = {};
const properties = {};
if (options.title) {
let titlePropName = options.titleProp;
// parentType: 'database' | 'page' | null (null = unknown, page fetch failed)
let detectedParentType = null;
if (!titlePropName) {
try {
const page = await client.get(`pages/${pageId}`);
const parentDbId = getParentDatabaseId(page.parent);
if (isParentDatabase(page.parent) && parentDbId) {
detectedParentType = 'database';
const db = await getDatabaseSchema(client, parentDbId);
for (const [name, prop] of Object.entries(db.properties)) {
if (prop.type === 'title') {
titlePropName = name;
break;
}
}
else {
detectedParentType = 'page';
}
}
catch {
// Fall back to common default
else {
detectedParentType = 'page';
}
}
// Non-DB pages use 'title'; DB pages default to 'Name'; unknown (fetch failed) → 'title'
// Note: if fetch failed entirely we can't know parent type — 'title' is Notion's universal key
titlePropName = titlePropName || (detectedParentType === 'database' ? 'Name' : 'title');
properties[titlePropName] = {
title: [{ text: { content: options.title } }],
};
catch {
// Fall back to common default
}
}
if (options.prop) {
const parsed = parseProperties(options.prop);
Object.assign(properties, parsed);
// Non-DB pages use 'title'; DB pages default to 'Name'; unknown (fetch failed) → 'title'
// Note: if fetch failed entirely we can't know parent type — 'title' is Notion's universal key
titlePropName = titlePropName || (detectedParentType === 'database' ? 'Name' : 'title');
properties[titlePropName] = {
title: [{ text: { content: options.title } }],
};
}
if (options.prop) {
const parsed = parseProperties(options.prop);
Object.assign(properties, parsed);
}
// Handle --clear-prop: fetch schema to determine property type
if (options.clearProp && options.clearProp.length > 0) {
const page = await client.get(`pages/${pageId}`);
const parentDbId = getParentDatabaseId(page.parent);
if (!parentDbId) {
console.error('Error: --clear-prop requires a database-backed page');
process.exit(1);
}
if (Object.keys(properties).length > 0) {
body.properties = properties;
const db = await getDatabaseSchema(client, parentDbId);
for (const rawName of options.clearProp) {
const resolved = resolvePropertyName(db.properties, rawName);
if (!resolved) {
console.error(`Error: Property "${rawName}" not found in database schema`);
process.exit(1);
}
const propSchema = db.properties[resolved];
properties[resolved] = buildClearPayload(propSchema.type);
}
if (options.archive) {
body.archived = true;
}
else if (options.unarchive) {
body.archived = false;
}
if (options.icon) {
body.icon = { type: 'emoji', emoji: options.icon };
}
const page = await client.patch(`pages/${pageId}`, body);
if (options.json) {
console.log(formatOutput(page));
}
else {
console.log('✅ Page updated');
console.log('ID:', page.id);
}
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
if (Object.keys(properties).length > 0) {
body.properties = properties;
}
});
if (options.archive) {
Object.assign(body, buildTrashPayload(true));
}
else if (options.unarchive) {
Object.assign(body, buildTrashPayload(false));
}
if (options.icon) {
body.icon = { type: 'emoji', emoji: options.icon };
}
const page = await client.patch(`pages/${pageId}`, body);
if (options.json) {
console.log(formatOutput(page));
}
else {
console.log('✅ Page updated');
console.log('ID:', page.id);
}
}));
// Archive page (convenience)

@@ -214,13 +219,7 @@ pages

.description('Archive a page')
.action(async (pageId) => {
try {
const client = getClient();
await client.patch(`pages/${pageId}`, { archived: true });
console.log('✅ Page archived');
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
});
.action(withErrorHandler(async (pageId) => {
const client = getClient();
await client.patch(`pages/${pageId}`, buildTrashPayload(true));
console.log('✅ Page archived');
}));
// Get page property

@@ -231,13 +230,7 @@ pages

.option('-j, --json', 'Output raw JSON')
.action(async (pageId, propertyId, options) => {
try {
const client = getClient();
const property = await client.get(`pages/${pageId}/properties/${propertyId}`);
console.log(options.json ? formatOutput(property) : property);
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
});
.action(withErrorHandler(async (pageId, propertyId, options) => {
const client = getClient();
const property = await client.get(`pages/${pageId}/properties/${propertyId}`);
console.log(options.json ? formatOutput(property) : property);
}));
// Read page content as Markdown

@@ -250,28 +243,8 @@ pages

.option('-o, --output <path>', 'Write to file instead of stdout')
.action(async (pageId, options) => {
try {
const client = getClient();
if (options.json) {
// Raw JSON mode — return all blocks
const blocks = await fetchAllBlocks(client, pageId);
const output = formatOutput(blocks);
if (options.output) {
fs.writeFileSync(options.output, output);
console.error(`Written to ${options.output}`);
}
else {
console.log(output);
}
return;
}
let output = '';
// Include title by default
if (options.title !== false) {
const page = await client.get(`pages/${pageId}`);
const title = getPageTitle(page);
output += `# ${title}\n\n`;
}
// Convert blocks to markdown
const content = await blocksToMarkdownAsync(client, pageId);
output += content;
.action(withErrorHandler(async (pageId, options) => {
const client = getClient();
if (options.json) {
// Raw JSON mode — return all blocks
const blocks = await fetchAllBlocks(client, pageId);
const output = formatOutput(blocks);
if (options.output) {

@@ -282,10 +255,24 @@ fs.writeFileSync(options.output, output);

else {
process.stdout.write(output);
console.log(output);
}
return;
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
let output = '';
// Include title by default
if (options.title !== false) {
const page = await client.get(`pages/${pageId}`);
const title = getPageTitle(page);
output += `# ${title}\n\n`;
}
});
// Convert blocks to markdown
const content = await blocksToMarkdownAsync(client, pageId);
output += content;
if (options.output) {
fs.writeFileSync(options.output, output);
console.error(`Written to ${options.output}`);
}
else {
process.stdout.write(output);
}
}));
// Write Markdown content to a page

@@ -298,78 +285,72 @@ pages

.option('--dry-run', 'Show what would be written without making changes')
.action(async (pageId, options) => {
try {
const client = getClient();
// Read markdown from file or stdin
let markdown;
if (options.file) {
if (!fs.existsSync(options.file)) {
console.error(`Error: File not found: ${options.file}`);
process.exit(1);
}
markdown = fs.readFileSync(options.file, 'utf-8');
}
else {
// Read from stdin
markdown = await readStdin();
}
if (!markdown.trim()) {
console.error('Error: No content provided. Use --file or pipe content via stdin.');
.action(withErrorHandler(async (pageId, options) => {
const client = getClient();
// Read markdown from file or stdin
let markdown;
if (options.file) {
if (!fs.existsSync(options.file)) {
console.error(`Error: File not found: ${options.file}`);
process.exit(1);
}
// Convert to blocks
const blocks = markdownToBlocks(markdown);
if (options.dryRun) {
console.log(`Parsed ${blocks.length} blocks:`);
blocks.slice(0, 15).forEach((block, i) => {
console.log(` ${i + 1}. ${block.type}`);
});
if (blocks.length > 15) {
console.log(` ... and ${blocks.length - 15} more`);
}
console.log('\nDry run - no changes made');
return;
markdown = fs.readFileSync(options.file, 'utf-8');
}
else {
// Read from stdin
markdown = await readStdin();
}
if (!markdown.trim()) {
console.error('Error: No content provided. Use --file or pipe content via stdin.');
process.exit(1);
}
// Convert to blocks
const blocks = markdownToBlocks(markdown);
if (options.dryRun) {
console.log(`Parsed ${blocks.length} blocks:`);
blocks.slice(0, 15).forEach((block, i) => {
console.log(` ${i + 1}. ${block.type}`);
});
if (blocks.length > 15) {
console.log(` ... and ${blocks.length - 15} more`);
}
// Delete existing blocks if --replace
if (options.replace) {
const existing = await fetchAllBlocks(client, pageId);
if (existing.length > 0) {
console.error(`Warning: --replace will permanently delete ${existing.length} existing block(s). ` +
`This operation is not atomic — if the subsequent write fails, deleted content cannot be recovered automatically.`);
// Keep a reference for error recovery attempt
const backup = existing.map(b => b.id);
try {
for (const block of existing) {
await client.delete(`blocks/${block.id}`);
}
console.error(`Removed ${existing.length} existing blocks`);
console.log('\nDry run - no changes made');
return;
}
// Delete existing blocks if --replace
if (options.replace) {
const existing = await fetchAllBlocks(client, pageId);
if (existing.length > 0) {
console.error(`Warning: --replace will permanently delete ${existing.length} existing block(s). ` +
`This operation is not atomic — if the subsequent write fails, deleted content cannot be recovered automatically.`);
// Keep a reference for error recovery attempt
const backup = existing.map(b => b.id);
try {
for (const block of existing) {
await client.delete(`blocks/${block.id}`);
}
catch (deleteError) {
console.error(`Error during block deletion: ${deleteError.message}`);
console.error(`Partial deletion may have occurred. Block IDs that were targeted:\n${backup.join('\n')}`);
process.exit(1);
}
console.error(`Removed ${existing.length} existing blocks`);
}
}
// Append blocks in chunks of 100 (Notion API limit)
let added = 0;
try {
for (let i = 0; i < blocks.length; i += 100) {
const chunk = blocks.slice(i, i + 100);
await client.patch(`blocks/${pageId}/children`, {
children: chunk,
});
added += chunk.length;
catch (deleteError) {
console.error(`Error during block deletion: ${deleteError.message}`);
console.error(`Partial deletion may have occurred. Block IDs that were targeted:\n${backup.join('\n')}`);
process.exit(1);
}
}
catch (writeError) {
console.error(`Error writing blocks (written so far: ${added}/${blocks.length}): ${writeError.message}`);
process.exit(1);
}
// Append blocks in chunks of 100 (Notion API limit)
let added = 0;
try {
for (let i = 0; i < blocks.length; i += 100) {
const chunk = blocks.slice(i, i + 100);
await client.patch(`blocks/${pageId}/children`, {
children: chunk,
});
added += chunk.length;
}
console.error(`Written ${added} blocks to page`);
}
catch (error) {
console.error('Error:', error.message);
catch (writeError) {
console.error(`Error writing blocks (written so far: ${added}/${blocks.length}): ${writeError.message}`);
process.exit(1);
}
});
console.error(`Written ${added} blocks to page`);
}));
// Surgical page editing

@@ -386,130 +367,124 @@ pages

.option('-j, --json', 'Output raw JSON')
.action(async (pageId, options) => {
try {
const client = getClient();
// Fetch all current blocks
const allBlocks = await fetchAllBlocks(client, pageId);
// Resolve position
let afterBlockId;
let deleteStartIndex;
if (options.after) {
// Find the block index for --after
const idx = allBlocks.findIndex(b => b.id === options.after || b.id.replace(/-/g, '') === options.after.replace(/-/g, ''));
if (idx === -1) {
console.error(`Error: Block not found: ${options.after}`);
console.error(`Available blocks (${allBlocks.length}):`);
allBlocks.slice(0, 10).forEach((b, i) => {
console.error(` ${i}: ${b.id} (${b.type})`);
});
process.exit(1);
}
afterBlockId = allBlocks[idx].id;
deleteStartIndex = idx + 1;
.action(withErrorHandler(async (pageId, options) => {
const client = getClient();
// Fetch all current blocks
const allBlocks = await fetchAllBlocks(client, pageId);
// Resolve position
let afterBlockId;
let deleteStartIndex;
if (options.after) {
// Find the block index for --after
const idx = allBlocks.findIndex(b => b.id === options.after || b.id.replace(/-/g, '') === options.after.replace(/-/g, ''));
if (idx === -1) {
console.error(`Error: Block not found: ${options.after}`);
console.error(`Available blocks (${allBlocks.length}):`);
allBlocks.slice(0, 10).forEach((b, i) => {
console.error(` ${i}: ${b.id} (${b.type})`);
});
process.exit(1);
}
else if (options.at !== undefined) {
const atIndex = parseInt(options.at, 10);
if (atIndex < 0 || atIndex > allBlocks.length) {
console.error(`Error: Index ${atIndex} out of range (0-${allBlocks.length})`);
process.exit(1);
}
if (atIndex > 0) {
afterBlockId = allBlocks[atIndex - 1].id;
}
deleteStartIndex = atIndex;
}
else {
console.error('Error: Specify a position with --after <block_id> or --at <index>');
afterBlockId = allBlocks[idx].id;
deleteStartIndex = idx + 1;
}
else if (options.at !== undefined) {
const atIndex = parseInt(options.at, 10);
if (atIndex < 0 || atIndex > allBlocks.length) {
console.error(`Error: Index ${atIndex} out of range (0-${allBlocks.length})`);
process.exit(1);
return;
}
// Determine blocks to delete
const deleteCount = options.delete || 0;
const blocksToDelete = allBlocks.slice(deleteStartIndex, deleteStartIndex + deleteCount);
// Parse replacement content
let newBlocks = [];
if (options.file) {
if (!fs.existsSync(options.file)) {
console.error(`Error: File not found: ${options.file}`);
process.exit(1);
}
const md = fs.readFileSync(options.file, 'utf-8');
newBlocks = markdownToBlocks(md);
if (atIndex > 0) {
afterBlockId = allBlocks[atIndex - 1].id;
}
else if (options.markdown) {
newBlocks = markdownToBlocks(options.markdown);
deleteStartIndex = atIndex;
}
else {
console.error('Error: Specify a position with --after <block_id> or --at <index>');
process.exit(1);
return;
}
// Determine blocks to delete
const deleteCount = options.delete || 0;
const blocksToDelete = allBlocks.slice(deleteStartIndex, deleteStartIndex + deleteCount);
// Parse replacement content
let newBlocks = [];
if (options.file) {
if (!fs.existsSync(options.file)) {
console.error(`Error: File not found: ${options.file}`);
process.exit(1);
}
// Dry run
if (options.dryRun) {
console.log('Edit plan:');
if (blocksToDelete.length > 0) {
console.log(` Delete ${blocksToDelete.length} block(s):`);
blocksToDelete.forEach((b, i) => {
console.log(` ${deleteStartIndex + i}: ${b.id} (${b.type})`);
});
}
if (newBlocks.length > 0) {
console.log(` Insert ${newBlocks.length} block(s)${afterBlockId ? ` after ${afterBlockId}` : ' at start'}:`);
newBlocks.slice(0, 10).forEach((b, i) => {
console.log(` ${i}: ${b.type}`);
});
if (newBlocks.length > 10) {
console.log(` ... and ${newBlocks.length - 10} more`);
}
}
if (blocksToDelete.length === 0 && newBlocks.length === 0) {
console.log(' No changes to make');
}
console.log('\nDry run - no changes made');
return;
}
// Nothing to do — warn and exit
if (blocksToDelete.length === 0 && newBlocks.length === 0) {
console.error('Warning: nothing to do — specify --delete and/or --file/--markdown');
return;
}
// Execute: delete blocks (not atomic — partial failure leaves page in intermediate state)
const md = fs.readFileSync(options.file, 'utf-8');
newBlocks = markdownToBlocks(md);
}
else if (options.markdown) {
newBlocks = markdownToBlocks(options.markdown);
}
// Dry run
if (options.dryRun) {
console.log('Edit plan:');
if (blocksToDelete.length > 0) {
console.error(`Deleting ${blocksToDelete.length} block(s)... ` +
`(note: not atomic — partial failure will leave the page in an intermediate state)`);
console.log(` Delete ${blocksToDelete.length} block(s):`);
blocksToDelete.forEach((b, i) => {
console.log(` ${deleteStartIndex + i}: ${b.id} (${b.type})`);
});
}
for (const block of blocksToDelete) {
await client.delete(`blocks/${block.id}`);
}
// Execute: insert new blocks
if (newBlocks.length > 0) {
// Insert in chunks of 100
for (let i = 0; i < newBlocks.length; i += 100) {
const chunk = newBlocks.slice(i, i + 100);
const body = { children: chunk };
if (afterBlockId) {
body.after = afterBlockId;
}
const result = await client.patch(`blocks/${pageId}/children`, body);
// Update afterBlockId to the last inserted block for the next chunk
if (result.results && result.results.length > 0) {
afterBlockId = result.results[result.results.length - 1].id;
}
console.log(` Insert ${newBlocks.length} block(s)${afterBlockId ? ` after ${afterBlockId}` : ' at start'}:`);
newBlocks.slice(0, 10).forEach((b, i) => {
console.log(` ${i}: ${b.type}`);
});
if (newBlocks.length > 10) {
console.log(` ... and ${newBlocks.length - 10} more`);
}
}
const summary = [];
if (blocksToDelete.length > 0)
summary.push(`deleted ${blocksToDelete.length}`);
if (newBlocks.length > 0)
summary.push(`inserted ${newBlocks.length}`);
if (options.json) {
console.log(formatOutput({
deleted: blocksToDelete.length,
inserted: newBlocks.length,
deleted_ids: blocksToDelete.map(b => b.id),
}));
if (blocksToDelete.length === 0 && newBlocks.length === 0) {
console.log(' No changes to make');
}
else {
console.log(`Done: ${summary.join(', ')} block(s)`);
console.log('\nDry run - no changes made');
return;
}
// Nothing to do — warn and exit
if (blocksToDelete.length === 0 && newBlocks.length === 0) {
console.error('Warning: nothing to do — specify --delete and/or --file/--markdown');
return;
}
// Execute: delete blocks (not atomic — partial failure leaves page in intermediate state)
if (blocksToDelete.length > 0) {
console.error(`Deleting ${blocksToDelete.length} block(s)... ` +
`(note: not atomic — partial failure will leave the page in an intermediate state)`);
}
for (const block of blocksToDelete) {
await client.delete(`blocks/${block.id}`);
}
// Execute: insert new blocks
if (newBlocks.length > 0) {
// Insert in chunks of 100
for (let i = 0; i < newBlocks.length; i += 100) {
const chunk = newBlocks.slice(i, i + 100);
const body = {
children: chunk,
...buildBlockPosition(afterBlockId),
};
const result = await client.patch(`blocks/${pageId}/children`, body);
// Update afterBlockId to the last inserted block for the next chunk
if (result.results && result.results.length > 0) {
afterBlockId = result.results[result.results.length - 1].id;
}
}
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
const summary = [];
if (blocksToDelete.length > 0)
summary.push(`deleted ${blocksToDelete.length}`);
if (newBlocks.length > 0)
summary.push(`inserted ${newBlocks.length}`);
if (options.json) {
console.log(formatOutput({
deleted: blocksToDelete.length,
inserted: newBlocks.length,
deleted_ids: blocksToDelete.map(b => b.id),
}));
}
});
else {
console.log(`Done: ${summary.join(', ')} block(s)`);
}
}));
}

@@ -516,0 +491,0 @@ // ─── Helpers ────────────────────────────────────────────────────────────────

@@ -1,1 +0,1 @@

{"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/commands/pages.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/commands/pages.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../src/commands/relations.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8a/D"}
{"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../src/commands/relations.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8Z/D"}
import { getClient } from '../client.js';
import { formatOutput } from '../utils/format.js';
import { getPageTitle } from '../utils/notion-helpers.js';
import { getPageTitle, isParentDatabase, getParentDatabaseId } from '../utils/notion-helpers.js';
import { getDatabaseSchema, queryDatabase } from '../utils/database-resolver.js';
import { withErrorHandler } from '../utils/command-handler.js';
export function registerRelationsCommand(program) {

@@ -16,45 +18,48 @@ const relations = program

.option('--llm', 'LLM-friendly output')
.action(async (pageId, options) => {
try {
const client = getClient();
// Get the target page
const targetPage = await client.get(`pages/${pageId}`);
const targetTitle = getPageTitle(targetPage);
console.log(`🔍 Finding backlinks to: ${targetTitle}\n`);
// Find the parent database
if (targetPage.parent.type !== 'database_id' || !targetPage.parent.database_id) {
console.log('Note: Page is not in a database. Checking for relation backlinks only.\n');
}
const backlinks = [];
// Search for pages that might reference this one
// Strategy 1: Search by page title (mentions)
const searchResult = await client.post('search', {
query: targetTitle,
filter: { property: 'object', value: 'page' },
page_size: 50,
});
// Strategy 2: Check relation properties in the same database
if (targetPage.parent.database_id) {
const db = await client.get(`databases/${targetPage.parent.database_id}`);
// Find relation properties that point to this database
for (const [propName, schema] of Object.entries(db.properties)) {
if (schema.type === 'relation' && schema.relation?.database_id) {
// Query for entries with relation to our page
try {
const relResult = await client.post(`databases/${schema.relation.database_id}/query`, {
page_size: 100,
});
for (const page of relResult.results) {
// Check if any relation property points to our target
for (const [pName, pValue] of Object.entries(page.properties)) {
const prop = pValue;
if (prop.type === 'relation' && prop.relation) {
const hasLink = prop.relation.some(r => r.id === pageId);
if (hasLink) {
backlinks.push({
type: 'relation',
page,
property: pName,
});
}
.action(withErrorHandler(async (pageId, options) => {
const client = getClient();
// Get the target page
const targetPage = await client.get(`pages/${pageId}`);
const targetTitle = getPageTitle(targetPage);
console.log(`🔍 Finding backlinks to: ${targetTitle}\n`);
// Find the parent database
if (!isParentDatabase(targetPage.parent) || !getParentDatabaseId(targetPage.parent)) {
console.log('Note: Page is not in a database. Checking for relation backlinks only.\n');
}
const backlinks = [];
// Search for pages that might reference this one
// Strategy 1: Search by page title (mentions)
const searchResult = await client.post('search', {
query: targetTitle,
filter: { property: 'object', value: 'page' },
page_size: 50,
});
// Strategy 2: Check relation properties in the same database
const parentDbId = getParentDatabaseId(targetPage.parent);
if (parentDbId) {
const db = await getDatabaseSchema(client, parentDbId);
// Find relation properties that point to this database
for (const [propName, schema] of Object.entries(db.properties)) {
if (schema.type === 'relation') {
const relData = schema.relation;
const relatedDbId = relData?.data_source_id ?? relData?.database_id;
if (!relatedDbId)
continue;
// Query for entries with relation to our page
try {
const relResult = await queryDatabase(client, relatedDbId, {
page_size: 100,
});
for (const page of relResult.results) {
// Check if any relation property points to our target
for (const [pName, pValue] of Object.entries(page.properties)) {
const prop = pValue;
if (prop.type === 'relation' && prop.relation) {
const hasLink = prop.relation.some(r => r.id === pageId);
if (hasLink) {
backlinks.push({
type: 'relation',
page,
property: pName,
});
}

@@ -64,103 +69,99 @@ }

}
catch {
// Database might not be accessible
}
}
catch {
// Database might not be accessible
}
}
}
// Also check mentions from search results
for (const page of searchResult.results) {
if (page.id === pageId)
continue; // Skip self
// Check if this page has relation to target
for (const [pName, pValue] of Object.entries(page.properties)) {
const prop = pValue;
if (prop.type === 'relation' && prop.relation) {
const hasLink = prop.relation.some(r => r.id === pageId);
if (hasLink && !backlinks.some(b => b.page.id === page.id)) {
backlinks.push({
type: 'relation',
page,
property: pName,
});
}
}
// Also check mentions from search results
for (const page of searchResult.results) {
if (page.id === pageId)
continue; // Skip self
// Check if this page has relation to target
for (const [pName, pValue] of Object.entries(page.properties)) {
const prop = pValue;
if (prop.type === 'relation' && prop.relation) {
const hasLink = prop.relation.some(r => r.id === pageId);
if (hasLink && !backlinks.some(b => b.page.id === page.id)) {
backlinks.push({
type: 'relation',
page,
property: pName,
});
}
}
// Add as potential mention if title matches
if (!backlinks.some(b => b.page.id === page.id)) {
backlinks.push({
type: 'mention',
page,
});
}
}
// Output
if (options.json) {
console.log(formatOutput({
target: { id: pageId, title: targetTitle },
backlinks: backlinks.map(b => ({
type: b.type,
pageId: b.page.id,
pageTitle: getPageTitle(b.page),
property: b.property,
url: b.page.url,
})),
}));
return;
// Add as potential mention if title matches
if (!backlinks.some(b => b.page.id === page.id)) {
backlinks.push({
type: 'mention',
page,
});
}
if (backlinks.length === 0) {
console.log('No backlinks found.');
return;
}
// Group by type
const relationLinks = backlinks.filter(b => b.type === 'relation');
const mentionLinks = backlinks.filter(b => b.type === 'mention');
if (options.llm) {
console.log(`## Backlinks to "${targetTitle}"\n`);
if (relationLinks.length > 0) {
console.log(`### Direct Relations (${relationLinks.length})`);
for (const b of relationLinks) {
console.log(`- **${getPageTitle(b.page)}** via \`${b.property}\``);
console.log(` ID: ${b.page.id}`);
}
console.log('');
}
if (mentionLinks.length > 0) {
console.log(`### Potential Mentions (${mentionLinks.length})`);
for (const b of mentionLinks.slice(0, 10)) {
console.log(`- ${getPageTitle(b.page)}`);
}
if (mentionLinks.length > 10) {
console.log(`- ... and ${mentionLinks.length - 10} more`);
}
}
return;
}
// Standard output
console.log(`Found ${backlinks.length} backlinks:\n`);
}
// Output
if (options.json) {
console.log(formatOutput({
target: { id: pageId, title: targetTitle },
backlinks: backlinks.map(b => ({
type: b.type,
pageId: b.page.id,
pageTitle: getPageTitle(b.page),
property: b.property,
url: b.page.url,
})),
}));
return;
}
if (backlinks.length === 0) {
console.log('No backlinks found.');
return;
}
// Group by type
const relationLinks = backlinks.filter(b => b.type === 'relation');
const mentionLinks = backlinks.filter(b => b.type === 'mention');
if (options.llm) {
console.log(`## Backlinks to "${targetTitle}"\n`);
if (relationLinks.length > 0) {
console.log('📎 Direct Relations:');
console.log(`### Direct Relations (${relationLinks.length})`);
for (const b of relationLinks) {
console.log(` ${getPageTitle(b.page)}`);
console.log(` └─ via property: ${b.property}`);
console.log(` ID: ${b.page.id}`);
console.log('');
console.log(`- **${getPageTitle(b.page)}** via \`${b.property}\``);
console.log(` ID: ${b.page.id}`);
}
console.log('');
}
if (mentionLinks.length > 0) {
console.log('📝 Potential Mentions:');
console.log(`### Potential Mentions (${mentionLinks.length})`);
for (const b of mentionLinks.slice(0, 10)) {
console.log(` ${getPageTitle(b.page)}`);
console.log(` ID: ${b.page.id}`);
console.log(`- ${getPageTitle(b.page)}`);
}
if (mentionLinks.length > 10) {
console.log(` ... and ${mentionLinks.length - 10} more`);
console.log(`- ... and ${mentionLinks.length - 10} more`);
}
}
return;
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
// Standard output
console.log(`Found ${backlinks.length} backlinks:\n`);
if (relationLinks.length > 0) {
console.log('📎 Direct Relations:');
for (const b of relationLinks) {
console.log(` ${getPageTitle(b.page)}`);
console.log(` └─ via property: ${b.property}`);
console.log(` ID: ${b.page.id}`);
console.log('');
}
}
});
if (mentionLinks.length > 0) {
console.log('📝 Potential Mentions:');
for (const b of mentionLinks.slice(0, 10)) {
console.log(` ${getPageTitle(b.page)}`);
console.log(` ID: ${b.page.id}`);
}
if (mentionLinks.length > 10) {
console.log(` ... and ${mentionLinks.length - 10} more`);
}
}
}));
// Link pages

@@ -172,64 +173,58 @@ relations

.option('--bidirectional', 'Also link target back to source')
.action(async (sourceId, targetId, options) => {
try {
const client = getClient();
// Get source page
const sourcePage = await client.get(`pages/${sourceId}`);
const sourceTitle = getPageTitle(sourcePage);
// Get target page
const targetPage = await client.get(`pages/${targetId}`);
const targetTitle = getPageTitle(targetPage);
// Check if property exists and is a relation
const prop = sourcePage.properties[options.property];
if (!prop || prop.type !== 'relation') {
console.error(`Error: Property "${options.property}" is not a relation property`);
process.exit(1);
}
// Get existing relations
const existingRelations = (prop.relation || [])
.map(r => ({ id: r.id }));
// Check if already linked
if (existingRelations.some(r => r.id === targetId)) {
console.log(`Already linked: ${sourceTitle} → ${targetTitle}`);
return;
}
// Add new relation
existingRelations.push({ id: targetId });
await client.patch(`pages/${sourceId}`, {
properties: {
[options.property]: {
relation: existingRelations,
},
.action(withErrorHandler(async (sourceId, targetId, options) => {
const client = getClient();
// Get source page
const sourcePage = await client.get(`pages/${sourceId}`);
const sourceTitle = getPageTitle(sourcePage);
// Get target page
const targetPage = await client.get(`pages/${targetId}`);
const targetTitle = getPageTitle(targetPage);
// Check if property exists and is a relation
const prop = sourcePage.properties[options.property];
if (!prop || prop.type !== 'relation') {
console.error(`Error: Property "${options.property}" is not a relation property`);
process.exit(1);
}
// Get existing relations
const existingRelations = (prop.relation || [])
.map(r => ({ id: r.id }));
// Check if already linked
if (existingRelations.some(r => r.id === targetId)) {
console.log(`Already linked: ${sourceTitle} → ${targetTitle}`);
return;
}
// Add new relation
existingRelations.push({ id: targetId });
await client.patch(`pages/${sourceId}`, {
properties: {
[options.property]: {
relation: existingRelations,
},
});
console.log(`✅ Linked: ${sourceTitle} → ${targetTitle}`);
console.log(` Property: ${options.property}`);
// Bidirectional linking
if (options.bidirectional) {
const targetProp = targetPage.properties[options.property];
if (targetProp && targetProp.type === 'relation') {
const targetRelations = (targetProp.relation || [])
.map(r => ({ id: r.id }));
if (!targetRelations.some(r => r.id === sourceId)) {
targetRelations.push({ id: sourceId });
await client.patch(`pages/${targetId}`, {
properties: {
[options.property]: {
relation: targetRelations,
},
},
});
console.log(`✅ Linked: ${sourceTitle} → ${targetTitle}`);
console.log(` Property: ${options.property}`);
// Bidirectional linking
if (options.bidirectional) {
const targetProp = targetPage.properties[options.property];
if (targetProp && targetProp.type === 'relation') {
const targetRelations = (targetProp.relation || [])
.map(r => ({ id: r.id }));
if (!targetRelations.some(r => r.id === sourceId)) {
targetRelations.push({ id: sourceId });
await client.patch(`pages/${targetId}`, {
properties: {
[options.property]: {
relation: targetRelations,
},
});
console.log(`✅ Linked: ${targetTitle} → ${sourceTitle} (bidirectional)`);
}
},
});
console.log(`✅ Linked: ${targetTitle} → ${sourceTitle} (bidirectional)`);
}
else {
console.log(`⚠️ Could not create bidirectional link (property not found on target)`);
}
}
else {
console.log(`⚠️ Could not create bidirectional link (property not found on target)`);
}
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
});
}));
// Unlink pages

@@ -241,51 +236,45 @@ relations

.option('--bidirectional', 'Also unlink target from source')
.action(async (sourceId, targetId, options) => {
try {
const client = getClient();
// Get source page
const sourcePage = await client.get(`pages/${sourceId}`);
const sourceTitle = getPageTitle(sourcePage);
// Get target page
const targetPage = await client.get(`pages/${targetId}`);
const targetTitle = getPageTitle(targetPage);
// Get existing relations
const prop = sourcePage.properties[options.property];
if (!prop || prop.type !== 'relation') {
console.error(`Error: Property "${options.property}" is not a relation property`);
process.exit(1);
}
const existingRelations = (prop.relation || [])
.filter(r => r.id !== targetId)
.map(r => ({ id: r.id }));
await client.patch(`pages/${sourceId}`, {
properties: {
[options.property]: {
relation: existingRelations,
},
.action(withErrorHandler(async (sourceId, targetId, options) => {
const client = getClient();
// Get source page
const sourcePage = await client.get(`pages/${sourceId}`);
const sourceTitle = getPageTitle(sourcePage);
// Get target page
const targetPage = await client.get(`pages/${targetId}`);
const targetTitle = getPageTitle(targetPage);
// Get existing relations
const prop = sourcePage.properties[options.property];
if (!prop || prop.type !== 'relation') {
console.error(`Error: Property "${options.property}" is not a relation property`);
process.exit(1);
}
const existingRelations = (prop.relation || [])
.filter(r => r.id !== targetId)
.map(r => ({ id: r.id }));
await client.patch(`pages/${sourceId}`, {
properties: {
[options.property]: {
relation: existingRelations,
},
});
console.log(`✅ Unlinked: ${sourceTitle} ✕ ${targetTitle}`);
// Bidirectional unlinking
if (options.bidirectional) {
const targetProp = targetPage.properties[options.property];
if (targetProp && targetProp.type === 'relation') {
const targetRelations = (targetProp.relation || [])
.filter(r => r.id !== sourceId)
.map(r => ({ id: r.id }));
await client.patch(`pages/${targetId}`, {
properties: {
[options.property]: {
relation: targetRelations,
},
},
});
console.log(`✅ Unlinked: ${sourceTitle} ✕ ${targetTitle}`);
// Bidirectional unlinking
if (options.bidirectional) {
const targetProp = targetPage.properties[options.property];
if (targetProp && targetProp.type === 'relation') {
const targetRelations = (targetProp.relation || [])
.filter(r => r.id !== sourceId)
.map(r => ({ id: r.id }));
await client.patch(`pages/${targetId}`, {
properties: {
[options.property]: {
relation: targetRelations,
},
});
console.log(`✅ Unlinked: ${targetTitle} ✕ ${sourceTitle} (bidirectional)`);
}
},
});
console.log(`✅ Unlinked: ${targetTitle} ✕ ${sourceTitle} (bidirectional)`);
}
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
});
}));
// Show graph

@@ -297,87 +286,81 @@ relations

.option('--format <type>', 'Output format: text, dot, json', 'text')
.action(async (pageId, options) => {
try {
const client = getClient();
const depth = parseInt(options.depth, 10);
// Track visited pages
const visited = new Set();
const nodes = [];
const edges = [];
// BFS traversal
const queue = [{ id: pageId, level: 0 }];
while (queue.length > 0) {
const { id, level } = queue.shift();
if (visited.has(id) || level > depth)
continue;
visited.add(id);
try {
const page = await client.get(`pages/${id}`);
const title = getPageTitle(page);
nodes.push({ id, title, level });
// Find relations
for (const [propName, propValue] of Object.entries(page.properties)) {
const prop = propValue;
if (prop.type === 'relation' && prop.relation) {
for (const rel of prop.relation) {
edges.push({ from: id, to: rel.id, property: propName });
if (!visited.has(rel.id) && level + 1 <= depth) {
queue.push({ id: rel.id, level: level + 1 });
}
.action(withErrorHandler(async (pageId, options) => {
const client = getClient();
const depth = parseInt(options.depth, 10);
// Track visited pages
const visited = new Set();
const nodes = [];
const edges = [];
// BFS traversal
const queue = [{ id: pageId, level: 0 }];
while (queue.length > 0) {
const { id, level } = queue.shift();
if (visited.has(id) || level > depth)
continue;
visited.add(id);
try {
const page = await client.get(`pages/${id}`);
const title = getPageTitle(page);
nodes.push({ id, title, level });
// Find relations
for (const [propName, propValue] of Object.entries(page.properties)) {
const prop = propValue;
if (prop.type === 'relation' && prop.relation) {
for (const rel of prop.relation) {
edges.push({ from: id, to: rel.id, property: propName });
if (!visited.has(rel.id) && level + 1 <= depth) {
queue.push({ id: rel.id, level: level + 1 });
}
}
}
process.stdout.write(`\rTraversing: ${nodes.length} nodes...`);
}
catch {
// Page might not be accessible
}
process.stdout.write(`\rTraversing: ${nodes.length} nodes...`);
}
console.log(`\rFound ${nodes.length} nodes, ${edges.length} edges. \n`);
// Output
if (options.format === 'json') {
console.log(formatOutput({ nodes, edges }));
return;
catch {
// Page might not be accessible
}
if (options.format === 'dot') {
console.log('digraph G {');
console.log(' rankdir=LR;');
for (const node of nodes) {
const label = node.title.replace(/"/g, '\\"').slice(0, 30);
console.log(` "${node.id.slice(0, 8)}" [label="${label}"];`);
}
console.log(`\rFound ${nodes.length} nodes, ${edges.length} edges. \n`);
// Output
if (options.format === 'json') {
console.log(formatOutput({ nodes, edges }));
return;
}
if (options.format === 'dot') {
console.log('digraph G {');
console.log(' rankdir=LR;');
for (const node of nodes) {
const label = node.title.replace(/"/g, '\\"').slice(0, 30);
console.log(` "${node.id.slice(0, 8)}" [label="${label}"];`);
}
for (const edge of edges) {
console.log(` "${edge.from.slice(0, 8)}" -> "${edge.to.slice(0, 8)}" [label="${edge.property}"];`);
}
console.log('}');
return;
}
// Text format
console.log('📊 Relationship Graph:\n');
const rootNode = nodes.find(n => n.id === pageId);
if (rootNode) {
console.log(`🎯 ${rootNode.title} (root)`);
const outgoing = edges.filter(e => e.from === pageId);
const incoming = edges.filter(e => e.to === pageId);
if (outgoing.length > 0) {
console.log('\n → Links to:');
for (const edge of outgoing) {
const target = nodes.find(n => n.id === edge.to);
console.log(` ${target?.title || edge.to.slice(0, 8)} (via ${edge.property})`);
}
for (const edge of edges) {
console.log(` "${edge.from.slice(0, 8)}" -> "${edge.to.slice(0, 8)}" [label="${edge.property}"];`);
}
console.log('}');
return;
}
// Text format
console.log('📊 Relationship Graph:\n');
const rootNode = nodes.find(n => n.id === pageId);
if (rootNode) {
console.log(`🎯 ${rootNode.title} (root)`);
const outgoing = edges.filter(e => e.from === pageId);
const incoming = edges.filter(e => e.to === pageId);
if (outgoing.length > 0) {
console.log('\n → Links to:');
for (const edge of outgoing) {
const target = nodes.find(n => n.id === edge.to);
console.log(` ${target?.title || edge.to.slice(0, 8)} (via ${edge.property})`);
}
if (incoming.length > 0) {
console.log('\n ← Linked from:');
for (const edge of incoming) {
const source = nodes.find(n => n.id === edge.from);
console.log(` ${source?.title || edge.from.slice(0, 8)} (via ${edge.property})`);
}
if (incoming.length > 0) {
console.log('\n ← Linked from:');
for (const edge of incoming) {
const source = nodes.find(n => n.id === edge.from);
console.log(` ${source?.title || edge.from.slice(0, 8)} (via ${edge.property})`);
}
}
}
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
});
}));
}
//# sourceMappingURL=relations.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"relations.js","sourceRoot":"","sources":["../../src/commands/relations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,MAAM,SAAS,GAAG,OAAO;SACtB,OAAO,CAAC,WAAW,CAAC;SACpB,KAAK,CAAC,KAAK,CAAC;SACZ,WAAW,CAAC,yCAAyC,CAAC,CAAC;IAE1D,iBAAiB;IACjB,SAAS;SACN,OAAO,CAAC,qBAAqB,CAAC;SAC9B,KAAK,CAAC,IAAI,CAAC;SACX,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;SACtC,MAAM,CAAC,OAAO,EAAE,qBAAqB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAO,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAE3B,sBAAsB;YACtB,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,EAAE,CAAS,CAAC;YAC/D,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;YAE7C,OAAO,CAAC,GAAG,CAAC,4BAA4B,WAAW,IAAI,CAAC,CAAC;YAEzD,2BAA2B;YAC3B,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC/E,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;YAC1F,CAAC;YAED,MAAM,SAAS,GAAsD,EAAE,CAAC;YAExE,iDAAiD;YACjD,8CAA8C;YAC9C,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAC/C,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE;gBAC7C,SAAS,EAAE,EAAE;aACd,CAAwB,CAAC;YAE1B,6DAA6D;YAC7D,IAAI,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAClC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,CAAa,CAAC;gBAEtF,uDAAuD;gBACvD,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/D,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAK,MAAM,CAAC,QAAqC,EAAE,WAAW,EAAE,CAAC;wBAC7F,8CAA8C;wBAC9C,IAAI,CAAC;4BACH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAc,MAAM,CAAC,QAAoC,CAAC,WAAW,QAAQ,EAAE;gCACjH,SAAS,EAAE,GAAG;6BACf,CAAwB,CAAC;4BAE1B,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gCACrC,sDAAsD;gCACtD,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oCAC9D,MAAM,IAAI,GAAG,MAAuD,CAAC;oCACrE,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;wCAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;wCACzD,IAAI,OAAO,EAAE,CAAC;4CACZ,SAAS,CAAC,IAAI,CAAC;gDACb,IAAI,EAAE,UAAU;gDAChB,IAAI;gDACJ,QAAQ,EAAE,KAAK;6CAChB,CAAC,CAAC;wCACL,CAAC;oCACH,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC;4BACP,mCAAmC;wBACrC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,0CAA0C;YAC1C,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gBACxC,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM;oBAAE,SAAS,CAAC,YAAY;gBAE9C,4CAA4C;gBAC5C,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9D,MAAM,IAAI,GAAG,MAAuD,CAAC;oBACrE,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;wBACzD,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;4BAC3D,SAAS,CAAC,IAAI,CAAC;gCACb,IAAI,EAAE,UAAU;gCAChB,IAAI;gCACJ,QAAQ,EAAE,KAAK;6BAChB,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,4CAA4C;gBAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;oBAChD,SAAS,CAAC,IAAI,CAAC;wBACb,IAAI,EAAE,SAAS;wBACf,IAAI;qBACL,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,SAAS;YACT,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;oBACvB,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE;oBAC1C,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBAC7B,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;wBACjB,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC/B,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG;qBAChB,CAAC,CAAC;iBACJ,CAAC,CAAC,CAAC;gBACJ,OAAO;YACT,CAAC;YAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBACnC,OAAO;YACT,CAAC;YAED,gBAAgB;YAChB,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;YACnE,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YAEjE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,oBAAoB,WAAW,KAAK,CAAC,CAAC;gBAElD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,OAAO,CAAC,GAAG,CAAC,yBAAyB,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;oBAC9D,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;wBAC9B,OAAO,CAAC,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC;wBACnE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;oBACpC,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClB,CAAC;gBAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,OAAO,CAAC,GAAG,CAAC,2BAA2B,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;oBAC/D,KAAK,MAAM,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;wBAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC3C,CAAC;oBACD,IAAI,YAAY,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;wBAC7B,OAAO,CAAC,GAAG,CAAC,aAAa,YAAY,CAAC,MAAM,GAAG,EAAE,OAAO,CAAC,CAAC;oBAC5D,CAAC;gBACH,CAAC;gBACD,OAAO;YACT,CAAC;YAED,kBAAkB;YAClB,OAAO,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,MAAM,eAAe,CAAC,CAAC;YAEtD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBACpC,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC1C,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACjD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;oBACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBACtC,KAAK,MAAM,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;oBAC1C,OAAO,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC1C,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxC,CAAC;gBACD,IAAI,YAAY,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;oBAC7B,OAAO,CAAC,GAAG,CAAC,cAAc,YAAY,CAAC,MAAM,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,aAAa;IACb,SAAS;SACN,OAAO,CAAC,8BAA8B,CAAC;SACvC,WAAW,CAAC,qCAAqC,CAAC;SAClD,cAAc,CAAC,uBAAuB,EAAE,wBAAwB,CAAC;SACjE,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,CAAC;SAC5D,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,QAAgB,EAAE,OAAO,EAAE,EAAE;QAC5D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAE3B,kBAAkB;YAClB,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,QAAQ,EAAE,CAAS,CAAC;YACjE,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;YAE7C,kBAAkB;YAClB,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,QAAQ,EAAE,CAAS,CAAC;YACjE,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;YAE7C,6CAA6C;YAC7C,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI,IAAK,IAAyB,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC5D,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,QAAQ,8BAA8B,CAAC,CAAC;gBAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,yBAAyB;YACzB,MAAM,iBAAiB,GAAG,CAAE,IAAwC,CAAC,QAAQ,IAAI,EAAE,CAAC;iBACjF,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAE5B,0BAA0B;YAC1B,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,MAAM,WAAW,EAAE,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;YAED,mBAAmB;YACnB,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YAEzC,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,QAAQ,EAAE,EAAE;gBACtC,UAAU,EAAE;oBACV,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;wBAClB,QAAQ,EAAE,iBAAiB;qBAC5B;iBACF;aACF,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,aAAa,WAAW,MAAM,WAAW,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEhD,wBAAwB;YACxB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC3D,IAAI,UAAU,IAAK,UAA+B,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACvE,MAAM,eAAe,GAAG,CAAE,UAA8C,CAAC,QAAQ,IAAI,EAAE,CAAC;yBACrF,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;oBAE5B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC;wBAClD,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;wBAEvC,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,QAAQ,EAAE,EAAE;4BACtC,UAAU,EAAE;gCACV,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oCAClB,QAAQ,EAAE,eAAe;iCAC1B;6BACF;yBACF,CAAC,CAAC;wBAEH,OAAO,CAAC,GAAG,CAAC,aAAa,WAAW,MAAM,WAAW,kBAAkB,CAAC,CAAC;oBAC3E,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;gBACvF,CAAC;YACH,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,eAAe;IACf,SAAS;SACN,OAAO,CAAC,gCAAgC,CAAC;SACzC,WAAW,CAAC,qCAAqC,CAAC;SAClD,cAAc,CAAC,uBAAuB,EAAE,wBAAwB,CAAC;SACjE,MAAM,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;SAC3D,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,QAAgB,EAAE,OAAO,EAAE,EAAE;QAC5D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAE3B,kBAAkB;YAClB,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,QAAQ,EAAE,CAAS,CAAC;YACjE,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;YAE7C,kBAAkB;YAClB,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,QAAQ,EAAE,CAAS,CAAC;YACjE,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;YAE7C,yBAAyB;YACzB,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI,IAAK,IAAyB,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC5D,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,QAAQ,8BAA8B,CAAC,CAAC;gBAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,iBAAiB,GAAG,CAAE,IAAwC,CAAC,QAAQ,IAAI,EAAE,CAAC;iBACjF,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC;iBAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAE5B,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,QAAQ,EAAE,EAAE;gBACtC,UAAU,EAAE;oBACV,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;wBAClB,QAAQ,EAAE,iBAAiB;qBAC5B;iBACF;aACF,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,eAAe,WAAW,MAAM,WAAW,EAAE,CAAC,CAAC;YAE3D,0BAA0B;YAC1B,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC3D,IAAI,UAAU,IAAK,UAA+B,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACvE,MAAM,eAAe,GAAG,CAAE,UAA8C,CAAC,QAAQ,IAAI,EAAE,CAAC;yBACrF,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC;yBAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;oBAE5B,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,QAAQ,EAAE,EAAE;wBACtC,UAAU,EAAE;4BACV,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gCAClB,QAAQ,EAAE,eAAe;6BAC1B;yBACF;qBACF,CAAC,CAAC;oBAEH,OAAO,CAAC,GAAG,CAAC,eAAe,WAAW,MAAM,WAAW,kBAAkB,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,aAAa;IACb,SAAS;SACN,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,oCAAoC,CAAC;SACjD,MAAM,CAAC,kBAAkB,EAAE,kCAAkC,EAAE,GAAG,CAAC;SACnE,MAAM,CAAC,iBAAiB,EAAE,gCAAgC,EAAE,MAAM,CAAC;SACnE,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAO,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAE1C,sBAAsB;YACtB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;YAClC,MAAM,KAAK,GAAmD,EAAE,CAAC;YACjE,MAAM,KAAK,GAAqD,EAAE,CAAC;YAEnE,gBAAgB;YAChB,MAAM,KAAK,GAAoC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAE1E,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;gBAErC,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,GAAG,KAAK;oBAAE,SAAS;gBAC/C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAEhB,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAS,CAAC;oBACrD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;oBAEjC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;oBAEjC,iBAAiB;oBACjB,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;wBACpE,MAAM,IAAI,GAAG,SAA0D,CAAC;wBACxE,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;4BAC9C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gCAChC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;gCAEzD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;oCAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;gCAC/C,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,KAAK,CAAC,MAAM,WAAW,CAAC,CAAC;gBACjE,CAAC;gBAAC,MAAM,CAAC;oBACP,+BAA+B;gBACjC,CAAC;YACH,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,MAAM,WAAW,KAAK,CAAC,MAAM,iBAAiB,CAAC,CAAC;YAE7E,SAAS;YACT,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC5C,OAAO;YACT,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC3D,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC;gBAChE,CAAC;gBACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC;gBACtG,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,OAAO;YACT,CAAC;YAED,cAAc;YACd,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YAExC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;YAClD,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC,KAAK,SAAS,CAAC,CAAC;gBAE3C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;gBAEpD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;oBAChC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;wBAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;wBACjD,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACtF,CAAC;gBACH,CAAC;gBAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;oBACnC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;wBAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;wBACnD,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACxF,CAAC;gBACH,CAAC;YACH,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
{"version":3,"file":"relations.js","sourceRoot":"","sources":["../../src/commands/relations.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyD5D"}
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyH5D"}
import { getClient } from '../client.js';
import { formatOutput, formatPageTitle, formatDatabaseTitle } from '../utils/format.js';
import { withErrorHandler } from '../utils/command-handler.js';
import { getParentDatabaseId } from '../utils/notion-helpers.js';
function getItemTitle(item) {
if (item.object === 'page')
return formatPageTitle(item);
return formatDatabaseTitle(item);
}
export function registerSearchCommand(program) {

@@ -11,52 +18,110 @@ program

.option('--cursor <cursor>', 'Pagination cursor for next page')
.option('--db <database_id>', 'Filter results to pages in this database')
.option('--exact', 'Only show exact title matches')
.option('--first', 'Return only the first result (exit 1 if none)')
.option('--llm', 'Compact LLM-friendly output')
.option('-j, --json', 'Output raw JSON')
.action(async (query, options) => {
try {
const client = getClient();
const body = {};
if (query)
body.query = query;
if (options.type)
body.filter = { property: 'object', value: options.type };
if (options.sort) {
body.sort = {
direction: options.sort,
timestamp: 'last_edited_time',
};
}
if (options.limit)
body.page_size = parseInt(options.limit, 10);
if (options.cursor)
body.start_cursor = options.cursor;
.action(withErrorHandler(async (query, options) => {
const client = getClient();
const body = {};
if (query)
body.query = query;
if (options.type) {
const apiType = options.type === 'database' ? 'data_source' : options.type;
body.filter = { property: 'object', value: apiType };
}
if (options.sort) {
body.sort = {
direction: options.sort,
timestamp: 'last_edited_time',
};
}
const needsPostFilter = options.db || options.exact;
const requestLimit = parseInt(options.limit || '10', 10);
body.page_size = needsPostFilter ? 100 : requestLimit;
if (options.cursor)
body.start_cursor = options.cursor;
// When post-filtering (--db, --exact), paginate until we have enough
// matches or exhaust the cursor. Without post-filters, single request.
let items = [];
let lastHasMore = false;
let lastCursor = null;
let cursor = options.cursor;
do {
if (cursor)
body.start_cursor = cursor;
const result = await client.post('search', body);
if (options.json) {
console.log(formatOutput(result));
return;
let batch = result.results;
if (options.db) {
batch = batch.filter(item => {
if (!item.parent)
return false;
const parentId = getParentDatabaseId(item.parent);
return parentId === options.db;
});
}
// Pretty print results
if (result.results.length === 0) {
console.log('No results found.');
return;
if (options.exact && query) {
const lowerQuery = query.toLowerCase();
batch = batch.filter(item => getItemTitle(item).toLowerCase() === lowerQuery);
}
for (const item of result.results) {
const icon = item.object === 'page' ? '📄' : '🗄️';
const title = item.object === 'page'
? formatPageTitle(item)
: formatDatabaseTitle(item);
console.log(`${icon} ${title}`);
console.log(` ID: ${item.id}`);
if (item.url)
console.log(` URL: ${item.url}`);
console.log('');
items.push(...batch);
lastHasMore = result.has_more;
lastCursor = result.next_cursor;
// Stop conditions: enough results, no more pages, or no post-filter
if (!needsPostFilter)
break;
if (options.first && items.length >= 1)
break;
if (items.length >= requestLimit)
break;
cursor = result.has_more ? (result.next_cursor ?? undefined) : undefined;
} while (cursor);
// Trim to requested limit
if (!options.first && items.length > requestLimit) {
items = items.slice(0, requestLimit);
}
// --first: return one result or exit 1
if (options.first) {
if (items.length === 0) {
if (!options.json && !options.llm)
console.error('No matching result found.');
process.exit(1);
}
if (result.has_more) {
console.log(`More results available. Use --cursor ${result.next_cursor}`);
items = [items[0]];
}
if (options.json) {
console.log(formatOutput(options.first ? items[0] : { results: items, has_more: lastHasMore, next_cursor: lastCursor }));
return;
}
if (items.length === 0) {
console.log('No results found.');
return;
}
// --llm: compact output
if (options.llm) {
for (const item of items) {
const title = getItemTitle(item);
const type = item.object === 'page' ? 'page' : 'db';
console.log(`[${type}] ${item.id} ${title}`);
}
if (lastHasMore && !options.first) {
console.log(`(more results available)`);
}
return;
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
for (const item of items) {
const isPage = item.object === 'page';
const icon = isPage ? '📄' : '🗄️';
const title = getItemTitle(item);
console.log(`${icon} ${title}`);
console.log(` ID: ${item.id}`);
if (item.url)
console.log(` URL: ${item.url}`);
console.log('');
}
});
if (lastHasMore && !options.first) {
console.log(`More results available. Use --cursor ${lastCursor}`);
}
}));
}
//# sourceMappingURL=search.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmCpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiQ3D"}
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqCpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyO3D"}
import { getClient } from '../client.js';
import { formatOutput } from '../utils/format.js';
import { getDatabaseSchema, queryDatabase, queryAllPages } from '../utils/database-resolver.js';
import { getDbTitle } from '../utils/notion-helpers.js';
import { withErrorHandler } from '../utils/command-handler.js';
// Stats-specific version: returns 'true'/'false' for checkboxes and only

@@ -38,118 +40,89 @@ // handles property types relevant to statistical breakdowns.

.option('--llm', 'LLM-friendly output')
.action(async (databaseId, options) => {
try {
const client = getClient();
// Get database info
const db = await client.get(`databases/${databaseId}`);
const title = getDbTitle(db);
// Find status/select properties for breakdown
const breakdownProps = [];
for (const [name, schema] of Object.entries(db.properties)) {
if (schema.type === 'status') {
const statusData = schema.status;
breakdownProps.push({
name,
type: 'status',
options: statusData?.options?.map(o => o.name) || [],
});
}
else if (schema.type === 'select' &&
(name.toLowerCase().includes('priority') ||
name.toLowerCase().includes('type') ||
name.toLowerCase().includes('category'))) {
const selectData = schema.select;
breakdownProps.push({
name,
type: 'select',
options: selectData?.options?.map(o => o.name) || [],
});
}
.action(withErrorHandler(async (databaseId, options) => {
const client = getClient();
// Get database info
const db = await getDatabaseSchema(client, databaseId);
const title = getDbTitle(db);
// Find status/select properties for breakdown
const breakdownProps = [];
for (const [name, schema] of Object.entries(db.properties)) {
if (schema.type === 'status') {
const statusData = schema.status;
breakdownProps.push({
name,
type: 'status',
options: statusData?.options?.map(o => o.name) || [],
});
}
// Query all entries (paginated)
const entries = [];
let cursor;
do {
const body = { page_size: 100 };
if (cursor)
body.start_cursor = cursor;
const result = await client.post(`databases/${databaseId}/query`, body);
entries.push(...result.results);
cursor = result.has_more ? result.next_cursor : undefined;
process.stdout.write(`\rFetching entries: ${entries.length}...`);
} while (cursor);
console.log(`\rFetched ${entries.length} entries. \n`);
// Calculate breakdowns
const breakdowns = {};
for (const prop of breakdownProps) {
breakdowns[prop.name] = {};
// Initialize with all options
for (const opt of prop.options) {
breakdowns[prop.name][opt] = 0;
}
breakdowns[prop.name]['(empty)'] = 0;
else if (schema.type === 'select' &&
(name.toLowerCase().includes('priority') ||
name.toLowerCase().includes('type') ||
name.toLowerCase().includes('category'))) {
const selectData = schema.select;
breakdownProps.push({
name,
type: 'select',
options: selectData?.options?.map(o => o.name) || [],
});
}
// Count created/edited over time
const createdByMonth = {};
const editedByMonth = {};
for (const entry of entries) {
// Breakdown counts
for (const prop of breakdownProps) {
const value = entry.properties[prop.name];
if (value) {
const strValue = getPropertyValue(value);
if (strValue) {
breakdowns[prop.name][strValue] = (breakdowns[prop.name][strValue] || 0) + 1;
}
else {
breakdowns[prop.name]['(empty)']++;
}
}
}
// Time-based stats
const createdMonth = entry.created_time.slice(0, 7);
const editedMonth = entry.last_edited_time.slice(0, 7);
createdByMonth[createdMonth] = (createdByMonth[createdMonth] || 0) + 1;
editedByMonth[editedMonth] = (editedByMonth[editedMonth] || 0) + 1;
}
// Query all entries (paginated)
const entries = await queryAllPages(client, databaseId, {
pageSize: 100,
onProgress: (fetched) => process.stdout.write(`\rFetching entries: ${fetched}...`),
});
console.log(`\rFetched ${entries.length} entries. \n`);
// Calculate breakdowns
const breakdowns = {};
for (const prop of breakdownProps) {
breakdowns[prop.name] = {};
// Initialize with all options
for (const opt of prop.options) {
breakdowns[prop.name][opt] = 0;
}
// Build stats object
const statsData = {
database: title,
databaseId,
totalEntries: entries.length,
breakdowns,
activity: {
createdByMonth,
editedByMonth,
},
};
if (options.json) {
console.log(formatOutput(statsData));
return;
}
if (options.llm) {
console.log(`# Database Stats: ${title}\n`);
console.log(`**Total entries:** ${entries.length}\n`);
for (const [propName, counts] of Object.entries(breakdowns)) {
console.log(`## ${propName}`);
const sorted = Object.entries(counts)
.filter(([, count]) => count > 0)
.sort((a, b) => b[1] - a[1]);
for (const [value, count] of sorted) {
const pct = ((count / entries.length) * 100).toFixed(1);
console.log(`- ${value}: ${count} (${pct}%)`);
breakdowns[prop.name]['(empty)'] = 0;
}
// Count created/edited over time
const createdByMonth = {};
const editedByMonth = {};
for (const entry of entries) {
// Breakdown counts
for (const prop of breakdownProps) {
const value = entry.properties[prop.name];
if (value) {
const strValue = getPropertyValue(value);
if (strValue) {
breakdowns[prop.name][strValue] = (breakdowns[prop.name][strValue] || 0) + 1;
}
console.log('');
else {
breakdowns[prop.name]['(empty)']++;
}
}
console.log('## Recent Activity');
const recentMonths = Object.keys(editedByMonth).sort().slice(-3);
for (const month of recentMonths) {
console.log(`- ${month}: ${editedByMonth[month]} edited`);
}
return;
}
// Standard output
console.log(`📊 Database: ${title}`);
console.log(` Total entries: ${entries.length}\n`);
// Time-based stats
const createdMonth = entry.created_time.slice(0, 7);
const editedMonth = entry.last_edited_time.slice(0, 7);
createdByMonth[createdMonth] = (createdByMonth[createdMonth] || 0) + 1;
editedByMonth[editedMonth] = (editedByMonth[editedMonth] || 0) + 1;
}
// Build stats object
const statsData = {
database: title,
databaseId,
totalEntries: entries.length,
breakdowns,
activity: {
createdByMonth,
editedByMonth,
},
};
if (options.json) {
console.log(formatOutput(statsData));
return;
}
if (options.llm) {
console.log(`# Database Stats: ${title}\n`);
console.log(`**Total entries:** ${entries.length}\n`);
for (const [propName, counts] of Object.entries(breakdowns)) {
console.log(`${propName}:`);
console.log(`## ${propName}`);
const sorted = Object.entries(counts)

@@ -159,22 +132,38 @@ .filter(([, count]) => count > 0)

for (const [value, count] of sorted) {
const pct = ((count / entries.length) * 100).toFixed(0);
const bar = '█'.repeat(Math.ceil(count / entries.length * 20));
console.log(` ${value.padEnd(20)} ${String(count).padStart(4)} (${pct.padStart(3)}%) ${bar}`);
const pct = ((count / entries.length) * 100).toFixed(1);
console.log(`- ${value}: ${count} (${pct}%)`);
}
console.log('');
}
// Activity summary
console.log('Recent activity:');
const recentMonths = Object.keys(editedByMonth).sort().slice(-6);
console.log('## Recent Activity');
const recentMonths = Object.keys(editedByMonth).sort().slice(-3);
for (const month of recentMonths) {
const created = createdByMonth[month] || 0;
const edited = editedByMonth[month] || 0;
console.log(` ${month}: ${created} created, ${edited} edited`);
console.log(`- ${month}: ${editedByMonth[month]} edited`);
}
return;
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
// Standard output
console.log(`📊 Database: ${title}`);
console.log(` Total entries: ${entries.length}\n`);
for (const [propName, counts] of Object.entries(breakdowns)) {
console.log(`${propName}:`);
const sorted = Object.entries(counts)
.filter(([, count]) => count > 0)
.sort((a, b) => b[1] - a[1]);
for (const [value, count] of sorted) {
const pct = ((count / entries.length) * 100).toFixed(0);
const bar = '█'.repeat(Math.ceil(count / entries.length * 20));
console.log(` ${value.padEnd(20)} ${String(count).padStart(4)} (${pct.padStart(3)}%) ${bar}`);
}
console.log('');
}
});
// Activity summary
console.log('Recent activity:');
const recentMonths = Object.keys(editedByMonth).sort().slice(-6);
for (const month of recentMonths) {
const created = createdByMonth[month] || 0;
const edited = editedByMonth[month] || 0;
console.log(` ${month}: ${created} created, ${edited} edited`);
}
}));
// Timeline view

@@ -186,64 +175,58 @@ stats

.option('-j, --json', 'Output as JSON')
.action(async (databaseId, options) => {
try {
const client = getClient();
const days = parseInt(options.days, 10);
const since = new Date();
since.setDate(since.getDate() - days);
since.setHours(0, 0, 0, 0);
// Query recently edited entries
const result = await client.post(`databases/${databaseId}/query`, {
filter: {
timestamp: 'last_edited_time',
last_edited_time: { on_or_after: since.toISOString() },
},
sorts: [{ timestamp: 'last_edited_time', direction: 'descending' }],
page_size: 100,
});
// Group by day
const byDay = {};
for (const page of result.results) {
const day = page.last_edited_time.split('T')[0];
if (!byDay[day])
byDay[day] = [];
byDay[day].push(page);
}
if (options.json) {
console.log(formatOutput({ days, since: since.toISOString(), byDay }));
return;
}
console.log(`📅 Activity timeline (last ${days} days)\n`);
// Generate all days
const allDays = [];
const current = new Date(since);
while (current <= new Date()) {
allDays.push(current.toISOString().split('T')[0]);
current.setDate(current.getDate() + 1);
}
for (const day of allDays.reverse()) {
const pages = byDay[day] || [];
const count = pages.length;
const bar = '█'.repeat(Math.min(count, 30));
// Format day name
const date = new Date(day);
const dayName = date.toLocaleDateString('en-US', { weekday: 'short' });
console.log(`${day} (${dayName}) ${String(count).padStart(3)} ${bar}`);
// Show top 3 items for the day
if (count > 0 && count <= 5) {
for (const page of pages) {
const title = Object.values(page.properties)
.find((p) => p.type === 'title');
const name = title?.title?.map(t => t.plain_text).join('') || 'Untitled';
console.log(` └─ ${name.slice(0, 40)}`);
}
.action(withErrorHandler(async (databaseId, options) => {
const client = getClient();
const days = parseInt(options.days, 10);
const since = new Date();
since.setDate(since.getDate() - days);
since.setHours(0, 0, 0, 0);
// Query recently edited entries
const result = await queryDatabase(client, databaseId, {
filter: {
timestamp: 'last_edited_time',
last_edited_time: { on_or_after: since.toISOString() },
},
sorts: [{ timestamp: 'last_edited_time', direction: 'descending' }],
page_size: 100,
});
// Group by day
const byDay = {};
for (const page of result.results) {
const day = page.last_edited_time.split('T')[0];
if (!byDay[day])
byDay[day] = [];
byDay[day].push(page);
}
if (options.json) {
console.log(formatOutput({ days, since: since.toISOString(), byDay }));
return;
}
console.log(`📅 Activity timeline (last ${days} days)\n`);
// Generate all days
const allDays = [];
const current = new Date(since);
while (current <= new Date()) {
allDays.push(current.toISOString().split('T')[0]);
current.setDate(current.getDate() + 1);
}
for (const day of allDays.reverse()) {
const pages = byDay[day] || [];
const count = pages.length;
const bar = '█'.repeat(Math.min(count, 30));
// Format day name
const date = new Date(day);
const dayName = date.toLocaleDateString('en-US', { weekday: 'short' });
console.log(`${day} (${dayName}) ${String(count).padStart(3)} ${bar}`);
// Show top 3 items for the day
if (count > 0 && count <= 5) {
for (const page of pages) {
const title = Object.values(page.properties)
.find((p) => p.type === 'title');
const name = title?.title?.map(t => t.plain_text).join('') || 'Untitled';
console.log(` └─ ${name.slice(0, 40)}`);
}
}
console.log(`\nTotal: ${result.results.length} entries edited`);
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
});
console.log(`\nTotal: ${result.results.length} entries edited`);
}));
}
//# sourceMappingURL=stats.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/commands/template.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqEpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuR9D"}
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/commands/template.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuFpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6Q9D"}
import { getClient } from '../client.js';
import { fetchAllBlocks } from '../utils/notion-helpers.js';
import { getDatabaseSchema } from '../utils/database-resolver.js';
import { withErrorHandler } from '../utils/command-handler.js';
import * as fs from 'fs';

@@ -7,2 +9,16 @@ import * as path from 'path';

const TEMPLATES_DIR = path.join(os.homedir(), '.notion-cli', 'templates');
/**
* Sanitize template name to prevent path traversal.
* Only allows alphanumeric, hyphens, underscores, and dots.
*/
function sanitizeTemplateName(name) {
const sanitized = path.basename(name).replace(/[^a-zA-Z0-9._-]/g, '-');
if (!sanitized || sanitized === '.' || sanitized === '..') {
throw new Error(`Invalid template name: "${name}"`);
}
return sanitized;
}
function resolveTemplatePath(name) {
return path.join(TEMPLATES_DIR, `${sanitizeTemplateName(name)}.json`);
}
// Ensure templates directory exists

@@ -91,41 +107,35 @@ function ensureTemplatesDir() {

.option('--overwrite', 'Overwrite if template exists')
.action(async (pageId, options) => {
try {
ensureTemplatesDir();
const templatePath = path.join(TEMPLATES_DIR, `${options.name}.json`);
if (fs.existsSync(templatePath) && !options.overwrite) {
console.error(`Template "${options.name}" already exists. Use --overwrite to replace.`);
process.exit(1);
}
const client = getClient();
console.log('Fetching page structure...');
// Get page
const page = await client.get(`pages/${pageId}`);
// Get all blocks recursively
const blocks = await fetchBlocksRecursive(client, pageId);
console.log(`Found ${blocks.length} top-level blocks`);
// Clean blocks for storage
const cleanBlocks = cleanBlocksForTemplate(blocks);
// Save template
const templateData = {
name: options.name,
description: options.description || '',
sourcePageId: pageId,
createdAt: new Date().toISOString(),
blocks: cleanBlocks,
// Store property structure (but not values) for reference
propertyTypes: Object.fromEntries(Object.entries(page.properties).map(([name, prop]) => [
name,
prop.type,
])),
};
fs.writeFileSync(templatePath, JSON.stringify(templateData, null, 2));
console.log(`\n✅ Template saved: ${options.name}`);
console.log(` Location: ${templatePath}`);
}
catch (error) {
console.error('Error:', error.message);
.action(withErrorHandler(async (pageId, options) => {
ensureTemplatesDir();
const templatePath = resolveTemplatePath(options.name);
if (fs.existsSync(templatePath) && !options.overwrite) {
console.error(`Template "${options.name}" already exists. Use --overwrite to replace.`);
process.exit(1);
}
});
const client = getClient();
console.log('Fetching page structure...');
// Get page
const page = await client.get(`pages/${pageId}`);
// Get all blocks recursively
const blocks = await fetchBlocksRecursive(client, pageId);
console.log(`Found ${blocks.length} top-level blocks`);
// Clean blocks for storage
const cleanBlocks = cleanBlocksForTemplate(blocks);
// Save template
const templateData = {
name: options.name,
description: options.description || '',
sourcePageId: pageId,
createdAt: new Date().toISOString(),
blocks: cleanBlocks,
// Store property structure (but not values) for reference
propertyTypes: Object.fromEntries(Object.entries(page.properties).map(([name, prop]) => [
name,
prop.type,
])),
};
fs.writeFileSync(templatePath, JSON.stringify(templateData, null, 2));
console.log(`\n✅ Template saved: ${options.name}`);
console.log(` Location: ${templatePath}`);
}));
// Use template

@@ -139,28 +149,38 @@ template

.option('-p, --prop <key=value...>', 'Set property values')
.action(async (templateName, options) => {
try {
ensureTemplatesDir();
const templatePath = path.join(TEMPLATES_DIR, `${templateName}.json`);
if (!fs.existsSync(templatePath)) {
console.error(`Template "${templateName}" not found.`);
console.log('\nAvailable templates:');
const files = fs.readdirSync(TEMPLATES_DIR).filter(f => f.endsWith('.json'));
files.forEach(f => console.log(` - ${path.basename(f, '.json')}`));
process.exit(1);
.action(withErrorHandler(async (templateName, options) => {
ensureTemplatesDir();
const templatePath = resolveTemplatePath(templateName);
if (!fs.existsSync(templatePath)) {
console.error(`Template "${templateName}" not found.`);
console.log('\nAvailable templates:');
const files = fs.readdirSync(TEMPLATES_DIR).filter(f => f.endsWith('.json'));
files.forEach(f => console.log(` - ${path.basename(f, '.json')}`));
process.exit(1);
}
const template = JSON.parse(fs.readFileSync(templatePath, 'utf-8'));
const client = getClient();
// Build parent
const parent = options.parentType === 'page'
? { page_id: options.parent }
: { database_id: options.parent };
// Build properties
const properties = {};
// Set title if provided
if (options.title) {
// Try to find title property name from template or use 'Name'
let titleProp = 'Name';
if (template.propertyTypes) {
for (const [name, type] of Object.entries(template.propertyTypes)) {
if (type === 'title') {
titleProp = name;
break;
}
}
}
const template = JSON.parse(fs.readFileSync(templatePath, 'utf-8'));
const client = getClient();
// Build parent
const parent = options.parentType === 'page'
? { page_id: options.parent }
: { database_id: options.parent };
// Build properties
const properties = {};
// Set title if provided
if (options.title) {
// Try to find title property name from template or use 'Name'
let titleProp = 'Name';
if (template.propertyTypes) {
for (const [name, type] of Object.entries(template.propertyTypes)) {
if (type === 'title') {
// If database, get actual title prop name
if (options.parentType === 'database') {
try {
const db = await getDatabaseSchema(client, options.parent);
for (const [name, prop] of Object.entries(db.properties)) {
if (prop.type === 'title') {
titleProp = name;

@@ -171,56 +191,40 @@ break;

}
// If database, get actual title prop name
if (options.parentType === 'database') {
try {
const db = await client.get(`databases/${options.parent}`);
for (const [name, prop] of Object.entries(db.properties)) {
if (prop.type === 'title') {
titleProp = name;
break;
}
}
}
catch {
// Use default
}
catch {
// Use default
}
properties[titleProp] = {
title: [{ text: { content: options.title } }],
};
}
// Add custom properties
if (options.prop) {
for (const propStr of options.prop) {
const [key, ...valueParts] = propStr.split('=');
const value = valueParts.join('=');
// Simple property setting - could be enhanced
properties[key] = { rich_text: [{ text: { content: value } }] };
}
}
// Prepare blocks (remove children for initial creation, we'll add them after)
const prepareBlocks = (blocks) => {
return blocks.map(block => {
const { children, ...rest } = block;
return rest;
}).slice(0, 100); // Notion limit
properties[titleProp] = {
title: [{ text: { content: options.title } }],
};
console.log('Creating page from template...');
// Create page with first batch of blocks
const pageData = {
parent,
properties,
children: prepareBlocks(template.blocks),
};
const page = await client.post('pages', pageData);
console.log(`\n✅ Page created from template "${templateName}"`);
console.log(` ID: ${page.id}`);
console.log(` URL: ${page.url}`);
// Note: Nested blocks would need additional API calls to add children
// This is left as a future enhancement
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
// Add custom properties
if (options.prop) {
for (const propStr of options.prop) {
const [key, ...valueParts] = propStr.split('=');
const value = valueParts.join('=');
// Simple property setting - could be enhanced
properties[key] = { rich_text: [{ text: { content: value } }] };
}
}
});
// Prepare blocks (remove children for initial creation, we'll add them after)
const prepareBlocks = (blocks) => {
return blocks.map(block => {
const { children, ...rest } = block;
return rest;
}).slice(0, 100); // Notion limit
};
console.log('Creating page from template...');
// Create page with first batch of blocks
const pageData = {
parent,
properties,
children: prepareBlocks(template.blocks),
};
const page = await client.post('pages', pageData);
console.log(`\n✅ Page created from template "${templateName}"`);
console.log(` ID: ${page.id}`);
console.log(` URL: ${page.url}`);
// Note: Nested blocks would need additional API calls to add children
// This is left as a future enhancement
}));
// Delete template

@@ -233,3 +237,3 @@ template

ensureTemplatesDir();
const templatePath = path.join(TEMPLATES_DIR, `${templateName}.json`);
const templatePath = resolveTemplatePath(templateName);
if (!fs.existsSync(templatePath)) {

@@ -249,3 +253,3 @@ console.error(`Template "${templateName}" not found.`);

ensureTemplatesDir();
const templatePath = path.join(TEMPLATES_DIR, `${templateName}.json`);
const templatePath = resolveTemplatePath(templateName);
if (!fs.existsSync(templatePath)) {

@@ -252,0 +256,0 @@ console.error(`Template "${templateName}" not found.`);

@@ -1,1 +0,1 @@

{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/commands/template.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/commands/template.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/commands/users.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8G3D"}
{"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/commands/users.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyF3D"}
import { getClient } from '../client.js';
import { formatOutput } from '../utils/format.js';
import { withErrorHandler } from '../utils/command-handler.js';
export function registerUsersCommand(program) {

@@ -13,24 +14,18 @@ const users = program

.option('-j, --json', 'Output raw JSON')
.action(async (options) => {
try {
const client = getClient();
const user = await client.get('users/me');
if (options.json) {
console.log(formatOutput(user));
.action(withErrorHandler(async (options) => {
const client = getClient();
const user = await client.get('users/me');
if (options.json) {
console.log(formatOutput(user));
}
else {
console.log('🤖 Current User (Integration)');
console.log(`Name: ${user.name || 'Unknown'}`);
console.log(`ID: ${user.id}`);
console.log(`Type: ${user.type}`);
if (user.bot?.owner.workspace) {
console.log('Owner: Workspace');
}
else {
console.log('🤖 Current User (Integration)');
console.log(`Name: ${user.name || 'Unknown'}`);
console.log(`ID: ${user.id}`);
console.log(`Type: ${user.type}`);
if (user.bot?.owner.workspace) {
console.log('Owner: Workspace');
}
}
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
});
}));
// List users

@@ -43,35 +38,28 @@ users

.option('-j, --json', 'Output raw JSON')
.action(async (options) => {
try {
const client = getClient();
const query = {};
if (options.limit)
query.page_size = parseInt(options.limit, 10);
if (options.cursor)
query.start_cursor = options.cursor;
const result = await client.get('users', query);
if (options.json) {
console.log(formatOutput(result));
return;
.action(withErrorHandler(async (options) => {
const client = getClient();
const query = {};
if (options.limit)
query.page_size = parseInt(options.limit, 10);
if (options.cursor)
query.start_cursor = options.cursor;
const result = await client.get('users', query);
if (options.json) {
console.log(formatOutput(result));
return;
}
for (const user of result.results) {
const icon = user.type === 'person' ? '👤' : '🤖';
console.log(`${icon} ${user.name || 'Unknown'}`);
console.log(` ID: ${user.id}`);
console.log(` Type: ${user.type}`);
if (user.person?.email) {
console.log(` Email: ${user.person.email}`);
}
const typedResult = result;
for (const user of typedResult.results) {
const icon = user.type === 'person' ? '👤' : '🤖';
console.log(`${icon} ${user.name || 'Unknown'}`);
console.log(` ID: ${user.id}`);
console.log(` Type: ${user.type}`);
if (user.person?.email) {
console.log(` Email: ${user.person.email}`);
}
console.log('');
}
if (typedResult.has_more) {
console.log(`More results available. Use --cursor ${typedResult.next_cursor}`);
}
console.log('');
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
if (result.has_more) {
console.log(`More results available. Use --cursor ${result.next_cursor}`);
}
});
}));
// Get user

@@ -82,28 +70,22 @@ users

.option('-j, --json', 'Output raw JSON')
.action(async (userId, options) => {
try {
const client = getClient();
const user = await client.get(`users/${userId}`);
if (options.json) {
console.log(formatOutput(user));
.action(withErrorHandler(async (userId, options) => {
const client = getClient();
const user = await client.get(`users/${userId}`);
if (options.json) {
console.log(formatOutput(user));
}
else {
const icon = user.type === 'person' ? '👤' : '🤖';
console.log(`${icon} ${user.name || 'Unknown'}`);
console.log(`ID: ${user.id}`);
console.log(`Type: ${user.type}`);
if (user.person?.email) {
console.log(`Email: ${user.person.email}`);
}
else {
const icon = user.type === 'person' ? '👤' : '🤖';
console.log(`${icon} ${user.name || 'Unknown'}`);
console.log(`ID: ${user.id}`);
console.log(`Type: ${user.type}`);
if (user.person?.email) {
console.log(`Email: ${user.person.email}`);
}
if (user.avatar_url) {
console.log(`Avatar: ${user.avatar_url}`);
}
if (user.avatar_url) {
console.log(`Avatar: ${user.avatar_url}`);
}
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
});
}));
}
//# sourceMappingURL=users.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/commands/users.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/commands/users.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuDpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0d9D"}
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoDpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoc9D"}
import { getClient } from '../client.js';
import { getDatabaseSchema, queryDatabase, queryAllPages } from '../utils/database-resolver.js';
import { formatOutput } from '../utils/format.js';
import { getPageTitle } from '../utils/notion-helpers.js';
function getPropertyValue(prop) {
const type = prop.type;
return prop[type];
}
import { getPageTitle, getDbTitle } from '../utils/notion-helpers.js';
import { withErrorHandler } from '../utils/command-handler.js';
function isPropertyEmpty(prop) {

@@ -54,196 +52,183 @@ const type = prop.type;

.option('--fix', 'Show fix suggestions')
.action(async (databaseId, options) => {
try {
const client = getClient();
const issues = [];
// Get database schema
const db = await client.get(`databases/${databaseId}`);
const dbTitle = db.title?.map(t => t.plain_text).join('') || 'Untitled';
console.log(`🔍 Validating database: ${dbTitle}\n`);
// Determine required properties
const requiredProps = options.required
? options.required.split(',').map((p) => p.trim())
: [];
// Find status and date properties
let statusProp = '';
let dateProp = '';
for (const [name, schema] of Object.entries(db.properties)) {
if (schema.type === 'status')
statusProp = name;
if (schema.type === 'date' && name.toLowerCase().includes('deadline')) {
dateProp = name;
}
.action(withErrorHandler(async (databaseId, options) => {
const client = getClient();
const issues = [];
// Get database schema
const db = await getDatabaseSchema(client, databaseId);
const dbTitle = getDbTitle(db);
console.log(`🔍 Validating database: ${dbTitle}\n`);
// Determine required properties
const requiredProps = options.required
? options.required.split(',').map((p) => p.trim())
: [];
// Find status and date properties
let statusProp = '';
let dateProp = '';
for (const [name, schema] of Object.entries(db.properties)) {
if (schema.type === 'status')
statusProp = name;
if (schema.type === 'date' && name.toLowerCase().includes('deadline')) {
dateProp = name;
}
// Query all entries
const entries = [];
let cursor;
do {
const body = { page_size: 100 };
if (cursor)
body.start_cursor = cursor;
const result = await client.post(`databases/${databaseId}/query`, body);
entries.push(...result.results);
cursor = result.has_more ? result.next_cursor : undefined;
process.stdout.write(`\rFetching: ${entries.length} entries...`);
} while (cursor);
console.log(`\rAnalyzing ${entries.length} entries... \n`);
const now = new Date();
const staleThreshold = options.checkStale
? new Date(now.getTime() - parseInt(options.checkStale, 10) * 24 * 60 * 60 * 1000)
: null;
// Validate each entry
for (const entry of entries) {
const title = getPageTitle(entry);
// Check for empty title
const titleProp = Object.entries(entry.properties)
.find(([, p]) => p.type === 'title');
if (titleProp && isPropertyEmpty(titleProp[1])) {
}
// Query all entries
const entries = await queryAllPages(client, databaseId, {
pageSize: 100,
onProgress: (fetched) => process.stdout.write(`\rFetching: ${fetched} entries...`),
});
console.log(`\rAnalyzing ${entries.length} entries... \n`);
const now = new Date();
const staleThreshold = options.checkStale
? new Date(now.getTime() - parseInt(options.checkStale, 10) * 24 * 60 * 60 * 1000)
: null;
// Validate each entry
for (const entry of entries) {
const title = getPageTitle(entry);
// Check for empty title
const titleProp = Object.entries(entry.properties)
.find(([, p]) => p.type === 'title');
if (titleProp && isPropertyEmpty(titleProp[1])) {
issues.push({
severity: 'error',
type: 'empty_title',
message: 'Entry has no title',
pageId: entry.id,
pageTitle: '(untitled)',
});
}
// Check required properties
for (const propName of requiredProps) {
const prop = entry.properties[propName];
if (!prop || isPropertyEmpty(prop)) {
issues.push({
severity: 'error',
type: 'empty_title',
message: 'Entry has no title',
severity: 'warning',
type: 'missing_required',
message: `Missing required property: ${propName}`,
pageId: entry.id,
pageTitle: '(untitled)',
pageTitle: title,
property: propName,
});
}
// Check required properties
for (const propName of requiredProps) {
const prop = entry.properties[propName];
if (!prop || isPropertyEmpty(prop)) {
}
// Check for overdue items
if (options.checkDates && dateProp && statusProp) {
const dateValue = entry.properties[dateProp];
const statusValue = entry.properties[statusProp];
if (dateValue?.date?.start && statusValue?.status?.name) {
const deadline = new Date(dateValue.date.start);
const status = statusValue.status.name.toLowerCase();
// Not completed and past deadline
if (deadline < now && !['hecho', 'done', 'completed', 'archivado'].some(s => status.includes(s))) {
issues.push({
severity: 'warning',
type: 'missing_required',
message: `Missing required property: ${propName}`,
type: 'overdue',
message: `Overdue: deadline was ${dateValue.date.start}`,
pageId: entry.id,
pageTitle: title,
property: propName,
suggestion: `notion page update ${entry.id} --prop "${statusProp}=Archivado"`,
});
}
}
// Check for overdue items
if (options.checkDates && dateProp && statusProp) {
const dateValue = entry.properties[dateProp];
const statusValue = entry.properties[statusProp];
if (dateValue?.date?.start && statusValue?.status?.name) {
const deadline = new Date(dateValue.date.start);
const status = statusValue.status.name.toLowerCase();
// Not completed and past deadline
if (deadline < now && !['hecho', 'done', 'completed', 'archivado'].some(s => status.includes(s))) {
issues.push({
severity: 'warning',
type: 'overdue',
message: `Overdue: deadline was ${dateValue.date.start}`,
pageId: entry.id,
pageTitle: title,
suggestion: `notion page update ${entry.id} --prop "${statusProp}=Archivado"`,
});
}
}
}
// Check for stale items
if (staleThreshold) {
const lastEdited = new Date(entry.last_edited_time);
const statusValue = entry.properties[statusProp];
const status = statusValue?.status?.name?.toLowerCase() || '';
// In progress but not updated
if (lastEdited < staleThreshold &&
['en marcha', 'in progress', 'doing'].some(s => status.includes(s))) {
const daysSince = Math.floor((now.getTime() - lastEdited.getTime()) / (1000 * 60 * 60 * 24));
issues.push({
severity: 'info',
type: 'stale',
message: `Not updated in ${daysSince} days (status: ${statusValue?.status?.name})`,
pageId: entry.id,
pageTitle: title,
});
}
// Check for stale items
if (staleThreshold) {
const lastEdited = new Date(entry.last_edited_time);
const statusValue = entry.properties[statusProp];
const status = statusValue?.status?.name?.toLowerCase() || '';
// In progress but not updated
if (lastEdited < staleThreshold &&
['en marcha', 'in progress', 'doing'].some(s => status.includes(s))) {
const daysSince = Math.floor((now.getTime() - lastEdited.getTime()) / (1000 * 60 * 60 * 24));
issues.push({
severity: 'info',
type: 'stale',
message: `Not updated in ${daysSince} days (status: ${statusValue?.status?.name})`,
pageId: entry.id,
pageTitle: title,
});
}
}
}
// Output results
if (options.json) {
console.log(formatOutput({
database: dbTitle,
totalEntries: entries.length,
issues,
summary: {
errors: issues.filter(i => i.severity === 'error').length,
warnings: issues.filter(i => i.severity === 'warning').length,
info: issues.filter(i => i.severity === 'info').length,
},
}));
return;
}
// Group by type
const byType = {};
for (const issue of issues) {
if (!byType[issue.type])
byType[issue.type] = [];
byType[issue.type].push(issue);
}
if (issues.length === 0) {
console.log('✅ No issues found!\n');
}
else {
const errors = issues.filter(i => i.severity === 'error').length;
const warnings = issues.filter(i => i.severity === 'warning').length;
const infos = issues.filter(i => i.severity === 'info').length;
console.log(`Found ${issues.length} issues: ${errors} errors, ${warnings} warnings, ${infos} info\n`);
for (const [type, typeIssues] of Object.entries(byType)) {
const icon = typeIssues[0].severity === 'error' ? '❌' :
typeIssues[0].severity === 'warning' ? '⚠️' : 'ℹ️';
console.log(`${icon} ${type.replace(/_/g, ' ').toUpperCase()} (${typeIssues.length})`);
// Show first 5
for (const issue of typeIssues.slice(0, 5)) {
console.log(` - ${issue.pageTitle}: ${issue.message}`);
if (options.fix && issue.suggestion) {
console.log(` Fix: ${issue.suggestion}`);
}
}
// Output results
if (options.json) {
console.log(formatOutput({
database: dbTitle,
totalEntries: entries.length,
issues,
summary: {
errors: issues.filter(i => i.severity === 'error').length,
warnings: issues.filter(i => i.severity === 'warning').length,
info: issues.filter(i => i.severity === 'info').length,
},
}));
return;
}
// Group by type
const byType = {};
for (const issue of issues) {
if (!byType[issue.type])
byType[issue.type] = [];
byType[issue.type].push(issue);
}
if (issues.length === 0) {
console.log('✅ No issues found!\n');
}
else {
const errors = issues.filter(i => i.severity === 'error').length;
const warnings = issues.filter(i => i.severity === 'warning').length;
const infos = issues.filter(i => i.severity === 'info').length;
console.log(`Found ${issues.length} issues: ${errors} errors, ${warnings} warnings, ${infos} info\n`);
for (const [type, typeIssues] of Object.entries(byType)) {
const icon = typeIssues[0].severity === 'error' ? '❌' :
typeIssues[0].severity === 'warning' ? '⚠️' : 'ℹ️';
console.log(`${icon} ${type.replace(/_/g, ' ').toUpperCase()} (${typeIssues.length})`);
// Show first 5
for (const issue of typeIssues.slice(0, 5)) {
console.log(` - ${issue.pageTitle}: ${issue.message}`);
if (options.fix && issue.suggestion) {
console.log(` Fix: ${issue.suggestion}`);
}
if (typeIssues.length > 5) {
console.log(` ... and ${typeIssues.length - 5} more`);
}
console.log('');
}
if (typeIssues.length > 5) {
console.log(` ... and ${typeIssues.length - 5} more`);
}
console.log('');
}
// Health score with weighted factors
const totalEntries = entries.length || 1;
const errorRate = issues.filter(i => i.severity === 'error').length / totalEntries;
const warningRate = issues.filter(i => i.severity === 'warning').length / totalEntries;
const overdueRate = issues.filter(i => i.type === 'overdue').length / totalEntries;
const staleRate = issues.filter(i => i.type === 'stale').length / totalEntries;
// Property fill rates
let totalFillRate = 0;
let propCount = 0;
for (const [propName] of Object.entries(db.properties)) {
let filled = 0;
for (const entry of entries) {
const prop = entry.properties[propName];
if (prop && !isPropertyEmpty(prop)) {
filled++;
}
}
// Health score with weighted factors
const totalEntries = entries.length || 1;
const errorRate = issues.filter(i => i.severity === 'error').length / totalEntries;
const warningRate = issues.filter(i => i.severity === 'warning').length / totalEntries;
const overdueRate = issues.filter(i => i.type === 'overdue').length / totalEntries;
const staleRate = issues.filter(i => i.type === 'stale').length / totalEntries;
// Property fill rates
let totalFillRate = 0;
let propCount = 0;
for (const [propName] of Object.entries(db.properties)) {
let filled = 0;
for (const entry of entries) {
const prop = entry.properties[propName];
if (prop && !isPropertyEmpty(prop)) {
filled++;
}
totalFillRate += filled / totalEntries;
propCount++;
}
const avgFillRate = propCount > 0 ? totalFillRate / propCount : 1;
// Weighted score: fill rate 30%, errors 30%, warnings 20%, timeliness 20%
const fillScore = avgFillRate * 100;
const errorScore = Math.max(0, 100 - errorRate * 500);
const warningScore = Math.max(0, 100 - warningRate * 200);
const timelinessScore = Math.max(0, 100 - (overdueRate + staleRate) * 300);
const healthScore = Math.round(fillScore * 0.3 + errorScore * 0.3 + warningScore * 0.2 + timelinessScore * 0.2);
const emoji = healthScore >= 80 ? '🟢' : healthScore >= 50 ? '🟡' : '🔴';
console.log(`\n${'═'.repeat(40)}`);
console.log(`📊 Health Score: ${healthScore}/100 ${emoji}`);
console.log(`${'═'.repeat(40)}`);
console.log(` Fill rate: ${Math.round(fillScore)}/100 (weight: 30%)`);
console.log(` Errors: ${Math.round(errorScore)}/100 (weight: 30%)`);
console.log(` Warnings: ${Math.round(warningScore)}/100 (weight: 20%)`);
console.log(` Timeliness: ${Math.round(timelinessScore)}/100 (weight: 20%)`);
totalFillRate += filled / totalEntries;
propCount++;
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
});
const avgFillRate = propCount > 0 ? totalFillRate / propCount : 1;
// Weighted score: fill rate 30%, errors 30%, warnings 20%, timeliness 20%
const fillScore = avgFillRate * 100;
const errorScore = Math.max(0, 100 - errorRate * 500);
const warningScore = Math.max(0, 100 - warningRate * 200);
const timelinessScore = Math.max(0, 100 - (overdueRate + staleRate) * 300);
const healthScore = Math.round(fillScore * 0.3 + errorScore * 0.3 + warningScore * 0.2 + timelinessScore * 0.2);
const emoji = healthScore >= 80 ? '🟢' : healthScore >= 50 ? '🟡' : '🔴';
console.log(`\n${'═'.repeat(40)}`);
console.log(`📊 Health Score: ${healthScore}/100 ${emoji}`);
console.log(`${'═'.repeat(40)}`);
console.log(` Fill rate: ${Math.round(fillScore)}/100 (weight: 30%)`);
console.log(` Errors: ${Math.round(errorScore)}/100 (weight: 30%)`);
console.log(` Warnings: ${Math.round(warningScore)}/100 (weight: 20%)`);
console.log(` Timeliness: ${Math.round(timelinessScore)}/100 (weight: 20%)`);
}));
// Quick lint

@@ -253,99 +238,91 @@ validate

.description('Quick lint check for common issues')
.action(async (databaseId) => {
try {
const client = getClient();
// Get database
const db = await client.get(`databases/${databaseId}`);
const dbTitle = db.title?.map(t => t.plain_text).join('') || 'Untitled';
console.log(`🔍 Linting: ${dbTitle}\n`);
// Quick queries for common issues
const checks = [];
// Find properties
let titleProp = '';
let statusProp = '';
for (const [name, schema] of Object.entries(db.properties)) {
if (schema.type === 'title')
titleProp = name;
if (schema.type === 'status')
statusProp = name;
}
// Check for entries without title
if (titleProp) {
.action(withErrorHandler(async (databaseId) => {
const client = getClient();
// Get database
const db = await getDatabaseSchema(client, databaseId);
const dbTitle = getDbTitle(db);
console.log(`🔍 Linting: ${dbTitle}\n`);
// Quick queries for common issues
const checks = [];
// Find properties
let titleProp = '';
let statusProp = '';
for (const [name, schema] of Object.entries(db.properties)) {
if (schema.type === 'title')
titleProp = name;
if (schema.type === 'status')
statusProp = name;
}
// Check for entries without title
if (titleProp) {
checks.push({
name: 'Empty titles',
filter: { property: titleProp, title: { is_empty: true } },
severity: 'error',
});
}
// Check for old "in progress" items
if (statusProp) {
const statusData = db.properties[statusProp].status;
const inProgressStatus = statusData?.options?.find(o => o.name.toLowerCase().includes('marcha') || o.name.toLowerCase().includes('progress'));
if (inProgressStatus) {
const thirtyDaysAgo = new Date();
thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 30);
checks.push({
name: 'Empty titles',
filter: { property: titleProp, title: { is_empty: true } },
severity: 'error',
name: `"${inProgressStatus.name}" for >30 days`,
filter: {
and: [
{ property: statusProp, status: { equals: inProgressStatus.name } },
{ timestamp: 'last_edited_time', last_edited_time: { before: thirtyDaysAgo.toISOString() } },
],
},
severity: 'warning',
});
}
// Check for old "in progress" items
if (statusProp) {
const statusData = db.properties[statusProp].status;
const inProgressStatus = statusData?.options?.find(o => o.name.toLowerCase().includes('marcha') || o.name.toLowerCase().includes('progress'));
if (inProgressStatus) {
const thirtyDaysAgo = new Date();
thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 30);
checks.push({
name: `"${inProgressStatus.name}" for >30 days`,
filter: {
and: [
{ property: statusProp, status: { equals: inProgressStatus.name } },
{ timestamp: 'last_edited_time', last_edited_time: { before: thirtyDaysAgo.toISOString() } },
],
},
severity: 'warning',
});
}
// Run filter-based checks
let totalIssues = 0;
for (const check of checks) {
try {
const countResult = await queryDatabase(client, databaseId, {
filter: check.filter,
page_size: 100,
});
const count = countResult.results.length;
if (count > 0) {
const icon = check.severity === 'error' ? '❌' : '⚠️';
console.log(`${icon} ${check.name}: ${count} found`);
totalIssues += count;
}
}
// Run filter-based checks
let totalIssues = 0;
for (const check of checks) {
try {
const countResult = await client.post(`databases/${databaseId}/query`, {
filter: check.filter,
page_size: 100,
});
const count = countResult.results.length;
if (count > 0) {
const icon = check.severity === 'error' ? '❌' : '⚠️';
console.log(`${icon} ${check.name}: ${count} found`);
totalIssues += count;
}
else {
console.log(`✅ ${check.name}: OK`);
}
else {
console.log(`✅ ${check.name}: OK`);
}
catch {
console.log(`⏭️ ${check.name}: skipped (filter not supported)`);
}
}
// Check for duplicate titles (requires fetching entries)
const allEntries = await client.post(`databases/${databaseId}/query`, {
page_size: 100,
});
const titleCounts = new Map();
for (const entry of allEntries.results) {
const title = getPageTitle(entry).toLowerCase().trim();
if (title && title !== 'untitled') {
titleCounts.set(title, (titleCounts.get(title) || 0) + 1);
}
catch {
console.log(`⏭️ ${check.name}: skipped (filter not supported)`);
}
const duplicates = [...titleCounts.entries()].filter(([, count]) => count > 1);
if (duplicates.length > 0) {
const dupeCount = duplicates.reduce((sum, [, count]) => sum + count, 0);
console.log(`⚠️ Duplicate titles: ${duplicates.length} titles repeated (${dupeCount} entries)`);
for (const [title, count] of duplicates.slice(0, 3)) {
console.log(` "${title}" appears ${count} times`);
}
totalIssues += dupeCount;
}
// Check for duplicate titles (fetch all entries for accuracy)
const allPages = await queryAllPages(client, databaseId);
const titleCounts = new Map();
for (const entry of allPages) {
const title = getPageTitle(entry).toLowerCase().trim();
if (title && title !== 'untitled') {
titleCounts.set(title, (titleCounts.get(title) || 0) + 1);
}
else {
console.log('✅ Duplicate titles: OK');
}
const duplicates = [...titleCounts.entries()].filter(([, count]) => count > 1);
if (duplicates.length > 0) {
const dupeCount = duplicates.reduce((sum, [, count]) => sum + count, 0);
console.log(`⚠️ Duplicate titles: ${duplicates.length} titles repeated (${dupeCount} entries)`);
for (const [title, count] of duplicates.slice(0, 3)) {
console.log(` "${title}" appears ${count} times`);
}
console.log(`\nTotal issues: ${totalIssues}`);
totalIssues += dupeCount;
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
else {
console.log('✅ Duplicate titles: OK');
}
});
console.log(`\nTotal issues: ${totalIssues}`);
}));
// Health check

@@ -355,93 +332,100 @@ validate

.description('Get a health score for the database')
.action(async (databaseId) => {
try {
const client = getClient();
const db = await client.get(`databases/${databaseId}`);
const dbTitle = db.title?.map(t => t.plain_text).join('') || 'Untitled';
// Query recent entries
const result = await client.post(`databases/${databaseId}/query`, {
page_size: 100,
sorts: [{ timestamp: 'last_edited_time', direction: 'descending' }],
});
const entries = result.results;
// Calculate metrics
const now = new Date();
const recentlyEdited = entries.filter(e => {
const edited = new Date(e.last_edited_time);
const daysSince = (now.getTime() - edited.getTime()) / (1000 * 60 * 60 * 24);
return daysSince <= 7;
.action(withErrorHandler(async (databaseId) => {
const client = getClient();
const db = await getDatabaseSchema(client, databaseId);
const dbTitle = getDbTitle(db);
// Fetch all entries for accurate health scoring
const entries = await queryAllPages(client, databaseId, {
sorts: [{ timestamp: 'last_edited_time', direction: 'descending' }],
onProgress: (n) => process.stdout.write(`\rFetching entries: ${n}...`),
});
if (entries.length > 0)
process.stdout.write('\r');
// Calculate metrics
const now = new Date();
const recentlyEdited = entries.filter(e => {
const edited = new Date(e.last_edited_time);
const daysSince = (now.getTime() - edited.getTime()) / (1000 * 60 * 60 * 24);
return daysSince <= 7;
}).length;
let completionRate = 0;
let statusProp = '';
for (const [name, schema] of Object.entries(db.properties)) {
if (schema.type === 'status') {
statusProp = name;
break;
}
}
if (statusProp) {
const completed = entries.filter(e => {
const status = e.properties[statusProp];
const name = status?.status?.name?.toLowerCase() || '';
return ['hecho', 'done', 'completed'].some(s => name.includes(s));
}).length;
let completionRate = 0;
let statusProp = '';
for (const [name, schema] of Object.entries(db.properties)) {
if (schema.type === 'status') {
statusProp = name;
break;
completionRate = entries.length > 0 ? Math.round((completed / entries.length) * 100) : 0;
}
// Property fill rates
const fillRates = {};
for (const [propName] of Object.entries(db.properties)) {
let filled = 0;
for (const entry of entries) {
const prop = entry.properties[propName];
if (prop && !isPropertyEmpty(prop)) {
filled++;
}
}
if (statusProp) {
const completed = entries.filter(e => {
const status = e.properties[statusProp];
const name = status?.status?.name?.toLowerCase() || '';
return ['hecho', 'done', 'completed'].some(s => name.includes(s));
}).length;
completionRate = entries.length > 0 ? Math.round((completed / entries.length) * 100) : 0;
}
// Property fill rates
const fillRates = {};
for (const [propName] of Object.entries(db.properties)) {
let filled = 0;
for (const entry of entries) {
const prop = entry.properties[propName];
if (prop && !isPropertyEmpty(prop)) {
filled++;
}
}
fillRates[propName] = entries.length > 0 ? Math.round((filled / entries.length) * 100) : 0;
}
// Calculate health score
const activityScore = Math.min(100, (recentlyEdited / entries.length) * 100 * 2);
const avgFillRate = Object.values(fillRates).reduce((a, b) => a + b, 0) / Object.values(fillRates).length;
const healthScore = Math.round((activityScore * 0.3) + (avgFillRate * 0.5) + (completionRate * 0.2));
// Output
fillRates[propName] = entries.length > 0 ? Math.round((filled / entries.length) * 100) : 0;
}
// Calculate health score (handle empty databases)
if (entries.length === 0) {
console.log(`\n📊 Health Report: ${dbTitle}\n`);
console.log(`${'═'.repeat(40)}`);
console.log(`Health Score: ${healthScore}/100 ${healthScore >= 80 ? '🟢' : healthScore >= 50 ? '🟡' : '🔴'}`);
console.log(`Health Score: 0/100 🔴`);
console.log(`${'═'.repeat(40)}\n`);
console.log(`📈 Activity (last 7 days): ${recentlyEdited}/${entries.length} entries (${Math.round(recentlyEdited / entries.length * 100)}%)`);
console.log(`✅ Completion rate: ${completionRate}%`);
console.log(`📝 Average fill rate: ${Math.round(avgFillRate)}%\n`);
console.log('Property fill rates:');
const sortedFillRates = Object.entries(fillRates)
.sort((a, b) => b[1] - a[1]);
for (const [prop, rate] of sortedFillRates) {
const bar = '█'.repeat(Math.ceil(rate / 10)) + '░'.repeat(10 - Math.ceil(rate / 10));
const icon = rate >= 80 ? '✅' : rate >= 50 ? '⚠️' : '❌';
console.log(` ${icon} ${prop.padEnd(25)} ${bar} ${rate}%`);
console.log('Database is empty — no entries to analyze.');
return;
}
const activityScore = Math.min(100, (recentlyEdited / entries.length) * 100 * 2);
const fillRateValues = Object.values(fillRates);
const avgFillRate = fillRateValues.length > 0
? fillRateValues.reduce((a, b) => a + b, 0) / fillRateValues.length
: 0;
const healthScore = Math.round((activityScore * 0.3) + (avgFillRate * 0.5) + (completionRate * 0.2));
// Output
console.log(`\n📊 Health Report: ${dbTitle}\n`);
console.log(`${'═'.repeat(40)}`);
console.log(`Health Score: ${healthScore}/100 ${healthScore >= 80 ? '🟢' : healthScore >= 50 ? '🟡' : '🔴'}`);
console.log(`${'═'.repeat(40)}\n`);
const activityPct = Math.round((recentlyEdited / entries.length) * 100);
console.log(`📈 Activity (last 7 days): ${recentlyEdited}/${entries.length} entries (${activityPct}%)`);
console.log(`✅ Completion rate: ${completionRate}%`);
console.log(`📝 Average fill rate: ${Math.round(avgFillRate)}%\n`);
console.log('Property fill rates:');
const sortedFillRates = Object.entries(fillRates)
.sort((a, b) => b[1] - a[1]);
for (const [prop, rate] of sortedFillRates) {
const bar = '█'.repeat(Math.ceil(rate / 10)) + '░'.repeat(10 - Math.ceil(rate / 10));
const icon = rate >= 80 ? '✅' : rate >= 50 ? '⚠️' : '❌';
console.log(` ${icon} ${prop.padEnd(25)} ${bar} ${rate}%`);
}
// Recommendations
const recommendations = [];
const lowFill = sortedFillRates.filter(([, r]) => r < 50);
if (lowFill.length > 0) {
recommendations.push(`Fill in "${lowFill[0][0]}" (only ${lowFill[0][1]}% populated)`);
}
if (completionRate < 30) {
recommendations.push('Completion rate is low, review stuck or abandoned items');
}
if (recentlyEdited < entries.length * 0.1) {
recommendations.push('Most entries are stale, consider archiving inactive items');
}
if (recommendations.length > 0) {
console.log('\nRecommendations:');
for (const rec of recommendations) {
console.log(` -> ${rec}`);
}
// Recommendations
const recommendations = [];
const lowFill = sortedFillRates.filter(([, r]) => r < 50);
if (lowFill.length > 0) {
recommendations.push(`Fill in "${lowFill[0][0]}" (only ${lowFill[0][1]}% populated)`);
}
if (completionRate < 30) {
recommendations.push('Completion rate is low, review stuck or abandoned items');
}
if (recentlyEdited < entries.length * 0.1) {
recommendations.push('Most entries are stale, consider archiving inactive items');
}
if (recommendations.length > 0) {
console.log('\nRecommendations:');
for (const rec of recommendations) {
console.log(` -> ${rec}`);
}
}
}
catch (error) {
console.error('Error:', error.message);
process.exit(1);
}
});
}));
}
//# sourceMappingURL=validate.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAa/D,SAAS,eAAe,CAAC,IAA6B;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAc,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAEzB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAEvD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,WAAW;YACd,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAC3C,CAAE,KAAkC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC;QAC7D,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,CAAE,KAA2B,EAAE,IAAI,CAAC;QAC7C,KAAK,cAAc,CAAC;QACpB,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO,CAAC;QACb,KAAK,UAAU;YACb,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;QACrD,KAAK,MAAM;YACT,OAAO,CAAE,KAA4B,EAAE,KAAK,CAAC;QAC/C,KAAK,QAAQ;YACX,OAAO,KAAK,KAAK,IAAI,CAAC;QACxB,KAAK,UAAU;YACb,OAAO,KAAK,CAAC,CAAC,4BAA4B;QAC5C,KAAK,KAAK,CAAC;QACX,KAAK,OAAO,CAAC;QACb,KAAK,cAAc;YACjB,OAAO,CAAC,KAAK,CAAC;QAChB;YACE,OAAO,CAAC,KAAK,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,QAAQ,GAAG,OAAO;SACrB,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,6CAA6C,CAAC,CAAC;IAE9D,kBAAkB;IAClB,QAAQ;SACL,OAAO,CAAC,qBAAqB,CAAC;SAC9B,KAAK,CAAC,KAAK,CAAC;SACZ,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CAAC,oBAAoB,EAAE,6CAA6C,CAAC;SAC3E,MAAM,CAAC,eAAe,EAAE,yBAAyB,CAAC;SAClD,MAAM,CAAC,sBAAsB,EAAE,kCAAkC,CAAC;SAClE,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;SACtC,MAAM,CAAC,OAAO,EAAE,sBAAsB,CAAC;SACvC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAkB,EAAE,OAAO,EAAE,EAAE;QAC3D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAsB,EAAE,CAAC;QAErC,sBAAsB;QACtB,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;QAE/B,OAAO,CAAC,GAAG,CAAC,2BAA2B,OAAO,IAAI,CAAC,CAAC;QAEpD,gCAAgC;QAChC,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ;YACpC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1D,CAAC,CAAC,EAAE,CAAC;QAEP,kCAAkC;QAClC,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAElB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3D,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;gBAAE,UAAU,GAAG,IAAI,CAAC;YAChD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtE,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE;YACtD,QAAQ,EAAE,GAAG;YACb,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,OAAO,aAAa,CAAC;SACnF,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,CAAC,MAAM,qBAAqB,CAAC,CAAC;QAEhE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU;YACvC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YAClF,CAAC,CAAC,IAAI,CAAC;QAET,sBAAsB;QACtB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YAElC,wBAAwB;YACxB,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;iBAC/C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAE,CAAsB,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YAE7D,IAAI,SAAS,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC,CAA4B,CAAC,EAAE,CAAC;gBAC1E,MAAM,CAAC,IAAI,CAAC;oBACV,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,oBAAoB;oBAC7B,MAAM,EAAE,KAAK,CAAC,EAAE;oBAChB,SAAS,EAAE,YAAY;iBACxB,CAAC,CAAC;YACL,CAAC;YAED,4BAA4B;YAC5B,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;gBACrC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACxC,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,IAA+B,CAAC,EAAE,CAAC;oBAC9D,MAAM,CAAC,IAAI,CAAC;wBACV,QAAQ,EAAE,SAAS;wBACnB,IAAI,EAAE,kBAAkB;wBACxB,OAAO,EAAE,8BAA8B,QAAQ,EAAE;wBACjD,MAAM,EAAE,KAAK,CAAC,EAAE;wBAChB,SAAS,EAAE,KAAK;wBAChB,QAAQ,EAAE,QAAQ;qBACnB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,0BAA0B;YAC1B,IAAI,OAAO,CAAC,UAAU,IAAI,QAAQ,IAAI,UAAU,EAAE,CAAC;gBACjD,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAkC,CAAC;gBAC9E,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,CAAmC,CAAC;gBAEnF,IAAI,SAAS,EAAE,IAAI,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;oBACxD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAChD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAErD,kCAAkC;oBAClC,IAAI,QAAQ,GAAG,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACjG,MAAM,CAAC,IAAI,CAAC;4BACV,QAAQ,EAAE,SAAS;4BACnB,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE,yBAAyB,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE;4BACxD,MAAM,EAAE,KAAK,CAAC,EAAE;4BAChB,SAAS,EAAE,KAAK;4BAChB,UAAU,EAAE,sBAAsB,KAAK,CAAC,EAAE,YAAY,UAAU,aAAa;yBAC9E,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,wBAAwB;YACxB,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBACpD,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,CAA+C,CAAC;gBAC/F,MAAM,MAAM,GAAG,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;gBAE9D,8BAA8B;gBAC9B,IAAI,UAAU,GAAG,cAAc;oBAC3B,CAAC,WAAW,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC7F,MAAM,CAAC,IAAI,CAAC;wBACV,QAAQ,EAAE,MAAM;wBAChB,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,kBAAkB,SAAS,kBAAkB,WAAW,EAAE,MAAM,EAAE,IAAI,GAAG;wBAClF,MAAM,EAAE,KAAK,CAAC,EAAE;wBAChB,SAAS,EAAE,KAAK;qBACjB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;gBACvB,QAAQ,EAAE,OAAO;gBACjB,YAAY,EAAE,OAAO,CAAC,MAAM;gBAC5B,MAAM;gBACN,OAAO,EAAE;oBACP,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM;oBACzD,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM;oBAC7D,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM;iBACvD;aACF,CAAC,CAAC,CAAC;YACJ,OAAO;QACT,CAAC;QAED,gBAAgB;QAChB,MAAM,MAAM,GAAsC,EAAE,CAAC;QACrD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;YACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;YACrE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;YAE/D,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,MAAM,YAAY,MAAM,YAAY,QAAQ,cAAc,KAAK,SAAS,CAAC,CAAC;YAEtG,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxD,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBAC3C,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBAE/D,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;gBAEvF,eAAe;gBACf,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBAC3C,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBACzD,IAAI,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;wBACpC,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;oBAC/C,CAAC;gBACH,CAAC;gBAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,OAAO,CAAC,GAAG,CAAC,cAAc,UAAU,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC1D,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,GAAG,YAAY,CAAC;QACnF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM,GAAG,YAAY,CAAC;QACvF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,MAAM,GAAG,YAAY,CAAC;QACnF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM,GAAG,YAAY,CAAC;QAE/E,sBAAsB;QACtB,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;YACvD,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACxC,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,IAA+B,CAAC,EAAE,CAAC;oBAC9D,MAAM,EAAE,CAAC;gBACX,CAAC;YACH,CAAC;YACD,aAAa,IAAI,MAAM,GAAG,YAAY,CAAC;YACvC,SAAS,EAAE,CAAC;QACd,CAAC;QACD,MAAM,WAAW,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAElE,0EAA0E;QAC1E,MAAM,SAAS,GAAG,WAAW,GAAG,GAAG,CAAC;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,WAAW,GAAG,GAAG,CAAC,CAAC;QAC1D,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC;QAE3E,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,SAAS,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,YAAY,GAAG,GAAG,GAAG,eAAe,GAAG,GAAG,CAChF,CAAC;QAEF,MAAM,KAAK,GAAG,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,oBAAoB,WAAW,QAAQ,KAAK,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC,CAAC;IAEN,aAAa;IACb,QAAQ;SACL,OAAO,CAAC,oBAAoB,CAAC;SAC7B,WAAW,CAAC,oCAAoC,CAAC;SACjD,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAkB,EAAE,EAAE;QAClD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,eAAe;QACf,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;QAE/B,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,IAAI,CAAC,CAAC;QAExC,kCAAkC;QAClC,MAAM,MAAM,GAA0E,EAAE,CAAC;QAEzF,kBAAkB;QAClB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3D,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;gBAAE,SAAS,GAAG,IAAI,CAAC;YAC9C,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;gBAAE,UAAU,GAAG,IAAI,CAAC;QAClD,CAAC;QAED,kCAAkC;QAClC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;gBAC1D,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;QACL,CAAC;QAED,oCAAoC;QACpC,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,MAA0C,CAAC;YACxF,MAAM,gBAAgB,GAAG,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CACrD,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CACrF,CAAC;YAEF,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;gBACjC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAEpD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,IAAI,gBAAgB,CAAC,IAAI,gBAAgB;oBAC/C,MAAM,EAAE;wBACN,GAAG,EAAE;4BACH,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,gBAAgB,CAAC,IAAI,EAAE,EAAE;4BACnE,EAAE,SAAS,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,WAAW,EAAE,EAAE,EAAE;yBAC7F;qBACF;oBACD,QAAQ,EAAE,SAAS;iBACpB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,aAAa,CAAsB,MAAM,EAAE,UAAU,EAAE;oBAC/E,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,SAAS,EAAE,GAAG;iBACf,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;gBAEzC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACd,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;oBACrD,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,QAAQ,CAAC,CAAC;oBACrD,WAAW,IAAI,KAAK,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,kCAAkC,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAEzD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC9C,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;YACvD,IAAI,KAAK,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;gBAClC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC/E,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,wBAAwB,UAAU,CAAC,MAAM,qBAAqB,SAAS,WAAW,CAAC,CAAC;YAChG,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,aAAa,KAAK,QAAQ,CAAC,CAAC;YACtD,CAAC;YACD,WAAW,IAAI,SAAS,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC,CAAC;IAEN,eAAe;IACf,QAAQ;SACL,OAAO,CAAC,sBAAsB,CAAC;SAC/B,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAkB,EAAE,EAAE;QAClD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;QAE/B,gDAAgD;QAChD,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE;YACtD,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,YAAY,EAAS,CAAC;YAC1E,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,KAAK,CAAC;SACvE,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEnD,oBAAoB;QACpB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACxC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;YAC5C,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7E,OAAO,SAAS,IAAI,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,MAAM,CAAC;QAEV,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3D,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,UAAU,GAAG,IAAI,CAAC;gBAClB,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACnC,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,UAAU,CAAmC,CAAC;gBAC1E,MAAM,IAAI,GAAG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;gBACvD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,CAAC,CAAC,CAAC,MAAM,CAAC;YAEV,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,CAAC;QAED,sBAAsB;QACtB,MAAM,SAAS,GAA2B,EAAE,CAAC;QAE7C,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;YACvD,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACxC,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,IAA+B,CAAC,EAAE,CAAC;oBAC9D,MAAM,EAAE,CAAC;gBACX,CAAC;YACH,CAAC;YACD,SAAS,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7F,CAAC;QAED,kDAAkD;QAClD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,IAAI,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACjF,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC;YAC3C,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM;YACnE,CAAC,CAAC,CAAC,CAAC;QAEN,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC;QAErG,SAAS;QACT,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,IAAI,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,iBAAiB,WAAW,QAAQ,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9G,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAEnC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,8BAA8B,cAAc,IAAI,OAAO,CAAC,MAAM,aAAa,WAAW,IAAI,CAAC,CAAC;QACxG,OAAO,CAAC,GAAG,CAAC,sBAAsB,cAAc,GAAG,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEnE,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;aAC9C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/B,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,eAAe,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;YACrF,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC;QAC9D,CAAC;QAED,kBAAkB;QAClB,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,eAAe,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,cAAc,GAAG,EAAE,EAAE,CAAC;YACxB,eAAe,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC1C,eAAe,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QACpF,CAAC;QAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACL,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}

@@ -62,2 +62,3 @@ /**

database_id?: string;
data_source_id?: string;
page_id?: string;

@@ -71,2 +72,3 @@ };

export interface Database {
object?: 'database';
id: string;

@@ -73,0 +75,0 @@ title?: {

@@ -1,1 +0,1 @@

{"version":3,"file":"notion.d.ts","sourceRoot":"","sources":["../../src/types/notion.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"notion.d.ts","sourceRoot":"","sources":["../../src/types/notion.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAElD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAiBrD;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAOvD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAwDlD;AAqCD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA4CxE;AAED,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA+CzB"}
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAElD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAiBrD;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAOvD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAwDlD;AAkED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA0DxE;AA4BD,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsBzB"}

@@ -102,2 +102,30 @@ /**

}
function buildTypedProperty(type, value) {
switch (type) {
case 'status':
return { status: { name: value } };
case 'select':
return { select: { name: value } };
case 'multi_select':
return { multi_select: value.split(',').map(v => ({ name: v.trim() })) };
case 'rich_text':
return { rich_text: [{ text: { content: value } }] };
case 'number':
return { number: parseFloat(value) };
case 'checkbox':
return { checkbox: value === 'true' };
case 'date':
return { date: { start: value } };
case 'url':
return { url: value };
case 'email':
return { email: value };
case 'people':
return { people: value.split(',').map(id => ({ id: id.trim() })) };
case 'relation':
return { relation: value.split(',').map(id => ({ id: id.trim() })) };
default:
return { [type]: value };
}
}
export function parseProperties(props) {

@@ -109,4 +137,16 @@ const result = {};

continue;
const key = prop.slice(0, eqIndex);
let key = prop.slice(0, eqIndex);
const value = prop.slice(eqIndex + 1);
// Support type hint syntax: "Key:type=Value"
let typeHint;
const colonIndex = key.indexOf(':');
if (colonIndex !== -1) {
typeHint = key.slice(colonIndex + 1);
key = key.slice(0, colonIndex);
}
// If type hint is provided, use it directly
if (typeHint) {
result[key] = buildTypedProperty(typeHint, value);
continue;
}
// Try to determine property type from value format

@@ -154,2 +194,29 @@ if (value.startsWith('[') || value.startsWith('{')) {

}
// Operators that take boolean true instead of a user-supplied value
const BOOLEAN_OPERATORS = new Set(['is_empty', 'is_not_empty']);
// Date operators that take an empty object {} instead of a date string
const VALUELESS_DATE_OPERATORS = new Set([
'past_week', 'past_month', 'past_year',
'next_week', 'next_month', 'next_year',
'this_week',
]);
/**
* Resolve the filter value based on operator semantics.
* - is_empty / is_not_empty → true (boolean)
* - past_week, next_month, etc. → {} (empty object)
* - number types → parseFloat
* - checkbox → boolean
* - everything else → raw string value
*/
function resolveFilterValue(filterType, value, propType) {
if (BOOLEAN_OPERATORS.has(filterType))
return true;
if (propType === 'date' && VALUELESS_DATE_OPERATORS.has(filterType))
return {};
if (propType === 'number')
return parseFloat(value);
if (propType === 'checkbox')
return value === 'true';
return value;
}
export function parseFilter(property, filterType, value, propType) {

@@ -159,28 +226,4 @@ const filter = { property };

if (propType) {
switch (propType) {
case 'status':
filter.status = { [filterType]: value };
break;
case 'select':
filter.select = { [filterType]: value };
break;
case 'multi_select':
filter.multi_select = { [filterType]: value };
break;
case 'text':
case 'rich_text':
filter.rich_text = { [filterType]: value };
break;
case 'number':
filter.number = { [filterType]: parseFloat(value) };
break;
case 'checkbox':
filter.checkbox = { [filterType]: value === 'true' };
break;
case 'date':
filter.date = { [filterType]: value };
break;
default:
filter[propType] = { [filterType]: value };
}
const resolvedType = propType === 'text' ? 'rich_text' : propType;
filter[resolvedType] = { [filterType]: resolveFilterValue(filterType, value, propType) };
return filter;

@@ -199,3 +242,2 @@ }

else {
// Default to select for simple string values (most common case)
filter.select = { [filterType]: value };

@@ -202,0 +244,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"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"}

@@ -15,2 +15,5 @@ /**

* - getPropertyValue(prop) → string | null (property → display string)
* - getPropertyRawValue(prop, opts?) → unknown (property → raw value for frontmatter)
* - getParentDatabaseId(parent) → string | undefined (extract DB/DS id from parent)
* - isParentDatabase(parent) → boolean (check if parent is a database/data_source)
*/

@@ -46,2 +49,33 @@ import type { getClient } from '../client.js';

/**
* Resolve a user-supplied property name against the schema.
* Tries: exact match → case-insensitive → normalized (collapsed whitespace).
* Returns the canonical schema name or null if no match.
*/
export declare function resolvePropertyName(schema: Record<string, unknown>, input: string): string | null;
/**
* Generate the correct empty/null payload to clear a property based on its type.
* Throws for status (Notion doesn't allow clearing status).
*/
export declare function buildClearPayload(propType: string): unknown;
/**
* Check if a page's parent is a database (or data_source on v2025-09-03).
*/
export declare function isParentDatabase(parent: Page['parent']): boolean;
/**
* Extract the database ID from a page's parent, regardless of API version.
* On v2025-09-03, parent.type is 'data_source_id' but database_id is still present.
*/
export declare function getParentDatabaseId(parent: Page['parent']): string | undefined;
/**
* Build the trash/archive payload for the current API version.
* v2026-03-11 uses `in_trash` instead of `archived`.
*/
export declare function buildTrashPayload(trash: boolean): Record<string, boolean>;
/**
* Build the block positioning payload for the current API version.
* v2026-03-11 uses `position: { after_block: id }` instead of `after: id`.
* If no afterBlockId, returns empty (appends at end by default).
*/
export declare function buildBlockPosition(afterBlockId?: string): Record<string, unknown>;
/**
* Convert a Notion property value object to a human-readable string.

@@ -51,5 +85,31 @@ * Returns null for unsupported or empty property types.

* Handles: title, rich_text, select, status, multi_select, date, number,
* checkbox, url, email, phone_number, people.
* checkbox, url, email, phone_number, people, formula, rollup,
* files, relation, created_time, last_edited_time, created_by,
* last_edited_by.
*/
export declare function getPropertyValue(prop: Record<string, unknown>): string | null;
/**
* Options for getPropertyRawValue.
*/
export interface PropertyRawValueOptions {
/**
* Custom formatter for rich text arrays (title, rich_text).
* When provided, used instead of plain_text concatenation.
* Typically set to richTextToMarkdown for markdown output.
*/
richTextFormatter?: (richText: {
plain_text: string;
}[]) => string;
}
/**
* Convert a Notion property value to its raw representation, preserving
* native types (numbers, booleans, arrays) instead of stringifying.
*
* Used for frontmatter generation where YAML needs typed values.
* For display strings, use getPropertyValue() instead.
*
* Handles all Notion property types including formula, rollup, files,
* relation, created_time, last_edited_time, created_by, last_edited_by.
*/
export declare function getPropertyRawValue(prop: Record<string, unknown>, options?: PropertyRawValueOptions): unknown;
//# sourceMappingURL=notion-helpers.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"notion-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/notion-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAqB,MAAM,oBAAoB,CAAC;AAKnF;;;GAGG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,EACpC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,KAAK,EAAE,CAAC,CAelB;AAID;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,EACpC,OAAO,EAAE,MAAM,EACf,MAAM,SAAI,GACT,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAID;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAQ/C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAE/C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAErD;AAID;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAyC7E"}
{"version":3,"file":"notion-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/notion-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAqB,MAAM,oBAAoB,CAAC;AAKnF;;;GAGG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,EACpC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,KAAK,EAAE,CAAC,CAelB;AAID;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,EACpC,OAAO,EAAE,MAAM,EACf,MAAM,SAAI,GACT,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAID;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAQ/C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAE/C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAErD;AAID;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,KAAK,EAAE,MAAM,GACZ,MAAM,GAAG,IAAI,CAmBf;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAwB3D;AAID;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,OAAO,CAEhE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,SAAS,CAE9E;AAID;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGjF;AAID;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAiF7E;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,KAAK,MAAM,CAAC;CACpE;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAiFT"}

@@ -15,2 +15,5 @@ /**

* - getPropertyValue(prop) → string | null (property → display string)
* - getPropertyRawValue(prop, opts?) → unknown (property → raw value for frontmatter)
* - getParentDatabaseId(parent) → string | undefined (extract DB/DS id from parent)
* - isParentDatabase(parent) → boolean (check if parent is a database/data_source)
*/

@@ -90,2 +93,88 @@ import { getBlockContent } from './markdown.js';

}
// ─── Property name resolution ────────────────────────────────────────────────
/**
* Resolve a user-supplied property name against the schema.
* Tries: exact match → case-insensitive → normalized (collapsed whitespace).
* Returns the canonical schema name or null if no match.
*/
export function resolvePropertyName(schema, input) {
// Exact match
if (input in schema)
return input;
const lowerInput = input.toLowerCase().trim();
// Case-insensitive match
for (const name of Object.keys(schema)) {
if (name.toLowerCase() === lowerInput)
return name;
}
// Normalized match (collapse whitespace, underscores → spaces)
const normalizedInput = lowerInput.replace(/[_\s]+/g, ' ');
for (const name of Object.keys(schema)) {
const normalizedName = name.toLowerCase().replace(/[_\s]+/g, ' ').trim();
if (normalizedName === normalizedInput)
return name;
}
return null;
}
/**
* Generate the correct empty/null payload to clear a property based on its type.
* Throws for status (Notion doesn't allow clearing status).
*/
export function buildClearPayload(propType) {
switch (propType) {
case 'people':
case 'relation':
case 'multi_select':
case 'rich_text':
case 'files':
return { [propType]: [] };
case 'date':
case 'select':
case 'number':
case 'url':
case 'email':
case 'phone_number':
return { [propType]: null };
case 'checkbox':
return { checkbox: false };
case 'status':
throw new Error('Cannot clear status property — Notion requires a valid status value');
case 'title':
throw new Error('Cannot clear title property — pages must have a title');
default:
throw new Error(`Cannot clear property of type "${propType}" — unsupported type`);
}
}
// ─── Parent helpers (v2025-09-03 compat) ────────────────────────────────────
/**
* Check if a page's parent is a database (or data_source on v2025-09-03).
*/
export function isParentDatabase(parent) {
return parent.type === 'database_id' || parent.type === 'data_source_id';
}
/**
* Extract the database ID from a page's parent, regardless of API version.
* On v2025-09-03, parent.type is 'data_source_id' but database_id is still present.
*/
export function getParentDatabaseId(parent) {
return parent.database_id ?? parent.data_source_id;
}
// ─── API v2026-03-11 helpers ─────────────────────────────────────────────────
/**
* Build the trash/archive payload for the current API version.
* v2026-03-11 uses `in_trash` instead of `archived`.
*/
export function buildTrashPayload(trash) {
return { in_trash: trash };
}
/**
* Build the block positioning payload for the current API version.
* v2026-03-11 uses `position: { after_block: id }` instead of `after: id`.
* If no afterBlockId, returns empty (appends at end by default).
*/
export function buildBlockPosition(afterBlockId) {
if (!afterBlockId)
return {};
return { position: { after_block: afterBlockId } };
}
// ─── Property Value Extraction ──────────────────────────────────────────────

@@ -97,3 +186,5 @@ /**

* Handles: title, rich_text, select, status, multi_select, date, number,
* checkbox, url, email, phone_number, people.
* checkbox, url, email, phone_number, people, formula, rollup,
* files, relation, created_time, last_edited_time, created_by,
* last_edited_by.
*/

@@ -131,2 +222,40 @@ export function getPropertyValue(prop) {

.join(', ') || null);
case 'files':
return (data
?.map(f => f.file?.url || f.external?.url || f.name)
.filter(Boolean)
.join(', ') || null);
case 'relation':
return (data
?.map(r => r.id)
.join(', ') || null);
case 'formula': {
const formula = data;
if (!formula)
return null;
switch (formula.type) {
case 'string': return formula.string ?? null;
case 'number': return formula.number != null ? String(formula.number) : null;
case 'boolean': return formula.boolean != null ? String(formula.boolean) : null;
case 'date': return formula.date?.start ?? null;
default: return null;
}
}
case 'rollup': {
const rollup = data;
if (!rollup)
return null;
switch (rollup.type) {
case 'number': return rollup.number != null ? String(rollup.number) : null;
case 'date': return rollup.date?.start ?? null;
case 'array': return rollup.array ? JSON.stringify(rollup.array) : null;
default: return null;
}
}
case 'created_time':
case 'last_edited_time':
return data || null;
case 'created_by':
case 'last_edited_by':
return data?.name || null;
default:

@@ -136,2 +265,80 @@ return null;

}
/**
* Convert a Notion property value to its raw representation, preserving
* native types (numbers, booleans, arrays) instead of stringifying.
*
* Used for frontmatter generation where YAML needs typed values.
* For display strings, use getPropertyValue() instead.
*
* Handles all Notion property types including formula, rollup, files,
* relation, created_time, last_edited_time, created_by, last_edited_by.
*/
export function getPropertyRawValue(prop, options) {
const type = prop.type;
const data = prop[type];
switch (type) {
case 'title':
case 'rich_text':
if (options?.richTextFormatter) {
return options.richTextFormatter(data) || null;
}
return data?.map(t => t.plain_text).join('') || null;
case 'number':
return data ?? null;
case 'select':
case 'status':
return data?.name || null;
case 'multi_select':
return data?.map(s => s.name) || [];
case 'date': {
const dateData = data;
if (!dateData)
return null;
return dateData.end ? `${dateData.start} - ${dateData.end}` : dateData.start || null;
}
case 'checkbox':
return data ?? null;
case 'url':
case 'email':
case 'phone_number':
return data || null;
case 'people':
return data?.map(p => p.name).filter(Boolean) || [];
case 'files':
return data?.map(f => f.file?.url || f.external?.url || f.name) || [];
case 'relation':
return data?.map(r => r.id) || [];
case 'formula': {
const formula = data;
if (!formula)
return null;
switch (formula.type) {
case 'string': return formula.string ?? null;
case 'number': return formula.number ?? null;
case 'boolean': return formula.boolean ?? null;
case 'date': return formula.date?.start ?? null;
default: return null;
}
}
case 'rollup': {
const rollup = data;
if (!rollup)
return null;
switch (rollup.type) {
case 'array': return rollup.array ?? null;
case 'number': return rollup.number ?? null;
case 'date': return rollup.date?.start ?? null;
default: return null;
}
}
case 'created_time':
case 'last_edited_time':
return data || null;
case 'created_by':
case 'last_edited_by':
return data?.name || null;
default:
return null;
}
}
//# sourceMappingURL=notion-helpers.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"notion-helpers.js","sourceRoot":"","sources":["../../src/utils/notion-helpers.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"notion-helpers.js","sourceRoot":"","sources":["../../src/utils/notion-helpers.ts"],"names":[],"mappings":"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"}
{
"name": "notion-cli-agent",
"version": "0.7.0",
"description": "The most powerful CLI for Notion \u2014 built for humans AND AI agents. Features smart queries, Obsidian sync, batch operations, validation, backups, and more.",
"version": "0.11.0",
"description": "The most powerful CLI for Notion — built for humans AND AI agents. Features smart queries, Obsidian sync, batch operations, validation, backups, and more.",
"type": "module",

@@ -55,6 +55,6 @@ "bin": {

"devDependencies": {
"@types/node": "^22.0.0",
"@types/node": "^22.19.15",
"eslint": "^9.0.0",
"typescript": "^5.7.0",
"vitest": "^4.0.18"
"vitest": "^4.1.0"
},

@@ -68,5 +68,6 @@ "engines": {

"rollup": ">=4.59.0",
"ajv": ">=6.14.0"
"ajv": ">=6.14.0",
"flatted": ">=3.4.2"
}
}
}

@@ -70,4 +70,4 @@ # notion-cli-agent

- **Export to Obsidian** — Pages and databases with YAML frontmatter
- **Import from Obsidian** — Sync your vault to Notion
- **Bidirectional workflow** — Keep both systems in sync
- **Import from Obsidian** — Import vault notes to Notion
- **CSV & Markdown import** — Bulk import from files

@@ -158,2 +158,9 @@ ### 📊 Analytics & Validation

# Exact lookup in a known database (deterministic)
notion db query <db_id> --title "Known Page" --json
# Filtered search (best-effort — Notion search is fuzzy)
notion search "keyword" --db <db_id> --exact --first --json
notion search "task" --db <db_id> # Filter by parent database
# Get page info

@@ -171,6 +178,6 @@ notion page get <page_id>

# Update page
notion page update <page_id> --prop "Status=Done"
notion page update <page_id> --prop "Status:status=Done"
notion page update <page_id> --title "New Title"
notion page update <page_id> --icon 🚀
notion page update <page_id> --prop "Status=Done" --icon ✅
notion page update <page_id> --clear-prop "Assignee" # Type-aware clear

@@ -667,2 +674,15 @@ # Archive page

**Type hints** — Force a specific property type with `Key:type=Value`:
```bash
# Status properties (vs auto-detected select)
notion page update <id> --prop "Status:status=Done"
# Rich text instead of select
notion page update <id> --prop "Notes:rich_text=Some notes"
# People by user ID
notion page update <id> --prop "Assignee:people=user-id-here"
```
For database queries with non-select properties:

@@ -669,0 +689,0 @@ ```bash