### Install and Run Mintlify CLI Source: https://github.com/tableproapp/tablepro/blob/main/docs/README.md Install the Mintlify CLI globally and start the local development server to preview changes. ```bash npm i -g mint mint dev ``` -------------------------------- ### Example: Two Bastion Hosts Configuration Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/ssh-tunneling.mdx Illustrates the configuration for two bastion hosts and the final SSH server. This setup is equivalent to the bash command shown. ```text Jump Host 1: admin@bastion1.example.com:22 (SSH Agent) Jump Host 2: tunnel@bastion2.internal:2222 (Private Key) SSH Server: deploy@final-ssh.internal:22 Database Host: db.internal:5432 ``` ```bash ssh -J admin@bastion1.example.com:22,tunnel@bastion2.internal:2222 deploy@final-ssh.internal ``` -------------------------------- ### Install Development Tools Source: https://github.com/tableproapp/tablepro/blob/main/docs/development/setup.mdx Install SwiftLint and SwiftFormat using Homebrew for code linting and formatting. ```bash brew install swiftlint swiftformat ``` -------------------------------- ### Install TablePro via Homebrew Source: https://context7.com/tableproapp/tablepro/llms.txt Use Homebrew for the fastest installation of TablePro. Alternatively, download the DMG directly for Apple Silicon. ```bash # Homebrew (fastest) brew install --cask tablepro # Or download directly for Apple Silicon # https://github.com/TableProApp/TablePro/releases — TablePro-arm64.dmg # System requirements: macOS 14 Sonoma+, arm64 or x86_64 ``` -------------------------------- ### Install TablePro using Homebrew Source: https://github.com/tableproapp/tablepro/blob/main/README.md Use this command to install TablePro via Homebrew. Ensure Homebrew is installed on your system. ```bash brew install --cask tablepro ``` -------------------------------- ### Turso Cloud Example Configuration Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/libsql.mdx Example configuration for connecting to a Turso Cloud database. Includes connection name, database URL, and authentication token. ```text Name: My Turso DB Database URL: libsql://my-app-db-myorg.turso.io Auth Token: (your Turso auth token) ``` -------------------------------- ### SSL/TLS Mode Query Parameter Examples Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/connection-urls.mdx Examples demonstrating the use of `sslmode` and `tlsmode` query parameters for configuring SSL/TLS connections. ```text postgresql://user:pass@host/db?sslmode=require postgresql://user:pass@host/db?tlsmode=2 ``` -------------------------------- ### Standard Connection URL Examples Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/connection-urls.mdx Examples of standard connection URLs for PostgreSQL, MySQL, MongoDB, Redis, and SQLite. ```text postgresql://alice:secret@db.example.com:5432/myapp mysql://root@localhost/shop mongodb://user:pass@mongo.host:27017/analytics?authSource=admin redis://:password@cache.host:6379/1 sqlite:///Users/alice/data/local.db ``` -------------------------------- ### Self-hosted sqld Example Configuration Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/libsql.mdx Example configuration for connecting to a self-hosted sqld instance. Includes connection name, database URL, and authentication token (if applicable). ```text Name: Local sqld Database URL: http://localhost:8080 Auth Token: (leave empty if no auth configured) ``` -------------------------------- ### Cassandra Connection URL Example Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/cassandra.mdx Example of a connection URL for Cassandra or ScyllaDB. See the Connection URL Reference for all parameters. ```text cassandra://user:password@host:9042/keyspace ``` -------------------------------- ### Start MongoDB Community Service Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/mongodb.mdx Use this command to start the MongoDB service if it's not running. Ensure MongoDB is installed via Homebrew. ```bash brew services start mongodb-community ``` -------------------------------- ### ViewController Setup with TextView Source: https://github.com/tableproapp/tablepro/blob/main/LocalPackages/CodeEditTextView/README.md An example view controller demonstrating how to embed the TextView within an NSScrollView for basic text editing functionality. Ensure to import CodeEditTextView and AppKit. ```swift import CodeEditTextView import AppKit /// # ViewController /// /// An example view controller for displaying a text view embedded in a scroll view. class ViewController: NSViewController, TextViewDelegate { private var scrollView: NSScrollView! private var textView: TextView! var text: String = "func helloWorld() { print(\"hello world\") }" var font: NSFont! var textColor: NSColor! override func loadView() { textView = TextView( string: text, font: font, textColor: textColor, lineHeightMultiplier: 1.0, wrapLines: true, isEditable: true, isSelectable: true, letterSpacing: 1.0, delegate: self ) textView.translatesAutoresizingMaskIntoConstraints = false scrollView = NSScrollView() scrollView.translatesAutoresizingMaskIntoConstraints = false scrollView.hasVerticalScroller = true scrollView.hasHorizontalScroller = true scrollView.documentView = textView self.view = scrollView NSLayoutConstraint.activate([ scrollView.leadingAnchor.constraint(equalTo: view.leadingAnchor), scrollView.trailingAnchor.constraint(equalTo: view.trailingAnchor), scrollView.topAnchor.constraint(equalTo: view.topAnchor), scrollView.bottomAnchor.constraint(equalTo: view.bottomAnchor) ]) textView.updateFrameIfNeeded() } } ``` -------------------------------- ### CQL Editor Examples Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/cassandra.mdx Execute various CQL statements directly in the editor tab. Includes examples for selecting, inserting, updating, deleting, creating tables, creating indexes, and describing tables. ```sql -- Select with partition key restriction SELECT * FROM users WHERE user_id = 123e4567-e89b-12d3-a456-426614174000; ``` ```sql -- Insert data INSERT INTO users (user_id, name, email, created_at) VALUES (uuid(), 'Alice', 'alice@example.com', toTimestamp(now())); ``` ```sql -- Update with TTL UPDATE users USING TTL 86400 SET email = 'new@example.com' WHERE user_id = 123e4567-e89b-12d3-a456-426614174000; ``` ```sql -- Delete DELETE FROM users WHERE user_id = 123e4567-e89b-12d3-a456-426614174000; ``` ```sql -- Create table CREATE TABLE IF NOT EXISTS events ( event_id timeuuid, user_id uuid, event_type text, payload text, PRIMARY KEY ((user_id), event_id) ) WITH CLUSTERING ORDER BY (event_id DESC); ``` ```sql -- Create index CREATE INDEX ON users (email); ``` ```sql -- Describe table DESCRIBE TABLE users; ``` -------------------------------- ### SSH Config Example Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/ssh-tunneling.mdx Example of an SSH config entry that TablePro can read and use to auto-fill connection settings. ```bash # ~/.ssh/config Host production-jump HostName jump.example.com User deploy Port 22 IdentityFile ~/.ssh/production_key ``` -------------------------------- ### Example Plugin Entry for Oracle Driver Source: https://github.com/tableproapp/tablepro/blob/main/docs/development/plugin-registry.mdx A complete example of a plugin entry in the registry manifest, detailing fields for a database driver plugin. ```json { "id": "com.TablePro.OracleDriver", "name": "Oracle Driver", "version": "1.0.0", "summary": "Oracle Database 12c+ driver via OracleNIO", "author": { "name": "TablePro", "url": "https://tablepro.app" }, "homepage": "https://docs.tablepro.app/databases/oracle", "category": "database-driver", "databaseTypeIds": ["Oracle"], "binaries": [ { "architecture": "arm64", "downloadURL": "https://github.com/TableProApp/TablePro/releases/download/plugin-oracle-v1.0.0/OracleDriver-arm64.zip", "sha256": "" }, { "architecture": "x86_64", "downloadURL": "https://github.com/TableProApp/TablePro/releases/download/plugin-oracle-v1.0.0/OracleDriver-x86_64.zip", "sha256": "" } ], "minAppVersion": "0.17.0", "minPluginKitVersion": 2, "iconName": "server.rack", "isVerified": true } ``` -------------------------------- ### Installing and Loading DuckDB Extensions Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/duckdb.mdx Install and load extensions like httpfs to enable additional functionality, such as querying remote files. ```sql -- Install an extension INSTALL httpfs; -- Load an extension LOAD httpfs; -- Query remote Parquet files SELECT * FROM read_parquet('https://example.com/data.parquet'); ``` -------------------------------- ### Multi-Jump SSH (ProxyJump) Setup Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/ssh-tunneling.mdx Illustrates a multi-jump SSH setup where TablePro chains through multiple bastion hosts to reach the database server. ```mermaid flowchart LR subgraph mac ["Your Mac"] TablePro["TablePro"] end subgraph hop1 ["Bastion 1"] B1["Jump Host 1"] end subgraph hop2 ["Bastion 2"] B2["Jump Host 2"] end subgraph db ["Database Server"] Database["MySQL
PostgreSQL"] end TablePro -->|"Jump 1"| B1 -->|"Jump 2"| B2 -->|"Final Hop"| Database ``` -------------------------------- ### Data Manipulation Language (DML) Examples Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/bigquery.mdx Provides examples for INSERT, UPDATE, and DELETE statements in GoogleSQL. Remember to use backticks for table names. Partitioned tables require a partition filter for UPDATE/DELETE. ```sql INSERT INTO `project.dataset.table` (col1, col2) VALUES ('val1', 42) UPDATE `project.dataset.table` SET col1 = 'new' WHERE col2 = 42 DELETE FROM `project.dataset.table` WHERE col2 = 42 ``` -------------------------------- ### Example Theme Plugin Entry Source: https://github.com/tableproapp/tablepro/blob/main/docs/development/plugin-registry.mdx An example of a plugin entry in the registry manifest for a theme plugin, highlighting differences from driver plugins. ```json { "id": "com.example.monokai-theme", "name": "Monokai Theme", "version": "1.0.0", "summary": "Classic Monokai color scheme for TablePro", "author": { "name": "Theme Author" }, "category": "theme", "downloadURL": "https://example.com/monokai-theme.zip", "sha256": "", "iconName": "paintpalette", "isVerified": false } ``` -------------------------------- ### Navigation Query Parameters Example Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/connection-urls.mdx Use `schema` and `table` query parameters to immediately open a specific schema and table after connecting. ```text postgresql://user:pass@host/mydb?schema=reporting&table=monthly_sales ``` -------------------------------- ### Filtering Query Parameters Examples Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/connection-urls.mdx Examples of using `column`, `operation`, `value`, and `condition` query parameters to apply filters to opened tables. ```text postgresql://user:pass@host/mydb?table=orders&column=status&operation==&value=pending postgresql://user:pass@host/mydb?table=orders&condition=total%3E1000 ``` -------------------------------- ### Appearance Query Parameters Example Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/connection-urls.mdx Use `statusColor` and `env` query parameters to assign a color and tag to a connection. ```text postgresql://user:pass@host/db?statusColor=FF3B30&env=production ``` -------------------------------- ### Create a Basic Coordinator Source: https://github.com/tableproapp/tablepro/blob/main/LocalPackages/CodeEditSourceEditor/Sources/CodeEditSourceEditor/Documentation.docc/TextViewCoordinators.md Define a class that conforms to the TextViewCoordinator protocol and implement the prepareCoordinator method for initial setup. ```swift class MyCoordinator { func prepareCoordinator(controller: TextViewController) { // Do any setup, such as keeping a (weak) reference to the controller or adding a text storage delegate. } } ``` -------------------------------- ### SSH Tunneling Configuration Examples Source: https://context7.com/tableproapp/tablepro/llms.txt Examples demonstrating various SSH tunneling configurations, including single jump hosts, AWS RDS via EC2 bastion, multi-hop ProxyJump chains, and integration with ~/.ssh/config. ```shell # Single jump host SSH Host: jump.example.com SSH User: deploy Auth: Private Key (~/.ssh/id_ed25519) Database Host: localhost # relative to SSH server Database Port: 5432 ``` ```shell # AWS RDS via EC2 bastion SSH Host: bastion.example.com SSH User: ec2-user Key File: ~/.ssh/aws-key.pem Database Host: mydb.abc123.us-east-1.rds.amazonaws.com Database Port: 5432 ``` ```shell # Multi-hop ProxyJump chain (equivalent to ssh -J flag) Jump Host 1: admin@bastion1.example.com:22 (SSH Agent) Jump Host 2: tunnel@bastion2.internal:2222 (Private Key) SSH Server: deploy@final-ssh.internal:22 Database Host: db.internal:5432 ``` ```shell # ~/.ssh/config integration (auto-fills form from config) Host production-db HostName final-ssh.internal User deploy ProxyJump admin@bastion1.example.com,tunnel@bastion2.internal:2222 ``` ```shell # URL import (TablePlus-compatible format) open "mysql+ssh://root@123.123.123.123:1234/db_user:db_pass@127.0.0.1/mydb?name=Prod&usePrivateKey=true" ``` -------------------------------- ### Full-Text Search Example Source: https://github.com/tableproapp/tablepro/blob/main/docs/features/query-history.mdx Use this syntax in the search box to find queries containing specific text. This example searches for queries that include both 'SELECT' and 'users'. ```sql SELECT users -- Find all queries containing "SELECT" and "users" ``` -------------------------------- ### HTTP Transport Configuration (Cursor Example) Source: https://github.com/tableproapp/tablepro/blob/main/docs/external-api/mcp-clients.mdx Configure an HTTP connection to TablePro for clients that cannot use stdio. This example shows the JSON structure for specifying the URL and authorization headers, commonly used by clients like Cursor. ```json { "mcpServers": { "tablepro": { "url": "http://127.0.0.1:23508/mcp", "headers": { "Authorization": "Bearer tp_your_token_here" } } } } ``` -------------------------------- ### Lazy-start the MCP server Source: https://github.com/tableproapp/tablepro/blob/main/docs/external-api/url-scheme.mdx Starts the MCP server if it is not already running. This is used by the bundled `tablepro-mcp` CLI to bootstrap on cold launch. The user does not need to enable MCP in Settings beforehand. The first call starts the server on a free port in the `51000-52000` range and writes a handshake file at `~/Library/Application Support/TablePro/mcp-handshake.json`. ```APIDOC ## Lazy-start the MCP server ### URL Scheme `tablepro://integrations/start-mcp` ### Description Starts the MCP server if it is not already running. This is used by the bundled `tablepro-mcp` CLI to bootstrap on cold launch. The user does not need to enable MCP in Settings beforehand. The first call starts the server on a free port in the `51000-52000` range and writes a handshake file at `~/Library/Application Support/TablePro/mcp-handshake.json`. ### Example ```bash open "tablepro://integrations/start-mcp" ``` ``` -------------------------------- ### Example D1 Connection Configuration Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/cloudflare-d1.mdx An example of the required fields for configuring a Cloudflare D1 connection in TablePro. Ensure all details, including API token, are correctly entered. ```text Name: My D1 Database Database: my-app-db Account ID: abc123def456 API Token: (your Cloudflare API token) ``` -------------------------------- ### SQL Query Formatting Example Source: https://github.com/tableproapp/tablepro/blob/main/docs/features/sql-editor.mdx Use this to format your SQL queries for better readability. It handles various SQL constructs and preserves comments and keywords. ```sql select u.id,u.name,count(o.id) as order_count from users u left join orders o on u.id=o.user_id where u.status='active' group by u.id,u.name having count(o.id)>5 order by order_count desc; ``` ```sql SELECT u.id, u.name, COUNT(o.id) AS order_count FROM users u LEFT JOIN orders o ON u.id = o.user_id WHERE u.status = 'active' GROUP BY u.id, u.name HAVING COUNT(o.id) > 5 ORDER BY order_count DESC; ``` -------------------------------- ### TTL and Writetime Usage Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/cassandra.mdx Examples of setting Time To Live (TTL) on inserts and querying TTL and writetime for cache data. ```sql INSERT INTO cache (...) USING TTL 3600; ``` ```sql SELECT TTL(value), WRITETIME(value) FROM cache WHERE key = 'k1'; ``` -------------------------------- ### MongoDB Authentication Query Parameter Example Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/connection-urls.mdx Example of using the `authSource` query parameter for MongoDB authentication. ```text mongodb://user:pass@host:27017/mydb?authSource=admin ``` -------------------------------- ### SSH Tunnel Connection URL Examples Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/connection-urls.mdx Examples of connection URLs using SSH tunnels for PostgreSQL, MySQL, and MariaDB. ```text postgresql+ssh://deploy@bastion.host:22/dbuser:dbpass@internal-pg:5432/mydb mysql+ssh://ec2-user@jump.host/root:secret@10.0.0.5/shop mariadb+ssh://admin@ssh.host/maria_user@db.internal/store?usePrivateKey=true ``` -------------------------------- ### Execute a Sample SQL Query Source: https://github.com/tableproapp/tablepro/blob/main/docs/quickstart.mdx Run a basic SQL query to select the first 10 records from a 'users' table. This is useful for testing your connection and understanding the data grid. ```sql SELECT * FROM users LIMIT 10; ``` -------------------------------- ### Common SQL Startup Commands Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/overview.mdx Configure these SQL statements to run automatically when a connection is established. They execute in order, and failures are skipped without stopping the connection. ```sql SET time_zone = '+00:00'; ``` ```sql SET NAMES utf8mb4; ``` ```sql SET sql_mode = 'STRICT_TRANS_TABLES'; ``` ```sql SET search_path TO myschema, public; ``` ```sql SET statement_timeout = '30s'; ``` -------------------------------- ### Create User and Grant Privileges Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/oracle.mdx Example SQL statement to create a new user with password authentication and grant necessary privileges. Ensure the password meets complexity requirements. ```sql -- Create user: CREATE USER app_user IDENTIFIED BY "Password1!"; GRANT CREATE SESSION, SELECT ANY TABLE TO app_user; ``` -------------------------------- ### Conventional Commit Examples Source: https://github.com/tableproapp/tablepro/blob/main/CONTRIBUTING.md Examples of commit messages following the Conventional Commits specification. Use single lines without a body for all commit messages. ```git feat: add CSV export for query results fix: prevent crash on empty query result docs: update keyboard shortcuts page ``` -------------------------------- ### Open Project in Xcode Source: https://github.com/tableproapp/tablepro/blob/main/docs/development/setup.mdx Open the TablePro Xcode project to begin development. ```bash open TablePro.xcodeproj ``` -------------------------------- ### SSH Key Generation and Setup Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/ssh-tunneling.mdx Commands for generating SSH keys, copying them to a server, and setting correct file permissions. Keys must be `chmod 600`. ```bash ssh-keygen -t ed25519 ``` ```bash ssh-copy-id user@server ``` -------------------------------- ### Download Native Libraries Source: https://github.com/tableproapp/tablepro/blob/main/docs/development/setup.mdx Download pre-built static libraries required for the project. Skipping this step will result in linker errors. ```bash scripts/download-libs.sh ``` -------------------------------- ### SQL Schema Editing Examples Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/mssql.mdx Examples of T-SQL statements for altering table schemas, including adding columns, renaming, dropping columns, and creating indexes. Use bracket notation for identifiers. ```sql ALTER TABLE [dbo].[users] ADD [col] TYPE; EXEC sp_rename 'dbo.table.old', 'new', 'COLUMN'; DROP COLUMN [field]; CREATE INDEX [IX_name] ON [dbo].[table] ([col]); ``` -------------------------------- ### JSON-RPC Error Response Example Source: https://github.com/tableproapp/tablepro/blob/main/docs/external-api/mcp-tools.mdx This is an example of a JSON-RPC error envelope returned by MCP tools. It includes a standard 'jsonrpc' version, an 'id' for correlating requests, and an 'error' object containing a 'code' and a 'message'. ```json { "jsonrpc": "2.0", "id": 7, "error": { "code": -32007, "message": "Forbidden: Connection is read-only for external clients" } } ``` -------------------------------- ### Redis CLI Examples Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/redis.mdx Execute various Redis commands directly from the integrated CLI. Supports key, hash, list, set, sorted set, and server operations. Use SCAN for efficient key retrieval. ```redis -- Key operations GET mykey SET mykey "hello" EX 60 DEL mykey key2 key3 KEYS user:* ``` ```redis -- Hash operations HGETALL myhash HSET myhash field1 "value1" HDEL myhash field1 ``` ```redis -- List operations LRANGE mylist 0 -1 LPUSH mylist "item1" "item2" LLEN mylist ``` ```redis -- Set operations SMEMBERS myset SADD myset "member1" "member2" SCARD myset ``` ```redis -- Sorted set operations ZRANGE myzset 0 -1 WITHSCORES ZADD myzset 1 "one" 2 "two" ZCARD myzset ``` ```redis -- Scan for keys SCAN 0 MATCH user:* COUNT 100 ``` ```redis -- Server info PING INFO DBSIZE ``` -------------------------------- ### Import Database Connection Source: https://github.com/tableproapp/tablepro/blob/main/docs/external-api/url-scheme.mdx Creates a saved connection from query parameters and opens the connection editor for review. A confirmation dialog allows rejection of unexpected imports. Passwords are not accepted in the URL. ```url tablepro://import?name=&host=&port=

&type=&username=&database= ``` ```bash open "tablepro://import?name=Staging&host=db.example.com&port=5432&type=postgresql&username=admin&database=mydb" ``` -------------------------------- ### Example SSH Tunnel Connection URL Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/ssh-tunneling.mdx An example of a connection URL for importing a MySQL database connection with SSH tunneling. This URL pre-fills SSH host, port, user, database details, connection name, and authentication method. ```url mysql+ssh://root@123.123.123.123:1234/database_user:database_password@127.0.0.1/database_name?name=FlashPanel&usePrivateKey=true ``` -------------------------------- ### SQLite Version Check Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/sqlite.mdx Retrieve the currently installed SQLite version. ```sql SELECT sqlite_version(); ``` -------------------------------- ### SQLite Table Info Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/sqlite.mdx Get detailed information about the structure of a specific table. ```sql PRAGMA table_info(users); ``` -------------------------------- ### Implement Custom Database Driver Plugin in Swift Source: https://context7.com/tableproapp/tablepro/llms.txt Example Swift code for creating a custom database driver plugin for TablePro. Demonstrates implementing the DriverPlugin and PluginDatabaseDriver protocols. ```swift // Implementing a custom database driver plugin (Swift) // 1. Create a new bundle target under Plugins/ implementing DriverPlugin + PluginDatabaseDriver // 2. Tag with plugin--v* for CI release import TableProPluginKit public class MyDriverPlugin: NSObject, DriverPlugin { public static var pluginTypeId: String { "com.example.MyDB" } public static var displayName: String { "MyDB" } public static var databaseType: DatabaseType { .init("MyDB") } public func makeDriver() -> PluginDatabaseDriver { MyDatabaseDriver() } } public class MyDatabaseDriver: NSObject, PluginDatabaseDriver { public func connect(config: PluginConnectionConfig) async throws { /* ... */ } public func executeQuery(_ sql: String) async throws -> PluginQueryResult { /* ... */ } public func listTables() async throws -> [PluginTableInfo] { /* ... */ } // New protocol methods must have default implementations to avoid ABI version bumps } // PluginKit ABI versioning: // Bump currentPluginKitVersion in PluginManager.swift AND TableProPluginKitVersion // in every plugin's Info.plist when DriverPlugin or PluginDatabaseDriver protocol changes. // Adding new static var or func requirements ALWAYS requires a version bump // even with default implementations — Swift protocol witness tables are compiled statically. ``` -------------------------------- ### Get Connection Status Output Schema Source: https://github.com/tableproapp/tablepro/blob/main/docs/external-api/mcp-tools.mdx Output for the `get_connection_status` tool, providing connection details and timestamps. ```json { "status": "connected", "current_database": "app", "current_schema": "public", "server_version": "PostgreSQL 16.2", "connected_at": "2026-04-26T10:14:22Z", "last_active_at": "2026-04-26T10:14:22Z" } ``` -------------------------------- ### Update TablePro via Homebrew Source: https://github.com/tableproapp/tablepro/blob/main/docs/installation.mdx Run this command to update TablePro to the latest version if installed via Homebrew. ```bash brew upgrade tablepro ``` -------------------------------- ### SQLite Backup to File Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/sqlite.mdx Create a backup of the database file, safely handling locks. ```bash sqlite3 db.sqlite ".backup backup.sqlite" ``` -------------------------------- ### Build and Run TablePro Source: https://github.com/tableproapp/tablepro/blob/main/CLAUDE.md Builds the TablePro application in Debug configuration and then runs it. Ensure the build completes successfully before attempting to open the application. ```bash xcodebuild -project TablePro.xcodeproj -scheme TablePro -configuration Debug build -skipPackagePluginValidation && open build/Debug/TablePro.app ``` -------------------------------- ### Get Connection Status Source: https://context7.com/tableproapp/tablepro/llms.txt Retrieves the current status of a specified connection. Requires a bearer token with 'readOnly' scope. ```APIDOC ## get_connection_status ### Description Retrieves the current connection status for a given connection ID. ### Method JSON-RPC ### Parameters #### Arguments - **connection_id** (string) - Required - The ID of the connection to check. ### Request Example ```json { "jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "get_connection_status", "arguments": { "connection_id": "9f1f0c3e-..." } } } ``` ### Response #### Success Response - **status** (string) - The connection status. Possible values: "connected", "connecting", "disconnected", "error". - **current_database** (string) - The name of the currently connected database. - **server_version** (string) - The version of the database server. - **connected_at** (string) - Timestamp when the connection was established (ISO 8601 format). - **last_active_at** (string) - Timestamp of the last activity on the connection (ISO 8601 format). ### Response Example ```json { "status": "connected", "current_database": "app", "server_version": "PostgreSQL 16.2", "connected_at": "2026-04-26T10:14:22Z", "last_active_at": "2026-04-26T10:14:22Z" } ``` ``` -------------------------------- ### Opening URLs from Terminal Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/connection-urls.mdx Launch database connections directly from your terminal using the `open` command with various URL schemes. ```bash open "postgresql://user:pass@localhost:5432/mydb" ``` ```bash open "mysql://root@localhost/shop?table=products" ``` ```bash open "postgresql+ssh://ubuntu@bastion/user:pass@10.0.0.5/mydb?usePrivateKey=true" ``` -------------------------------- ### TablePro Built-in and Plugin Registry Source: https://context7.com/tableproapp/tablepro/llms.txt Lists the database drivers that are bundled with TablePro and those available in the plugin registry for separate installation. ```text Built-in plugins (bundled in app): MySQL, PostgreSQL, SQLite, ClickHouse, Redis, CSV, JSON, SQL export, XLSX export, MQL export, SQL import Plugin registry (separately distributed, installed via Settings > Plugins): MongoDB, Oracle, DuckDB, MSSQL, Cassandra, Etcd, CloudflareD1, DynamoDB, BigQuery, LibSQL Plugin tags for CI release: plugin--v* Notable mappings: CloudflareD1DriverPlugin → plugin-cloudflare-d1-v* EtcdDriverPlugin → plugin-etcd-v* ``` -------------------------------- ### Uninstall TablePro via Homebrew Source: https://github.com/tableproapp/tablepro/blob/main/docs/installation.mdx Use this command to uninstall TablePro if installed via Homebrew. This removes the application but not its data. ```bash brew uninstall tablepro ``` -------------------------------- ### Open Connection Window Source: https://context7.com/tableproapp/tablepro/llms.txt The `open_connection_window` command opens a new application window for a specified connection or focuses an existing one. It requires `readOnly` scope. ```json // open_connection_window — scope: readOnly — opens app window; focuses if already open { "name": "open_connection_window", "arguments": { "connection_id": "9f1f0c3e-..." } } // Response: { "status": "opened", "connection_id": "9f1f...", "window_id": "..." } ``` -------------------------------- ### Connection Identity Query Parameter Example Source: https://github.com/tableproapp/tablepro/blob/main/docs/databases/connection-urls.mdx Use the `name` query parameter to override the connection name displayed in the sidebar. ```text ?name=Production+DB ```