superdb-mcp 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ const __dirname = dirname(__filename);
17
17
  const docsDir = join(__dirname, '../docs');
18
18
  const server = new Server({
19
19
  name: 'superdb-mcp',
20
- version: '1.2.0',
20
+ version: '1.3.0',
21
21
  }, {
22
22
  capabilities: {
23
23
  tools: {},
@@ -192,7 +192,7 @@ function listTutorials() {
192
192
  return [];
193
193
  }
194
194
  }
195
- const SITE_BASE = 'https://chrismo.github.io/superkit';
195
+ const SITE_BASE = 'https://chrismo.github.io/superkit/_build';
196
196
  const webUrls = {
197
197
  'expert': `${SITE_BASE}/expert-guide`,
198
198
  'upgrade': `${SITE_BASE}/upgrade-guide`,
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/tools/info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/tools/info.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export interface RecipeFunction {
13
13
  description: string;
14
14
  args: RecipeArg[];
15
15
  examples: RecipeExample[];
16
+ snippet?: string;
16
17
  source_file: string;
17
18
  }
18
19
  export interface RecipesResult {
@@ -1 +1 @@
1
- {"version":3,"file":"recipes.d.ts","sourceRoot":"","sources":["../../src/tools/recipes.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AA0HD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,CAsC1D"}
1
+ {"version":3,"file":"recipes.d.ts","sourceRoot":"","sources":["../../src/tools/recipes.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AA8HD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,CAsC1D"}
@@ -95,12 +95,15 @@ function parseSkdocObject(raw, sourceFile) {
95
95
  }
96
96
  }
97
97
  }
98
+ // Parse snippet (uses single quotes to avoid double-quote escaping issues)
99
+ const snippetMatch = raw.match(/snippet:'([^']+)'/);
98
100
  return {
99
101
  name: nameMatch[1],
100
102
  type: typeMatch[1],
101
103
  description: descMatch[1],
102
104
  args,
103
105
  examples,
106
+ ...(snippetMatch && { snippet: snippetMatch[1] }),
104
107
  source_file: sourceFile,
105
108
  };
106
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"recipes.js","sourceRoot":"","sources":["../../src/tools/recipes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recipes.js","sourceRoot":"","sources":["../../src/tools/recipes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ fn skdoc_csv_field(): (
2
+ cast(
3
+ {name:"sk_csv_field",
4
+ type:"func",
5
+ desc:"Escapes a string for use as a CSV field per RFC 4180. Wraps in double quotes and doubles internal quotes when the value contains commas, quotes, or newlines. Plain values pass through unchanged.",
6
+ args:[{name:"s",desc:"The string to escape"}],
7
+ examples:[{i:"sk_csv_field('plain')",o:"'plain'"},
8
+ {i:"sk_csv_field('hello, world')",o:"quoted and wrapped"},
9
+ {i:"sk_csv_field('has newline')",o:"quoted and wrapped"}] }, <skdoc>)
10
+ )
11
+
12
+ fn sk_csv_field(s): (
13
+ grep("[,\"\n]", s)
14
+ ? f"\"{replace(s, "\"", "\"\"")}\""
15
+ : s
16
+ )
17
+
18
+ fn skdoc_csv_row(): (
19
+ cast(
20
+ {name:"sk_csv_row",
21
+ type:"func",
22
+ desc:"Builds a CSV row from an array of values. Each element is cast to string and escaped with sk_csv_field, then joined with commas.",
23
+ args:[{name:"arr",desc:"Array of values to format as a CSV row"}],
24
+ examples:[{i:"sk_csv_row(arr) where arr has commas",o:"fields with commas get quoted"}] }, <skdoc>)
25
+ )
26
+
27
+ fn sk_csv_row(arr): (
28
+ join([unnest arr | values sk_csv_field(cast(this, <string>))], ",")
29
+ )
30
+
31
+ fn skdoc_shell_quote(): (
32
+ cast(
33
+ {name:"sk_shell_quote",
34
+ type:"func",
35
+ desc:"Wraps a string in POSIX shell single quotes. Internal single quotes are escaped so the result is safe for shell interpolation. Protects against injection of $, backticks, and other shell metacharacters.",
36
+ args:[{name:"s",desc:"The string to quote"}],
37
+ examples:[{i:"sk_shell_quote('hello world')",o:"single-quoted string"},
38
+ {i:"sk_shell_quote('has $var')",o:"single-quoted, $ not expanded"}] }, <skdoc>)
39
+ )
40
+
41
+ fn sk_shell_quote(s): (
42
+ f"'{replace(s, "'", "'\\''")}'"
43
+ )
44
+
45
+ fn skdoc_tsv_field(): (
46
+ cast(
47
+ {name:"sk_tsv_field",
48
+ type:"func",
49
+ desc:"Escapes a value for use in a TSV field. Casts to string, then replaces literal tab and newline characters with their backslash-escaped forms.",
50
+ args:[{name:"s",desc:"The value to escape"}],
51
+ examples:[{i:"sk_tsv_field('col1\\tcol2')",o:"tabs replaced with literal \\t"},
52
+ {i:"sk_tsv_field('line1\\nline2')",o:"newlines replaced with literal \\n"}] }, <skdoc>)
53
+ )
54
+
55
+ fn sk_tsv_field(s): (
56
+ replace(replace(cast(s, <string>), "\t", "\\t"), "\n", "\\n")
57
+ )
58
+
59
+ -- Shell patterns for safe text ingestion
60
+ -- The key insight: never interpolate untrusted text into a SuperQL string literal.
61
+ -- Pipe raw text through super with -i line and let the serializer handle escaping.
62
+ -- These patterns work from any language that can spawn a subprocess.
63
+
64
+ fn skdoc_safe_text_to_record(): (
65
+ cast(
66
+ {name:"safe_text_to_record",
67
+ type:"shell",
68
+ desc:"Pipe raw text into super to build a record without string interpolation. The text never passes through shell expansion or manual escaping. Works from any language via subprocess.",
69
+ args:[],
70
+ snippet:'echo "$text" | super -s -i line -c "values {body: this}" -',
71
+ examples:[{i:"text with quotes and $pecial chars",o:"safely embedded in a .sup record"}] }, <skdoc>)
72
+ )
73
+
74
+ fn skdoc_safe_text_to_string(): (
75
+ cast(
76
+ {name:"safe_text_to_string",
77
+ type:"shell",
78
+ desc:"Pipe raw text through super to get a properly escaped SUP string literal. Useful when you need the escaped value for embedding in other SUP data.",
79
+ args:[],
80
+ snippet:'echo "$text" | super -s -i line -c "values this" -',
81
+ examples:[{i:"She said hello and backslash",o:"properly escaped SUP string"}] }, <skdoc>)
82
+ )
83
+
84
+ fn skdoc_safe_multiline_to_record(): (
85
+ cast(
86
+ {name:"safe_multiline_to_record",
87
+ type:"shell",
88
+ desc:"Collapse multiline text into a single record field. Each line is collected then joined with newline characters. The text is never interpolated through the shell.",
89
+ args:[],
90
+ snippet:'echo "$text" | super -s -i line -c "aggregate s:=collect(this) | values {body: join(s, \"\\n\")}" -',
91
+ examples:[{i:"multi-line text with special chars",o:"single record with embedded newlines"}] }, <skdoc>)
92
+ )
93
+
94
+ fn skdoc_safe_append_to_sup_file(): (
95
+ cast(
96
+ {name:"safe_append_to_sup_file",
97
+ type:"shell",
98
+ desc:"Append a timestamped record with raw text to a .sup file. Common pattern for scripts that log or accumulate structured data from unstructured input.",
99
+ args:[],
100
+ snippet:'echo "$text" | super -s -i line -c "values {ts: now(), body: this}" - >> data.sup',
101
+ examples:[{i:"arbitrary user input",o:"appended as timestamped record to .sup file"}] }, <skdoc>)
102
+ )
@@ -80,7 +80,7 @@ fn sk_pad_right(s, pad_char, target_length): (
80
80
  -- TODO: skdoc_urldecode
81
81
 
82
82
  -- URL Decoder for SuperDB
83
- -- Usage: super -I urldecode.spq -s -c 'values urldecode(this)' - <<< '"%2Ftavern%20test"'
83
+ -- Usage: super -I urldecode.spq -s -c 'values sk_urldecode(this)' - <<< '"%2Ftavern%20test"'
84
84
  -- Or inline the definitions in your query
85
85
 
86
86
  -- Helper operator to decode a single segment after splitting on %
@@ -99,7 +99,7 @@ op sk_decode_seg s: (
99
99
  op sk_urldecode url: (
100
100
  split(url, "%")
101
101
  | unnest this
102
- | decode_seg this
102
+ | sk_decode_seg this
103
103
  | collect(this)
104
104
  | join(this, "")
105
105
  )
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: superdb-expert
3
3
  description: "Expert guide for SuperDB queries and data transformations. Covers syntax, patterns, and best practices."
4
- superdb_version: "0.1.0"
4
+ superdb_version: "0.2.0"
5
5
  last_updated: "2026-01-31"
6
- source: "https://github.com/chrismo/superkit/blob/main/doc/superdb-expert.md"
6
+ web: "https://chrismo.github.io/superkit/_build/expert-guide/"
7
7
  ---
8
8
 
9
9
  # SuperDB Query Specialist
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: bash-to-sup
3
3
  description: "Getting raw text safely from Bash into SuperDB without manual escaping."
4
- superdb_version: "0.1.0"
4
+ superdb_version: "0.2.0"
5
5
  last_updated: "2026-02-17"
6
- source: "https://github.com/chrismo/superkit/blob/main/doc/bash_to_sup.md"
6
+ web: "https://chrismo.github.io/superkit/_build/tutorials/bash_to_sup/"
7
7
  ---
8
8
 
9
9
  # Getting Bash Text into SuperDB
@@ -14,7 +14,7 @@ getting raw text from Bash into SuperDB.
14
14
  ## The Problem
15
15
 
16
16
  When building `.sup` records from Bash, you need to escape text before embedding
17
- it in ZSON strings. A common approach is manual escaping with sed:
17
+ it in SUP strings. A common approach is manual escaping with sed:
18
18
 
19
19
  ```bash
20
20
  # Manual escaping — fragile and error-prone
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: chess-tiebreaks
3
3
  description: "End-to-end tutorial parsing PGN chess data to find tie-break games."
4
- superdb_version: "0.1.0"
4
+ superdb_version: "0.2.0"
5
5
  last_updated: "2026-02-15"
6
- source: "https://github.com/chrismo/superkit/blob/main/doc/tutorial/chess-tiebreaks.md"
6
+ web: "https://chrismo.github.io/superkit/_build/tutorials/chess-tiebreaks/"
7
7
  ---
8
8
 
9
9
  # Chess Tiebreaks
@@ -32,10 +32,9 @@ super -i line -s -c "
32
32
  --
33
33
  -- pair up each player in each game
34
34
  --
35
- -- future super versions will support window functions, but we can make do with this
36
- --
37
- | put row_num:=count(this)
38
- | put game_id:=((row_num - 1) / 2)::int64
35
+ | count
36
+ | put game_id:=((count - 1) / 2)::int64
37
+ | values {...that, game_id}
39
38
  | aggregate
40
39
  last_name_white:=max(last_name_white),
41
40
  last_name_black:=max(last_name_black)
@@ -64,12 +63,12 @@ super -i line -s -c "
64
63
  ```
65
64
 
66
65
  ```mdtest-output
67
- {player:"Abdusattorov",opponent:"Wei",count:3::uint64}
68
- {player:"Giri",opponent:"Gukesh",count:4::uint64}
69
- {player:"Gukesh",opponent:"Giri",count:4::uint64}
70
- {player:"Gukesh",opponent:"Wei",count:3::uint64}
71
- {player:"Wei",opponent:"Abdusattorov",count:3::uint64}
72
- {player:"Wei",opponent:"Gukesh",count:3::uint64}
66
+ {player:"Abdusattorov",opponent:"Wei",count:3}
67
+ {player:"Giri",opponent:"Gukesh",count:4}
68
+ {player:"Gukesh",opponent:"Giri",count:4}
69
+ {player:"Gukesh",opponent:"Wei",count:3}
70
+ {player:"Wei",opponent:"Abdusattorov",count:3}
71
+ {player:"Wei",opponent:"Gukesh",count:3}
73
72
  ```
74
73
 
75
74
  ## Walkthrough
@@ -94,9 +93,11 @@ which we filter with `where not is_error(this)`.
94
93
  PGN files list White and Black players on consecutive lines for each game. We
95
94
  need to combine them into single records.
96
95
 
97
- The trick is using expression-context `count(this)` which produces a running
98
- count (1, 2, 3, ...). Integer division `(row_num - 1) / 2` maps pairs of rows to
99
- the same game_id: rows 1,2 get game_id 0; rows 3,4 get game_id 1, etc.
96
+ The `count` operator adds a sequential `count` field to each record (1, 2, 3, ...).
97
+ Integer division `(count - 1) / 2` maps pairs of rows to the same game_id:
98
+ rows 1,2 get game_id 0; rows 3,4 get game_id 1, etc. The `count` operator wraps
99
+ the input in a `that` field, so `{...that, game_id}` spreads the original fields
100
+ back out alongside the game_id.
100
101
 
101
102
  Then `aggregate ... by game_id` with `max()` picks up the non-null value from
102
103
  each field within each pair.
@@ -211,8 +212,8 @@ super -s -c "
211
212
  ```
212
213
 
213
214
  ```mdtest-output
214
- {player:"Gukesh",opponent:"Wei",count:2::uint64}
215
- {player:"Wei",opponent:"Gukesh",count:2::uint64}
215
+ {player:"Gukesh",opponent:"Wei",count:2}
216
+ {player:"Wei",opponent:"Gukesh",count:2}
216
217
  ```
217
218
 
218
219
  ## as of versions
@@ -221,5 +222,5 @@ super -s -c "
221
222
  super --version
222
223
  ```
223
224
  ```mdtest-output
224
- Version: v0.1.0
225
+ Version: v0.2.0
225
226
  ```
@@ -1,9 +1,11 @@
1
1
  ---
2
- name: fork-for-window
2
+ title: "Fork as a Window Function Workaround"
3
3
  description: "Using fork as a workaround for window functions to do per-group selection."
4
- superdb_version: "0.1.0"
5
- last_updated: "2026-02-17"
6
- source: "https://github.com/chrismo/superkit/blob/main/doc/fork_for_window.md"
4
+ layout: default
5
+ nav_order: 3
6
+ parent: Tutorials
7
+ superdb_version: "0.2.0"
8
+ last_updated: "2026-02-20"
7
9
  ---
8
10
 
9
11
  # Fork as a Window Function Workaround
@@ -21,17 +23,15 @@ You have a pool of available EC2 instances spread across availability zones.
21
23
  You need to pick instances while maximizing AZ distribution — taking an equal
22
24
  number from each zone rather than filling up from one.
23
25
 
24
- Sample data:
25
-
26
- ```
27
- {id:'i-001', az:'us-east-1a'}
28
- {id:'i-002', az:'us-east-1a'}
29
- {id:'i-003', az:'us-east-1a'}
30
- {id:'i-004', az:'us-east-1b'}
31
- {id:'i-005', az:'us-east-1c'}
32
- {id:'i-006', az:'us-east-1c'}
33
- {id:'i-007', az:'us-east-1c'}
34
- {id:'i-008', az:'us-east-1c'}
26
+ ```mdtest-input instances.sup
27
+ {id:"i-001",az:"us-east-1a"}
28
+ {id:"i-002",az:"us-east-1a"}
29
+ {id:"i-003",az:"us-east-1a"}
30
+ {id:"i-004",az:"us-east-1b"}
31
+ {id:"i-005",az:"us-east-1c"}
32
+ {id:"i-006",az:"us-east-1c"}
33
+ {id:"i-007",az:"us-east-1c"}
34
+ {id:"i-008",az:"us-east-1c"}
35
35
  ```
36
36
 
37
37
  Distribution: 3 in `us-east-1a`, 1 in `us-east-1b`, 4 in `us-east-1c`.
@@ -59,29 +59,40 @@ from every branch are merged back together into a single stream.
59
59
 
60
60
  Here's the full query — we'll break it down step by step after:
61
61
 
62
+ ```mdtest-command
63
+ super -s -c "
64
+ from instances.sup
65
+ | fork
66
+ ( where az=='us-east-1a' | head 2 )
67
+ ( where az=='us-east-1b' | head 2 )
68
+ ( where az=='us-east-1c' | head 2 )
69
+ | sort az, id
70
+ "
62
71
  ```
63
- from instances.sup
64
- | fork
65
- ( where az=='us-east-1a' | head 2 )
66
- ( where az=='us-east-1b' | head 2 )
67
- ( where az=='us-east-1c' | head 2 )
68
- | sort az, id
72
+ ```mdtest-output
73
+ {id:"i-001",az:"us-east-1a"}
74
+ {id:"i-002",az:"us-east-1a"}
75
+ {id:"i-004",az:"us-east-1b"}
76
+ {id:"i-005",az:"us-east-1c"}
77
+ {id:"i-006",az:"us-east-1c"}
69
78
  ```
70
79
 
71
80
  ### Step by Step
72
81
 
73
82
  **Step 1: `from instances.sup`** — reads all 8 records into the stream:
74
83
 
84
+ ```mdtest-command
85
+ super -s -c "from instances.sup"
75
86
  ```
76
- id az
77
- i-001 us-east-1a
78
- i-002 us-east-1a
79
- i-003 us-east-1a
80
- i-004 us-east-1b
81
- i-005 us-east-1c
82
- i-006 us-east-1c
83
- i-007 us-east-1c
84
- i-008 us-east-1c
87
+ ```mdtest-output
88
+ {id:"i-001",az:"us-east-1a"}
89
+ {id:"i-002",az:"us-east-1a"}
90
+ {id:"i-003",az:"us-east-1a"}
91
+ {id:"i-004",az:"us-east-1b"}
92
+ {id:"i-005",az:"us-east-1c"}
93
+ {id:"i-006",az:"us-east-1c"}
94
+ {id:"i-007",az:"us-east-1c"}
95
+ {id:"i-008",az:"us-east-1c"}
85
96
  ```
86
97
 
87
98
  **Step 2: `fork`** — sends all 8 records into each of three branches. Each
@@ -90,10 +101,12 @@ branch sees the full input and processes it independently.
90
101
  **Branch 1:** `where az=='us-east-1a'` filters to 3 records, then `head 2`
91
102
  keeps the first 2:
92
103
 
104
+ ```mdtest-command
105
+ super -s -c "from instances.sup | where az=='us-east-1a' | head 2"
93
106
  ```
94
- id az
95
- i-001 us-east-1a
96
- i-002 us-east-1a
107
+ ```mdtest-output
108
+ {id:"i-001",az:"us-east-1a"}
109
+ {id:"i-002",az:"us-east-1a"}
97
110
  ```
98
111
 
99
112
  (i-003 was filtered out by `head 2`)
@@ -101,9 +114,11 @@ i-002 us-east-1a
101
114
  **Branch 2:** `where az=='us-east-1b'` filters to 1 record, `head 2` returns
102
115
  what's available:
103
116
 
117
+ ```mdtest-command
118
+ super -s -c "from instances.sup | where az=='us-east-1b' | head 2"
104
119
  ```
105
- id az
106
- i-004 us-east-1b
120
+ ```mdtest-output
121
+ {id:"i-004",az:"us-east-1b"}
107
122
  ```
108
123
 
109
124
  Only 1 instance exists in this AZ. `head 2` doesn't error or pad — it just
@@ -112,10 +127,12 @@ returns what's there.
112
127
  **Branch 3:** `where az=='us-east-1c'` filters to 4 records, `head 2` keeps
113
128
  the first 2:
114
129
 
130
+ ```mdtest-command
131
+ super -s -c "from instances.sup | where az=='us-east-1c' | head 2"
115
132
  ```
116
- id az
117
- i-005 us-east-1c
118
- i-006 us-east-1c
133
+ ```mdtest-output
134
+ {id:"i-005",az:"us-east-1c"}
135
+ {id:"i-006",az:"us-east-1c"}
119
136
  ```
120
137
 
121
138
  (i-007 and i-008 were filtered out by `head 2`)
@@ -128,13 +145,22 @@ interleaved differently on each run. This is why the final `sort` matters.
128
145
  **Step 4: `sort az, id`** — sorts the combined results for clean, predictable
129
146
  output:
130
147
 
148
+ ```mdtest-command
149
+ super -s -c "
150
+ from instances.sup
151
+ | fork
152
+ ( where az=='us-east-1a' | head 2 )
153
+ ( where az=='us-east-1b' | head 2 )
154
+ ( where az=='us-east-1c' | head 2 )
155
+ | sort az, id
156
+ "
131
157
  ```
132
- id az
133
- i-001 us-east-1a
134
- i-002 us-east-1a
135
- i-004 us-east-1b
136
- i-005 us-east-1c
137
- i-006 us-east-1c
158
+ ```mdtest-output
159
+ {id:"i-001",az:"us-east-1a"}
160
+ {id:"i-002",az:"us-east-1a"}
161
+ {id:"i-004",az:"us-east-1b"}
162
+ {id:"i-005",az:"us-east-1c"}
163
+ {id:"i-006",az:"us-east-1c"}
138
164
  ```
139
165
 
140
166
  2 from `us-east-1a`, 1 from `us-east-1b` (all it had), 2 from `us-east-1c` —
@@ -144,17 +170,15 @@ as balanced as possible given the available pool.
144
170
 
145
171
  Without fork, you might try:
146
172
 
173
+ ```mdtest-command
174
+ super -s -c "from instances.sup | sort az, id | head 5"
147
175
  ```
148
- from instances.sup | sort az, id | head 5
149
- ```
150
-
151
- ```
152
- id az
153
- i-001 us-east-1a
154
- i-002 us-east-1a
155
- i-003 us-east-1a
156
- i-004 us-east-1b
157
- i-005 us-east-1c
176
+ ```mdtest-output
177
+ {id:"i-001",az:"us-east-1a"}
178
+ {id:"i-002",az:"us-east-1a"}
179
+ {id:"i-003",az:"us-east-1a"}
180
+ {id:"i-004",az:"us-east-1b"}
181
+ {id:"i-005",az:"us-east-1c"}
158
182
  ```
159
183
 
160
184
  All 3 from `us-east-1a`, the 1 from `us-east-1b`, and only 1 from `us-east-1c`.
@@ -165,21 +189,21 @@ distributing evenly.
165
189
 
166
190
  You can check the balance of your selection by piping through an aggregate:
167
191
 
192
+ ```mdtest-command
193
+ super -s -c "
194
+ from instances.sup
195
+ | fork
196
+ ( where az=='us-east-1a' | head 2 )
197
+ ( where az=='us-east-1b' | head 2 )
198
+ ( where az=='us-east-1c' | head 2 )
199
+ | aggregate count:=count() by az
200
+ | sort az
201
+ "
168
202
  ```
169
- from instances.sup
170
- | fork
171
- ( where az=='us-east-1a' | head 2 )
172
- ( where az=='us-east-1b' | head 2 )
173
- ( where az=='us-east-1c' | head 2 )
174
- | aggregate count:=count() by az
175
- | sort az
176
- ```
177
-
178
- ```
179
- az count
180
- us-east-1a 2
181
- us-east-1b 1
182
- us-east-1c 2
203
+ ```mdtest-output
204
+ {az:"us-east-1a",count:2}
205
+ {az:"us-east-1b",count:1}
206
+ {az:"us-east-1c",count:2}
183
207
  ```
184
208
 
185
209
  ## Alternative: Self-Join for Row Numbering
@@ -189,11 +213,24 @@ any number of groups. The idea: for each record, count how many records in the
189
213
  same group have an id less than or equal to it. This simulates
190
214
  `ROW_NUMBER() OVER (PARTITION BY az ORDER BY id)`.
191
215
 
192
- ```sql
193
- select a.id, a.az, count(*) as row_num
194
- from instances.sup a
195
- join instances.sup b on a.az = b.az and b.id <= a.id
196
- group by a.id, a.az
216
+ ```mdtest-command
217
+ super -s -c "
218
+ select a.id, a.az, count(*) as row_num
219
+ from instances.sup a
220
+ join instances.sup b on a.az = b.az and b.id <= a.id
221
+ group by a.id, a.az
222
+ order by a.az, a.id
223
+ "
224
+ ```
225
+ ```mdtest-output
226
+ {id:"i-001",az:"us-east-1a",row_num:1}
227
+ {id:"i-002",az:"us-east-1a",row_num:2}
228
+ {id:"i-003",az:"us-east-1a",row_num:3}
229
+ {id:"i-004",az:"us-east-1b",row_num:1}
230
+ {id:"i-005",az:"us-east-1c",row_num:1}
231
+ {id:"i-006",az:"us-east-1c",row_num:2}
232
+ {id:"i-007",az:"us-east-1c",row_num:3}
233
+ {id:"i-008",az:"us-east-1c",row_num:4}
197
234
  ```
198
235
 
199
236
  Step by step, for record `i-006` in `us-east-1c`:
@@ -202,41 +239,27 @@ Step by step, for record `i-006` in `us-east-1c`:
202
239
  `id <= 'i-006'`: that's `i-005` and `i-006` itself.
203
240
  2. `count(*)` = 2, so `row_num` = 2.
204
241
 
205
- The full result:
206
-
207
- ```
208
- id az row_num
209
- i-001 us-east-1a 1
210
- i-002 us-east-1a 2
211
- i-003 us-east-1a 3
212
- i-004 us-east-1b 1
213
- i-005 us-east-1c 1
214
- i-006 us-east-1c 2
215
- i-007 us-east-1c 3
216
- i-008 us-east-1c 4
217
- ```
218
-
219
242
  Now filter to keep only the first 2 per group:
220
243
 
221
- ```sql
222
- with ranked as (
223
- select a.id, a.az, count(*) as row_num
224
- from instances.sup a
225
- join instances.sup b on a.az = b.az and b.id <= a.id
226
- group by a.id, a.az
227
- )
228
- select id, az from ranked
229
- where row_num <= 2
230
- order by az, id
231
- ```
232
-
244
+ ```mdtest-command
245
+ super -s -c "
246
+ with ranked as (
247
+ select a.id, a.az, count(*) as row_num
248
+ from instances.sup a
249
+ join instances.sup b on a.az = b.az and b.id <= a.id
250
+ group by a.id, a.az
251
+ )
252
+ select id, az from ranked
253
+ where row_num <= 2
254
+ order by az, id
255
+ "
233
256
  ```
234
- id az
235
- i-001 us-east-1a
236
- i-002 us-east-1a
237
- i-004 us-east-1b
238
- i-005 us-east-1c
239
- i-006 us-east-1c
257
+ ```mdtest-output
258
+ {id:"i-001",az:"us-east-1a"}
259
+ {id:"i-002",az:"us-east-1a"}
260
+ {id:"i-004",az:"us-east-1b"}
261
+ {id:"i-005",az:"us-east-1c"}
262
+ {id:"i-006",az:"us-east-1c"}
240
263
  ```
241
264
 
242
265
  Same result as fork, but no hardcoded AZ names — works with any number of
@@ -270,33 +293,3 @@ For a refresher on what those mean in practice
270
293
  | O(n) | Linear | 100 | 10,000 | Scales nicely |
271
294
  | O(n log n) | Linearithmic| ~664 | ~132,877 | Typical sort |
272
295
  | O(n^2) | Quadratic | 10,000 | 100,000,000 | Gets slow fast|
273
-
274
- ## Full Example
275
-
276
- Save the sample data:
277
-
278
- ```bash
279
- cat > /tmp/instances.sup << 'EOF'
280
- {id:'i-001', az:'us-east-1a'}
281
- {id:'i-002', az:'us-east-1a'}
282
- {id:'i-003', az:'us-east-1a'}
283
- {id:'i-004', az:'us-east-1b'}
284
- {id:'i-005', az:'us-east-1c'}
285
- {id:'i-006', az:'us-east-1c'}
286
- {id:'i-007', az:'us-east-1c'}
287
- {id:'i-008', az:'us-east-1c'}
288
- EOF
289
- ```
290
-
291
- Pick 2 per AZ:
292
-
293
- ```bash
294
- super -f table -c "
295
- from '/tmp/instances.sup'
296
- | fork
297
- ( where az=='us-east-1a' | head 2 )
298
- ( where az=='us-east-1b' | head 2 )
299
- ( where az=='us-east-1c' | head 2 )
300
- | sort az, id
301
- "
302
- ```
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: grok
3
3
  description: "Tutorial on using the grok function for text parsing in SuperDB."
4
- superdb_version: "0.1.0"
4
+ superdb_version: "0.2.0"
5
5
  last_updated: "2026-02-15"
6
- source: "https://github.com/chrismo/superkit/blob/main/doc/grok.md"
6
+ web: "https://chrismo.github.io/superkit/_build/tutorials/grok/"
7
7
  ---
8
8
 
9
9
  # grok
@@ -120,5 +120,5 @@ error({message:"grok: value does not match pattern",on:"foo"})
120
120
  super --version
121
121
  ```
122
122
  ```mdtest-output
123
- Version: v0.1.0
123
+ Version: v0.2.0
124
124
  ```
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: joins
3
3
  description: "Examples of outer joins, anti joins, and full outer joins in SuperDB."
4
- superdb_version: "0.1.0"
4
+ superdb_version: "0.2.0"
5
5
  last_updated: "2026-02-15"
6
- source: "https://github.com/chrismo/superkit/blob/main/doc/joins.md"
6
+ web: "https://chrismo.github.io/superkit/_build/tutorials/joins/"
7
7
  ---
8
8
 
9
9
  # Joins
@@ -72,5 +72,5 @@ super -s -c "select * from za.sup as za
72
72
  super --version
73
73
  ```
74
74
  ```mdtest-output
75
- Version: v0.1.0
75
+ Version: v0.2.0
76
76
  ```
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: moar-subqueries
3
3
  description: "Additional subquery patterns including fork and full sub-selects."
4
- superdb_version: "0.1.0"
4
+ superdb_version: "0.2.0"
5
5
  last_updated: "2026-02-15"
6
- source: "https://github.com/chrismo/superkit/blob/main/doc/moar_subqueries.md"
6
+ web: "https://chrismo.github.io/superkit/_build/tutorials/moar_subqueries/"
7
7
  ---
8
8
 
9
9
  # Moar Subqueries
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: subqueries
3
3
  description: "Examples of correlated subqueries and derived table patterns in SuperDB."
4
- superdb_version: "0.1.0"
4
+ superdb_version: "0.2.0"
5
5
  last_updated: "2026-02-15"
6
- source: "https://github.com/chrismo/superkit/blob/main/doc/subqueries.md"
6
+ web: "https://chrismo.github.io/superkit/_build/tutorials/subqueries/"
7
7
  ---
8
8
 
9
9
  # Subqueries
@@ -85,7 +85,7 @@ super -s -c '
85
85
  | values {date,foo})
86
86
  on {left.date,left.foo}={right.date,right.foo}
87
87
  | values left
88
- | sort id' data.json
88
+ | sort id'
89
89
  ```
90
90
  ```mdtest-output
91
91
  {id:1,date:"2025-02-27",foo:3}
@@ -226,5 +226,5 @@ super -s -c '
226
226
  super --version
227
227
  ```
228
228
  ```mdtest-output
229
- Version: v0.1.0
229
+ Version: v0.2.0
230
230
  ```
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: sup-to-bash
3
3
  description: "Optimizing SuperDB output into Bash variables efficiently."
4
- superdb_version: "0.1.0"
4
+ superdb_version: "0.2.0"
5
5
  last_updated: "2026-02-15"
6
- source: "https://github.com/chrismo/superkit/blob/main/doc/sup_to_bash.md"
6
+ web: "https://chrismo.github.io/superkit/_build/tutorials/sup_to_bash/"
7
7
  ---
8
8
 
9
9
  # Optimizing Sup Values into Bash Variables
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: super-db-update
3
3
  description: "Workarounds for updating data in a SuperDB lake."
4
- superdb_version: "0.1.0"
4
+ superdb_version: "0.2.0"
5
5
  last_updated: "2026-02-15"
6
- source: "https://github.com/chrismo/superkit/blob/main/doc/super_db_update.md"
6
+ web: "https://chrismo.github.io/superkit/_build/tutorials/super_db_update/"
7
7
  ---
8
8
 
9
9
  # Updating Data in a Lake
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: unnest
3
3
  description: "Guide to the unnest operator including nested unnest...into patterns."
4
- superdb_version: "0.1.0"
4
+ superdb_version: "0.2.0"
5
5
  last_updated: "2026-02-15"
6
- source: "https://github.com/chrismo/superkit/blob/main/doc/unnest.md"
6
+ web: "https://chrismo.github.io/superkit/_build/tutorials/unnest/"
7
7
  ---
8
8
 
9
9
  # unnest
@@ -106,5 +106,5 @@ seq 1 3 | super -s -c "
106
106
  super --version
107
107
  ```
108
108
  ```mdtest-output
109
- Version: v0.1.0
109
+ Version: v0.2.0
110
110
  ```
@@ -1,14 +1,14 @@
1
1
  ---
2
2
  name: zq-to-super-upgrades
3
3
  description: "Migration guide from zq to SuperDB. Covers all breaking changes and syntax updates."
4
- superdb_version: "0.1.0"
4
+ superdb_version: "0.2.0"
5
5
  last_updated: "2026-01-31"
6
- source: "https://github.com/chrismo/superkit/blob/main/doc/zq-to-super-upgrades.md"
6
+ web: "https://chrismo.github.io/superkit/_build/upgrade-guide/"
7
7
  ---
8
8
 
9
9
  # Upgrading zq to super
10
10
 
11
- SuperDB Version 0.1.0
11
+ SuperDB Version 0.2.0
12
12
 
13
13
  This document is designed for AI assistants performing automated upgrades of zq
14
14
  scripts to SuperDB. It covers all breaking changes between zq and the current
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "superdb-mcp",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "MCP server for SuperDB - execute SuperSQL queries, version detection, and embedded documentation",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",