@opentabs-dev/cli 0.0.11 → 0.0.13

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.
@@ -3,6 +3,10 @@
3
3
  *
4
4
  * The log file is written by `opentabs start` at ~/.opentabs/server.log
5
5
  * (or $OPENTABS_CONFIG_DIR/server.log).
6
+ *
7
+ * When --plugin <name> is specified, only lines containing [plugin:<name>]
8
+ * are shown. This filters plugin log entries written by the MCP server's
9
+ * onPluginLog handler.
6
10
  */
7
11
  import type { Command } from 'commander';
8
12
  declare const registerLogsCommand: (program: Command) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+GzC,QAAA,MAAM,mBAAmB,GAAI,SAAS,OAAO,KAAG,IAe/C,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiJzC,QAAA,MAAM,mBAAmB,GAAI,SAAS,OAAO,KAAG,IAiB/C,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
@@ -3,6 +3,10 @@
3
3
  *
4
4
  * The log file is written by `opentabs start` at ~/.opentabs/server.log
5
5
  * (or $OPENTABS_CONFIG_DIR/server.log).
6
+ *
7
+ * When --plugin <name> is specified, only lines containing [plugin:<name>]
8
+ * are shown. This filters plugin log entries written by the MCP server's
9
+ * onPluginLog handler.
6
10
  */
7
11
  import { getLogFilePath } from '../config.js';
8
12
  import { InvalidArgumentError } from 'commander';
@@ -15,29 +19,40 @@ const TAIL_BUFFER_SIZE = 64 * 1024;
15
19
  * Read the last N lines from a file using a reverse-seek approach.
16
20
  * Reads at most TAIL_BUFFER_SIZE bytes from the end instead of the entire file.
17
21
  * Returns the tail content as a string and the file size (for follow offset).
22
+ *
23
+ * When a filter string is provided, only lines containing that string are
24
+ * included in the result. The line count applies to filtered lines.
18
25
  */
19
- const tailFile = async (filePath, lineCount) => {
26
+ const tailFile = async (filePath, lineCount, filter) => {
20
27
  const file = Bun.file(filePath);
21
28
  const fileSize = file.size;
22
29
  if (lineCount <= 0 || fileSize === 0)
23
30
  return { content: '', fileSize };
24
31
  const readStart = Math.max(0, fileSize - TAIL_BUFFER_SIZE);
25
32
  const chunk = await file.slice(readStart, fileSize).text();
26
- const lines = chunk.split('\n');
33
+ let lines = chunk.split('\n');
27
34
  // If we didn't read from the start, the first line may be partial — skip it
28
35
  if (readStart > 0)
29
36
  lines.shift();
37
+ if (filter) {
38
+ lines = lines.filter(line => line.includes(filter));
39
+ }
30
40
  const tail = lines.slice(-lineCount);
31
41
  return { content: tail.join('\n'), fileSize };
32
42
  };
33
43
  /**
34
44
  * Follow (tail -f) a log file. Watches for changes and streams new content.
35
45
  * Returns a promise that never resolves (runs until the process exits).
46
+ *
47
+ * When a filter string is provided, only lines containing that string are
48
+ * written to stdout. Partial lines at the end of a chunk are buffered until
49
+ * the next read completes the line.
36
50
  */
37
- const followFile = async (filePath, initialOffset) => {
51
+ const followFile = async (filePath, initialOffset, filter) => {
38
52
  let offset = initialOffset;
39
53
  let reading = false;
40
54
  let readRequested = false;
55
+ let partialLine = '';
41
56
  const readNewContent = () => {
42
57
  if (reading) {
43
58
  readRequested = true;
@@ -47,13 +62,28 @@ const followFile = async (filePath, initialOffset) => {
47
62
  if (currentSize < offset) {
48
63
  // File was truncated (e.g., new server start) — read from beginning
49
64
  offset = 0;
65
+ partialLine = '';
50
66
  }
51
67
  if (currentSize <= offset)
52
68
  return;
53
69
  reading = true;
54
70
  const stream = createReadStream(filePath, { start: offset, encoding: 'utf-8' });
55
71
  stream.on('data', (chunk) => {
56
- process.stdout.write(chunk);
72
+ const text = typeof chunk === 'string' ? chunk : chunk.toString('utf-8');
73
+ if (!filter) {
74
+ process.stdout.write(text);
75
+ return;
76
+ }
77
+ // Filter mode: split into lines and only output matching ones
78
+ const combined = partialLine + text;
79
+ const lines = combined.split('\n');
80
+ // Last element is either empty (if text ended with \n) or a partial line
81
+ partialLine = lines.pop() ?? '';
82
+ for (const line of lines) {
83
+ if (line.includes(filter)) {
84
+ process.stdout.write(line + '\n');
85
+ }
86
+ }
57
87
  });
58
88
  stream.on('end', () => {
59
89
  offset = currentSize;
@@ -95,12 +125,14 @@ const handleLogs = async (options) => {
95
125
  console.error(pc.dim('Start the server with: opentabs start'));
96
126
  process.exit(1);
97
127
  }
128
+ // Build the filter string for --plugin: match lines containing [plugin:<name>]
129
+ const filter = options.plugin ? `[plugin:${options.plugin}]` : undefined;
98
130
  const lineCount = options.lines ?? DEFAULT_LINES;
99
- const { content, fileSize } = await tailFile(logFilePath, lineCount);
131
+ const { content, fileSize } = await tailFile(logFilePath, lineCount, filter);
100
132
  if (content)
101
133
  process.stdout.write(content);
102
134
  if (options.follow !== false) {
103
- await followFile(logFilePath, fileSize);
135
+ await followFile(logFilePath, fileSize, filter);
104
136
  }
105
137
  };
106
138
  const registerLogsCommand = (program) => {
@@ -109,11 +141,13 @@ const registerLogsCommand = (program) => {
109
141
  .description('Tail the MCP server log output')
110
142
  .option('--lines <n>', `Number of lines to show (default: ${DEFAULT_LINES})`, parseLines)
111
143
  .option('--no-follow', 'Print recent lines and exit (do not follow)')
144
+ .option('--plugin <name>', 'Show only logs from a specific plugin')
112
145
  .addHelpText('after', `
113
146
  Examples:
114
- $ opentabs logs # Tail logs (follows new output)
115
- $ opentabs logs --lines 100 # Show last 100 lines then follow
116
- $ opentabs logs --no-follow # Show last 50 lines and exit`)
147
+ $ opentabs logs # Tail logs (follows new output)
148
+ $ opentabs logs --lines 100 # Show last 100 lines then follow
149
+ $ opentabs logs --no-follow # Show last 50 lines and exit
150
+ $ opentabs logs --plugin slack # Show only Slack plugin logs (follows)`)
117
151
  .action((options) => handleLogs(options));
118
152
  };
119
153
  export { registerLogsCommand };
@@ -1 +1 @@
1
- {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opentabs-dev/cli",
3
- "version": "0.0.11",
3
+ "version": "0.0.13",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./scaffold": {
@@ -21,9 +21,9 @@
21
21
  "build": "tsc --build"
22
22
  },
23
23
  "dependencies": {
24
- "@opentabs-dev/plugin-sdk": "^0.0.11",
25
- "@opentabs-dev/plugin-tools": "^0.0.11",
26
- "@opentabs-dev/shared": "^0.0.11",
24
+ "@opentabs-dev/plugin-sdk": "^0.0.13",
25
+ "@opentabs-dev/plugin-tools": "^0.0.13",
26
+ "@opentabs-dev/shared": "^0.0.13",
27
27
  "commander": "^14.0.3",
28
28
  "picocolors": "^1.1.1"
29
29
  },