seekstone 0.13.0 → 0.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +42 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2752,9 +2752,32 @@ function installProcessGuards(log2) {
|
|
|
2752
2752
|
}
|
|
2753
2753
|
|
|
2754
2754
|
// src/tool-list.ts
|
|
2755
|
+
var READ_ONLY_ANNOTATIONS = {
|
|
2756
|
+
readOnlyHint: true,
|
|
2757
|
+
openWorldHint: false
|
|
2758
|
+
};
|
|
2759
|
+
var ADDITIVE_WRITE_ANNOTATIONS = {
|
|
2760
|
+
readOnlyHint: false,
|
|
2761
|
+
destructiveHint: false,
|
|
2762
|
+
idempotentHint: false,
|
|
2763
|
+
openWorldHint: false
|
|
2764
|
+
};
|
|
2765
|
+
var DESTRUCTIVE_WRITE_ANNOTATIONS = {
|
|
2766
|
+
readOnlyHint: false,
|
|
2767
|
+
destructiveHint: true,
|
|
2768
|
+
idempotentHint: false,
|
|
2769
|
+
openWorldHint: false
|
|
2770
|
+
};
|
|
2771
|
+
var IDEMPOTENT_DESTRUCTIVE_WRITE_ANNOTATIONS = {
|
|
2772
|
+
readOnlyHint: false,
|
|
2773
|
+
destructiveHint: true,
|
|
2774
|
+
idempotentHint: true,
|
|
2775
|
+
openWorldHint: false
|
|
2776
|
+
};
|
|
2755
2777
|
var ALL_TOOLS = [
|
|
2756
2778
|
{
|
|
2757
2779
|
name: "search",
|
|
2780
|
+
annotations: READ_ONLY_ANNOTATIONS,
|
|
2758
2781
|
description: "Full-text search across the vault. Returns ranked excerpts (~200 chars) \u2014 not full notes \u2014 to minimise context usage. Supports fuzzy matching and prefix search.",
|
|
2759
2782
|
inputSchema: {
|
|
2760
2783
|
type: "object",
|
|
@@ -2769,6 +2792,7 @@ var ALL_TOOLS = [
|
|
|
2769
2792
|
},
|
|
2770
2793
|
{
|
|
2771
2794
|
name: "query_notes",
|
|
2795
|
+
annotations: READ_ONLY_ANNOTATIONS,
|
|
2772
2796
|
description: "Structured metadata query \u2014 filter notes by frontmatter key/value predicates, tag, folder, modified time, and size. Returns compact rows (path + title by default; opt into more via select), not note content. Use this instead of search when filtering by properties rather than text.",
|
|
2773
2797
|
inputSchema: {
|
|
2774
2798
|
type: "object",
|
|
@@ -2826,6 +2850,7 @@ var ALL_TOOLS = [
|
|
|
2826
2850
|
},
|
|
2827
2851
|
{
|
|
2828
2852
|
name: "context_pack",
|
|
2853
|
+
annotations: READ_ONLY_ANNOTATIONS,
|
|
2829
2854
|
description: 'Assemble everything needed to ANSWER a natural-language question in one call, under a strict byte budget (default 2048): ranked excerpts, linked neighbor notes (backlinks/outlinks) with one-line summaries, and follow-up source paths. Use search to locate notes and query_notes for metadata filters; use context_pack when you want answer-ready context without multiple round-trips. Empty excerpts with confidence "none" or "low" means the vault lacks coverage \u2014 do not infer content.',
|
|
2830
2855
|
inputSchema: {
|
|
2831
2856
|
type: "object",
|
|
@@ -2841,6 +2866,7 @@ var ALL_TOOLS = [
|
|
|
2841
2866
|
},
|
|
2842
2867
|
{
|
|
2843
2868
|
name: "read_note",
|
|
2869
|
+
annotations: READ_ONLY_ANNOTATIONS,
|
|
2844
2870
|
description: "Read a note or a span of it \u2014 by heading section, block reference, or line range. Returns structured JSON with the content, bytes returned, total note size, and a contentHash to pass as prevHash to edit tools for compare-and-swap. Use search or outline_note first to find the right path and section names.",
|
|
2845
2871
|
inputSchema: {
|
|
2846
2872
|
type: "object",
|
|
@@ -2879,6 +2905,7 @@ var ALL_TOOLS = [
|
|
|
2879
2905
|
},
|
|
2880
2906
|
{
|
|
2881
2907
|
name: "list_notes",
|
|
2908
|
+
annotations: READ_ONLY_ANNOTATIONS,
|
|
2882
2909
|
description: "List notes, optionally filtered by folder prefix or tag.",
|
|
2883
2910
|
inputSchema: {
|
|
2884
2911
|
type: "object",
|
|
@@ -2892,6 +2919,7 @@ var ALL_TOOLS = [
|
|
|
2892
2919
|
},
|
|
2893
2920
|
{
|
|
2894
2921
|
name: "list_tags",
|
|
2922
|
+
annotations: READ_ONLY_ANNOTATIONS,
|
|
2895
2923
|
description: "List all tags in the vault with usage counts. Supports substring filtering, minimum count threshold, and sort order. Nested tags (e.g. area/work) include a parent field.",
|
|
2896
2924
|
inputSchema: {
|
|
2897
2925
|
type: "object",
|
|
@@ -2915,6 +2943,7 @@ var ALL_TOOLS = [
|
|
|
2915
2943
|
},
|
|
2916
2944
|
{
|
|
2917
2945
|
name: "create_note",
|
|
2946
|
+
annotations: DESTRUCTIVE_WRITE_ANNOTATIONS,
|
|
2918
2947
|
description: "Create a new note at a vault-relative path. Optionally sets frontmatter and body content. Parent directories are created automatically. Fails if the note already exists unless overwrite is true (prevHash may guard the overwrite).",
|
|
2919
2948
|
inputSchema: {
|
|
2920
2949
|
type: "object",
|
|
@@ -2943,6 +2972,7 @@ var ALL_TOOLS = [
|
|
|
2943
2972
|
},
|
|
2944
2973
|
{
|
|
2945
2974
|
name: "delete_note",
|
|
2975
|
+
annotations: DESTRUCTIVE_WRITE_ANNOTATIONS,
|
|
2946
2976
|
description: "Delete a note. By default it is moved to the vault .trash/ folder (recoverable by moving it back); pass permanent: true to remove it outright.",
|
|
2947
2977
|
inputSchema: {
|
|
2948
2978
|
type: "object",
|
|
@@ -2958,6 +2988,7 @@ var ALL_TOOLS = [
|
|
|
2958
2988
|
},
|
|
2959
2989
|
{
|
|
2960
2990
|
name: "move_note",
|
|
2991
|
+
annotations: DESTRUCTIVE_WRITE_ANNOTATIONS,
|
|
2961
2992
|
description: "Move or rename a note to a new vault-relative path, rewriting wikilinks and markdown links in other notes that point at it so nothing breaks (links inside fenced code blocks are left alone). Parent directories at the destination are created automatically. Fails if the destination already exists unless overwrite is true.",
|
|
2962
2993
|
inputSchema: {
|
|
2963
2994
|
type: "object",
|
|
@@ -2978,6 +3009,7 @@ var ALL_TOOLS = [
|
|
|
2978
3009
|
},
|
|
2979
3010
|
{
|
|
2980
3011
|
name: "rename_heading",
|
|
3012
|
+
annotations: DESTRUCTIVE_WRITE_ANNOTATIONS,
|
|
2981
3013
|
description: "Rename a heading in a note and rewrite every [[note#heading]] wikilink and embed across the vault so references keep working \u2014 aliases preserved, fenced code blocks left alone. Served from the warm backlink index, no vault scan. Heading matching is case-insensitive; with duplicate headings the first match wins, mirroring Obsidian link resolution.",
|
|
2982
3014
|
inputSchema: {
|
|
2983
3015
|
type: "object",
|
|
@@ -3004,6 +3036,7 @@ var ALL_TOOLS = [
|
|
|
3004
3036
|
},
|
|
3005
3037
|
{
|
|
3006
3038
|
name: "append_note",
|
|
3039
|
+
annotations: ADDITIVE_WRITE_ANNOTATIONS,
|
|
3007
3040
|
description: "Append text to a note body without touching the frontmatter. Safe for meeting notes, daily logs, and append-only workflows.",
|
|
3008
3041
|
inputSchema: {
|
|
3009
3042
|
type: "object",
|
|
@@ -3020,6 +3053,7 @@ var ALL_TOOLS = [
|
|
|
3020
3053
|
},
|
|
3021
3054
|
{
|
|
3022
3055
|
name: "patch_frontmatter",
|
|
3056
|
+
annotations: IDEMPOTENT_DESTRUCTIVE_WRITE_ANNOTATIONS,
|
|
3023
3057
|
description: "Set, update, or delete frontmatter keys without reordering existing keys or changing quote style. Pass null as a value to delete a key.",
|
|
3024
3058
|
inputSchema: {
|
|
3025
3059
|
type: "object",
|
|
@@ -3040,6 +3074,7 @@ var ALL_TOOLS = [
|
|
|
3040
3074
|
},
|
|
3041
3075
|
{
|
|
3042
3076
|
name: "outline_note",
|
|
3077
|
+
annotations: READ_ONLY_ANNOTATIONS,
|
|
3043
3078
|
description: "Return a note's structure \u2014 heading tree with offsets, block-reference anchors, and frontmatter key list \u2014 without returning any prose. Use this before section reads or patches to discover what sections exist at a fraction of the cost of reading the full note.",
|
|
3044
3079
|
inputSchema: {
|
|
3045
3080
|
type: "object",
|
|
@@ -3059,6 +3094,7 @@ var ALL_TOOLS = [
|
|
|
3059
3094
|
},
|
|
3060
3095
|
{
|
|
3061
3096
|
name: "patch_note",
|
|
3097
|
+
annotations: DESTRUCTIVE_WRITE_ANNOTATIONS,
|
|
3062
3098
|
description: "Surgically edit a section of a note \u2014 targeted by heading or block reference \u2014 without rewriting the whole file. Operations: append (add after section), prepend (add after heading line), replace (swap section content). Frontmatter is never touched.",
|
|
3063
3099
|
inputSchema: {
|
|
3064
3100
|
type: "object",
|
|
@@ -3088,6 +3124,7 @@ var ALL_TOOLS = [
|
|
|
3088
3124
|
},
|
|
3089
3125
|
{
|
|
3090
3126
|
name: "get_backlinks",
|
|
3127
|
+
annotations: READ_ONLY_ANNOTATIONS,
|
|
3091
3128
|
description: "Return every note that links to the target note, with the source line and an optional excerpt. Results come from the pre-built reverse-link index so this is a fast, pure index lookup. Sort order: source path ascending.",
|
|
3092
3129
|
inputSchema: {
|
|
3093
3130
|
type: "object",
|
|
@@ -3107,6 +3144,7 @@ var ALL_TOOLS = [
|
|
|
3107
3144
|
},
|
|
3108
3145
|
{
|
|
3109
3146
|
name: "get_links",
|
|
3147
|
+
annotations: READ_ONLY_ANNOTATIONS,
|
|
3110
3148
|
description: "Return all outgoing wikilinks and embeds from a note. Each link is marked resolved (with target path) or unresolved. Duplicate targets are de-duplicated; results sorted by line number.",
|
|
3111
3149
|
inputSchema: {
|
|
3112
3150
|
type: "object",
|
|
@@ -3118,6 +3156,7 @@ var ALL_TOOLS = [
|
|
|
3118
3156
|
},
|
|
3119
3157
|
{
|
|
3120
3158
|
name: "replace_in_note",
|
|
3159
|
+
annotations: DESTRUCTIVE_WRITE_ANNOTATIONS,
|
|
3121
3160
|
description: "Find and replace text within a note body. Supports literal and regex search, case sensitivity, whole-word matching, and a replacement limit. Frontmatter is never touched. Use dryRun to preview matches before writing.",
|
|
3122
3161
|
inputSchema: {
|
|
3123
3162
|
type: "object",
|
|
@@ -3158,6 +3197,7 @@ var ALL_TOOLS = [
|
|
|
3158
3197
|
},
|
|
3159
3198
|
{
|
|
3160
3199
|
name: "get_periodic_note",
|
|
3200
|
+
annotations: ADDITIVE_WRITE_ANNOTATIONS,
|
|
3161
3201
|
description: "Get the path and existence status of a periodic note (daily, weekly, monthly, quarterly, or yearly) for a given date. Reads folder/format config from .obsidian/daily-notes.json (daily) or the periodic-notes plugin data.json. Optionally creates the note from the configured template if it is missing.",
|
|
3162
3202
|
inputSchema: {
|
|
3163
3203
|
type: "object",
|
|
@@ -3181,6 +3221,7 @@ var ALL_TOOLS = [
|
|
|
3181
3221
|
},
|
|
3182
3222
|
{
|
|
3183
3223
|
name: "append_periodic_note",
|
|
3224
|
+
annotations: ADDITIVE_WRITE_ANNOTATIONS,
|
|
3184
3225
|
description: "Append text to a periodic note (daily, weekly, monthly, quarterly, or yearly). Preserves existing frontmatter exactly. Creates the note first (from template if configured) when createIfMissing is true (default).",
|
|
3185
3226
|
inputSchema: {
|
|
3186
3227
|
type: "object",
|
|
@@ -3283,7 +3324,7 @@ function startWatcher(ctx2, log2, opts) {
|
|
|
3283
3324
|
}
|
|
3284
3325
|
|
|
3285
3326
|
// src/index.ts
|
|
3286
|
-
var VERSION = true ? "0.13.
|
|
3327
|
+
var VERSION = true ? "0.13.1" : "0.0.0-dev";
|
|
3287
3328
|
var intent = parseCliIntent(process.argv.slice(2));
|
|
3288
3329
|
if (intent === "version") {
|
|
3289
3330
|
process.stdout.write(`${VERSION}
|