@catafal/notion-cli 5.9.1 → 5.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2586,24 +2586,74 @@
2586
2586
  "update.js"
2587
2587
  ]
2588
2588
  },
2589
- "cache:info": {
2589
+ "bookmark:list": {
2590
2590
  "aliases": [
2591
- "cache:stats",
2592
- "cache:status"
2591
+ "bm:ls"
2593
2592
  ],
2594
2593
  "args": {},
2595
- "description": "Show cache statistics and configuration",
2594
+ "description": "List all saved bookmarks",
2596
2595
  "examples": [
2597
2596
  {
2598
- "description": "Show cache info in JSON format",
2599
- "command": "notion-cli cache:info --json"
2600
- },
2601
- {
2602
- "description": "Show cache statistics",
2603
- "command": "notion-cli cache:info"
2597
+ "description": "List bookmarks",
2598
+ "command": "$ notion-cli bookmark list"
2604
2599
  }
2605
2600
  ],
2606
2601
  "flags": {
2602
+ "columns": {
2603
+ "description": "Only show provided columns (comma-separated)",
2604
+ "exclusive": [
2605
+ "extended"
2606
+ ],
2607
+ "name": "columns",
2608
+ "hasDynamicHelp": false,
2609
+ "multiple": false,
2610
+ "type": "option"
2611
+ },
2612
+ "sort": {
2613
+ "description": "Property to sort by (prepend with - for descending)",
2614
+ "name": "sort",
2615
+ "hasDynamicHelp": false,
2616
+ "multiple": false,
2617
+ "type": "option"
2618
+ },
2619
+ "filter": {
2620
+ "description": "Filter property by substring match",
2621
+ "name": "filter",
2622
+ "hasDynamicHelp": false,
2623
+ "multiple": false,
2624
+ "type": "option"
2625
+ },
2626
+ "csv": {
2627
+ "description": "Output in CSV format",
2628
+ "exclusive": [
2629
+ "no-truncate"
2630
+ ],
2631
+ "name": "csv",
2632
+ "allowNo": false,
2633
+ "type": "boolean"
2634
+ },
2635
+ "extended": {
2636
+ "char": "x",
2637
+ "description": "Show extra columns",
2638
+ "name": "extended",
2639
+ "allowNo": false,
2640
+ "type": "boolean"
2641
+ },
2642
+ "no-truncate": {
2643
+ "description": "Do not truncate output to fit screen",
2644
+ "exclusive": [
2645
+ "csv"
2646
+ ],
2647
+ "name": "no-truncate",
2648
+ "allowNo": false,
2649
+ "type": "boolean"
2650
+ },
2651
+ "no-header": {
2652
+ "description": "Hide table header from output",
2653
+ "name": "no-header",
2654
+ "allowNo": false,
2655
+ "type": "boolean"
2656
+ },
2607
2657
  "json": {
2608
2658
  "char": "j",
2609
2659
  "description": "Output as JSON (recommended for automation)",
@@ -2656,7 +2706,7 @@
2656
2706
  },
2657
2707
  "hasDynamicHelp": false,
2658
2708
  "hiddenAliases": [],
2659
- "id": "cache:info",
2709
+ "id": "bookmark:list",
2660
2710
  "pluginAlias": "@catafal/notion-cli",
2661
2711
  "pluginName": "@catafal/notion-cli",
2662
2712
  "pluginType": "core",
@@ -2666,105 +2716,139 @@
2666
2716
  "relativePath": [
2667
2717
  "dist",
2668
2718
  "commands",
2669
- "cache",
2670
- "info.js"
2719
+ "bookmark",
2720
+ "list.js"
2671
2721
  ]
2672
2722
  },
2673
- "db:create": {
2723
+ "bookmark:remove": {
2674
2724
  "aliases": [
2675
- "db:c"
2725
+ "bm:rm"
2676
2726
  ],
2677
2727
  "args": {
2678
- "page_id": {
2679
- "description": "Parent page ID or URL where the database will be created",
2680
- "name": "page_id",
2728
+ "name": {
2729
+ "description": "Bookmark name to remove",
2730
+ "name": "name",
2681
2731
  "required": true
2682
2732
  }
2683
2733
  },
2684
- "description": "Create a database with an initial data source (table)",
2734
+ "description": "Remove a saved bookmark",
2685
2735
  "examples": [
2686
2736
  {
2687
- "description": "Create a database with an initial data source",
2688
- "command": "$ notion-cli db create PAGE_ID -t 'My Database'"
2689
- },
2690
- {
2691
- "description": "Create a database using page URL",
2692
- "command": "$ notion-cli db create https://notion.so/PAGE_ID -t 'My Database'"
2693
- },
2694
- {
2695
- "description": "Create a database with an initial data source and output raw json",
2696
- "command": "$ notion-cli db create PAGE_ID -t 'My Database' -r"
2737
+ "description": "Remove a bookmark",
2738
+ "command": "$ notion-cli bookmark remove inbox"
2697
2739
  }
2698
2740
  ],
2699
2741
  "flags": {
2700
- "title": {
2701
- "char": "t",
2702
- "description": "Title for the database (and initial data source)",
2703
- "name": "title",
2704
- "required": true,
2705
- "hasDynamicHelp": false,
2706
- "multiple": false,
2707
- "type": "option"
2708
- },
2709
- "raw": {
2710
- "char": "r",
2711
- "description": "output raw json",
2712
- "name": "raw",
2742
+ "json": {
2743
+ "char": "j",
2744
+ "description": "Output as JSON (recommended for automation)",
2745
+ "name": "json",
2713
2746
  "allowNo": false,
2714
2747
  "type": "boolean"
2715
2748
  },
2716
- "columns": {
2717
- "description": "Only show provided columns (comma-separated)",
2718
- "exclusive": [
2719
- "extended"
2720
- ],
2721
- "name": "columns",
2749
+ "page-size": {
2750
+ "description": "Items per page (1-100, default: 100 for automation)",
2751
+ "name": "page-size",
2752
+ "default": 100,
2722
2753
  "hasDynamicHelp": false,
2723
2754
  "multiple": false,
2724
2755
  "type": "option"
2725
2756
  },
2726
- "sort": {
2727
- "description": "Property to sort by (prepend with - for descending)",
2728
- "name": "sort",
2729
- "hasDynamicHelp": false,
2730
- "multiple": false,
2731
- "type": "option"
2757
+ "retry": {
2758
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
2759
+ "name": "retry",
2760
+ "allowNo": false,
2761
+ "type": "boolean"
2732
2762
  },
2733
- "filter": {
2734
- "description": "Filter property by substring match",
2735
- "name": "filter",
2763
+ "timeout": {
2764
+ "description": "Request timeout in milliseconds",
2765
+ "name": "timeout",
2766
+ "default": 30000,
2736
2767
  "hasDynamicHelp": false,
2737
2768
  "multiple": false,
2738
2769
  "type": "option"
2739
2770
  },
2740
- "csv": {
2741
- "description": "Output in CSV format",
2742
- "exclusive": [
2743
- "no-truncate"
2744
- ],
2745
- "name": "csv",
2771
+ "no-cache": {
2772
+ "description": "Bypass cache and force fresh API calls",
2773
+ "name": "no-cache",
2746
2774
  "allowNo": false,
2747
2775
  "type": "boolean"
2748
2776
  },
2749
- "extended": {
2750
- "char": "x",
2751
- "description": "Show extra columns",
2752
- "name": "extended",
2777
+ "verbose": {
2778
+ "char": "v",
2779
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
2780
+ "env": "NOTION_CLI_VERBOSE",
2781
+ "name": "verbose",
2753
2782
  "allowNo": false,
2754
2783
  "type": "boolean"
2755
2784
  },
2756
- "no-truncate": {
2757
- "description": "Do not truncate output to fit screen",
2758
- "exclusive": [
2759
- "csv"
2760
- ],
2761
- "name": "no-truncate",
2785
+ "minimal": {
2786
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
2787
+ "name": "minimal",
2762
2788
  "allowNo": false,
2763
2789
  "type": "boolean"
2790
+ }
2791
+ },
2792
+ "hasDynamicHelp": false,
2793
+ "hiddenAliases": [],
2794
+ "id": "bookmark:remove",
2795
+ "pluginAlias": "@catafal/notion-cli",
2796
+ "pluginName": "@catafal/notion-cli",
2797
+ "pluginType": "core",
2798
+ "strict": true,
2799
+ "enableJsonFlag": false,
2800
+ "isESM": false,
2801
+ "relativePath": [
2802
+ "dist",
2803
+ "commands",
2804
+ "bookmark",
2805
+ "remove.js"
2806
+ ]
2807
+ },
2808
+ "bookmark:set": {
2809
+ "aliases": [
2810
+ "bm:set"
2811
+ ],
2812
+ "args": {
2813
+ "name": {
2814
+ "description": "Bookmark name (e.g. \"inbox\", \"tasks\")",
2815
+ "name": "name",
2816
+ "required": true
2764
2817
  },
2765
- "no-header": {
2766
- "description": "Hide table header from output",
2767
- "name": "no-header",
2818
+ "target": {
2819
+ "description": "Notion ID, URL, or database name",
2820
+ "name": "target",
2821
+ "required": true
2822
+ }
2823
+ },
2824
+ "description": "Save a named shortcut to a Notion page or database",
2825
+ "examples": [
2826
+ {
2827
+ "description": "Bookmark a database as \"inbox\" and set it as default",
2828
+ "command": "$ notion-cli bookmark set inbox DB_ID_OR_URL --default"
2829
+ },
2830
+ {
2831
+ "description": "Bookmark a page",
2832
+ "command": "$ notion-cli bookmark set notes PAGE_URL --type page"
2833
+ }
2834
+ ],
2835
+ "flags": {
2836
+ "type": {
2837
+ "char": "t",
2838
+ "description": "Resource type",
2839
+ "name": "type",
2840
+ "default": "database",
2841
+ "hasDynamicHelp": false,
2842
+ "multiple": false,
2843
+ "options": [
2844
+ "database",
2845
+ "page"
2846
+ ],
2847
+ "type": "option"
2848
+ },
2849
+ "default": {
2850
+ "description": "Also set as the default bookmark (used by `quick` command)",
2851
+ "name": "default",
2768
2852
  "allowNo": false,
2769
2853
  "type": "boolean"
2770
2854
  },
@@ -2820,7 +2904,7 @@
2820
2904
  },
2821
2905
  "hasDynamicHelp": false,
2822
2906
  "hiddenAliases": [],
2823
- "id": "db:create",
2907
+ "id": "bookmark:set",
2824
2908
  "pluginAlias": "@catafal/notion-cli",
2825
2909
  "pluginName": "@catafal/notion-cli",
2826
2910
  "pluginType": "core",
@@ -2830,85 +2914,35 @@
2830
2914
  "relativePath": [
2831
2915
  "dist",
2832
2916
  "commands",
2833
- "db",
2834
- "create.js"
2917
+ "bookmark",
2918
+ "set.js"
2835
2919
  ]
2836
2920
  },
2837
- "db:query": {
2921
+ "cache:info": {
2838
2922
  "aliases": [
2839
- "db:q"
2923
+ "cache:stats",
2924
+ "cache:status"
2840
2925
  ],
2841
- "args": {
2842
- "database_id": {
2843
- "description": "Database or data source ID or URL (required for automation)",
2844
- "name": "database_id",
2845
- "required": true
2846
- }
2847
- },
2848
- "description": "Query a database",
2849
- "examples": [
2850
- {
2851
- "description": "Query a database with full data (recommended for AI assistants)",
2852
- "command": "$ notion-cli db query DATABASE_ID --raw"
2853
- },
2854
- {
2855
- "description": "Query all records as JSON",
2856
- "command": "$ notion-cli db query DATABASE_ID --json"
2857
- },
2858
- {
2859
- "description": "Filter with JSON object (recommended for AI agents)",
2860
- "command": "$ notion-cli db query DATABASE_ID --filter '{\"property\": \"Status\", \"select\": {\"equals\": \"Done\"}}' --json"
2861
- },
2862
- {
2863
- "description": "Simple text search across properties",
2864
- "command": "$ notion-cli db query DATABASE_ID --search \"urgent\" --json"
2865
- },
2866
- {
2867
- "description": "Load complex filter from file",
2868
- "command": "$ notion-cli db query DATABASE_ID --file-filter ./filter.json --json"
2869
- },
2870
- {
2871
- "description": "Query with AND filter",
2872
- "command": "$ notion-cli db query DATABASE_ID --filter '{\"and\": [{\"property\": \"Status\", \"select\": {\"equals\": \"Done\"}}, {\"property\": \"Priority\", \"number\": {\"greater_than\": 5}}]}' --json"
2873
- },
2874
- {
2875
- "description": "Query using database URL",
2876
- "command": "$ notion-cli db query https://notion.so/DATABASE_ID --json"
2877
- },
2878
- {
2879
- "description": "Query with sorting",
2880
- "command": "$ notion-cli db query DATABASE_ID --sort-property Name --sort-direction desc"
2881
- },
2882
- {
2883
- "description": "Query with pagination",
2884
- "command": "$ notion-cli db query DATABASE_ID --page-size 50"
2885
- },
2886
- {
2887
- "description": "Get all pages (bypass pagination)",
2888
- "command": "$ notion-cli db query DATABASE_ID --page-all"
2889
- },
2890
- {
2891
- "description": "Output as CSV",
2892
- "command": "$ notion-cli db query DATABASE_ID --csv"
2893
- },
2894
- {
2895
- "description": "Output as markdown table",
2896
- "command": "$ notion-cli db query DATABASE_ID --markdown"
2897
- },
2898
- {
2899
- "description": "Output as compact JSON",
2900
- "command": "$ notion-cli db query DATABASE_ID --compact-json"
2901
- },
2926
+ "args": {},
2927
+ "description": "Show cache statistics and configuration",
2928
+ "examples": [
2902
2929
  {
2903
- "description": "Output as pretty table",
2904
- "command": "$ notion-cli db query DATABASE_ID --pretty"
2930
+ "description": "Show cache info in JSON format",
2931
+ "command": "notion-cli cache:info --json"
2905
2932
  },
2906
2933
  {
2907
- "description": "Select specific properties (60-80% token reduction)",
2908
- "command": "$ notion-cli db query DATABASE_ID --select \"title,status,priority\" --json"
2934
+ "description": "Show cache statistics",
2935
+ "command": "notion-cli cache:info"
2909
2936
  }
2910
2937
  ],
2911
2938
  "flags": {
2939
+ "json": {
2940
+ "char": "j",
2941
+ "description": "Output as JSON (recommended for automation)",
2942
+ "name": "json",
2943
+ "allowNo": false,
2944
+ "type": "boolean"
2945
+ },
2912
2946
  "page-size": {
2913
2947
  "description": "Items per page (1-100, default: 100 for automation)",
2914
2948
  "name": "page-size",
@@ -2917,108 +2951,6 @@
2917
2951
  "multiple": false,
2918
2952
  "type": "option"
2919
2953
  },
2920
- "page-all": {
2921
- "char": "A",
2922
- "description": "Get all pages (bypass pagination)",
2923
- "name": "page-all",
2924
- "allowNo": false,
2925
- "type": "boolean"
2926
- },
2927
- "sort-property": {
2928
- "description": "The property to sort results by",
2929
- "name": "sort-property",
2930
- "hasDynamicHelp": false,
2931
- "multiple": false,
2932
- "type": "option"
2933
- },
2934
- "sort-direction": {
2935
- "description": "The direction to sort results",
2936
- "name": "sort-direction",
2937
- "default": "asc",
2938
- "hasDynamicHelp": false,
2939
- "multiple": false,
2940
- "options": [
2941
- "asc",
2942
- "desc"
2943
- ],
2944
- "type": "option"
2945
- },
2946
- "raw": {
2947
- "char": "r",
2948
- "description": "Output raw JSON (recommended for AI assistants - returns all page data)",
2949
- "name": "raw",
2950
- "allowNo": false,
2951
- "type": "boolean"
2952
- },
2953
- "columns": {
2954
- "description": "Only show provided columns (comma-separated)",
2955
- "exclusive": [
2956
- "extended"
2957
- ],
2958
- "name": "columns",
2959
- "hasDynamicHelp": false,
2960
- "multiple": false,
2961
- "type": "option"
2962
- },
2963
- "sort": {
2964
- "description": "Property to sort by (prepend with - for descending)",
2965
- "name": "sort",
2966
- "hasDynamicHelp": false,
2967
- "multiple": false,
2968
- "type": "option"
2969
- },
2970
- "filter": {
2971
- "char": "f",
2972
- "description": "Filter as JSON object (Notion filter API format)",
2973
- "exclusive": [
2974
- "search",
2975
- "file-filter",
2976
- "rawFilter",
2977
- "fileFilter"
2978
- ],
2979
- "name": "filter",
2980
- "hasDynamicHelp": false,
2981
- "multiple": false,
2982
- "type": "option"
2983
- },
2984
- "csv": {
2985
- "description": "Output in CSV format",
2986
- "exclusive": [
2987
- "no-truncate"
2988
- ],
2989
- "name": "csv",
2990
- "allowNo": false,
2991
- "type": "boolean"
2992
- },
2993
- "extended": {
2994
- "char": "x",
2995
- "description": "Show extra columns",
2996
- "name": "extended",
2997
- "allowNo": false,
2998
- "type": "boolean"
2999
- },
3000
- "no-truncate": {
3001
- "description": "Do not truncate output to fit screen",
3002
- "exclusive": [
3003
- "csv"
3004
- ],
3005
- "name": "no-truncate",
3006
- "allowNo": false,
3007
- "type": "boolean"
3008
- },
3009
- "no-header": {
3010
- "description": "Hide table header from output",
3011
- "name": "no-header",
3012
- "allowNo": false,
3013
- "type": "boolean"
3014
- },
3015
- "json": {
3016
- "char": "j",
3017
- "description": "Output as JSON (recommended for automation)",
3018
- "name": "json",
3019
- "allowNo": false,
3020
- "type": "boolean"
3021
- },
3022
2954
  "retry": {
3023
2955
  "description": "Auto-retry on rate limit (respects Retry-After header)",
3024
2956
  "name": "retry",
@@ -3052,108 +2984,11 @@
3052
2984
  "name": "minimal",
3053
2985
  "allowNo": false,
3054
2986
  "type": "boolean"
3055
- },
3056
- "markdown": {
3057
- "char": "m",
3058
- "description": "Output as markdown table (GitHub-flavored)",
3059
- "exclusive": [
3060
- "compact-json",
3061
- "pretty"
3062
- ],
3063
- "name": "markdown",
3064
- "allowNo": false,
3065
- "type": "boolean"
3066
- },
3067
- "compact-json": {
3068
- "char": "c",
3069
- "description": "Output as compact JSON (single-line, ideal for piping)",
3070
- "exclusive": [
3071
- "markdown",
3072
- "pretty"
3073
- ],
3074
- "name": "compact-json",
3075
- "allowNo": false,
3076
- "type": "boolean"
3077
- },
3078
- "pretty": {
3079
- "char": "P",
3080
- "description": "Output as pretty table with borders",
3081
- "exclusive": [
3082
- "markdown",
3083
- "compact-json"
3084
- ],
3085
- "name": "pretty",
3086
- "allowNo": false,
3087
- "type": "boolean"
3088
- },
3089
- "file-filter": {
3090
- "char": "F",
3091
- "description": "Load filter from JSON file",
3092
- "exclusive": [
3093
- "filter",
3094
- "search",
3095
- "rawFilter",
3096
- "fileFilter"
3097
- ],
3098
- "name": "file-filter",
3099
- "hasDynamicHelp": false,
3100
- "multiple": false,
3101
- "type": "option"
3102
- },
3103
- "search": {
3104
- "char": "s",
3105
- "description": "Simple text search (searches across title and common text properties)",
3106
- "exclusive": [
3107
- "filter",
3108
- "file-filter",
3109
- "rawFilter",
3110
- "fileFilter"
3111
- ],
3112
- "name": "search",
3113
- "hasDynamicHelp": false,
3114
- "multiple": false,
3115
- "type": "option"
3116
- },
3117
- "select": {
3118
- "description": "Select specific properties to return (comma-separated). Reduces token usage by 60-80%.",
3119
- "name": "select",
3120
- "hasDynamicHelp": false,
3121
- "multiple": false,
3122
- "type": "option"
3123
- },
3124
- "rawFilter": {
3125
- "char": "a",
3126
- "description": "DEPRECATED: Use --filter instead. JSON stringified filter string",
3127
- "exclusive": [
3128
- "filter",
3129
- "search",
3130
- "file-filter",
3131
- "fileFilter"
3132
- ],
3133
- "hidden": true,
3134
- "name": "rawFilter",
3135
- "hasDynamicHelp": false,
3136
- "multiple": false,
3137
- "type": "option"
3138
- },
3139
- "fileFilter": {
3140
- "description": "DEPRECATED: Use --file-filter instead. JSON filter file path",
3141
- "exclusive": [
3142
- "filter",
3143
- "search",
3144
- "file-filter",
3145
- "rawFilter"
3146
- ],
3147
- "hidden": true,
3148
- "name": "fileFilter",
3149
- "hasDynamicHelp": false,
3150
- "multiple": false,
3151
- "type": "option"
3152
2987
  }
3153
2988
  },
3154
2989
  "hasDynamicHelp": false,
3155
2990
  "hiddenAliases": [],
3156
- "id": "db:query",
2991
+ "id": "cache:info",
3157
2992
  "pluginAlias": "@catafal/notion-cli",
3158
2993
  "pluginName": "@catafal/notion-cli",
3159
2994
  "pluginType": "core",
@@ -3163,109 +2998,37 @@
3163
2998
  "relativePath": [
3164
2999
  "dist",
3165
3000
  "commands",
3166
- "db",
3167
- "query.js"
3001
+ "cache",
3002
+ "info.js"
3168
3003
  ]
3169
3004
  },
3170
- "db:retrieve": {
3005
+ "daily": {
3171
3006
  "aliases": [
3172
- "db:r",
3173
- "ds:retrieve",
3174
- "ds:r"
3007
+ "d"
3175
3008
  ],
3176
3009
  "args": {
3177
- "database_id": {
3178
- "description": "Data source ID or URL (the ID of the table whose schema you want to retrieve)",
3179
- "name": "database_id",
3180
- "required": true
3010
+ "content": {
3011
+ "description": "Text to add to today's entry (appended if entry already exists)",
3012
+ "name": "content",
3013
+ "required": false
3181
3014
  }
3182
3015
  },
3183
- "description": "Retrieve a data source (table) schema and properties",
3016
+ "description": "Create or open today's daily journal entry",
3184
3017
  "examples": [
3185
3018
  {
3186
- "description": "Retrieve a data source with full schema (recommended for AI assistants)",
3187
- "command": "notion-cli db retrieve DATA_SOURCE_ID -r"
3188
- },
3189
- {
3190
- "description": "Retrieve a data source schema via data_source_id",
3191
- "command": "notion-cli db retrieve DATA_SOURCE_ID"
3192
- },
3193
- {
3194
- "description": "Retrieve a data source via URL",
3195
- "command": "notion-cli db retrieve https://notion.so/DATABASE_ID"
3019
+ "description": "Create today's entry",
3020
+ "command": "$ notion-cli daily"
3196
3021
  },
3197
3022
  {
3198
- "description": "Retrieve a data source and output as markdown table",
3199
- "command": "notion-cli db retrieve DATA_SOURCE_ID --markdown"
3023
+ "description": "Create entry with body content",
3024
+ "command": "$ notion-cli daily \"Had a productive standup\""
3200
3025
  },
3201
3026
  {
3202
- "description": "Retrieve a data source and output as compact JSON",
3203
- "command": "notion-cli db retrieve DATA_SOURCE_ID --compact-json"
3027
+ "description": "First-time setup (see `daily setup --help`)",
3028
+ "command": "$ notion-cli daily setup DB_ID"
3204
3029
  }
3205
3030
  ],
3206
3031
  "flags": {
3207
- "raw": {
3208
- "char": "r",
3209
- "description": "output raw json (recommended for AI assistants - returns full schema)",
3210
- "name": "raw",
3211
- "allowNo": false,
3212
- "type": "boolean"
3213
- },
3214
- "columns": {
3215
- "description": "Only show provided columns (comma-separated)",
3216
- "exclusive": [
3217
- "extended"
3218
- ],
3219
- "name": "columns",
3220
- "hasDynamicHelp": false,
3221
- "multiple": false,
3222
- "type": "option"
3223
- },
3224
- "sort": {
3225
- "description": "Property to sort by (prepend with - for descending)",
3226
- "name": "sort",
3227
- "hasDynamicHelp": false,
3228
- "multiple": false,
3229
- "type": "option"
3230
- },
3231
- "filter": {
3232
- "description": "Filter property by substring match",
3233
- "name": "filter",
3234
- "hasDynamicHelp": false,
3235
- "multiple": false,
3236
- "type": "option"
3237
- },
3238
- "csv": {
3239
- "description": "Output in CSV format",
3240
- "exclusive": [
3241
- "no-truncate"
3242
- ],
3243
- "name": "csv",
3244
- "allowNo": false,
3245
- "type": "boolean"
3246
- },
3247
- "extended": {
3248
- "char": "x",
3249
- "description": "Show extra columns",
3250
- "name": "extended",
3251
- "allowNo": false,
3252
- "type": "boolean"
3253
- },
3254
- "no-truncate": {
3255
- "description": "Do not truncate output to fit screen",
3256
- "exclusive": [
3257
- "csv"
3258
- ],
3259
- "name": "no-truncate",
3260
- "allowNo": false,
3261
- "type": "boolean"
3262
- },
3263
- "no-header": {
3264
- "description": "Hide table header from output",
3265
- "name": "no-header",
3266
- "allowNo": false,
3267
- "type": "boolean"
3268
- },
3269
3032
  "json": {
3270
3033
  "char": "j",
3271
3034
  "description": "Output as JSON (recommended for automation)",
@@ -3314,44 +3077,11 @@
3314
3077
  "name": "minimal",
3315
3078
  "allowNo": false,
3316
3079
  "type": "boolean"
3317
- },
3318
- "markdown": {
3319
- "char": "m",
3320
- "description": "Output as markdown table (GitHub-flavored)",
3321
- "exclusive": [
3322
- "compact-json",
3323
- "pretty"
3324
- ],
3325
- "name": "markdown",
3326
- "allowNo": false,
3327
- "type": "boolean"
3328
- },
3329
- "compact-json": {
3330
- "char": "c",
3331
- "description": "Output as compact JSON (single-line, ideal for piping)",
3332
- "exclusive": [
3333
- "markdown",
3334
- "pretty"
3335
- ],
3336
- "name": "compact-json",
3337
- "allowNo": false,
3338
- "type": "boolean"
3339
- },
3340
- "pretty": {
3341
- "char": "P",
3342
- "description": "Output as pretty table with borders",
3343
- "exclusive": [
3344
- "markdown",
3345
- "compact-json"
3346
- ],
3347
- "name": "pretty",
3348
- "allowNo": false,
3349
- "type": "boolean"
3350
3080
  }
3351
3081
  },
3352
3082
  "hasDynamicHelp": false,
3353
3083
  "hiddenAliases": [],
3354
- "id": "db:retrieve",
3084
+ "id": "daily",
3355
3085
  "pluginAlias": "@catafal/notion-cli",
3356
3086
  "pluginName": "@catafal/notion-cli",
3357
3087
  "pluginType": "core",
@@ -3360,115 +3090,92 @@
3360
3090
  "isESM": false,
3361
3091
  "relativePath": [
3362
3092
  "dist",
3363
- "commands",
3364
- "db",
3365
- "retrieve.js"
3366
- ]
3367
- },
3368
- "db:schema": {
3369
- "aliases": [
3370
- "db:s",
3371
- "ds:schema",
3372
- "ds:s"
3373
- ],
3374
- "args": {
3375
- "data_source_id": {
3376
- "description": "Data source ID or URL (the table whose schema you want to extract)",
3377
- "name": "data_source_id",
3378
- "required": true
3379
- }
3380
- },
3381
- "description": "Extract clean, AI-parseable schema from a Notion data source (table). This command is optimized for AI agents and automation - it returns property names, types, options (for select/multi-select), and configuration in an easy-to-parse format.",
3382
- "examples": [
3383
- {
3384
- "description": "Get full schema in JSON format (recommended for AI agents)",
3385
- "command": "<%= config.bin %> db schema abc123def456 --output json"
3386
- },
3387
- {
3388
- "description": "Get schema with property payload examples (recommended for AI agents)",
3389
- "command": "<%= config.bin %> db schema abc123def456 --with-examples --json"
3390
- },
3391
- {
3392
- "description": "Get schema using database URL",
3393
- "command": "<%= config.bin %> db schema https://notion.so/DATABASE_ID --output json"
3394
- },
3395
- {
3396
- "description": "Get schema as formatted table",
3397
- "command": "<%= config.bin %> db schema abc123def456"
3398
- },
3399
- {
3400
- "description": "Get schema with examples in human-readable format",
3401
- "command": "<%= config.bin %> db schema abc123def456 --with-examples"
3402
- },
3403
- {
3404
- "description": "Get schema in YAML format",
3405
- "command": "<%= config.bin %> db schema abc123def456 --output yaml"
3406
- },
3407
- {
3408
- "description": "Get only specific properties",
3409
- "command": "<%= config.bin %> db schema abc123def456 --properties Name,Status,Tags --output json"
3410
- },
3411
- {
3412
- "description": "Get schema as markdown documentation",
3413
- "command": "<%= config.bin %> db schema abc123def456 --markdown"
3414
- },
3093
+ "commands",
3094
+ "daily",
3095
+ "index.js"
3096
+ ]
3097
+ },
3098
+ "daily:setup": {
3099
+ "aliases": [],
3100
+ "args": {
3101
+ "target": {
3102
+ "description": "Existing database ID or URL (manual mode)",
3103
+ "name": "target",
3104
+ "required": false
3105
+ }
3106
+ },
3107
+ "description": "Configure the daily journal command",
3108
+ "examples": [
3415
3109
  {
3416
- "description": "Parse schema with jq (extract property names)",
3417
- "command": "<%= config.bin %> db schema abc123def456 --output json | jq '.data.properties[].name'"
3110
+ "description": "Point to an existing database (manual)",
3111
+ "command": "$ notion-cli daily setup DB_ID_OR_URL"
3418
3112
  },
3419
3113
  {
3420
- "description": "Find all select/multi-select properties and their options",
3421
- "command": "<%= config.bin %> db schema abc123def456 --output json | jq '.data.properties[] | select(.options) | {name, options}'"
3114
+ "description": "Auto-create a daily journal database",
3115
+ "command": "$ notion-cli daily setup --auto PAGE_ID_OR_URL"
3422
3116
  }
3423
3117
  ],
3424
3118
  "flags": {
3425
- "output": {
3426
- "char": "o",
3427
- "description": "Output format",
3428
- "name": "output",
3429
- "default": "table",
3119
+ "auto": {
3120
+ "description": "Auto-create database under this parent page (pass page ID or URL)",
3121
+ "name": "auto",
3430
3122
  "hasDynamicHelp": false,
3431
3123
  "multiple": false,
3432
- "options": [
3433
- "json",
3434
- "yaml",
3435
- "table"
3436
- ],
3437
3124
  "type": "option"
3438
3125
  },
3439
- "properties": {
3440
- "char": "p",
3441
- "description": "Comma-separated list of properties to include (default: all)",
3442
- "name": "properties",
3126
+ "json": {
3127
+ "char": "j",
3128
+ "description": "Output as JSON (recommended for automation)",
3129
+ "name": "json",
3130
+ "allowNo": false,
3131
+ "type": "boolean"
3132
+ },
3133
+ "page-size": {
3134
+ "description": "Items per page (1-100, default: 100 for automation)",
3135
+ "name": "page-size",
3136
+ "default": 100,
3443
3137
  "hasDynamicHelp": false,
3444
3138
  "multiple": false,
3445
3139
  "type": "option"
3446
3140
  },
3447
- "markdown": {
3448
- "char": "m",
3449
- "description": "Output as markdown documentation",
3450
- "name": "markdown",
3141
+ "retry": {
3142
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
3143
+ "name": "retry",
3451
3144
  "allowNo": false,
3452
3145
  "type": "boolean"
3453
3146
  },
3454
- "json": {
3455
- "char": "j",
3456
- "description": "Output as JSON (shorthand for --output json)",
3457
- "name": "json",
3147
+ "timeout": {
3148
+ "description": "Request timeout in milliseconds",
3149
+ "name": "timeout",
3150
+ "default": 30000,
3151
+ "hasDynamicHelp": false,
3152
+ "multiple": false,
3153
+ "type": "option"
3154
+ },
3155
+ "no-cache": {
3156
+ "description": "Bypass cache and force fresh API calls",
3157
+ "name": "no-cache",
3458
3158
  "allowNo": false,
3459
3159
  "type": "boolean"
3460
3160
  },
3461
- "with-examples": {
3462
- "char": "e",
3463
- "description": "Include property payload examples for create/update operations",
3464
- "name": "with-examples",
3161
+ "verbose": {
3162
+ "char": "v",
3163
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
3164
+ "env": "NOTION_CLI_VERBOSE",
3165
+ "name": "verbose",
3166
+ "allowNo": false,
3167
+ "type": "boolean"
3168
+ },
3169
+ "minimal": {
3170
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
3171
+ "name": "minimal",
3465
3172
  "allowNo": false,
3466
3173
  "type": "boolean"
3467
3174
  }
3468
3175
  },
3469
3176
  "hasDynamicHelp": false,
3470
3177
  "hiddenAliases": [],
3471
- "id": "db:schema",
3178
+ "id": "daily:setup",
3472
3179
  "pluginAlias": "@catafal/notion-cli",
3473
3180
  "pluginName": "@catafal/notion-cli",
3474
3181
  "pluginType": "core",
@@ -3478,42 +3185,40 @@
3478
3185
  "relativePath": [
3479
3186
  "dist",
3480
3187
  "commands",
3481
- "db",
3482
- "schema.js"
3188
+ "daily",
3189
+ "setup.js"
3483
3190
  ]
3484
3191
  },
3485
- "db:update": {
3192
+ "db:create": {
3486
3193
  "aliases": [
3487
- "db:u",
3488
- "ds:update",
3489
- "ds:u"
3194
+ "db:c"
3490
3195
  ],
3491
3196
  "args": {
3492
- "database_id": {
3493
- "description": "Data source ID or URL (the ID of the table you want to update)",
3494
- "name": "database_id",
3197
+ "page_id": {
3198
+ "description": "Parent page ID or URL where the database will be created",
3199
+ "name": "page_id",
3495
3200
  "required": true
3496
3201
  }
3497
3202
  },
3498
- "description": "Update a data source (table) title and properties",
3203
+ "description": "Create a database with an initial data source (table)",
3499
3204
  "examples": [
3500
3205
  {
3501
- "description": "Update a data source with a specific data_source_id and title",
3502
- "command": "$ notion-cli db update DATA_SOURCE_ID -t 'My Data Source'"
3206
+ "description": "Create a database with an initial data source",
3207
+ "command": "$ notion-cli db create PAGE_ID -t 'My Database'"
3503
3208
  },
3504
3209
  {
3505
- "description": "Update a data source via URL",
3506
- "command": "$ notion-cli db update https://notion.so/DATABASE_ID -t 'My Data Source'"
3210
+ "description": "Create a database using page URL",
3211
+ "command": "$ notion-cli db create https://notion.so/PAGE_ID -t 'My Database'"
3507
3212
  },
3508
3213
  {
3509
- "description": "Update a data source with a specific data_source_id and output raw json",
3510
- "command": "$ notion-cli db update DATA_SOURCE_ID -t 'My Table' -r"
3214
+ "description": "Create a database with an initial data source and output raw json",
3215
+ "command": "$ notion-cli db create PAGE_ID -t 'My Database' -r"
3511
3216
  }
3512
3217
  ],
3513
3218
  "flags": {
3514
3219
  "title": {
3515
3220
  "char": "t",
3516
- "description": "New database title",
3221
+ "description": "Title for the database (and initial data source)",
3517
3222
  "name": "title",
3518
3223
  "required": true,
3519
3224
  "hasDynamicHelp": false,
@@ -3597,70 +3302,173 @@
3597
3302
  "multiple": false,
3598
3303
  "type": "option"
3599
3304
  },
3600
- "retry": {
3601
- "description": "Auto-retry on rate limit (respects Retry-After header)",
3602
- "name": "retry",
3305
+ "retry": {
3306
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
3307
+ "name": "retry",
3308
+ "allowNo": false,
3309
+ "type": "boolean"
3310
+ },
3311
+ "timeout": {
3312
+ "description": "Request timeout in milliseconds",
3313
+ "name": "timeout",
3314
+ "default": 30000,
3315
+ "hasDynamicHelp": false,
3316
+ "multiple": false,
3317
+ "type": "option"
3318
+ },
3319
+ "no-cache": {
3320
+ "description": "Bypass cache and force fresh API calls",
3321
+ "name": "no-cache",
3322
+ "allowNo": false,
3323
+ "type": "boolean"
3324
+ },
3325
+ "verbose": {
3326
+ "char": "v",
3327
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
3328
+ "env": "NOTION_CLI_VERBOSE",
3329
+ "name": "verbose",
3330
+ "allowNo": false,
3331
+ "type": "boolean"
3332
+ },
3333
+ "minimal": {
3334
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
3335
+ "name": "minimal",
3336
+ "allowNo": false,
3337
+ "type": "boolean"
3338
+ }
3339
+ },
3340
+ "hasDynamicHelp": false,
3341
+ "hiddenAliases": [],
3342
+ "id": "db:create",
3343
+ "pluginAlias": "@catafal/notion-cli",
3344
+ "pluginName": "@catafal/notion-cli",
3345
+ "pluginType": "core",
3346
+ "strict": true,
3347
+ "enableJsonFlag": false,
3348
+ "isESM": false,
3349
+ "relativePath": [
3350
+ "dist",
3351
+ "commands",
3352
+ "db",
3353
+ "create.js"
3354
+ ]
3355
+ },
3356
+ "db:query": {
3357
+ "aliases": [
3358
+ "db:q"
3359
+ ],
3360
+ "args": {
3361
+ "database_id": {
3362
+ "description": "Database or data source ID or URL (required for automation)",
3363
+ "name": "database_id",
3364
+ "required": true
3365
+ }
3366
+ },
3367
+ "description": "Query a database",
3368
+ "examples": [
3369
+ {
3370
+ "description": "Query a database with full data (recommended for AI assistants)",
3371
+ "command": "$ notion-cli db query DATABASE_ID --raw"
3372
+ },
3373
+ {
3374
+ "description": "Query all records as JSON",
3375
+ "command": "$ notion-cli db query DATABASE_ID --json"
3376
+ },
3377
+ {
3378
+ "description": "Filter with JSON object (recommended for AI agents)",
3379
+ "command": "$ notion-cli db query DATABASE_ID --filter '{\"property\": \"Status\", \"select\": {\"equals\": \"Done\"}}' --json"
3380
+ },
3381
+ {
3382
+ "description": "Simple text search across properties",
3383
+ "command": "$ notion-cli db query DATABASE_ID --search \"urgent\" --json"
3384
+ },
3385
+ {
3386
+ "description": "Load complex filter from file",
3387
+ "command": "$ notion-cli db query DATABASE_ID --file-filter ./filter.json --json"
3388
+ },
3389
+ {
3390
+ "description": "Query with AND filter",
3391
+ "command": "$ notion-cli db query DATABASE_ID --filter '{\"and\": [{\"property\": \"Status\", \"select\": {\"equals\": \"Done\"}}, {\"property\": \"Priority\", \"number\": {\"greater_than\": 5}}]}' --json"
3392
+ },
3393
+ {
3394
+ "description": "Query using database URL",
3395
+ "command": "$ notion-cli db query https://notion.so/DATABASE_ID --json"
3396
+ },
3397
+ {
3398
+ "description": "Query with sorting",
3399
+ "command": "$ notion-cli db query DATABASE_ID --sort-property Name --sort-direction desc"
3400
+ },
3401
+ {
3402
+ "description": "Query with pagination",
3403
+ "command": "$ notion-cli db query DATABASE_ID --page-size 50"
3404
+ },
3405
+ {
3406
+ "description": "Get all pages (bypass pagination)",
3407
+ "command": "$ notion-cli db query DATABASE_ID --page-all"
3408
+ },
3409
+ {
3410
+ "description": "Output as CSV",
3411
+ "command": "$ notion-cli db query DATABASE_ID --csv"
3412
+ },
3413
+ {
3414
+ "description": "Output as markdown table",
3415
+ "command": "$ notion-cli db query DATABASE_ID --markdown"
3416
+ },
3417
+ {
3418
+ "description": "Output as compact JSON",
3419
+ "command": "$ notion-cli db query DATABASE_ID --compact-json"
3420
+ },
3421
+ {
3422
+ "description": "Output as pretty table",
3423
+ "command": "$ notion-cli db query DATABASE_ID --pretty"
3424
+ },
3425
+ {
3426
+ "description": "Select specific properties (60-80% token reduction)",
3427
+ "command": "$ notion-cli db query DATABASE_ID --select \"title,status,priority\" --json"
3428
+ }
3429
+ ],
3430
+ "flags": {
3431
+ "page-size": {
3432
+ "description": "Items per page (1-100, default: 100 for automation)",
3433
+ "name": "page-size",
3434
+ "default": 100,
3435
+ "hasDynamicHelp": false,
3436
+ "multiple": false,
3437
+ "type": "option"
3438
+ },
3439
+ "page-all": {
3440
+ "char": "A",
3441
+ "description": "Get all pages (bypass pagination)",
3442
+ "name": "page-all",
3603
3443
  "allowNo": false,
3604
3444
  "type": "boolean"
3605
3445
  },
3606
- "timeout": {
3607
- "description": "Request timeout in milliseconds",
3608
- "name": "timeout",
3609
- "default": 30000,
3446
+ "sort-property": {
3447
+ "description": "The property to sort results by",
3448
+ "name": "sort-property",
3610
3449
  "hasDynamicHelp": false,
3611
3450
  "multiple": false,
3612
3451
  "type": "option"
3613
3452
  },
3614
- "no-cache": {
3615
- "description": "Bypass cache and force fresh API calls",
3616
- "name": "no-cache",
3617
- "allowNo": false,
3618
- "type": "boolean"
3453
+ "sort-direction": {
3454
+ "description": "The direction to sort results",
3455
+ "name": "sort-direction",
3456
+ "default": "asc",
3457
+ "hasDynamicHelp": false,
3458
+ "multiple": false,
3459
+ "options": [
3460
+ "asc",
3461
+ "desc"
3462
+ ],
3463
+ "type": "option"
3619
3464
  },
3620
- "verbose": {
3621
- "char": "v",
3622
- "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
3623
- "env": "NOTION_CLI_VERBOSE",
3624
- "name": "verbose",
3465
+ "raw": {
3466
+ "char": "r",
3467
+ "description": "Output raw JSON (recommended for AI assistants - returns all page data)",
3468
+ "name": "raw",
3625
3469
  "allowNo": false,
3626
3470
  "type": "boolean"
3627
3471
  },
3628
- "minimal": {
3629
- "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
3630
- "name": "minimal",
3631
- "allowNo": false,
3632
- "type": "boolean"
3633
- }
3634
- },
3635
- "hasDynamicHelp": false,
3636
- "hiddenAliases": [],
3637
- "id": "db:update",
3638
- "pluginAlias": "@catafal/notion-cli",
3639
- "pluginName": "@catafal/notion-cli",
3640
- "pluginType": "core",
3641
- "strict": true,
3642
- "enableJsonFlag": false,
3643
- "isESM": false,
3644
- "relativePath": [
3645
- "dist",
3646
- "commands",
3647
- "db",
3648
- "update.js"
3649
- ]
3650
- },
3651
- "bookmark:list": {
3652
- "aliases": [
3653
- "bm:ls"
3654
- ],
3655
- "args": {},
3656
- "description": "List all saved bookmarks",
3657
- "examples": [
3658
- {
3659
- "description": "List bookmarks",
3660
- "command": "$ notion-cli bookmark list"
3661
- }
3662
- ],
3663
- "flags": {
3664
3472
  "columns": {
3665
3473
  "description": "Only show provided columns (comma-separated)",
3666
3474
  "exclusive": [
@@ -3679,7 +3487,14 @@
3679
3487
  "type": "option"
3680
3488
  },
3681
3489
  "filter": {
3682
- "description": "Filter property by substring match",
3490
+ "char": "f",
3491
+ "description": "Filter as JSON object (Notion filter API format)",
3492
+ "exclusive": [
3493
+ "search",
3494
+ "file-filter",
3495
+ "rawFilter",
3496
+ "fileFilter"
3497
+ ],
3683
3498
  "name": "filter",
3684
3499
  "hasDynamicHelp": false,
3685
3500
  "multiple": false,
@@ -3723,14 +3538,6 @@
3723
3538
  "allowNo": false,
3724
3539
  "type": "boolean"
3725
3540
  },
3726
- "page-size": {
3727
- "description": "Items per page (1-100, default: 100 for automation)",
3728
- "name": "page-size",
3729
- "default": 100,
3730
- "hasDynamicHelp": false,
3731
- "multiple": false,
3732
- "type": "option"
3733
- },
3734
3541
  "retry": {
3735
3542
  "description": "Auto-retry on rate limit (respects Retry-After header)",
3736
3543
  "name": "retry",
@@ -3764,96 +3571,108 @@
3764
3571
  "name": "minimal",
3765
3572
  "allowNo": false,
3766
3573
  "type": "boolean"
3767
- }
3768
- },
3769
- "hasDynamicHelp": false,
3770
- "hiddenAliases": [],
3771
- "id": "bookmark:list",
3772
- "pluginAlias": "@catafal/notion-cli",
3773
- "pluginName": "@catafal/notion-cli",
3774
- "pluginType": "core",
3775
- "strict": true,
3776
- "enableJsonFlag": false,
3777
- "isESM": false,
3778
- "relativePath": [
3779
- "dist",
3780
- "commands",
3781
- "bookmark",
3782
- "list.js"
3783
- ]
3784
- },
3785
- "bookmark:remove": {
3786
- "aliases": [
3787
- "bm:rm"
3788
- ],
3789
- "args": {
3790
- "name": {
3791
- "description": "Bookmark name to remove",
3792
- "name": "name",
3793
- "required": true
3794
- }
3795
- },
3796
- "description": "Remove a saved bookmark",
3797
- "examples": [
3798
- {
3799
- "description": "Remove a bookmark",
3800
- "command": "$ notion-cli bookmark remove inbox"
3801
- }
3802
- ],
3803
- "flags": {
3804
- "json": {
3805
- "char": "j",
3806
- "description": "Output as JSON (recommended for automation)",
3807
- "name": "json",
3574
+ },
3575
+ "markdown": {
3576
+ "char": "m",
3577
+ "description": "Output as markdown table (GitHub-flavored)",
3578
+ "exclusive": [
3579
+ "compact-json",
3580
+ "pretty"
3581
+ ],
3582
+ "name": "markdown",
3808
3583
  "allowNo": false,
3809
3584
  "type": "boolean"
3810
3585
  },
3811
- "page-size": {
3812
- "description": "Items per page (1-100, default: 100 for automation)",
3813
- "name": "page-size",
3814
- "default": 100,
3815
- "hasDynamicHelp": false,
3816
- "multiple": false,
3817
- "type": "option"
3586
+ "compact-json": {
3587
+ "char": "c",
3588
+ "description": "Output as compact JSON (single-line, ideal for piping)",
3589
+ "exclusive": [
3590
+ "markdown",
3591
+ "pretty"
3592
+ ],
3593
+ "name": "compact-json",
3594
+ "allowNo": false,
3595
+ "type": "boolean"
3818
3596
  },
3819
- "retry": {
3820
- "description": "Auto-retry on rate limit (respects Retry-After header)",
3821
- "name": "retry",
3597
+ "pretty": {
3598
+ "char": "P",
3599
+ "description": "Output as pretty table with borders",
3600
+ "exclusive": [
3601
+ "markdown",
3602
+ "compact-json"
3603
+ ],
3604
+ "name": "pretty",
3822
3605
  "allowNo": false,
3823
3606
  "type": "boolean"
3824
3607
  },
3825
- "timeout": {
3826
- "description": "Request timeout in milliseconds",
3827
- "name": "timeout",
3828
- "default": 30000,
3608
+ "file-filter": {
3609
+ "char": "F",
3610
+ "description": "Load filter from JSON file",
3611
+ "exclusive": [
3612
+ "filter",
3613
+ "search",
3614
+ "rawFilter",
3615
+ "fileFilter"
3616
+ ],
3617
+ "name": "file-filter",
3829
3618
  "hasDynamicHelp": false,
3830
3619
  "multiple": false,
3831
3620
  "type": "option"
3832
3621
  },
3833
- "no-cache": {
3834
- "description": "Bypass cache and force fresh API calls",
3835
- "name": "no-cache",
3836
- "allowNo": false,
3837
- "type": "boolean"
3622
+ "search": {
3623
+ "char": "s",
3624
+ "description": "Simple text search (searches across title and common text properties)",
3625
+ "exclusive": [
3626
+ "filter",
3627
+ "file-filter",
3628
+ "rawFilter",
3629
+ "fileFilter"
3630
+ ],
3631
+ "name": "search",
3632
+ "hasDynamicHelp": false,
3633
+ "multiple": false,
3634
+ "type": "option"
3838
3635
  },
3839
- "verbose": {
3840
- "char": "v",
3841
- "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
3842
- "env": "NOTION_CLI_VERBOSE",
3843
- "name": "verbose",
3844
- "allowNo": false,
3845
- "type": "boolean"
3636
+ "select": {
3637
+ "description": "Select specific properties to return (comma-separated). Reduces token usage by 60-80%.",
3638
+ "name": "select",
3639
+ "hasDynamicHelp": false,
3640
+ "multiple": false,
3641
+ "type": "option"
3846
3642
  },
3847
- "minimal": {
3848
- "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
3849
- "name": "minimal",
3850
- "allowNo": false,
3851
- "type": "boolean"
3643
+ "rawFilter": {
3644
+ "char": "a",
3645
+ "description": "DEPRECATED: Use --filter instead. JSON stringified filter string",
3646
+ "exclusive": [
3647
+ "filter",
3648
+ "search",
3649
+ "file-filter",
3650
+ "fileFilter"
3651
+ ],
3652
+ "hidden": true,
3653
+ "name": "rawFilter",
3654
+ "hasDynamicHelp": false,
3655
+ "multiple": false,
3656
+ "type": "option"
3657
+ },
3658
+ "fileFilter": {
3659
+ "description": "DEPRECATED: Use --file-filter instead. JSON filter file path",
3660
+ "exclusive": [
3661
+ "filter",
3662
+ "search",
3663
+ "file-filter",
3664
+ "rawFilter"
3665
+ ],
3666
+ "hidden": true,
3667
+ "name": "fileFilter",
3668
+ "hasDynamicHelp": false,
3669
+ "multiple": false,
3670
+ "type": "option"
3852
3671
  }
3853
3672
  },
3854
3673
  "hasDynamicHelp": false,
3855
3674
  "hiddenAliases": [],
3856
- "id": "bookmark:remove",
3675
+ "id": "db:query",
3857
3676
  "pluginAlias": "@catafal/notion-cli",
3858
3677
  "pluginName": "@catafal/notion-cli",
3859
3678
  "pluginType": "core",
@@ -3863,54 +3682,106 @@
3863
3682
  "relativePath": [
3864
3683
  "dist",
3865
3684
  "commands",
3866
- "bookmark",
3867
- "remove.js"
3685
+ "db",
3686
+ "query.js"
3868
3687
  ]
3869
3688
  },
3870
- "bookmark:set": {
3689
+ "db:retrieve": {
3871
3690
  "aliases": [
3872
- "bm:set"
3691
+ "db:r",
3692
+ "ds:retrieve",
3693
+ "ds:r"
3873
3694
  ],
3874
3695
  "args": {
3875
- "name": {
3876
- "description": "Bookmark name (e.g. \"inbox\", \"tasks\")",
3877
- "name": "name",
3878
- "required": true
3879
- },
3880
- "target": {
3881
- "description": "Notion ID, URL, or database name",
3882
- "name": "target",
3696
+ "database_id": {
3697
+ "description": "Data source ID or URL (the ID of the table whose schema you want to retrieve)",
3698
+ "name": "database_id",
3883
3699
  "required": true
3884
3700
  }
3885
3701
  },
3886
- "description": "Save a named shortcut to a Notion page or database",
3702
+ "description": "Retrieve a data source (table) schema and properties",
3887
3703
  "examples": [
3888
3704
  {
3889
- "description": "Bookmark a database as \"inbox\" and set it as default",
3890
- "command": "$ notion-cli bookmark set inbox DB_ID_OR_URL --default"
3705
+ "description": "Retrieve a data source with full schema (recommended for AI assistants)",
3706
+ "command": "notion-cli db retrieve DATA_SOURCE_ID -r"
3891
3707
  },
3892
3708
  {
3893
- "description": "Bookmark a page",
3894
- "command": "$ notion-cli bookmark set notes PAGE_URL --type page"
3709
+ "description": "Retrieve a data source schema via data_source_id",
3710
+ "command": "notion-cli db retrieve DATA_SOURCE_ID"
3711
+ },
3712
+ {
3713
+ "description": "Retrieve a data source via URL",
3714
+ "command": "notion-cli db retrieve https://notion.so/DATABASE_ID"
3715
+ },
3716
+ {
3717
+ "description": "Retrieve a data source and output as markdown table",
3718
+ "command": "notion-cli db retrieve DATA_SOURCE_ID --markdown"
3719
+ },
3720
+ {
3721
+ "description": "Retrieve a data source and output as compact JSON",
3722
+ "command": "notion-cli db retrieve DATA_SOURCE_ID --compact-json"
3895
3723
  }
3896
3724
  ],
3897
3725
  "flags": {
3898
- "type": {
3899
- "char": "t",
3900
- "description": "Resource type",
3901
- "name": "type",
3902
- "default": "database",
3726
+ "raw": {
3727
+ "char": "r",
3728
+ "description": "output raw json (recommended for AI assistants - returns full schema)",
3729
+ "name": "raw",
3730
+ "allowNo": false,
3731
+ "type": "boolean"
3732
+ },
3733
+ "columns": {
3734
+ "description": "Only show provided columns (comma-separated)",
3735
+ "exclusive": [
3736
+ "extended"
3737
+ ],
3738
+ "name": "columns",
3903
3739
  "hasDynamicHelp": false,
3904
3740
  "multiple": false,
3905
- "options": [
3906
- "database",
3907
- "page"
3908
- ],
3909
3741
  "type": "option"
3910
3742
  },
3911
- "default": {
3912
- "description": "Also set as the default bookmark (used by `quick` command)",
3913
- "name": "default",
3743
+ "sort": {
3744
+ "description": "Property to sort by (prepend with - for descending)",
3745
+ "name": "sort",
3746
+ "hasDynamicHelp": false,
3747
+ "multiple": false,
3748
+ "type": "option"
3749
+ },
3750
+ "filter": {
3751
+ "description": "Filter property by substring match",
3752
+ "name": "filter",
3753
+ "hasDynamicHelp": false,
3754
+ "multiple": false,
3755
+ "type": "option"
3756
+ },
3757
+ "csv": {
3758
+ "description": "Output in CSV format",
3759
+ "exclusive": [
3760
+ "no-truncate"
3761
+ ],
3762
+ "name": "csv",
3763
+ "allowNo": false,
3764
+ "type": "boolean"
3765
+ },
3766
+ "extended": {
3767
+ "char": "x",
3768
+ "description": "Show extra columns",
3769
+ "name": "extended",
3770
+ "allowNo": false,
3771
+ "type": "boolean"
3772
+ },
3773
+ "no-truncate": {
3774
+ "description": "Do not truncate output to fit screen",
3775
+ "exclusive": [
3776
+ "csv"
3777
+ ],
3778
+ "name": "no-truncate",
3779
+ "allowNo": false,
3780
+ "type": "boolean"
3781
+ },
3782
+ "no-header": {
3783
+ "description": "Hide table header from output",
3784
+ "name": "no-header",
3914
3785
  "allowNo": false,
3915
3786
  "type": "boolean"
3916
3787
  },
@@ -3962,11 +3833,44 @@
3962
3833
  "name": "minimal",
3963
3834
  "allowNo": false,
3964
3835
  "type": "boolean"
3836
+ },
3837
+ "markdown": {
3838
+ "char": "m",
3839
+ "description": "Output as markdown table (GitHub-flavored)",
3840
+ "exclusive": [
3841
+ "compact-json",
3842
+ "pretty"
3843
+ ],
3844
+ "name": "markdown",
3845
+ "allowNo": false,
3846
+ "type": "boolean"
3847
+ },
3848
+ "compact-json": {
3849
+ "char": "c",
3850
+ "description": "Output as compact JSON (single-line, ideal for piping)",
3851
+ "exclusive": [
3852
+ "markdown",
3853
+ "pretty"
3854
+ ],
3855
+ "name": "compact-json",
3856
+ "allowNo": false,
3857
+ "type": "boolean"
3858
+ },
3859
+ "pretty": {
3860
+ "char": "P",
3861
+ "description": "Output as pretty table with borders",
3862
+ "exclusive": [
3863
+ "markdown",
3864
+ "compact-json"
3865
+ ],
3866
+ "name": "pretty",
3867
+ "allowNo": false,
3868
+ "type": "boolean"
3965
3869
  }
3966
3870
  },
3967
3871
  "hasDynamicHelp": false,
3968
3872
  "hiddenAliases": [],
3969
- "id": "bookmark:set",
3873
+ "id": "db:retrieve",
3970
3874
  "pluginAlias": "@catafal/notion-cli",
3971
3875
  "pluginName": "@catafal/notion-cli",
3972
3876
  "pluginType": "core",
@@ -3976,90 +3880,114 @@
3976
3880
  "relativePath": [
3977
3881
  "dist",
3978
3882
  "commands",
3979
- "bookmark",
3980
- "set.js"
3883
+ "db",
3884
+ "retrieve.js"
3981
3885
  ]
3982
3886
  },
3983
- "config:set-token": {
3887
+ "db:schema": {
3984
3888
  "aliases": [
3985
- "config:token"
3889
+ "db:s",
3890
+ "ds:schema",
3891
+ "ds:s"
3986
3892
  ],
3987
3893
  "args": {
3988
- "token": {
3989
- "description": "Notion integration token (starts with secret_ or ntn_)",
3990
- "name": "token",
3991
- "required": false
3894
+ "data_source_id": {
3895
+ "description": "Data source ID or URL (the table whose schema you want to extract)",
3896
+ "name": "data_source_id",
3897
+ "required": true
3992
3898
  }
3993
3899
  },
3994
- "description": "Set NOTION_TOKEN in your shell configuration file",
3900
+ "description": "Extract clean, AI-parseable schema from a Notion data source (table). This command is optimized for AI agents and automation - it returns property names, types, options (for select/multi-select), and configuration in an easy-to-parse format.",
3995
3901
  "examples": [
3996
3902
  {
3997
- "description": "Set Notion token interactively",
3998
- "command": "notion-cli config set-token"
3903
+ "description": "Get full schema in JSON format (recommended for AI agents)",
3904
+ "command": "<%= config.bin %> db schema abc123def456 --output json"
3999
3905
  },
4000
3906
  {
4001
- "description": "Set Notion token directly",
4002
- "command": "notion-cli config set-token ntn_abc123..."
3907
+ "description": "Get schema with property payload examples (recommended for AI agents)",
3908
+ "command": "<%= config.bin %> db schema abc123def456 --with-examples --json"
4003
3909
  },
4004
3910
  {
4005
- "description": "Set token with JSON output",
4006
- "command": "notion-cli config set-token ntn_abc123... --json"
3911
+ "description": "Get schema using database URL",
3912
+ "command": "<%= config.bin %> db schema https://notion.so/DATABASE_ID --output json"
3913
+ },
3914
+ {
3915
+ "description": "Get schema as formatted table",
3916
+ "command": "<%= config.bin %> db schema abc123def456"
3917
+ },
3918
+ {
3919
+ "description": "Get schema with examples in human-readable format",
3920
+ "command": "<%= config.bin %> db schema abc123def456 --with-examples"
3921
+ },
3922
+ {
3923
+ "description": "Get schema in YAML format",
3924
+ "command": "<%= config.bin %> db schema abc123def456 --output yaml"
3925
+ },
3926
+ {
3927
+ "description": "Get only specific properties",
3928
+ "command": "<%= config.bin %> db schema abc123def456 --properties Name,Status,Tags --output json"
3929
+ },
3930
+ {
3931
+ "description": "Get schema as markdown documentation",
3932
+ "command": "<%= config.bin %> db schema abc123def456 --markdown"
3933
+ },
3934
+ {
3935
+ "description": "Parse schema with jq (extract property names)",
3936
+ "command": "<%= config.bin %> db schema abc123def456 --output json | jq '.data.properties[].name'"
3937
+ },
3938
+ {
3939
+ "description": "Find all select/multi-select properties and their options",
3940
+ "command": "<%= config.bin %> db schema abc123def456 --output json | jq '.data.properties[] | select(.options) | {name, options}'"
4007
3941
  }
4008
3942
  ],
4009
3943
  "flags": {
4010
- "json": {
4011
- "char": "j",
4012
- "description": "Output as JSON (recommended for automation)",
4013
- "name": "json",
4014
- "allowNo": false,
4015
- "type": "boolean"
4016
- },
4017
- "page-size": {
4018
- "description": "Items per page (1-100, default: 100 for automation)",
4019
- "name": "page-size",
4020
- "default": 100,
3944
+ "output": {
3945
+ "char": "o",
3946
+ "description": "Output format",
3947
+ "name": "output",
3948
+ "default": "table",
4021
3949
  "hasDynamicHelp": false,
4022
3950
  "multiple": false,
3951
+ "options": [
3952
+ "json",
3953
+ "yaml",
3954
+ "table"
3955
+ ],
4023
3956
  "type": "option"
4024
3957
  },
4025
- "retry": {
4026
- "description": "Auto-retry on rate limit (respects Retry-After header)",
4027
- "name": "retry",
4028
- "allowNo": false,
4029
- "type": "boolean"
4030
- },
4031
- "timeout": {
4032
- "description": "Request timeout in milliseconds",
4033
- "name": "timeout",
4034
- "default": 30000,
3958
+ "properties": {
3959
+ "char": "p",
3960
+ "description": "Comma-separated list of properties to include (default: all)",
3961
+ "name": "properties",
4035
3962
  "hasDynamicHelp": false,
4036
3963
  "multiple": false,
4037
3964
  "type": "option"
4038
3965
  },
4039
- "no-cache": {
4040
- "description": "Bypass cache and force fresh API calls",
4041
- "name": "no-cache",
3966
+ "markdown": {
3967
+ "char": "m",
3968
+ "description": "Output as markdown documentation",
3969
+ "name": "markdown",
4042
3970
  "allowNo": false,
4043
3971
  "type": "boolean"
4044
3972
  },
4045
- "verbose": {
4046
- "char": "v",
4047
- "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
4048
- "env": "NOTION_CLI_VERBOSE",
4049
- "name": "verbose",
3973
+ "json": {
3974
+ "char": "j",
3975
+ "description": "Output as JSON (shorthand for --output json)",
3976
+ "name": "json",
4050
3977
  "allowNo": false,
4051
3978
  "type": "boolean"
4052
3979
  },
4053
- "minimal": {
4054
- "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
4055
- "name": "minimal",
3980
+ "with-examples": {
3981
+ "char": "e",
3982
+ "description": "Include property payload examples for create/update operations",
3983
+ "name": "with-examples",
4056
3984
  "allowNo": false,
4057
3985
  "type": "boolean"
4058
3986
  }
4059
3987
  },
4060
3988
  "hasDynamicHelp": false,
4061
3989
  "hiddenAliases": [],
4062
- "id": "config:set-token",
3990
+ "id": "db:schema",
4063
3991
  "pluginAlias": "@catafal/notion-cli",
4064
3992
  "pluginName": "@catafal/notion-cli",
4065
3993
  "pluginType": "core",
@@ -4069,130 +3997,109 @@
4069
3997
  "relativePath": [
4070
3998
  "dist",
4071
3999
  "commands",
4072
- "config",
4073
- "set-token.js"
4000
+ "db",
4001
+ "schema.js"
4074
4002
  ]
4075
4003
  },
4076
- "daily": {
4004
+ "db:update": {
4077
4005
  "aliases": [
4078
- "d"
4006
+ "db:u",
4007
+ "ds:update",
4008
+ "ds:u"
4079
4009
  ],
4080
4010
  "args": {
4081
- "content": {
4082
- "description": "Text to add to today's entry (appended if entry already exists)",
4083
- "name": "content",
4084
- "required": false
4011
+ "database_id": {
4012
+ "description": "Data source ID or URL (the ID of the table you want to update)",
4013
+ "name": "database_id",
4014
+ "required": true
4085
4015
  }
4086
4016
  },
4087
- "description": "Create or open today's daily journal entry",
4017
+ "description": "Update a data source (table) title and properties",
4088
4018
  "examples": [
4089
4019
  {
4090
- "description": "Create today's entry",
4091
- "command": "$ notion-cli daily"
4020
+ "description": "Update a data source with a specific data_source_id and title",
4021
+ "command": "$ notion-cli db update DATA_SOURCE_ID -t 'My Data Source'"
4092
4022
  },
4093
4023
  {
4094
- "description": "Create entry with body content",
4095
- "command": "$ notion-cli daily \"Had a productive standup\""
4024
+ "description": "Update a data source via URL",
4025
+ "command": "$ notion-cli db update https://notion.so/DATABASE_ID -t 'My Data Source'"
4096
4026
  },
4097
4027
  {
4098
- "description": "First-time setup (see `daily setup --help`)",
4099
- "command": "$ notion-cli daily setup DB_ID"
4028
+ "description": "Update a data source with a specific data_source_id and output raw json",
4029
+ "command": "$ notion-cli db update DATA_SOURCE_ID -t 'My Table' -r"
4100
4030
  }
4101
4031
  ],
4102
4032
  "flags": {
4103
- "json": {
4104
- "char": "j",
4105
- "description": "Output as JSON (recommended for automation)",
4106
- "name": "json",
4033
+ "title": {
4034
+ "char": "t",
4035
+ "description": "New database title",
4036
+ "name": "title",
4037
+ "required": true,
4038
+ "hasDynamicHelp": false,
4039
+ "multiple": false,
4040
+ "type": "option"
4041
+ },
4042
+ "raw": {
4043
+ "char": "r",
4044
+ "description": "output raw json",
4045
+ "name": "raw",
4107
4046
  "allowNo": false,
4108
4047
  "type": "boolean"
4109
4048
  },
4110
- "page-size": {
4111
- "description": "Items per page (1-100, default: 100 for automation)",
4112
- "name": "page-size",
4113
- "default": 100,
4049
+ "columns": {
4050
+ "description": "Only show provided columns (comma-separated)",
4051
+ "exclusive": [
4052
+ "extended"
4053
+ ],
4054
+ "name": "columns",
4114
4055
  "hasDynamicHelp": false,
4115
4056
  "multiple": false,
4116
4057
  "type": "option"
4117
4058
  },
4118
- "retry": {
4119
- "description": "Auto-retry on rate limit (respects Retry-After header)",
4120
- "name": "retry",
4121
- "allowNo": false,
4122
- "type": "boolean"
4059
+ "sort": {
4060
+ "description": "Property to sort by (prepend with - for descending)",
4061
+ "name": "sort",
4062
+ "hasDynamicHelp": false,
4063
+ "multiple": false,
4064
+ "type": "option"
4123
4065
  },
4124
- "timeout": {
4125
- "description": "Request timeout in milliseconds",
4126
- "name": "timeout",
4127
- "default": 30000,
4066
+ "filter": {
4067
+ "description": "Filter property by substring match",
4068
+ "name": "filter",
4128
4069
  "hasDynamicHelp": false,
4129
4070
  "multiple": false,
4130
4071
  "type": "option"
4131
4072
  },
4132
- "no-cache": {
4133
- "description": "Bypass cache and force fresh API calls",
4134
- "name": "no-cache",
4073
+ "csv": {
4074
+ "description": "Output in CSV format",
4075
+ "exclusive": [
4076
+ "no-truncate"
4077
+ ],
4078
+ "name": "csv",
4135
4079
  "allowNo": false,
4136
4080
  "type": "boolean"
4137
4081
  },
4138
- "verbose": {
4139
- "char": "v",
4140
- "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
4141
- "env": "NOTION_CLI_VERBOSE",
4142
- "name": "verbose",
4082
+ "extended": {
4083
+ "char": "x",
4084
+ "description": "Show extra columns",
4085
+ "name": "extended",
4143
4086
  "allowNo": false,
4144
4087
  "type": "boolean"
4145
4088
  },
4146
- "minimal": {
4147
- "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
4148
- "name": "minimal",
4089
+ "no-truncate": {
4090
+ "description": "Do not truncate output to fit screen",
4091
+ "exclusive": [
4092
+ "csv"
4093
+ ],
4094
+ "name": "no-truncate",
4149
4095
  "allowNo": false,
4150
4096
  "type": "boolean"
4151
- }
4152
- },
4153
- "hasDynamicHelp": false,
4154
- "hiddenAliases": [],
4155
- "id": "daily",
4156
- "pluginAlias": "@catafal/notion-cli",
4157
- "pluginName": "@catafal/notion-cli",
4158
- "pluginType": "core",
4159
- "strict": true,
4160
- "enableJsonFlag": false,
4161
- "isESM": false,
4162
- "relativePath": [
4163
- "dist",
4164
- "commands",
4165
- "daily",
4166
- "index.js"
4167
- ]
4168
- },
4169
- "daily:setup": {
4170
- "aliases": [],
4171
- "args": {
4172
- "target": {
4173
- "description": "Existing database ID or URL (manual mode)",
4174
- "name": "target",
4175
- "required": false
4176
- }
4177
- },
4178
- "description": "Configure the daily journal command",
4179
- "examples": [
4180
- {
4181
- "description": "Point to an existing database (manual)",
4182
- "command": "$ notion-cli daily setup DB_ID_OR_URL"
4183
4097
  },
4184
- {
4185
- "description": "Auto-create a daily journal database",
4186
- "command": "$ notion-cli daily setup --auto PAGE_ID_OR_URL"
4187
- }
4188
- ],
4189
- "flags": {
4190
- "auto": {
4191
- "description": "Auto-create database under this parent page (pass page ID or URL)",
4192
- "name": "auto",
4193
- "hasDynamicHelp": false,
4194
- "multiple": false,
4195
- "type": "option"
4098
+ "no-header": {
4099
+ "description": "Hide table header from output",
4100
+ "name": "no-header",
4101
+ "allowNo": false,
4102
+ "type": "boolean"
4196
4103
  },
4197
4104
  "json": {
4198
4105
  "char": "j",
@@ -4246,7 +4153,7 @@
4246
4153
  },
4247
4154
  "hasDynamicHelp": false,
4248
4155
  "hiddenAliases": [],
4249
- "id": "daily:setup",
4156
+ "id": "db:update",
4250
4157
  "pluginAlias": "@catafal/notion-cli",
4251
4158
  "pluginName": "@catafal/notion-cli",
4252
4159
  "pluginType": "core",
@@ -4256,8 +4163,8 @@
4256
4163
  "relativePath": [
4257
4164
  "dist",
4258
4165
  "commands",
4259
- "daily",
4260
- "setup.js"
4166
+ "db",
4167
+ "update.js"
4261
4168
  ]
4262
4169
  },
4263
4170
  "page:create": {
@@ -5218,6 +5125,99 @@
5218
5125
  "update.js"
5219
5126
  ]
5220
5127
  },
5128
+ "config:set-token": {
5129
+ "aliases": [
5130
+ "config:token"
5131
+ ],
5132
+ "args": {
5133
+ "token": {
5134
+ "description": "Notion integration token (starts with secret_ or ntn_)",
5135
+ "name": "token",
5136
+ "required": false
5137
+ }
5138
+ },
5139
+ "description": "Set NOTION_TOKEN in your shell configuration file",
5140
+ "examples": [
5141
+ {
5142
+ "description": "Set Notion token interactively",
5143
+ "command": "notion-cli config set-token"
5144
+ },
5145
+ {
5146
+ "description": "Set Notion token directly",
5147
+ "command": "notion-cli config set-token ntn_abc123..."
5148
+ },
5149
+ {
5150
+ "description": "Set token with JSON output",
5151
+ "command": "notion-cli config set-token ntn_abc123... --json"
5152
+ }
5153
+ ],
5154
+ "flags": {
5155
+ "json": {
5156
+ "char": "j",
5157
+ "description": "Output as JSON (recommended for automation)",
5158
+ "name": "json",
5159
+ "allowNo": false,
5160
+ "type": "boolean"
5161
+ },
5162
+ "page-size": {
5163
+ "description": "Items per page (1-100, default: 100 for automation)",
5164
+ "name": "page-size",
5165
+ "default": 100,
5166
+ "hasDynamicHelp": false,
5167
+ "multiple": false,
5168
+ "type": "option"
5169
+ },
5170
+ "retry": {
5171
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
5172
+ "name": "retry",
5173
+ "allowNo": false,
5174
+ "type": "boolean"
5175
+ },
5176
+ "timeout": {
5177
+ "description": "Request timeout in milliseconds",
5178
+ "name": "timeout",
5179
+ "default": 30000,
5180
+ "hasDynamicHelp": false,
5181
+ "multiple": false,
5182
+ "type": "option"
5183
+ },
5184
+ "no-cache": {
5185
+ "description": "Bypass cache and force fresh API calls",
5186
+ "name": "no-cache",
5187
+ "allowNo": false,
5188
+ "type": "boolean"
5189
+ },
5190
+ "verbose": {
5191
+ "char": "v",
5192
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
5193
+ "env": "NOTION_CLI_VERBOSE",
5194
+ "name": "verbose",
5195
+ "allowNo": false,
5196
+ "type": "boolean"
5197
+ },
5198
+ "minimal": {
5199
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
5200
+ "name": "minimal",
5201
+ "allowNo": false,
5202
+ "type": "boolean"
5203
+ }
5204
+ },
5205
+ "hasDynamicHelp": false,
5206
+ "hiddenAliases": [],
5207
+ "id": "config:set-token",
5208
+ "pluginAlias": "@catafal/notion-cli",
5209
+ "pluginName": "@catafal/notion-cli",
5210
+ "pluginType": "core",
5211
+ "strict": true,
5212
+ "enableJsonFlag": false,
5213
+ "isESM": false,
5214
+ "relativePath": [
5215
+ "dist",
5216
+ "commands",
5217
+ "config",
5218
+ "set-token.js"
5219
+ ]
5220
+ },
5221
5221
  "template:get": {
5222
5222
  "aliases": [
5223
5223
  "tpl:get"
@@ -6467,5 +6467,5 @@
6467
6467
  ]
6468
6468
  }
6469
6469
  },
6470
- "version": "5.9.1"
6470
+ "version": "5.9.2"
6471
6471
  }