├── .ignore
├── other
├── integrations
│ └── .gitignore
├── sqlparser
│ ├── compile.sh
│ └── README.md
├── tunnel
│ ├── server
│ │ ├── .gitignore
│ │ ├── makefile
│ │ └── schema.sql
│ └── README.md
├── websocket_tunnel
│ └── server
│ │ ├── makefile
│ │ └── schema.sql
└── prql
│ └── types.go
├── website
├── tsconfig.json
├── .vscode
│ ├── settings.json
│ ├── extensions.json
│ └── launch.json
├── public
│ ├── favicon.png
│ ├── robots.txt
│ ├── icons
│ │ ├── 5ire.png
│ │ ├── pypi.png
│ │ ├── brave.png
│ │ ├── duckdb.png
│ │ ├── hubspot.png
│ │ ├── pocket.png
│ │ ├── airtable.png
│ │ ├── readwise.jpg
│ │ ├── tablePlus.png
│ │ ├── apple-reminders.png
│ │ ├── mysql-workbench.png
│ │ ├── user.svg
│ │ ├── clickhouse.svg
│ │ ├── tidb.svg
│ │ ├── logs.svg
│ │ ├── ycombinator.svg
│ │ ├── git.svg
│ │ ├── github.svg
│ │ └── google_tasks.svg
│ ├── images
│ │ ├── logo.png
│ │ ├── llm-header.png
│ │ ├── logo-shadow.png
│ │ ├── docs
│ │ │ ├── GgCl8quP.png
│ │ │ ├── Id89086t.png
│ │ │ ├── J028Akph.png
│ │ │ ├── O08kLX6m.png
│ │ │ ├── P6MjoIjz.png
│ │ │ ├── Ws1UhIKV.png
│ │ │ ├── Z2R9qeV3.png
│ │ │ ├── cVtNtBbd.png
│ │ │ ├── ePlXiEg3.png
│ │ │ ├── mfjW79d8.png
│ │ │ ├── oE0a8dtb.png
│ │ │ ├── phTdzIiJ.png
│ │ │ ├── rLpTGAGK.png
│ │ │ ├── tR5IawXS.png
│ │ │ ├── vg6dOA3V.png
│ │ │ ├── Tableau_Logo.png
│ │ │ ├── llm
│ │ │ │ ├── 5ire-add.png
│ │ │ │ ├── 5ire-path.png
│ │ │ │ ├── 5ire-final.png
│ │ │ │ ├── 5ire-tools.png
│ │ │ │ ├── chatgpt-ready.png
│ │ │ │ ├── claude-navbar.png
│ │ │ │ ├── claude-result.png
│ │ │ │ ├── librechat-auth.png
│ │ │ │ ├── claude-settings.png
│ │ │ │ ├── typingmind-enable.png
│ │ │ │ ├── typingmind-install.png
│ │ │ │ ├── typingmind-settings.png
│ │ │ │ ├── librechat-http-result.png
│ │ │ │ ├── librechat-agent-creation.png
│ │ │ │ ├── librechat-tool-selection.png
│ │ │ │ ├── librechat-agent-right-panel.png
│ │ │ │ └── librechat-agent-selection.png
│ │ │ ├── Hyper_labH4rXg@2x.png
│ │ │ ├── Anyquery-diagram-mysql.png
│ │ │ ├── Anyquery-diagram-shell.png
│ │ │ ├── Anyquery-diagram-namespace.png
│ │ │ └── httpsanyquery.devintegrations_23KmyyI3@2x.png
│ │ ├── release-header.png
│ │ ├── integrations_logo.png
│ │ ├── anyquery_examples.sql.png
│ │ ├── mysql-compatibility.png
│ │ ├── bg-community-repository.png
│ │ ├── how-to-guides-og-image.png
│ │ ├── windows-logo.svg
│ │ └── apple-logo.svg
│ └── fonts
│ │ ├── inter-v13-latin-500.woff2
│ │ ├── inter-v13-latin-600.woff2
│ │ ├── inter-v13-latin-700.woff2
│ │ └── inter-v13-latin-regular.woff2
├── src
│ ├── images
│ │ └── Integrations_logo.png
│ ├── content
│ │ ├── chats
│ │ │ ├── 5ire.yaml
│ │ │ ├── librechat.yaml
│ │ │ ├── typingmind.yaml
│ │ │ ├── chatgpt.yaml
│ │ │ └── claude-desktop.yaml
│ │ ├── databases
│ │ │ ├── TiDB.yaml
│ │ │ ├── mysql.yaml
│ │ │ ├── duckdb.yaml
│ │ │ ├── sqlite.yaml
│ │ │ ├── yugabyte.yaml
│ │ │ ├── mariaDB.yaml
│ │ │ ├── scyllaDB.yaml
│ │ │ ├── cassandra.yaml
│ │ │ ├── clickhouse.yaml
│ │ │ ├── postgresql.yaml
│ │ │ ├── cockroachdb.yaml
│ │ │ ├── singlestore.yaml
│ │ │ ├── aws-aurora-mysql.yaml
│ │ │ └── aws-aurora-postgresql.yaml
│ │ ├── recipes
│ │ │ ├── index.md
│ │ │ └── sql-query-html-table.md
│ │ └── docs
│ │ │ ├── connection-guide
│ │ │ ├── superset.md
│ │ │ └── power-bi.md
│ │ │ └── docs
│ │ │ ├── reference
│ │ │ └── Commands
│ │ │ │ ├── anyquery_connection_remove.md
│ │ │ │ ├── anyquery_tool_dev.md
│ │ │ │ ├── anyquery_tool_hashdir.md
│ │ │ │ ├── anyquery_connection_add.md
│ │ │ │ ├── anyquery_tool_generate-doc.md
│ │ │ │ ├── anyquery_alias_delete.md
│ │ │ │ ├── anyquery_connection_list.md
│ │ │ │ ├── anyquery_registry_remove.md
│ │ │ │ ├── anyquery_registry_add.md
│ │ │ │ ├── anyquery_tool.md
│ │ │ │ ├── anyquery_alias_add.md
│ │ │ │ └── anyquery_alias_list.md
│ │ │ └── database
│ │ │ └── scylladb.md
│ ├── env.d.ts
│ └── functions
│ │ └── slugify.ts
├── .markdownlint.jsonc
└── .gitignore
├── plugins
├── notion
│ ├── .gitignore
│ ├── LICENSE
│ ├── images
│ │ ├── share.png
│ │ ├── token.png
│ │ ├── success.png
│ │ ├── creator-profile.png
│ │ └── form-integration.png
│ ├── makefile
│ └── database_delete.go
├── sharedObject
│ ├── asg017
│ │ ├── .gitignore
│ │ ├── sqlite-url
│ │ │ └── manifest.toml
│ │ ├── sqlite-vss
│ │ │ └── manifest.toml
│ │ └── sqlite-lines
│ │ │ └── manifest.toml
│ └── nalgeon
│ │ └── sqlean
│ │ ├── bun.lockb
│ │ ├── package.json
│ │ └── tsconfig.json
├── spotify
│ ├── LICENSE
│ ├── images
│ │ ├── token.png
│ │ ├── connect.png
│ │ ├── registration.png
│ │ └── spotify-agree.png
│ ├── .gitignore
│ ├── makefile
│ └── .goreleaser.yaml
├── pocket
│ ├── images
│ │ ├── copyKey.png
│ │ ├── fillForm.png
│ │ ├── success.png
│ │ ├── authorize.png
│ │ └── registration.png
│ ├── main.go
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── raindrop
│ ├── images
│ │ ├── newApp.png
│ │ └── newTestToken.png
│ ├── .gitignore
│ ├── Makefile
│ ├── main.go
│ └── .goreleaser.yaml
├── typeform
│ ├── images
│ │ └── scopes.png
│ ├── main.go
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── google_forms
│ ├── images
│ │ ├── image.png
│ │ ├── token.png
│ │ ├── create.png
│ │ ├── result.png
│ │ ├── enableAPI.png
│ │ ├── form_oAuth.png
│ │ ├── identifier.png
│ │ ├── consentFilled.png
│ │ ├── consentScreen.png
│ │ ├── createCredentials.png
│ │ └── form_integration.png
│ ├── main.go
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── github
│ ├── images
│ │ └── token-tutorial.png
│ ├── .gitignore
│ ├── Makefile
│ ├── .goreleaser.yaml
│ └── main.go
├── google_sheets
│ ├── images
│ │ └── enableAPI.png
│ ├── main.go
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── notes
│ ├── scripts
│ │ └── countNotes.js
│ ├── main.go
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── reminders
│ ├── script
│ │ └── delete.applescript
│ ├── main.go
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── brave
│ ├── scripts
│ │ ├── newTab.applescript
│ │ ├── deleteTab.js
│ │ ├── setURL.js
│ │ └── listTabs.js
│ ├── main.go
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── chrome
│ ├── scripts
│ │ ├── newTab.applescript
│ │ ├── deleteTab.js
│ │ ├── setURL.js
│ │ └── listTabs.js
│ ├── main.go
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── edge
│ ├── scripts
│ │ ├── newTab.applescript
│ │ ├── deleteTab.js
│ │ ├── setURL.js
│ │ └── listTabs.js
│ ├── main.go
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── store-manager
│ ├── .gitignore
│ ├── makefile
│ └── go.mod
├── rss
│ ├── main.go
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── safari
│ ├── scripts
│ │ ├── newTab.applescript
│ │ ├── activateTab.applescript
│ │ ├── setURL.js
│ │ └── listTabs.js
│ ├── main.go
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── asana
│ ├── main.go
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── ip-api
│ ├── main.go
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── todoist
│ ├── main.go
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── calendar
│ ├── main.go
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── file
│ ├── main.go
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── google_tasks
│ ├── main.go
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── carddav
│ ├── main.go
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── salesforce_custom
│ ├── main.go
│ ├── .gitignore
│ ├── Makefile
│ ├── salesforce_custom.go
│ └── .goreleaser.yaml
├── imap
│ ├── main.go
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── random
│ ├── main.go
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── coda
│ ├── .gitignore
│ ├── Makefile
│ ├── main.go
│ └── .goreleaser.yaml
├── git
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── pypi
│ ├── .gitignore
│ ├── Makefile
│ ├── main.go
│ └── .goreleaser.yaml
├── airtable
│ ├── .gitignore
│ ├── Makefile
│ ├── .goreleaser.yaml
│ └── main.go
├── click_up
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── discord
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── docker
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── google_contacts
│ ├── main.go
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── homebrew
│ ├── .gitignore
│ ├── Makefile
│ ├── main.go
│ └── .goreleaser.yaml
├── hubspot
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── nylas
│ ├── .gitignore
│ └── .goreleaser.yaml
├── readwise
│ ├── .gitignore
│ ├── Makefile
│ ├── .goreleaser.yaml
│ └── main.go
├── shopify
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── system
│ ├── .gitignore
│ ├── Makefile
│ ├── main.go
│ └── .goreleaser.yaml
├── trello
│ ├── .gitignore
│ ├── Makefile
│ ├── main.go
│ └── .goreleaser.yaml
├── vercel
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── hacker-news
│ ├── .gitignore
│ ├── Makefile
│ ├── main.go
│ └── .goreleaser.yaml
└── salesforce
│ ├── .gitignore
│ ├── Makefile
│ └── .goreleaser.yaml
├── queries
├── community-repo.png
├── other
│ └── hello-world.sql
├── github
│ ├── my-followers-github.sql
│ ├── my_most_starred_github_repository.sql
│ ├── issues-assigned.sql
│ ├── stargazers-github-repo.sql
│ ├── pull-request-assigned.sql
│ ├── github-stars-per-day.sql
│ ├── biggest-starred-repo-per-user-github.sql
│ ├── list_all_the_branches_of_a_github_repository.sql
│ ├── most_starred_gist_of_a_github_user.sql
│ ├── biggest-commit-author-github.sql
│ ├── list_all_the_contributors_of_a_github_repository.sql
│ ├── who_is_the_biggest_committer_on_a_github_repository.sql
│ └── list_my_github_starred_repositories_for_a_particular_language.sql
├── notes
│ ├── which_note_was_created_last.sql
│ ├── which_note_was_created_first.sql
│ ├── how_many_notes_are_contained_in_a_folder.sql
│ └── list_notes_that_contain_a_particular_word.sql
├── system
│ ├── how_many_cores_does_the_system_have.sql
│ ├── how_much_memory_is_used_by_the_system.sql
│ ├── list_the_mounted_filesystems_of_the_system.sql
│ ├── what-s_the_current_cpu_usage_of_the_system.sql
│ ├── how_much_swap_is_used_by_the_system.sql
│ ├── how_many_processes_are_running_on_the_system.sql
│ ├── what_is_the_remaining_disk_space_per_filesystem.sql
│ ├── list_the_child_processes_of_a_process.sql
│ ├── what-s_the_pid_of_a_process.sql
│ ├── list_the_open_files_of_a_process.sql
│ ├── what_are_the_most_memory_demanding_processes_on_the_system.sql
│ ├── how_many_instances_of_a_process_are_running_on_the_system.sql
│ ├── which_process_has_opened_a_particular_file.sql
│ ├── what_are_the_most_cpu_demanding_processes_on_the_system.sql
│ └── which_process_binds_to_a_particular_port.sql
├── edge
│ ├── edge_what_is_the_url_of_the_active_tab.sql
│ ├── edge_how_many_tabs_are_open_in_the_browser.sql
│ ├── edge_what_is_the_title_of_the_active_tab.sql
│ ├── edge_close_tabs_of_a_specific_domain.sql
│ ├── edge_close_tabs_of_a_domain_different_than_the_specified_one.sql
│ └── edge_close_tabs_that_contain_a_specific_keyword_in_the_title.sql
├── chrome
│ ├── chrome_how_many_tabs_are_open_in_the_browser.sql
│ ├── chrome_what_is_the_url_of_the_active_tab.sql
│ ├── chrome_what_is_the_title_of_the_active_tab.sql
│ ├── chrome_close_tabs_of_a_specific_domain.sql
│ ├── chrome_close_tabs_of_a_domain_different_than_the_specified_one.sql
│ └── chrome_close_tabs_that_contain_a_specific_keyword_in_the_title.sql
├── imap
│ └── unread-emails.sql
├── brave
│ ├── brave_how_many_tabs_are_open_in_the_browser.sql
│ ├── brave_what_is_the_url_of_the_active_tab.sql
│ ├── brave_what_is_the_title_of_the_active_tab.sql
│ ├── brave_close_tabs_of_a_specific_domain.sql
│ ├── brave_close_tabs_that_contain_a_specific_keyword_in_the_title.sql
│ └── brave_close_tabs_of_a_domain_different_than_the_specified_one.sql
├── docker
│ ├── how_many_containers_are_running.sql
│ ├── what_is_the_newest_container.sql
│ ├── what_is_the_oldest_container.sql
│ ├── list_the_top_n_biggest_images.sql
│ └── list_all_images_that_don-t_have_a_container.sql
├── discord
│ ├── list_all_the_users_in_a_server.sql
│ ├── list_all_the_roles_in_a_server.sql
│ ├── list_all_invites_in_a_server.sql
│ ├── how_many_people_were_banned_in_a_server.sql
│ ├── list_all_the_channels_in_a_server.sql
│ ├── how_many_messages_were_sent_in_a_channel.sql
│ ├── who_is_the_first_user_to_join_a_server.sql
│ ├── who_is_the_last_user_to_join_a_server.sql
│ ├── what-s_the_last_message_sent_in_a_channel.sql
│ ├── what-s_the_first_message_sent_in_a_channel.sql
│ ├── which_invite_has_been_used_the_most_in_a_server.sql
│ ├── who_sent_the_most_messages_in_a_channel.sql
│ ├── how_many_messages_contain_a_particular_word.sql
│ └── how_many_messages_were_sent_by_a_particular_user_in_a_channel.sql
├── click_up
│ ├── list_all_tasks_in_a_specific_list.sql
│ ├── list_all_tasks_that_are_due_today.sql
│ ├── list_all_tasks_that_are_overdue.sql
│ ├── how_many_tasks_exist_per_status_in_a_specific_list.sql
│ ├── which_tasks_have_a_specific_tag.sql
│ ├── list_all_subtasks_of_a_specific_task.sql
│ ├── list_all_tasks_assigned_to_a_specific_user_by_userid.sql
│ ├── list_all_lists_in_a_specific_space.sql
│ └── list_all_documents_in_a_specific_folder.sql
├── reminders
│ ├── set_to_complete_all_reminders_in_a_list.sql
│ └── set_to_complete_all_reminders_that_contain_a_particular_word.sql
├── file
│ ├── find_the_files_that_match_a_specific_pattern.sql
│ ├── how_often_are_files_modified_in_a_directory_per_month_in_gb.sql
│ ├── which_files_extension_are_the_most_common_in_a_directory.sql
│ └── find_the_n_biggest_files_in_a_directory.sql
└── git
│ ├── how_many_commits_were_made_in_the_last_week.sql
│ ├── which_author_has_the_most_lines_of_code_added_in_the_repository.sql
│ └── which_files_are_the_most_frequently_modified_in_the_repository.sql
├── orbstack_go_win.sh
├── test
└── README.md
├── controller
└── config
│ ├── sqlc.yml
│ └── model
│ └── db.go
├── runTest.sh
├── _examples
├── datasette
│ └── metadata.json
└── drizzle
│ ├── drizzle.config.js
│ ├── package.json
│ └── print.ts
├── makefile
├── .vscode
└── settings.json
├── namespace
├── helper.go
└── collations.go
└── SECURITY.md
/.ignore:
--------------------------------------------------------------------------------
1 | other/sqlparser
--------------------------------------------------------------------------------
/other/integrations/.gitignore:
--------------------------------------------------------------------------------
1 | nango/
--------------------------------------------------------------------------------
/website/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "astro/tsconfigs/base"
3 | }
4 |
--------------------------------------------------------------------------------
/plugins/notion/.gitignore:
--------------------------------------------------------------------------------
1 | devManifest.json
2 | *.out
3 | *.log
4 |
5 | dist/
6 |
--------------------------------------------------------------------------------
/plugins/notion/LICENSE:
--------------------------------------------------------------------------------
1 | # LICENSE
2 |
3 | Copyright © 2024 Julien CAGNIART
4 |
5 |
--------------------------------------------------------------------------------
/plugins/sharedObject/asg017/.gitignore:
--------------------------------------------------------------------------------
1 | README.md
2 | *.dylib
3 | *.so
4 | *.dll
5 |
--------------------------------------------------------------------------------
/plugins/spotify/LICENSE:
--------------------------------------------------------------------------------
1 | # LICENSE
2 |
3 | Copyright © 2024 Julien CAGNIART
4 |
5 |
--------------------------------------------------------------------------------
/website/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "editor.defaultFormatter": "astro-build.astro-vscode"
3 | }
4 |
--------------------------------------------------------------------------------
/queries/community-repo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/queries/community-repo.png
--------------------------------------------------------------------------------
/website/public/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/favicon.png
--------------------------------------------------------------------------------
/website/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Allow: /
3 |
4 | Sitemap: https://anyquery.dev/sitemap-index.xml
--------------------------------------------------------------------------------
/website/public/icons/5ire.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/icons/5ire.png
--------------------------------------------------------------------------------
/website/public/icons/pypi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/icons/pypi.png
--------------------------------------------------------------------------------
/plugins/notion/images/share.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/notion/images/share.png
--------------------------------------------------------------------------------
/plugins/notion/images/token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/notion/images/token.png
--------------------------------------------------------------------------------
/plugins/spotify/images/token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/spotify/images/token.png
--------------------------------------------------------------------------------
/website/public/icons/brave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/icons/brave.png
--------------------------------------------------------------------------------
/website/public/icons/duckdb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/icons/duckdb.png
--------------------------------------------------------------------------------
/website/public/icons/hubspot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/icons/hubspot.png
--------------------------------------------------------------------------------
/website/public/icons/pocket.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/icons/pocket.png
--------------------------------------------------------------------------------
/website/public/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/logo.png
--------------------------------------------------------------------------------
/plugins/notion/images/success.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/notion/images/success.png
--------------------------------------------------------------------------------
/plugins/pocket/images/copyKey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/pocket/images/copyKey.png
--------------------------------------------------------------------------------
/plugins/pocket/images/fillForm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/pocket/images/fillForm.png
--------------------------------------------------------------------------------
/plugins/pocket/images/success.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/pocket/images/success.png
--------------------------------------------------------------------------------
/plugins/raindrop/images/newApp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/raindrop/images/newApp.png
--------------------------------------------------------------------------------
/plugins/spotify/images/connect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/spotify/images/connect.png
--------------------------------------------------------------------------------
/plugins/typeform/images/scopes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/typeform/images/scopes.png
--------------------------------------------------------------------------------
/website/public/icons/airtable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/icons/airtable.png
--------------------------------------------------------------------------------
/website/public/icons/readwise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/icons/readwise.jpg
--------------------------------------------------------------------------------
/website/public/icons/tablePlus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/icons/tablePlus.png
--------------------------------------------------------------------------------
/plugins/google_forms/images/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/google_forms/images/image.png
--------------------------------------------------------------------------------
/plugins/google_forms/images/token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/google_forms/images/token.png
--------------------------------------------------------------------------------
/plugins/pocket/images/authorize.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/pocket/images/authorize.png
--------------------------------------------------------------------------------
/website/public/images/llm-header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/llm-header.png
--------------------------------------------------------------------------------
/website/public/images/logo-shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/logo-shadow.png
--------------------------------------------------------------------------------
/plugins/google_forms/images/create.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/google_forms/images/create.png
--------------------------------------------------------------------------------
/plugins/google_forms/images/result.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/google_forms/images/result.png
--------------------------------------------------------------------------------
/plugins/pocket/images/registration.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/pocket/images/registration.png
--------------------------------------------------------------------------------
/plugins/spotify/images/registration.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/spotify/images/registration.png
--------------------------------------------------------------------------------
/website/public/images/docs/GgCl8quP.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/GgCl8quP.png
--------------------------------------------------------------------------------
/website/public/images/docs/Id89086t.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/Id89086t.png
--------------------------------------------------------------------------------
/website/public/images/docs/J028Akph.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/J028Akph.png
--------------------------------------------------------------------------------
/website/public/images/docs/O08kLX6m.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/O08kLX6m.png
--------------------------------------------------------------------------------
/website/public/images/docs/P6MjoIjz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/P6MjoIjz.png
--------------------------------------------------------------------------------
/website/public/images/docs/Ws1UhIKV.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/Ws1UhIKV.png
--------------------------------------------------------------------------------
/website/public/images/docs/Z2R9qeV3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/Z2R9qeV3.png
--------------------------------------------------------------------------------
/website/public/images/docs/cVtNtBbd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/cVtNtBbd.png
--------------------------------------------------------------------------------
/website/public/images/docs/ePlXiEg3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/ePlXiEg3.png
--------------------------------------------------------------------------------
/website/public/images/docs/mfjW79d8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/mfjW79d8.png
--------------------------------------------------------------------------------
/website/public/images/docs/oE0a8dtb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/oE0a8dtb.png
--------------------------------------------------------------------------------
/website/public/images/docs/phTdzIiJ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/phTdzIiJ.png
--------------------------------------------------------------------------------
/website/public/images/docs/rLpTGAGK.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/rLpTGAGK.png
--------------------------------------------------------------------------------
/website/public/images/docs/tR5IawXS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/tR5IawXS.png
--------------------------------------------------------------------------------
/website/public/images/docs/vg6dOA3V.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/vg6dOA3V.png
--------------------------------------------------------------------------------
/plugins/github/images/token-tutorial.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/github/images/token-tutorial.png
--------------------------------------------------------------------------------
/plugins/google_forms/images/enableAPI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/google_forms/images/enableAPI.png
--------------------------------------------------------------------------------
/plugins/google_forms/images/form_oAuth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/google_forms/images/form_oAuth.png
--------------------------------------------------------------------------------
/plugins/google_forms/images/identifier.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/google_forms/images/identifier.png
--------------------------------------------------------------------------------
/plugins/google_sheets/images/enableAPI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/google_sheets/images/enableAPI.png
--------------------------------------------------------------------------------
/plugins/notion/images/creator-profile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/notion/images/creator-profile.png
--------------------------------------------------------------------------------
/plugins/notion/images/form-integration.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/notion/images/form-integration.png
--------------------------------------------------------------------------------
/plugins/raindrop/images/newTestToken.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/raindrop/images/newTestToken.png
--------------------------------------------------------------------------------
/plugins/spotify/images/spotify-agree.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/spotify/images/spotify-agree.png
--------------------------------------------------------------------------------
/website/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["astro-build.astro-vscode"],
3 | "unwantedRecommendations": []
4 | }
5 |
--------------------------------------------------------------------------------
/website/public/icons/apple-reminders.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/icons/apple-reminders.png
--------------------------------------------------------------------------------
/website/public/icons/mysql-workbench.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/icons/mysql-workbench.png
--------------------------------------------------------------------------------
/website/public/images/release-header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/release-header.png
--------------------------------------------------------------------------------
/website/src/images/Integrations_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/src/images/Integrations_logo.png
--------------------------------------------------------------------------------
/website/public/images/docs/Tableau_Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/Tableau_Logo.png
--------------------------------------------------------------------------------
/website/public/images/docs/llm/5ire-add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/llm/5ire-add.png
--------------------------------------------------------------------------------
/website/public/images/docs/llm/5ire-path.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/llm/5ire-path.png
--------------------------------------------------------------------------------
/website/public/images/integrations_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/integrations_logo.png
--------------------------------------------------------------------------------
/plugins/google_forms/images/consentFilled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/google_forms/images/consentFilled.png
--------------------------------------------------------------------------------
/plugins/google_forms/images/consentScreen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/google_forms/images/consentScreen.png
--------------------------------------------------------------------------------
/plugins/notes/scripts/countNotes.js:
--------------------------------------------------------------------------------
1 | const notes = Application("Notes");
2 | const notesArr = notes.notes();
3 | console.log(notesArr.length);
4 |
--------------------------------------------------------------------------------
/plugins/reminders/script/delete.applescript:
--------------------------------------------------------------------------------
1 | set idR to "{{.ID}}"
2 |
3 | tell application "Reminders"
4 | delete reminder id idR
5 | end tell
--------------------------------------------------------------------------------
/plugins/sharedObject/nalgeon/sqlean/bun.lockb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/sharedObject/nalgeon/sqlean/bun.lockb
--------------------------------------------------------------------------------
/website/public/fonts/inter-v13-latin-500.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/fonts/inter-v13-latin-500.woff2
--------------------------------------------------------------------------------
/website/public/fonts/inter-v13-latin-600.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/fonts/inter-v13-latin-600.woff2
--------------------------------------------------------------------------------
/website/public/fonts/inter-v13-latin-700.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/fonts/inter-v13-latin-700.woff2
--------------------------------------------------------------------------------
/website/public/images/anyquery_examples.sql.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/anyquery_examples.sql.png
--------------------------------------------------------------------------------
/website/public/images/docs/llm/5ire-final.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/llm/5ire-final.png
--------------------------------------------------------------------------------
/website/public/images/docs/llm/5ire-tools.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/llm/5ire-tools.png
--------------------------------------------------------------------------------
/website/public/images/mysql-compatibility.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/mysql-compatibility.png
--------------------------------------------------------------------------------
/plugins/google_forms/images/createCredentials.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/google_forms/images/createCredentials.png
--------------------------------------------------------------------------------
/plugins/google_forms/images/form_integration.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/plugins/google_forms/images/form_integration.png
--------------------------------------------------------------------------------
/website/.markdownlint.jsonc:
--------------------------------------------------------------------------------
1 | {
2 | // Disable no-inline-html rule
3 | "MD033": false,
4 | // Disable max line length rule
5 | "MD013": false
6 | }
7 |
--------------------------------------------------------------------------------
/website/public/images/bg-community-repository.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/bg-community-repository.png
--------------------------------------------------------------------------------
/website/public/images/docs/Hyper_labH4rXg@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/Hyper_labH4rXg@2x.png
--------------------------------------------------------------------------------
/website/public/images/docs/llm/chatgpt-ready.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/llm/chatgpt-ready.png
--------------------------------------------------------------------------------
/website/public/images/docs/llm/claude-navbar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/llm/claude-navbar.png
--------------------------------------------------------------------------------
/website/public/images/docs/llm/claude-result.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/llm/claude-result.png
--------------------------------------------------------------------------------
/website/public/images/docs/llm/librechat-auth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/llm/librechat-auth.png
--------------------------------------------------------------------------------
/website/public/images/how-to-guides-og-image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/how-to-guides-og-image.png
--------------------------------------------------------------------------------
/website/src/content/chats/5ire.yaml:
--------------------------------------------------------------------------------
1 | name: 5ire
2 | url: /connection-guide/llm/5ire/
3 | icon: /icons/5ire.png
4 | description: An open-source MCP client.
--------------------------------------------------------------------------------
/website/public/fonts/inter-v13-latin-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/fonts/inter-v13-latin-regular.woff2
--------------------------------------------------------------------------------
/website/public/images/docs/llm/claude-settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/llm/claude-settings.png
--------------------------------------------------------------------------------
/website/public/images/docs/llm/typingmind-enable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/llm/typingmind-enable.png
--------------------------------------------------------------------------------
/website/src/content/databases/TiDB.yaml:
--------------------------------------------------------------------------------
1 | name: TiDB
2 | url: /docs/database/tidb
3 | icon: /icons/tidb.svg
4 | description: Query data from a TiDB database.
--------------------------------------------------------------------------------
/orbstack_go_win.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env sh
2 |
3 | # Pass all the arguments of this script to the orb go executable
4 | exec orb run -m ubuntu -u julien go "$@"
5 |
--------------------------------------------------------------------------------
/plugins/brave/scripts/newTab.applescript:
--------------------------------------------------------------------------------
1 | tell application "Brave"
2 | make new tab with properties {URL:"%s"} at end of tabs of first window
3 |
4 | end tell
--------------------------------------------------------------------------------
/website/public/images/docs/Anyquery-diagram-mysql.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/Anyquery-diagram-mysql.png
--------------------------------------------------------------------------------
/website/public/images/docs/Anyquery-diagram-shell.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/Anyquery-diagram-shell.png
--------------------------------------------------------------------------------
/website/public/images/docs/llm/typingmind-install.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/llm/typingmind-install.png
--------------------------------------------------------------------------------
/website/public/images/docs/llm/typingmind-settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/llm/typingmind-settings.png
--------------------------------------------------------------------------------
/website/src/content/databases/mysql.yaml:
--------------------------------------------------------------------------------
1 | name: MySQL
2 | url: /docs/database/mysql
3 | icon: /icons/mysql.svg
4 | description: Query data from a MySQL database.
--------------------------------------------------------------------------------
/plugins/chrome/scripts/newTab.applescript:
--------------------------------------------------------------------------------
1 | tell application "Google Chrome"
2 | make new tab with properties {URL:"%s"} at end of tabs of first window
3 |
4 | end tell
--------------------------------------------------------------------------------
/plugins/edge/scripts/newTab.applescript:
--------------------------------------------------------------------------------
1 | tell application "Microsoft Edge"
2 | make new tab with properties {URL:"%s"} at end of tabs of first window
3 |
4 | end tell
--------------------------------------------------------------------------------
/website/public/images/docs/Anyquery-diagram-namespace.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/Anyquery-diagram-namespace.png
--------------------------------------------------------------------------------
/website/public/images/docs/llm/librechat-http-result.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/llm/librechat-http-result.png
--------------------------------------------------------------------------------
/website/src/content/databases/duckdb.yaml:
--------------------------------------------------------------------------------
1 | name: DuckDB
2 | url: /docs/database/duckdb
3 | icon: /icons/duckdb.png
4 | description: Query data from a DuckDB database.
--------------------------------------------------------------------------------
/website/src/content/databases/sqlite.yaml:
--------------------------------------------------------------------------------
1 | name: SQLite
2 | url: /docs/database/sqlite
3 | icon: /icons/sqlite.svg
4 | description: Query data from a SQLite database.
--------------------------------------------------------------------------------
/website/src/content/databases/yugabyte.yaml:
--------------------------------------------------------------------------------
1 | name: YugabyteDB
2 | url: /docs/database/yugabyte
3 | icon: /icons/yugabyte.svg
4 | description: Query data from YugabyteDB.
--------------------------------------------------------------------------------
/other/sqlparser/compile.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # This script compiles the Yacc to sql.go
4 | set -e
5 | cd "$(dirname "$0")"
6 | go run goyacc/goyacc.go -fo sql.go sql.y
--------------------------------------------------------------------------------
/website/public/images/docs/llm/librechat-agent-creation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/llm/librechat-agent-creation.png
--------------------------------------------------------------------------------
/website/public/images/docs/llm/librechat-tool-selection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/llm/librechat-tool-selection.png
--------------------------------------------------------------------------------
/website/src/content/databases/mariaDB.yaml:
--------------------------------------------------------------------------------
1 | name: MariaDB
2 | url: /docs/database/mariadb
3 | icon: /icons/mariadb.svg
4 | description: Query data from a MariaDB database.
--------------------------------------------------------------------------------
/website/src/content/databases/scyllaDB.yaml:
--------------------------------------------------------------------------------
1 | name: ScyllaDB
2 | url: /docs/database/scylladb
3 | icon: /icons/scylladb.svg
4 | description: Query data from ScyllaDB tables.
--------------------------------------------------------------------------------
/website/public/images/docs/llm/librechat-agent-right-panel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/llm/librechat-agent-right-panel.png
--------------------------------------------------------------------------------
/website/public/images/docs/llm/librechat-agent-selection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/llm/librechat-agent-selection.png
--------------------------------------------------------------------------------
/website/src/content/chats/librechat.yaml:
--------------------------------------------------------------------------------
1 | name: LibreChat
2 | url: /connection-guide/llm/librechat/
3 | icon: /icons/librechat.svg
4 | description: An open-source chat interface.
--------------------------------------------------------------------------------
/website/src/content/databases/cassandra.yaml:
--------------------------------------------------------------------------------
1 | name: Cassandra
2 | url: /docs/database/cassandra
3 | icon: /icons/cassandra.svg
4 | description: Query data from Cassandra tables.
--------------------------------------------------------------------------------
/plugins/store-manager/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
--------------------------------------------------------------------------------
/website/src/content/databases/clickhouse.yaml:
--------------------------------------------------------------------------------
1 | name: ClickHouse
2 | url: /docs/database/clickhouse
3 | icon: /icons/clickhouse.svg
4 | description: Query data from ClickHouse databases.
--------------------------------------------------------------------------------
/test/README.md:
--------------------------------------------------------------------------------
1 | # Test plugins
2 |
3 | This directory contains a set of plugins that are used to test the functionality of `anyquery`. Feel free to create one to enhance the project.
4 |
--------------------------------------------------------------------------------
/website/src/content/databases/postgresql.yaml:
--------------------------------------------------------------------------------
1 | name: PostgreSQL
2 | url: /docs/database/postgresql
3 | icon: /icons/postgresql.svg
4 | description: Query data from a PostgreSQL database.
--------------------------------------------------------------------------------
/website/src/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 |
4 | interface Window {
5 | Alpine: import("alpinejs").Alpine;
6 | }
7 |
--------------------------------------------------------------------------------
/website/src/content/chats/typingmind.yaml:
--------------------------------------------------------------------------------
1 | name: TypingMind
2 | url: /connection-guide/llm/typingmind/
3 | icon: https://www.typingmind.com/logo.png
4 | description: A web-based chat interface.
--------------------------------------------------------------------------------
/website/src/content/databases/cockroachdb.yaml:
--------------------------------------------------------------------------------
1 | name: CockroachDB
2 | url: /docs/database/cockroachdb
3 | icon: /icons/cockroachdb.svg
4 | description: Query data from a CoackroachDB database.
--------------------------------------------------------------------------------
/website/src/content/databases/singlestore.yaml:
--------------------------------------------------------------------------------
1 | name: SingleStore
2 | url: /docs/database/singlestore
3 | icon: /icons/singlestore.svg
4 | description: Query data from a SingleStore database.
--------------------------------------------------------------------------------
/other/tunnel/server/.gitignore:
--------------------------------------------------------------------------------
1 | # Go template downloaded with gut
2 | *.exe
3 | *.exe~
4 | *.dll
5 | *.so
6 | *.dylib
7 | *.test
8 | *.out
9 | go.work
10 | .gut
11 |
12 | Caddyfile
13 |
--------------------------------------------------------------------------------
/plugins/store-manager/makefile:
--------------------------------------------------------------------------------
1 | Files := main.go structs.go
2 |
3 | all: $(Files)
4 | go build -o store-manager.out $(Files)
5 |
6 | clean:
7 | rm -f store-manager.out
8 |
9 | .PHONY: all clean
--------------------------------------------------------------------------------
/website/public/images/docs/httpsanyquery.devintegrations_23KmyyI3@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/julien040/anyquery/HEAD/website/public/images/docs/httpsanyquery.devintegrations_23KmyyI3@2x.png
--------------------------------------------------------------------------------
/plugins/rss/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/julien040/anyquery/rpc"
5 | )
6 |
7 | func main() {
8 | plugin := rpc.NewPlugin(rssCreator)
9 | plugin.Serve()
10 | }
11 |
--------------------------------------------------------------------------------
/plugins/safari/scripts/newTab.applescript:
--------------------------------------------------------------------------------
1 | tell application "Safari"
2 | if not (exists document 1) then reopen
3 | make new tab with properties {URL:"%s"} at end of tabs of window %d
4 |
5 | end tell
--------------------------------------------------------------------------------
/website/src/content/databases/aws-aurora-mysql.yaml:
--------------------------------------------------------------------------------
1 | name: AWS Aurora (MySQL)
2 | url: /docs/database/aws-aurora-mysql
3 | icon: /icons/aws-aurora.svg
4 | description: Connect using the MySQL connector
--------------------------------------------------------------------------------
/plugins/asana/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/julien040/anyquery/rpc"
5 | )
6 |
7 | func main() {
8 | plugin := rpc.NewPlugin(tasksCreator)
9 | plugin.Serve()
10 | }
11 |
--------------------------------------------------------------------------------
/plugins/brave/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/julien040/anyquery/rpc"
5 | )
6 |
7 | func main() {
8 | plugin := rpc.NewPlugin(tabsCreator)
9 | plugin.Serve()
10 | }
11 |
--------------------------------------------------------------------------------
/plugins/ip-api/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/julien040/anyquery/rpc"
5 | )
6 |
7 | func main() {
8 | plugin := rpc.NewPlugin(ip_apiCreator)
9 | plugin.Serve()
10 | }
11 |
--------------------------------------------------------------------------------
/plugins/notes/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/julien040/anyquery/rpc"
5 | )
6 |
7 | func main() {
8 | plugin := rpc.NewPlugin(notesCreator)
9 | plugin.Serve()
10 | }
11 |
--------------------------------------------------------------------------------
/plugins/pocket/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/julien040/anyquery/rpc"
5 | )
6 |
7 | func main() {
8 | plugin := rpc.NewPlugin(itemsCreator)
9 | plugin.Serve()
10 | }
11 |
--------------------------------------------------------------------------------
/plugins/safari/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/julien040/anyquery/rpc"
5 | )
6 |
7 | func main() {
8 | plugin := rpc.NewPlugin(tabsCreator)
9 | plugin.Serve()
10 | }
11 |
--------------------------------------------------------------------------------
/plugins/todoist/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/julien040/anyquery/rpc"
5 | )
6 |
7 | func main() {
8 | plugin := rpc.NewPlugin(tasksCreator)
9 | plugin.Serve()
10 | }
11 |
--------------------------------------------------------------------------------
/queries/other/hello-world.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Hello World"
3 | description = "Always return hello world for testing purposes"
4 |
5 | author = "julien040"
6 | */
7 | SELECT
8 | 'hello world' as message;
--------------------------------------------------------------------------------
/controller/config/sqlc.yml:
--------------------------------------------------------------------------------
1 | version: "2"
2 | sql:
3 | - engine: "sqlite"
4 | queries: "query.sql"
5 | schema: "schema.sql"
6 | gen:
7 | go:
8 | package: "model"
9 | out: "model"
--------------------------------------------------------------------------------
/plugins/calendar/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/julien040/anyquery/rpc"
5 | )
6 |
7 | func main() {
8 | plugin := rpc.NewPlugin(icalendarCreator)
9 | plugin.Serve()
10 | }
11 |
--------------------------------------------------------------------------------
/plugins/reminders/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/julien040/anyquery/rpc"
5 | )
6 |
7 | func main() {
8 | plugin := rpc.NewPlugin(reminderCreator)
9 | plugin.Serve()
10 | }
11 |
--------------------------------------------------------------------------------
/plugins/typeform/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/julien040/anyquery/rpc"
5 | )
6 |
7 | func main() {
8 | plugin := rpc.NewPlugin(responsesCreator)
9 | plugin.Serve()
10 | }
11 |
--------------------------------------------------------------------------------
/plugins/google_forms/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/julien040/anyquery/rpc"
5 | )
6 |
7 | func main() {
8 | plugin := rpc.NewPlugin(responsesCreator)
9 | plugin.Serve()
10 | }
11 |
--------------------------------------------------------------------------------
/plugins/google_sheets/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/julien040/anyquery/rpc"
5 | )
6 |
7 | func main() {
8 | plugin := rpc.NewPlugin(tableCreator)
9 | plugin.Serve()
10 | }
11 |
--------------------------------------------------------------------------------
/website/src/content/chats/chatgpt.yaml:
--------------------------------------------------------------------------------
1 | name: ChatGPT
2 | url: /connection-guide/llm/chatgpt/
3 | icon: https://upload.wikimedia.org/wikipedia/commons/0/04/ChatGPT_logo.svg
4 | description: The most famous AI chatbot.
--------------------------------------------------------------------------------
/plugins/file/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/julien040/anyquery/rpc"
5 | )
6 |
7 | func main() {
8 | plugin := rpc.NewPlugin(listCreator, searchCreator)
9 | plugin.Serve()
10 | }
11 |
--------------------------------------------------------------------------------
/website/src/content/databases/aws-aurora-postgresql.yaml:
--------------------------------------------------------------------------------
1 | name: AWS Aurora (PostgreSQL)
2 | url: /docs/database/aws-aurora-postgresql
3 | icon: /icons/aws-aurora.svg
4 | description: Connect using the PostgreSQL connector
--------------------------------------------------------------------------------
/plugins/google_tasks/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/julien040/anyquery/rpc"
5 | )
6 |
7 | func main() {
8 | plugin := rpc.NewPlugin(listsCreator, tasksCreator)
9 | plugin.Serve()
10 | }
11 |
--------------------------------------------------------------------------------
/website/src/content/recipes/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Recipes
3 | description: Learn how to use Anyquery with these recipes
4 | ---
5 |
6 | Feel free to click on any recipes in the sidebar to learn more about how to use Anyquery.
--------------------------------------------------------------------------------
/plugins/carddav/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/julien040/anyquery/rpc"
5 | )
6 |
7 | func main() {
8 | plugin := rpc.NewPlugin(contactsCreator, addressBooksCreator)
9 | plugin.Serve()
10 | }
11 |
--------------------------------------------------------------------------------
/plugins/salesforce_custom/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/julien040/anyquery/rpc"
5 | )
6 |
7 | func main() {
8 | plugin := rpc.NewPlugin(salesforce_customCreator)
9 | plugin.Serve()
10 | }
11 |
--------------------------------------------------------------------------------
/website/src/content/chats/claude-desktop.yaml:
--------------------------------------------------------------------------------
1 | name: Claude Desktop
2 | url: /connection-guide/llm/claude/
3 | icon: https://raw.githubusercontent.com/gilbarbara/logos/main/logos/claude-icon.svg
4 | description: The LLM from Anthropic.
--------------------------------------------------------------------------------
/website/src/functions/slugify.ts:
--------------------------------------------------------------------------------
1 | function slugify(url: string): string {
2 | return url
3 | .toLowerCase()
4 | .replace(/ /g, "_")
5 | .replace(/[^a-z0-9-_]/g, "");
6 | }
7 |
8 | export { slugify };
9 |
--------------------------------------------------------------------------------
/plugins/edge/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/julien040/anyquery/rpc"
5 | )
6 |
7 | func main() {
8 | plugin := rpc.NewPlugin(tabsCreator, historyCreator, downloadsCreator)
9 | plugin.Serve()
10 | }
11 |
--------------------------------------------------------------------------------
/plugins/chrome/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/julien040/anyquery/rpc"
5 | )
6 |
7 | func main() {
8 | plugin := rpc.NewPlugin(tabsCreator, historyCreator, downloadsCreator)
9 | plugin.Serve()
10 | }
11 |
--------------------------------------------------------------------------------
/plugins/imap/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/julien040/anyquery/rpc"
5 | )
6 |
7 | func main() {
8 | plugin := rpc.NewPlugin(foldersCreator, itemsCreator, itemsBodyCreator)
9 | plugin.Serve()
10 | }
11 |
--------------------------------------------------------------------------------
/plugins/random/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/julien040/anyquery/rpc"
5 | )
6 |
7 | func main() {
8 | plugin := rpc.NewPlugin(peopleCreator, passwordCreator, internetCreator)
9 | plugin.Serve()
10 | }
11 |
--------------------------------------------------------------------------------
/plugins/coda/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/edge/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/file/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/git/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/imap/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/pypi/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/rss/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/spotify/.gitignore:
--------------------------------------------------------------------------------
1 | # Go template downloaded with gut
2 | *.exe
3 | *.exe~
4 | *.dll
5 | *.so
6 | *.dylib
7 | *.test
8 | *.out
9 | go.work
10 | .gut
11 |
12 | # Dev files
13 | *.log
14 | devManifest.*
15 | .init
16 |
17 | dist/
18 |
--------------------------------------------------------------------------------
/website/public/icons/user.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/website/public/images/windows-logo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/airtable/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/asana/.gitignore:
--------------------------------------------------------------------------------
1 | # Go template downloaded with gut
2 | *.exe
3 | *.exe~
4 | *.dll
5 | *.so
6 | *.dylib
7 | *.test
8 | *.out
9 | go.work
10 | .gut
11 |
12 | # Dev files
13 | *.log
14 | .init
15 |
16 | dist/
17 |
18 | devManifest.json
19 |
--------------------------------------------------------------------------------
/plugins/brave/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/carddav/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/chrome/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/click_up/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/discord/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/docker/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/github/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/google_contacts/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/julien040/anyquery/rpc"
5 | )
6 |
7 | func main() {
8 | plugin := rpc.NewPlugin(google_contactsCreator, google_contactsFlatCreator)
9 | plugin.Serve()
10 | }
11 |
--------------------------------------------------------------------------------
/plugins/homebrew/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/hubspot/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/ip-api/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/notes/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/nylas/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/pocket/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/raindrop/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/random/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/readwise/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/reminders/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/safari/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/shopify/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/system/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/todoist/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/trello/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/typeform/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/vercel/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/calendar/.gitignore:
--------------------------------------------------------------------------------
1 | # Go template downloaded with gut
2 | *.exe
3 | *.exe~
4 | *.dll
5 | *.so
6 | *.dylib
7 | *.test
8 | *.out
9 | go.work
10 | .gut
11 |
12 | # Dev files
13 | *.log
14 | devManifest.*
15 | .init
16 |
17 | dist/
18 | *.ics
19 |
--------------------------------------------------------------------------------
/plugins/google_forms/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/google_sheets/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/google_tasks/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/hacker-news/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/safari/scripts/activateTab.applescript:
--------------------------------------------------------------------------------
1 | tell application "Safari"
2 | if not (exists current tab of front window) then make new document -- if no window
3 | tell window %d
4 | set current tab to tab %d
5 | end tell
6 | end tell
--------------------------------------------------------------------------------
/plugins/salesforce/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/coda/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o coda.out $(files)
6 |
7 | prod: $(files)
8 | go build -o coda.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f coda.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/git/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o git.out $(files)
6 |
7 | prod: $(files)
8 | go build -o git.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f notion.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/google_contacts/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/rss/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o rss.out $(files)
6 |
7 | prod: $(files)
8 | go build -o rss.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f notion.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/salesforce_custom/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Go template downloaded with gut
3 | *.exe
4 | *.exe~
5 | *.dll
6 | *.so
7 | *.dylib
8 | *.test
9 | *.out
10 | go.work
11 | .gut
12 |
13 | # Dev files
14 | *.log
15 | devManifest.*
16 | .init
17 |
18 | dist/
19 |
--------------------------------------------------------------------------------
/plugins/spotify/makefile:
--------------------------------------------------------------------------------
1 | files := $(wildcard *.go)
2 |
3 | all: $(files)
4 | go build -o spotify.out $(files)
5 |
6 | prod: $(files)
7 | go build -o spotify.out -ldflags "-s -w" $(files)
8 |
9 | clean:
10 | rm -f notion.out
11 |
12 | .PHONY: all clean
--------------------------------------------------------------------------------
/plugins/brave/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o brave.out $(files)
6 |
7 | prod: $(files)
8 | go build -o brave.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f brave.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/edge/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o edge.out $(files)
6 |
7 | prod: $(files)
8 | go build -o edge.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f notion.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/file/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o file.out $(files)
6 |
7 | prod: $(files)
8 | go build -o file.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f notion.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/imap/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o imap.out $(files)
6 |
7 | prod: $(files)
8 | go build -o imap.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f notion.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/notes/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o notes.out $(files)
6 |
7 | prod: $(files)
8 | go build -o notes.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f notion.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/pypi/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o pypi.out $(files)
6 |
7 | prod: $(files)
8 | go build -o pypi.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f notion.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/chrome/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o chrome.out $(files)
6 |
7 | prod: $(files)
8 | go build -o chrome.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f notion.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/docker/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o docker.out $(files)
6 |
7 | prod: $(files)
8 | go build -o docker.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f docker.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/github/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o github.out $(files)
6 |
7 | prod: $(files)
8 | go build -o github.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f notion.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/ip-api/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o ip_api.out $(files)
6 |
7 | prod: $(files)
8 | go build -o ip_api.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f notion.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/pocket/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o pocket.out $(files)
6 |
7 | prod: $(files)
8 | go build -o pocket.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f notion.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/random/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o random.out $(files)
6 |
7 | prod: $(files)
8 | go build -o random.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f notion.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/safari/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o safari.out $(files)
6 |
7 | prod: $(files)
8 | go build -o safari.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f notion.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/system/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o system.out $(files)
6 |
7 | prod: $(files)
8 | go build -o system.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f system.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/trello/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o trello.out $(files)
6 |
7 | prod: $(files)
8 | go build -o trello.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f trello.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/vercel/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o vercel.out $(files)
6 |
7 | prod: $(files)
8 | go build -o vercel.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f vercel.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/airtable/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o airtable.out $(files)
6 |
7 | prod: $(files)
8 | go build -o airtable.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f notion.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/calendar/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o icalendar.out $(files)
6 |
7 | prod: $(files)
8 | go build -o icalendar.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f notion.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/click_up/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o click_up.out $(files)
6 |
7 | prod: $(files)
8 | go build -o click_up.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f click_up.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/discord/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o discord.out $(files)
6 |
7 | prod: $(files)
8 | go build -o discord.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f discord.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/homebrew/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o homebrew.out $(files)
6 |
7 | prod: $(files)
8 | go build -o homebrew.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f notion.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/hubspot/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o hubspot.out $(files)
6 |
7 | prod: $(files)
8 | go build -o hubspot.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f hubspot.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/raindrop/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o raindrop.out $(files)
6 |
7 | prod: $(files)
8 | go build -o raindrop.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f notion.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/reminders/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o reminder.out $(files)
6 |
7 | prod: $(files)
8 | go build -o reminder.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f notion.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/shopify/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o shopify.out $(files)
6 |
7 | prod: $(files)
8 | go build -o shopify.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f shopify.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/todoist/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o todoist.out $(files)
6 |
7 | prod: $(files)
8 | go build -o todoist.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f todoist.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/typeform/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o typeform.out $(files)
6 |
7 | prod: $(files)
8 | go build -o typeform.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f typeform.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/runTest.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Set the current working directory to the directory of the script
4 | cd "$(dirname "$0")" || exit
5 |
6 | go test -tags "vtable" -v -coverprofile=coverage.out ./module ./namespace ./rpc ./controller/config/registry ./controller
7 |
8 | go clean
9 |
--------------------------------------------------------------------------------
/plugins/hacker-news/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o hacker_news.out $(files)
6 |
7 | prod: $(files)
8 | go build -o hacker_news.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f notion.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/salesforce/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o salesforce.out $(files)
6 |
7 | prod: $(files)
8 | go build -o salesforce.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f salesforce.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/website/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.2.0",
3 | "configurations": [
4 | {
5 | "command": "./node_modules/.bin/astro dev",
6 | "name": "Development server",
7 | "request": "launch",
8 | "type": "node-terminal"
9 | }
10 | ]
11 | }
12 |
--------------------------------------------------------------------------------
/plugins/google_forms/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o google_forms.out $(files)
6 |
7 | prod: $(files)
8 | go build -o google_forms.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f google_forms.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/google_sheets/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o google_sheets.out $(files)
6 |
7 | prod: $(files)
8 | go build -o google_sheets.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f google_sheets.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/google_tasks/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o google_tasks.out $(files)
6 |
7 | prod: $(files)
8 | go build -o google_tasks.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f google_tasks.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/pypi/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/go-resty/resty/v2"
5 | "github.com/julien040/anyquery/rpc"
6 | )
7 |
8 | var client = resty.New()
9 |
10 | func main() {
11 | plugin := rpc.NewPlugin(pypiVersionCreator, packageCreator)
12 | plugin.Serve()
13 | }
14 |
--------------------------------------------------------------------------------
/plugins/brave/scripts/deleteTab.js:
--------------------------------------------------------------------------------
1 | const chromium = Application("Brave");
2 |
3 | const windows = chromium.windows();
4 |
5 | for (const window of windows) {
6 | const tabs = window.tabs();
7 | for (const tab of tabs) {
8 | if (tab.id() === "%s") {
9 | tab.close();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/plugins/brave/scripts/setURL.js:
--------------------------------------------------------------------------------
1 | const chromium = Application("Brave");
2 |
3 | const windows = chromium.windows();
4 |
5 | for (const window of windows) {
6 | const tabs = window.tabs();
7 | for (const tab of tabs) {
8 | if (tab.id() === "%s") {
9 | tab.url = "%s";
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/plugins/google_contacts/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o google_contacts.out $(files)
6 |
7 | prod: $(files)
8 | go build -o google_contacts.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f google_contacts.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/plugins/safari/scripts/setURL.js:
--------------------------------------------------------------------------------
1 | const safari = Application("Safari");
2 |
3 | const windows = safari.windows();
4 |
5 | for (const window of windows) {
6 | if (window.index() === %d) {
7 | const tabs = window.tabs.whose({ index: %d });
8 | tabs[0].url = "%s";
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/_examples/datasette/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "title": "My datasette - anyquery integration",
3 | "description": "This is a datasette instance connected to anyquery",
4 |
5 | "extra_css_urls": [
6 | "https://cdn.jsdelivr.net/gh/julien040/charcoal-datasette-theme@1.0.0/theme.min.css"
7 | ]
8 | }
9 |
--------------------------------------------------------------------------------
/_examples/drizzle/drizzle.config.js:
--------------------------------------------------------------------------------
1 | import { defineConfig } from "drizzle-kit";
2 | export default defineConfig({
3 | schema: "./schema.ts",
4 | out: "./drizzle",
5 | dialect: "mysql",
6 | dbCredentials: {
7 | url: "mysql://root:password@localhost:8070/main",
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/plugins/homebrew/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/go-resty/resty/v2"
5 | "github.com/julien040/anyquery/rpc"
6 | )
7 |
8 | var client = resty.New()
9 |
10 | func main() {
11 | plugin := rpc.NewPlugin(homebrewFormulaCreator, homebrewCasksCreator)
12 | plugin.Serve()
13 | }
14 |
--------------------------------------------------------------------------------
/plugins/chrome/scripts/deleteTab.js:
--------------------------------------------------------------------------------
1 | const chromium = Application("Google Chrome");
2 |
3 | const windows = chromium.windows();
4 |
5 | for (const window of windows) {
6 | const tabs = window.tabs();
7 | for (const tab of tabs) {
8 | if (tab.id() === "%s") {
9 | tab.close();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/plugins/chrome/scripts/setURL.js:
--------------------------------------------------------------------------------
1 | const chromium = Application("Google Chrome");
2 |
3 | const windows = chromium.windows();
4 |
5 | for (const window of windows) {
6 | const tabs = window.tabs();
7 | for (const tab of tabs) {
8 | if (tab.id() === "%s") {
9 | tab.url = "%s";
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/plugins/edge/scripts/deleteTab.js:
--------------------------------------------------------------------------------
1 | const chromium = Application("Microsoft Edge");
2 |
3 | const windows = chromium.windows();
4 |
5 | for (const window of windows) {
6 | const tabs = window.tabs();
7 | for (const tab of tabs) {
8 | if (tab.id() === "%s") {
9 | tab.close();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/plugins/edge/scripts/setURL.js:
--------------------------------------------------------------------------------
1 | const chromium = Application("Microsoft Edge");
2 |
3 | const windows = chromium.windows();
4 |
5 | for (const window of windows) {
6 | const tabs = window.tabs();
7 | for (const tab of tabs) {
8 | if (tab.id() === "%s") {
9 | tab.url = "%s";
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/plugins/salesforce_custom/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o salesforce_custom.out $(files)
6 |
7 | prod: $(files)
8 | go build -o salesforce_custom.out -ldflags "-s -w" $(files)
9 |
10 | clean:
11 | rm -f salesforce_custom.out
12 |
13 | .PHONY: all clean
14 |
--------------------------------------------------------------------------------
/queries/github/my-followers-github.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Who follows me on GitHub?"
3 | description = "Get the list of users who follow you on GitHub"
4 |
5 | plugins = ["github"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["github", "followers"]
10 |
11 | */
12 | SELECT
13 | *
14 | FROM
15 | github_my_followers;
--------------------------------------------------------------------------------
/website/public/icons/clickhouse.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/sharedObject/nalgeon/sqlean/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "sqlean",
3 | "module": "index.ts",
4 | "type": "module",
5 | "devDependencies": {
6 | "@types/bun": "^1.1.6"
7 | },
8 | "peerDependencies": {
9 | "typescript": "^5.0.0"
10 | },
11 | "dependencies": {
12 | "@iarna/toml": "^2.2.5"
13 | }
14 | }
--------------------------------------------------------------------------------
/other/tunnel/server/makefile:
--------------------------------------------------------------------------------
1 | FILES=$(*.go)
2 |
3 | build: $(FILES)
4 | go build -o server.out $(FILES)
5 |
6 | build-linux: $(FILES)
7 | GOOS=linux GOARCH=amd64 go build -o server.linux.out $(FILES)
8 |
9 | run: build
10 | ./server.out
11 |
12 | clean:
13 | rm -f server.out server.linux.out
14 |
15 | .PHONY: build build-linux run clean
--------------------------------------------------------------------------------
/plugins/asana/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o asana.out $(files)
6 |
7 | prod: $(files)
8 | go build -o asana.out -ldflags "-s -w" $(files)
9 |
10 | release: prod
11 | goreleaser build -f .goreleaser.yaml --clean --snapshot
12 |
13 | clean:
14 | rm -f asana.out
15 |
16 | .PHONY: all clean
17 |
--------------------------------------------------------------------------------
/other/websocket_tunnel/server/makefile:
--------------------------------------------------------------------------------
1 | FILES=$(*.go)
2 |
3 | build: $(FILES)
4 | go build -o server.out $(FILES)
5 |
6 | build-linux: $(FILES)
7 | GOOS=linux GOARCH=amd64 go build -o server.linux.out $(FILES)
8 |
9 | run: build
10 | ./server.out
11 |
12 | clean:
13 | rm -f server.out server.linux.out
14 |
15 | .PHONY: build build-linux run clean
--------------------------------------------------------------------------------
/makefile:
--------------------------------------------------------------------------------
1 | FILES:= main.go
2 |
3 | ifdef CC
4 | CC := $(CC)
5 | else
6 | CC := "gcc -O2"
7 | endif
8 |
9 | TAGS := vtable fts5 sqlite_json sqlite_math_functions
10 |
11 | BUILD_FLAGS := "-ldflags=-s -w"
12 |
13 | all: $(FILES)
14 | go build -o main.out -tags "$(TAGS)" $(BUILD_FLAGS) $(FILES)
15 |
16 | clean:
17 | rm -f main.out
18 |
19 | .PHONY: all clean
--------------------------------------------------------------------------------
/plugins/readwise/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o readwise.out $(files)
6 |
7 | prod: $(files)
8 | go build -o readwise.out -ldflags "-s -w" $(files)
9 |
10 | release: prod
11 | goreleaser build -f .goreleaser.yaml --clean --snapshot
12 |
13 | clean:
14 | rm -f readwise.out
15 |
16 | .PHONY: all clean
17 |
--------------------------------------------------------------------------------
/queries/notes/which_note_was_created_last.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Which note was created last?"
3 | description = "Find the most recently created note"
4 | plugins = ["notes"]
5 | author = "julien040"
6 | tags = ["notes", "creation_date", "recent"]
7 | */
8 |
9 | SELECT
10 | *
11 | FROM
12 | notes_items
13 | ORDER BY
14 | creation_date DESC
15 | LIMIT 1;
--------------------------------------------------------------------------------
/other/tunnel/server/schema.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE
2 | IF NOT EXISTS `tunnels` (
3 | id TEXT PRIMARY KEY,
4 | hashedToken TEXT,
5 | expiresAt TEXT,
6 | createdAt TEXT,
7 | metadata TEXT DEFAULT '{}'
8 | ) STRICT;
9 |
10 | PRAGMA journal_mode = WAL;
11 |
12 | PRAGMA foreign_keys = ON;
13 |
14 | PRAGMA synchronous = NORMAL;
--------------------------------------------------------------------------------
/queries/system/how_many_cores_does_the_system_have.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "How many cores does the system have?"
3 | description = "Get the number of CPU cores in the system"
4 |
5 | plugins = ["system"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["cpu", "system", "cores"]
10 |
11 | arguments = []
12 | */
13 |
14 | SELECT cpu_cores FROM system_cpu_infos LIMIT 1;
--------------------------------------------------------------------------------
/queries/system/how_much_memory_is_used_by_the_system.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "How much memory is used by the system?"
3 | description = "Get the amount of memory currently used by the system"
4 | plugins = ["system"]
5 | author = "julien040"
6 | tags = ["system", "memory", "usage"]
7 | arguments = []
8 | */
9 |
10 | SELECT
11 | used
12 | FROM
13 | system_memory_stats;
--------------------------------------------------------------------------------
/queries/edge/edge_what_is_the_url_of_the_active_tab.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "What is the URL of the active tab?"
3 | description = "Get the URL of the currently active tab"
4 |
5 | plugins = ["edge"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["edge", "tabs"]
10 |
11 | arguments = []
12 | */
13 |
14 | SELECT
15 | url
16 | FROM
17 | edge_tabs
18 | WHERE
19 | active = 1;
--------------------------------------------------------------------------------
/website/public/icons/tidb.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/queries/system/list_the_mounted_filesystems_of_the_system.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "List the mounted filesystems of the system"
3 | description = "Retrieve all the mounted filesystems along with their details"
4 |
5 | plugins = ["system"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["system", "filesystems", "partitions", "storage"]
10 |
11 | */
12 |
13 | SELECT * FROM system_partitions;
--------------------------------------------------------------------------------
/other/prql/types.go:
--------------------------------------------------------------------------------
1 | package prql
2 |
3 | type SourceLocationError struct {
4 | StartLine int
5 | StartColumn int
6 | EndLine int
7 | EndColumn int
8 | }
9 |
10 | type CompileMessage struct {
11 | ErrorCode rune
12 | // Annoted code containing the error and the hints
13 | Display string
14 | // The location of the error
15 | LocationError SourceLocationError
16 | }
17 |
--------------------------------------------------------------------------------
/website/.gitignore:
--------------------------------------------------------------------------------
1 | # build output
2 | dist/
3 | # generated types
4 | .astro/
5 |
6 | # dependencies
7 | node_modules/
8 |
9 | # logs
10 | npm-debug.log*
11 | yarn-debug.log*
12 | yarn-error.log*
13 | pnpm-debug.log*
14 |
15 |
16 | # environment variables
17 | .env
18 | .env.production
19 |
20 | # macOS-specific files
21 | .DS_Store
22 |
23 | # jetbrains setting folder
24 | .idea/
25 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "go.buildTags": "vtable fts5 sqlite_json sqlite_math_functions",
3 | "yaml.schemas": {
4 | "https://spec.openapis.org/oas/3.1/schema/2022-10-07": "file:///Users/julien/Code/anyquery/other/llm/openapi-actions.yaml"
5 | },
6 | "go.lintFlags": [
7 | "-tags",
8 | "vtable fts5 sqlite_json sqlite_math_functions"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/plugins/notion/makefile:
--------------------------------------------------------------------------------
1 | files := $(wildcard *.go)
2 |
3 | all: $(files)
4 | go build -o notion.out $(files)
5 |
6 | prod: $(files)
7 | go build -o notion.out -ldflags "-s -w" $(files)
8 |
9 | release: $(files)
10 | goreleaser release --clean --snapshot
11 | ../store-manager/store-manager.out -p notion -c manifest.toml
12 |
13 | clean:
14 | rm -f notion.out
15 |
16 | .PHONY: all clean
--------------------------------------------------------------------------------
/queries/chrome/chrome_how_many_tabs_are_open_in_the_browser.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "How many tabs are open in the browser?"
3 | description = "Get the total number of open tabs in the Chromium-based browser"
4 |
5 | plugins = ["chrome"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["chrome", "tabs", "browser"]
10 | */
11 |
12 | SELECT
13 | COUNT(*) AS open_tabs
14 | FROM
15 | chrome_tabs;
--------------------------------------------------------------------------------
/queries/imap/unread-emails.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "What are my unread emails?"
3 | description = "List all the emails that are unread"
4 |
5 | plugins = ["imap"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["imap", "emails", "unread"]
10 | */
11 | SELECT
12 | subject,
13 | received_at,
14 | _from as senders
15 | FROM
16 | imap_emails
17 | WHERE
18 | flags NOT LIKE '%"Seen"%';
--------------------------------------------------------------------------------
/website/src/content/docs/connection-guide/superset.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Apache Superset
3 | description: Connect Apache Superset to Anyquery
4 | ---
5 |
6 | 
7 |
8 | Superset is not yet supported by Anyquery. If you would like to see support for PowerBI, please [open an issue](https://github/com/julien040/anyquery/issues/new) on the Anyquery GitHub repository.
9 |
--------------------------------------------------------------------------------
/other/websocket_tunnel/server/schema.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE
2 | IF NOT EXISTS `tunnels` (
3 | id TEXT PRIMARY KEY,
4 | hashedToken TEXT,
5 | expiresAt TEXT,
6 | createdAt TEXT,
7 | serverHost TEXT,
8 | metadata TEXT DEFAULT '{}'
9 | ) STRICT;
10 |
11 | PRAGMA journal_mode = WAL;
12 |
13 | PRAGMA foreign_keys = ON;
14 |
15 | PRAGMA synchronous = NORMAL;
--------------------------------------------------------------------------------
/queries/brave/brave_how_many_tabs_are_open_in_the_browser.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "How many tabs are open in the browser?"
3 | description = "Count the total number of open tabs in the browser"
4 |
5 | plugins = ["brave"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["brave", "tabs", "count", "open"]
10 |
11 | arguments = []
12 | */
13 |
14 | SELECT
15 | COUNT(*) AS open_tabs
16 | FROM
17 | brave_tabs;
--------------------------------------------------------------------------------
/queries/chrome/chrome_what_is_the_url_of_the_active_tab.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "What is the URL of the active tab?"
3 | description = "Get the URL of the currently active tab in the Chromium based browser"
4 |
5 | plugins = ["chrome"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["chrome", "tabs", "active tab"]
10 | */
11 |
12 | SELECT
13 | url
14 | FROM
15 | chrome_tabs
16 | WHERE
17 | active = 1;
--------------------------------------------------------------------------------
/queries/docker/how_many_containers_are_running.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "How many containers are running?"
3 | description = "Retrieve the count of currently running containers."
4 | plugins = ["docker"]
5 | author = "julien040"
6 | tags = ["docker", "containers", "status"]
7 | */
8 |
9 | SELECT
10 | COUNT(*) as running_containers
11 | FROM
12 | docker_containers
13 | WHERE
14 | LOWER(state) = 'running';
--------------------------------------------------------------------------------
/queries/system/what-s_the_current_cpu_usage_of_the_system.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "What's the current CPU usage of the system?"
3 | description = "Get the current CPU usage statistics of the system, including user, system, and idle times."
4 |
5 | plugins = ["system"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["cpu", "usage", "statistics"]
10 | */
11 |
12 | SELECT
13 | *
14 | FROM
15 | system_cpu_stats;
--------------------------------------------------------------------------------
/website/src/content/docs/connection-guide/power-bi.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Power BI
3 | description: Connect Power BI to Anyquery
4 | ---
5 |
6 |
7 |
8 | PowerBI is not yet supported by Anyquery. If you would like to see support for PowerBI, please [open an issue](https://github/com/julien040/anyquery/issues/new) on the Anyquery GitHub repository.
9 |
--------------------------------------------------------------------------------
/queries/brave/brave_what_is_the_url_of_the_active_tab.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "What is the URL of the active tab?"
3 | description = "Get the URL of the currently active tab in the Brave browser"
4 |
5 | plugins = ["brave"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["brave", "tabs", "url"]
10 |
11 | arguments = []
12 | */
13 |
14 | SELECT
15 | url
16 | FROM
17 | brave_tabs
18 | WHERE
19 | active = 1;
--------------------------------------------------------------------------------
/queries/edge/edge_how_many_tabs_are_open_in_the_browser.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "How many tabs are open in the browser?"
3 | description = "Get the total number of open tabs in the Chromium-based browser"
4 |
5 | plugins = ["edge"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["edge", "tabs", "statistics"]
10 |
11 | arguments = []
12 | */
13 |
14 | SELECT
15 | COUNT(*) AS open_tabs
16 | FROM
17 | edge_tabs;
--------------------------------------------------------------------------------
/plugins/raindrop/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/go-resty/resty/v2"
5 | "github.com/hashicorp/go-retryablehttp"
6 | "github.com/julien040/anyquery/rpc"
7 | )
8 |
9 | var retry = retryablehttp.NewClient()
10 | var client = resty.NewWithClient(retry.StandardClient())
11 |
12 | func main() {
13 | retry.RetryMax = 12
14 | plugin := rpc.NewPlugin(raindropCreator)
15 | plugin.Serve()
16 | }
17 |
--------------------------------------------------------------------------------
/queries/system/how_much_swap_is_used_by_the_system.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "How much swap is used by the system?"
3 | description = "Retrieve the total amount of swap space used by the system."
4 |
5 | plugins = ["system"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["system", "swap", "usage", "memory"]
10 |
11 | arguments = []
12 | */
13 |
14 | SELECT
15 | sum(used) AS total_swap_used
16 | FROM
17 | system_swaps;
--------------------------------------------------------------------------------
/queries/docker/what_is_the_newest_container.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "What is the newest container?"
3 | description = "Find the most recently created container."
4 |
5 | plugins = ["docker"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["docker", "containers", "newest"]
10 |
11 | arguments = []
12 | */
13 |
14 | SELECT
15 | *
16 | FROM
17 | docker_containers
18 | ORDER BY
19 | created_at DESC
20 | LIMIT
21 | 1;
--------------------------------------------------------------------------------
/plugins/hacker-news/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/go-resty/resty/v2"
5 | "github.com/julien040/anyquery/rpc"
6 | )
7 |
8 | var client = resty.New()
9 |
10 | func main() {
11 | plugin := rpc.NewPlugin(searchCreator, postCreator, postDescendantCreator, user_postsCreator,
12 | frontCreator, newCreator, bestCreator, askCreator, showCreator, jobsCreator, user_dataCreator)
13 | plugin.Serve()
14 | }
15 |
--------------------------------------------------------------------------------
/queries/brave/brave_what_is_the_title_of_the_active_tab.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "What is the title of the active tab?"
3 | description = "Retrieve the title of the currently active tab in the Brave browser"
4 |
5 | plugins = ["brave"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["brave", "tabs", "active"]
10 |
11 | arguments = []
12 | */
13 |
14 | SELECT
15 | title
16 | FROM
17 | brave_tabs
18 | WHERE
19 | active = 1;
--------------------------------------------------------------------------------
/queries/chrome/chrome_what_is_the_title_of_the_active_tab.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "What is the title of the active tab?"
3 | description = "Get the title of the currently active tab in a Chromium-based browser"
4 |
5 | plugins = ["chrome"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["chrome", "tabs", "active"]
10 |
11 | arguments = []
12 | */
13 |
14 | SELECT
15 | title
16 | FROM
17 | chrome_tabs
18 | WHERE
19 | active = 1;
--------------------------------------------------------------------------------
/plugins/trello/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/go-resty/resty/v2"
5 | "github.com/hashicorp/go-retryablehttp"
6 | "github.com/julien040/anyquery/rpc"
7 | )
8 |
9 | var retry = retryablehttp.NewClient()
10 | var client = resty.NewWithClient(retry.HTTPClient)
11 |
12 | func main() {
13 | retry.RetryMax = 5
14 | plugin := rpc.NewPlugin(boardsCreator, cardsCreator, listsCreator)
15 | plugin.Serve()
16 | }
17 |
--------------------------------------------------------------------------------
/queries/edge/edge_what_is_the_title_of_the_active_tab.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "What is the title of the active tab?"
3 | description = "Retrieve the title of the currently active tab in a Chromium-based browser"
4 |
5 | plugins = ["edge"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["edge", "browser", "tabs"]
10 |
11 | arguments = []
12 | */
13 |
14 | SELECT
15 | title
16 | FROM
17 | edge_tabs
18 | WHERE
19 | active = 1
20 | LIMIT 1;
--------------------------------------------------------------------------------
/queries/system/how_many_processes_are_running_on_the_system.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "How many processes are running on the system?"
3 | description = "Get the total number of processes currently running on the system."
4 |
5 | plugins = ["system"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["system", "process", "count"]
10 |
11 | arguments = []
12 | */
13 |
14 | SELECT
15 | count(*) as total_processes
16 | FROM
17 | system_processes;
--------------------------------------------------------------------------------
/website/public/images/apple-logo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/carddav/Makefile:
--------------------------------------------------------------------------------
1 |
2 | files := $(wildcard *.go)
3 |
4 | all: $(files)
5 | go build -o carddav.out $(files)
6 |
7 | prod: $(files)
8 | go build -o carddav.out -ldflags "-s -w" $(files)
9 |
10 | release: prod
11 | goreleaser build -f .goreleaser.yaml --clean --snapshot
12 |
13 | test:
14 | go test -v ./...
15 |
16 | integration-test:
17 | ./test.sh
18 |
19 | clean:
20 | rm -f carddav.out
21 |
22 | .PHONY: all clean test integration-test
23 |
--------------------------------------------------------------------------------
/plugins/coda/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "time"
5 |
6 | "github.com/go-resty/resty/v2"
7 | "github.com/hashicorp/go-retryablehttp"
8 | "github.com/julien040/anyquery/rpc"
9 | )
10 |
11 | var retry = retryablehttp.NewClient()
12 | var client = resty.NewWithClient(retry.StandardClient())
13 |
14 | func main() {
15 | retry.RetryMax = 5
16 | retry.RetryWaitMin = time.Second
17 | plugin := rpc.NewPlugin(tableCreator)
18 | plugin.Serve()
19 | }
20 |
--------------------------------------------------------------------------------
/plugins/brave/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - darwin
14 |
15 | goarch:
16 | - amd64
17 | - arm64
18 |
19 | archives:
20 | - format: binary
21 |
22 | changelog:
23 | sort: asc
24 | filters:
25 | exclude:
26 | - "^docs:"
27 | - "^test:"
28 |
--------------------------------------------------------------------------------
/plugins/chrome/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - darwin
14 |
15 | goarch:
16 | - amd64
17 | - arm64
18 |
19 | archives:
20 | - format: binary
21 |
22 | changelog:
23 | sort: asc
24 | filters:
25 | exclude:
26 | - "^docs:"
27 | - "^test:"
28 |
--------------------------------------------------------------------------------
/plugins/edge/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - darwin
14 |
15 | goarch:
16 | - amd64
17 | - arm64
18 |
19 | archives:
20 | - format: binary
21 |
22 | changelog:
23 | sort: asc
24 | filters:
25 | exclude:
26 | - "^docs:"
27 | - "^test:"
28 |
--------------------------------------------------------------------------------
/plugins/notes/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - darwin
14 |
15 | goarch:
16 | - amd64
17 | - arm64
18 |
19 | archives:
20 | - format: binary
21 |
22 | changelog:
23 | sort: asc
24 | filters:
25 | exclude:
26 | - "^docs:"
27 | - "^test:"
28 |
--------------------------------------------------------------------------------
/plugins/safari/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - darwin
14 |
15 | goarch:
16 | - amd64
17 | - arm64
18 |
19 | archives:
20 | - format: binary
21 |
22 | changelog:
23 | sort: asc
24 | filters:
25 | exclude:
26 | - "^docs:"
27 | - "^test:"
28 |
--------------------------------------------------------------------------------
/_examples/drizzle/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "anyquery-drizzle-example",
3 | "version": "1.0.0",
4 | "description": "An example of how to use drizzle with Anyquery",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "author": "",
10 | "license": "ISC",
11 | "devDependencies": {
12 | "drizzle-kit": "^0.23.0",
13 | "drizzle-orm": "^0.32.1",
14 | "mysql2": "^3.11.0"
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/other/tunnel/README.md:
--------------------------------------------------------------------------------
1 | # Tunnel server
2 |
3 | To provide HTTP tunneling service, Anyquery uses [FRP](https://github.com/fatedier/frp) as the tunnel server. There is a sidecar container managing the FRP server. It also handles the authentication and authorization of the tunnel clients.
4 |
5 | ## `server` folder
6 |
7 | Contains the FRP sidecar service and the configuration file.
8 |
9 | ## `client` folder
10 |
11 | Contains the FRP code to connect to the tunnel server.
12 |
--------------------------------------------------------------------------------
/plugins/reminders/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - darwin
14 |
15 | goarch:
16 | - amd64
17 | - arm64
18 |
19 | archives:
20 | - format: binary
21 |
22 | changelog:
23 | sort: asc
24 | filters:
25 | exclude:
26 | - "^docs:"
27 | - "^test:"
28 |
--------------------------------------------------------------------------------
/queries/docker/what_is_the_oldest_container.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "What is the oldest container?"
3 | description = "Find the oldest Docker container based on the created date."
4 | plugins = ["docker"]
5 | author = "julien040"
6 | tags = ["docker", "containers", "oldest"]
7 |
8 | arguments = []
9 | */
10 |
11 | SELECT
12 | id,
13 | names,
14 | image,
15 | created_at
16 | FROM
17 | docker_containers
18 | ORDER BY
19 | datetime(created_at) ASC
20 | LIMIT
21 | 1;
--------------------------------------------------------------------------------
/plugins/store-manager/go.mod:
--------------------------------------------------------------------------------
1 | module github.com/julien040/anyquery/plugins/store-manager
2 |
3 | go 1.22.5
4 |
5 | require (
6 | github.com/bitfield/script v0.22.1
7 | github.com/pelletier/go-toml v1.9.5
8 | github.com/spf13/pflag v1.0.5
9 | golang.org/x/term v0.22.0
10 | )
11 |
12 | require (
13 | github.com/itchyny/gojq v0.12.13 // indirect
14 | github.com/itchyny/timefmt-go v0.1.5 // indirect
15 | golang.org/x/sys v0.22.0 // indirect
16 | mvdan.cc/sh/v3 v3.7.0 // indirect
17 | )
18 |
--------------------------------------------------------------------------------
/queries/discord/list_all_the_users_in_a_server.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "List all the users in a server"
3 | description = "Get all members of a Discord server"
4 |
5 | plugins = ["discord"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["discord", "members", "server"]
10 |
11 | arguments = [
12 | {title="guild_id", display_title = "Server ID", type="string", description="The ID of the Discord server", regex="^[0-9]+$"}
13 | ]
14 | */
15 |
16 | SELECT * FROM discord_members WHERE guild_id = @guild_id;
--------------------------------------------------------------------------------
/queries/system/what_is_the_remaining_disk_space_per_filesystem.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "What is the remaining disk space per filesystem?"
3 | description = "Get the remaining disk space for each filesystem on the system"
4 | plugins = ["system"]
5 | author = "julien040"
6 | tags = ["system", "disk", "filesystem", "usage"]
7 | */
8 |
9 | SELECT
10 | p.device,
11 | s.free AS remaining_disk_space
12 | FROM
13 | system_partitions p
14 | JOIN system_partition_stats s ON p.mountpoint = s.mountpoint;
--------------------------------------------------------------------------------
/plugins/spotify/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 | version: 2
2 |
3 | before:
4 | hooks:
5 | # You may remove this if you don't use go modules.
6 | - go mod tidy
7 |
8 | builds:
9 | - env:
10 | - CGO_ENABLED=0
11 | goos:
12 | - linux
13 | - windows
14 | - darwin
15 |
16 | goarch:
17 | - amd64
18 | - arm64
19 |
20 | archives:
21 | - format: binary
22 |
23 | changelog:
24 | sort: asc
25 | filters:
26 | exclude:
27 | - "^docs:"
28 | - "^test:"
29 |
--------------------------------------------------------------------------------
/plugins/file/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 |
17 | goarch:
18 | - amd64
19 | - arm64
20 |
21 | archives:
22 | - format: binary
23 |
24 | changelog:
25 | sort: asc
26 | filters:
27 | exclude:
28 | - "^docs:"
29 | - "^test:"
30 |
--------------------------------------------------------------------------------
/plugins/git/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 |
17 | goarch:
18 | - amd64
19 | - arm64
20 |
21 | archives:
22 | - format: binary
23 |
24 | changelog:
25 | sort: asc
26 | filters:
27 | exclude:
28 | - "^docs:"
29 | - "^test:"
30 |
--------------------------------------------------------------------------------
/plugins/github/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 |
17 | goarch:
18 | - amd64
19 | - arm64
20 |
21 | archives:
22 | - format: binary
23 |
24 | changelog:
25 | sort: asc
26 | filters:
27 | exclude:
28 | - "^docs:"
29 | - "^test:"
30 |
--------------------------------------------------------------------------------
/plugins/imap/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 |
17 | goarch:
18 | - amd64
19 | - arm64
20 |
21 | archives:
22 | - format: binary
23 |
24 | changelog:
25 | sort: asc
26 | filters:
27 | exclude:
28 | - "^docs:"
29 | - "^test:"
30 |
--------------------------------------------------------------------------------
/plugins/ip-api/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 |
17 | goarch:
18 | - amd64
19 | - arm64
20 |
21 | archives:
22 | - format: binary
23 |
24 | changelog:
25 | sort: asc
26 | filters:
27 | exclude:
28 | - "^docs:"
29 | - "^test:"
30 |
--------------------------------------------------------------------------------
/plugins/pocket/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 |
17 | goarch:
18 | - amd64
19 | - arm64
20 |
21 | archives:
22 | - format: binary
23 |
24 | changelog:
25 | sort: asc
26 | filters:
27 | exclude:
28 | - "^docs:"
29 | - "^test:"
30 |
--------------------------------------------------------------------------------
/plugins/pypi/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 |
17 | goarch:
18 | - amd64
19 | - arm64
20 |
21 | archives:
22 | - format: binary
23 |
24 | changelog:
25 | sort: asc
26 | filters:
27 | exclude:
28 | - "^docs:"
29 | - "^test:"
30 |
--------------------------------------------------------------------------------
/plugins/random/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 |
17 | goarch:
18 | - amd64
19 | - arm64
20 |
21 | archives:
22 | - format: binary
23 |
24 | changelog:
25 | sort: asc
26 | filters:
27 | exclude:
28 | - "^docs:"
29 | - "^test:"
30 |
--------------------------------------------------------------------------------
/plugins/rss/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 |
17 | goarch:
18 | - amd64
19 | - arm64
20 |
21 | archives:
22 | - format: binary
23 |
24 | changelog:
25 | sort: asc
26 | filters:
27 | exclude:
28 | - "^docs:"
29 | - "^test:"
30 |
--------------------------------------------------------------------------------
/plugins/airtable/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 |
17 | goarch:
18 | - amd64
19 | - arm64
20 |
21 | archives:
22 | - format: binary
23 |
24 | changelog:
25 | sort: asc
26 | filters:
27 | exclude:
28 | - "^docs:"
29 | - "^test:"
30 |
--------------------------------------------------------------------------------
/plugins/calendar/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 |
17 | goarch:
18 | - amd64
19 | - arm64
20 |
21 | archives:
22 | - format: binary
23 |
24 | changelog:
25 | sort: asc
26 | filters:
27 | exclude:
28 | - "^docs:"
29 | - "^test:"
30 |
--------------------------------------------------------------------------------
/plugins/hacker-news/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 |
17 | goarch:
18 | - amd64
19 | - arm64
20 |
21 | archives:
22 | - format: binary
23 |
24 | changelog:
25 | sort: asc
26 | filters:
27 | exclude:
28 | - "^docs:"
29 | - "^test:"
30 |
--------------------------------------------------------------------------------
/plugins/homebrew/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 |
17 | goarch:
18 | - amd64
19 | - arm64
20 |
21 | archives:
22 | - format: binary
23 |
24 | changelog:
25 | sort: asc
26 | filters:
27 | exclude:
28 | - "^docs:"
29 | - "^test:"
30 |
--------------------------------------------------------------------------------
/plugins/raindrop/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 |
17 | goarch:
18 | - amd64
19 | - arm64
20 |
21 | archives:
22 | - format: binary
23 |
24 | changelog:
25 | sort: asc
26 | filters:
27 | exclude:
28 | - "^docs:"
29 | - "^test:"
30 |
--------------------------------------------------------------------------------
/plugins/typeform/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 |
17 | goarch:
18 | - amd64
19 | - arm64
20 |
21 | archives:
22 | - format: binary
23 |
24 | changelog:
25 | sort: asc
26 | filters:
27 | exclude:
28 | - "^docs:"
29 | - "^test:"
30 |
--------------------------------------------------------------------------------
/other/sqlparser/README.md:
--------------------------------------------------------------------------------
1 | # SQLparser
2 |
3 | The SQLparser extract from vitess.io project. It adds the following features:
4 |
5 | - Tables functions support (e.g. `select * from table1(arg1, arg2)`)
6 |
7 | ## Compilation
8 |
9 | Go to the sqlparser directory and run the following command:
10 |
11 | ```bash
12 | go run goyacc/goyacc.go -fo sql.go sql.y
13 | ```
14 |
15 | ## Additional notes
16 |
17 | - Tests are failing for this package because they are adapted to the vitess.io project. You can ignore them.
18 |
--------------------------------------------------------------------------------
/plugins/google_forms/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 |
17 | goarch:
18 | - amd64
19 | - arm64
20 |
21 | archives:
22 | - format: binary
23 |
24 | changelog:
25 | sort: asc
26 | filters:
27 | exclude:
28 | - "^docs:"
29 | - "^test:"
30 |
--------------------------------------------------------------------------------
/plugins/google_sheets/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 |
17 | goarch:
18 | - amd64
19 | - arm64
20 |
21 | archives:
22 | - format: binary
23 |
24 | changelog:
25 | sort: asc
26 | filters:
27 | exclude:
28 | - "^docs:"
29 | - "^test:"
30 |
--------------------------------------------------------------------------------
/queries/github/my_most_starred_github_repository.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "My most starred GitHub repository"
3 | description = "Find the repository with the highest number of stars for the authenticated user."
4 |
5 | plugins = ["github"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["github", "stars", "repositories", "statistics"]
10 |
11 | arguments = []*/
12 |
13 | SELECT
14 | full_name,
15 | stargazers_count
16 | FROM
17 | github_my_repositories
18 | ORDER BY
19 | stargazers_count DESC
20 | LIMIT
21 | 1;
--------------------------------------------------------------------------------
/queries/discord/list_all_the_roles_in_a_server.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "List all the roles in a server."
3 | description = "Retrieve all roles from a specific Discord server."
4 |
5 | plugins = ["discord"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["discord", "roles", "server"]
10 |
11 | arguments = [
12 | {title="guild_id", display_title = "Guild ID", type="string", description="The ID of the guild (server) to fetch roles from", regex="^[0-9]+$"}
13 | ]*/
14 |
15 | SELECT *
16 | FROM discord_roles
17 | WHERE guild_id = @guild_id;
--------------------------------------------------------------------------------
/queries/notes/which_note_was_created_first.sql:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | title = "Which note was created first?"
4 | description = "Get the note that was created first."
5 |
6 | plugins = ["notes"]
7 |
8 | author = "julien040"
9 |
10 | tags = ["notes", "creation_date", "first_note"]
11 |
12 | arguments = []
13 | */
14 |
15 | SELECT
16 | id,
17 | name,
18 | creation_date,
19 | modification_date,
20 | html_body,
21 | folder,
22 | account
23 | FROM
24 | notes_items
25 | ORDER BY
26 | creation_date ASC
27 | LIMIT 1;
--------------------------------------------------------------------------------
/queries/brave/brave_close_tabs_of_a_specific_domain.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Close tabs of a specific domain"
3 | description = "Close all tabs that belong to a specific domain"
4 |
5 | plugins = ["brave"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["brave", "tabs", "close"]
10 |
11 | arguments = [
12 | {title = "domain", display_title = "Domain", type = "string", description = "The domain of the tabs to close", regex = "^[a-zA-Z0-9.-]+$"}
13 | ]
14 | */
15 |
16 | DELETE FROM brave_tabs
17 | WHERE LOWER(url) LIKE CONCAT('%', LOWER(@domain), '%');
--------------------------------------------------------------------------------
/queries/chrome/chrome_close_tabs_of_a_specific_domain.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Chrome Close tabs of a specific domain"
3 | description = "Close all tabs that belong to a specific domain"
4 |
5 | plugins = ["chrome"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["chrome", "tabs", "management"]
10 |
11 | arguments = [
12 | {title="domain", display_title = "Domain", type="string", description="The domain of the tabs to close", regex="^[a-zA-Z0-9.-]+$"}
13 | ]
14 | */
15 |
16 | DELETE FROM chrome_tabs
17 | WHERE url LIKE CONCAT('%', @domain, '%');
--------------------------------------------------------------------------------
/queries/click_up/list_all_tasks_in_a_specific_list.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "List all tasks in a specific list"
3 | description = "Retrieve all tasks from a specified ClickUp list"
4 |
5 | plugins = ["clickup"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["clickup", "tasks", "list"]
10 |
11 | arguments = [
12 | {title="list_id", display_title = "List ID", type="string", description="The ID of the list to fetch tasks from", regex="^[0-9]+$"}
13 | ]
14 | */
15 |
16 | SELECT
17 | *
18 | FROM
19 | clickup_tasks
20 | WHERE
21 | list_id = @list_id;
--------------------------------------------------------------------------------
/queries/discord/list_all_invites_in_a_server.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "List all invites in a server"
3 | description = "Retrieve all invite links of a server"
4 |
5 | plugins = ["discord"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["discord", "invites", "server"]
10 |
11 | arguments = [
12 | {title="guild_id", display_title="Server ID", type="string", description="The ID of the server to fetch invites from", regex="^[0-9]+$"}
13 | ]
14 | */
15 |
16 | SELECT
17 | *
18 | FROM
19 | discord_invites('guild_id')
20 | WHERE
21 | guild_id = @guild_id;
--------------------------------------------------------------------------------
/queries/edge/edge_close_tabs_of_a_specific_domain.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Edge Close tabs of a specific domain"
3 | description = "Close all tabs from a specific domain in a Chromium-based browser."
4 |
5 | plugins = ["edge"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["edge", "browser", "tabs", "close"]
10 |
11 | arguments = [
12 | {title="domain", display_title = "Domain", type="string", description="The domain whose tabs should be closed", regex="^[a-zA-Z0-9.-]+$"}
13 | ]
14 | */
15 |
16 | DELETE FROM edge_tabs
17 | WHERE url LIKE CONCAT('%', @domain, '%');
--------------------------------------------------------------------------------
/plugins/github/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/julien040/anyquery/rpc"
5 | )
6 |
7 | func main() {
8 | plugin := rpc.NewPlugin(myRepoCreator, repoListByUserCreator, commitsCreator, issuesCreator, pullRequestsCreator,
9 | releaseCreator, branchesCreator, contributorsCreator, tagsCreator, followersCreator, myFollowerCreator,
10 | followingCreator, my_followingCreator, starsCreator, my_starsCreator, gistsCreator, my_gistsCreator, comments_from_issueCreator,
11 | my_issuesCreator, stargazers_repoCreator)
12 | plugin.Serve()
13 | }
14 |
--------------------------------------------------------------------------------
/queries/system/list_the_child_processes_of_a_process.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "List the child processes of a process"
3 | description = "Get a list of all child processes of a given process ID"
4 |
5 | plugins = ["system"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["system", "processes", "child processes"]
10 |
11 | arguments = [
12 | {title="parent_pid", display_title = "Parent Process ID", type="int", description="The process ID of the parent process", regex="^\\d+$"}
13 | ]
14 | */
15 |
16 | SELECT *
17 | FROM system_processes
18 | WHERE parent_pid = @parent_pid;
--------------------------------------------------------------------------------
/plugins/nylas/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 | binary: nylas
17 | id: anyquery
18 | ldflags: "-s -w"
19 |
20 | goarch:
21 | - amd64
22 | - arm64
23 |
24 | archives:
25 | - format: binary
26 |
27 | changelog:
28 | sort: asc
29 | filters:
30 | exclude:
31 | - "^docs:"
32 | - "^test:"
33 |
--------------------------------------------------------------------------------
/plugins/system/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/julien040/anyquery/rpc"
5 | )
6 |
7 | func main() {
8 | plugin := rpc.NewPlugin(
9 | processesCreator,
10 | process_statusCreator,
11 | process_memoryCreator,
12 | process_filesCreator,
13 | process_networksCreator,
14 | process_statsCreator,
15 | cpu_infosCreator,
16 | cpu_statsCreator,
17 | swapsCreator,
18 | memory_statsCreator,
19 | partitionsCreator,
20 | partition_usageCreator,
21 | network_interfacesCreator,
22 | network_statsCreator,
23 | )
24 | plugin.Serve()
25 | }
26 |
--------------------------------------------------------------------------------
/queries/discord/how_many_people_were_banned_in_a_server.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "How many people were banned in a server?"
3 | description = "Count the number of users who have been banned from a specific Discord server."
4 |
5 | plugins = ["discord"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["discord", "bans", "server"]
10 |
11 | arguments = [
12 | {title="guild_id", display_title = "Server ID", type="string", description="The ID of the Discord server", regex="^[0-9]+$"}
13 | ]
14 | */
15 |
16 | SELECT COUNT(*) as banned_users
17 | FROM discord_bans
18 | WHERE id = @guild_id;
--------------------------------------------------------------------------------
/queries/github/issues-assigned.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Which open issues are assigned to me?"
3 | description = "Discover the issues assigned to you"
4 |
5 | plugins = ["github"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["github", "issues", "assigned"]
10 |
11 | */
12 | SELECT
13 | '#' || "number" as id,
14 | by,
15 | created_at,
16 | title,
17 | repository,
18 | 'https://github.com/' || repository || '/issues/' || "number" as url
19 | FROM
20 | github_my_issues ('assigned')
21 | WHERE
22 | state <> 'closed'
23 | AND is_pull_request = false;
--------------------------------------------------------------------------------
/plugins/docker/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 | binary: docker
17 | id: anyquery
18 | ldflags: "-s -w"
19 |
20 | goarch:
21 | - amd64
22 | - arm64
23 |
24 | archives:
25 | - format: binary
26 |
27 | changelog:
28 | sort: asc
29 | filters:
30 | exclude:
31 | - "^docs:"
32 | - "^test:"
33 |
--------------------------------------------------------------------------------
/plugins/shopify/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 | binary: shopify
17 | id: anyquery
18 | ldflags: "-s -w"
19 |
20 | goarch:
21 | - amd64
22 | - arm64
23 |
24 | archives:
25 | - format: binary
26 |
27 | changelog:
28 | sort: asc
29 | filters:
30 | exclude:
31 | - "^docs:"
32 | - "^test:"
33 |
--------------------------------------------------------------------------------
/plugins/todoist/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 | binary: todoist
17 | id: anyquery
18 | ldflags: "-s -w"
19 |
20 | goarch:
21 | - amd64
22 | - arm64
23 |
24 | archives:
25 | - format: binary
26 |
27 | changelog:
28 | sort: asc
29 | filters:
30 | exclude:
31 | - "^docs:"
32 | - "^test:"
33 |
--------------------------------------------------------------------------------
/plugins/trello/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 | binary: trello
17 | id: anyquery
18 | ldflags: "-s -w"
19 |
20 | goarch:
21 | - amd64
22 | - arm64
23 |
24 | archives:
25 | - format: binary
26 |
27 | changelog:
28 | sort: asc
29 | filters:
30 | exclude:
31 | - "^docs:"
32 | - "^test:"
33 |
--------------------------------------------------------------------------------
/plugins/vercel/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 | binary: vercel
17 | id: anyquery
18 | ldflags: "-s -w"
19 |
20 | goarch:
21 | - amd64
22 | - arm64
23 |
24 | archives:
25 | - format: binary
26 |
27 | changelog:
28 | sort: asc
29 | filters:
30 | exclude:
31 | - "^docs:"
32 | - "^test:"
33 |
--------------------------------------------------------------------------------
/plugins/salesforce_custom/salesforce_custom.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "fmt"
5 |
6 | "github.com/julien040/anyquery/plugins/salesforce/api"
7 | "github.com/julien040/anyquery/rpc"
8 | )
9 |
10 | func salesforce_customCreator(args rpc.TableCreatorArgs) (rpc.Table, *rpc.DatabaseSchema, error) {
11 | // Get the sObject name from the arguments
12 | sObject := args.UserConfig.GetString("sObject")
13 | if sObject == "" {
14 | return nil, nil, fmt.Errorf("sObject must be set in the table configuration")
15 | }
16 |
17 | return api.TableFactory(sObject)(args)
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/queries/github/stargazers-github-repo.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Who are the stargazers of a GitHub repository?"
3 | description = "List the users who starred a GitHub repository"
4 |
5 | plugins = ["github"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["github", "stars"]
10 |
11 | arguments = [
12 | {title="repository", display_title = "Repository name (owner/repo format)", type="string", description="The repository to fetch stars from (owner/repo)", regex="^[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+$"}
13 | ]
14 | */
15 | SELECT
16 | *
17 | FROM
18 | github_stargazers_from_repository (@repository);
--------------------------------------------------------------------------------
/namespace/helper.go:
--------------------------------------------------------------------------------
1 | package namespace
2 |
3 | import "strings"
4 |
5 | // GetTableName returns the table name for a given plugin, table and profile
6 | //
7 | // The table name is constructed by concatenating the plugin, table and profile
8 | func GetTableName(plugin string, table string, profile string) string {
9 | builder := strings.Builder{}
10 | if profile != "default" {
11 | builder.WriteString(profile)
12 | builder.WriteString("_")
13 | }
14 | builder.WriteString(plugin)
15 | builder.WriteString("_")
16 | builder.WriteString(table)
17 |
18 | return builder.String()
19 | }
20 |
--------------------------------------------------------------------------------
/plugins/google_tasks/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 | binary: google_tasks
17 | id: anyquery
18 | ldflags: "-s -w"
19 |
20 | goarch:
21 | - amd64
22 | - arm64
23 |
24 | archives:
25 | - format: binary
26 |
27 | changelog:
28 | sort: asc
29 | filters:
30 | exclude:
31 | - "^docs:"
32 | - "^test:"
33 |
--------------------------------------------------------------------------------
/queries/notes/how_many_notes_are_contained_in_a_folder.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "How many notes are contained in a folder?"
3 | description = "Get the count of notes in a specific folder"
4 |
5 | plugins = ["notes"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["notes", "folder", "count"]
10 |
11 | arguments = [
12 | {title="folder_name", display_title = "Folder Name", type="string", description="The name of the folder to count notes in", regex=".*"}
13 | ]
14 | */
15 |
16 | SELECT
17 | COUNT(*) AS notes_count
18 | FROM
19 | notes_items
20 | WHERE
21 | LOWER(folder) = LOWER(@folder_name);
--------------------------------------------------------------------------------
/queries/system/what-s_the_pid_of_a_process.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "What's the PID of a process?"
3 | description = "Find the Process ID (PID) of a running process by its name"
4 |
5 | plugins = ["system"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["process", "pid", "system"]
10 |
11 | arguments = [
12 | {title="process_name", display_title="Process Name", type="string", description="The name of the process to find the PID for", regex="^[a-zA-Z0-9_-]+$"}
13 | ]
14 | */
15 |
16 | SELECT
17 | pid
18 | FROM
19 | system_processes
20 | WHERE
21 | LOWER(name) = LOWER(@process_name);
--------------------------------------------------------------------------------
/website/src/content/docs/docs/reference/Commands/anyquery_connection_remove.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: anyquery connection remove
3 | description: Learn how to use the anyquery connection remove command in Anyquery.
4 | ---
5 |
6 | Remove a connection
7 |
8 | ```bash
9 | anyquery connection remove [flags]
10 | ```
11 |
12 | ### Options
13 |
14 | ```bash
15 | -c, --config string Path to the configuration database
16 | -h, --help help for remove
17 | ```
18 |
19 | ### SEE ALSO
20 |
21 | * [anyquery connection](../anyquery_connection) - Manage connections to other databases
22 |
--------------------------------------------------------------------------------
/plugins/google_contacts/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 | binary: google_contacts
17 | id: anyquery
18 | ldflags: "-s -w"
19 |
20 | goarch:
21 | - amd64
22 | - arm64
23 |
24 | archives:
25 | - format: binary
26 |
27 | changelog:
28 | sort: asc
29 | filters:
30 | exclude:
31 | - "^docs:"
32 | - "^test:"
33 |
--------------------------------------------------------------------------------
/queries/system/list_the_open_files_of_a_process.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "List the open files of a process"
3 | description = "Retrieve the list of files opened by a specific process."
4 |
5 | plugins = ["system"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["system", "process", "files", "open files"]
10 |
11 | arguments = [
12 | {title="pid", display_title = "Process ID", type="int", description="The process ID to fetch the open files for", regex="^\\d+$"}
13 | ]
14 | */
15 |
16 | SELECT
17 | path,
18 | file_descriptor
19 | FROM
20 | system_process_files
21 | WHERE
22 | pid = @pid;
--------------------------------------------------------------------------------
/website/src/content/docs/docs/reference/Commands/anyquery_tool_dev.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: anyquery tool dev
3 | description: Learn how to use the anyquery tool dev command in Anyquery.
4 | ---
5 |
6 | Development tools
7 |
8 | ### Options
9 |
10 | ```bash
11 | -h, --help help for dev
12 | ```
13 |
14 | ### SEE ALSO
15 |
16 | * [anyquery tool](../anyquery_tool) - Tools to help you with using anyquery
17 | * [anyquery tool dev init](../anyquery_tool_dev_init) - Initialize a new plugin
18 | * [anyquery tool dev new-table](../anyquery_tool_dev_new-table) - Write the boilerplate for a new table
19 |
--------------------------------------------------------------------------------
/website/src/content/docs/docs/reference/Commands/anyquery_tool_hashdir.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: anyquery tool hashdir
3 | description: Learn how to use the anyquery tool hashdir command in Anyquery.
4 | ---
5 |
6 | Hash a directory
7 |
8 | ### Synopsis
9 |
10 | Hash a directory and return a value that can be used in a plugin manifest.
11 |
12 | ```bash
13 | anyquery tool hashdir [dir] [flags]
14 | ```
15 |
16 | ### Options
17 |
18 | ```bash
19 | -h, --help help for hashdir
20 | ```
21 |
22 | ### SEE ALSO
23 |
24 | * [anyquery tool](../anyquery_tool) - Tools to help you with using anyquery
25 |
--------------------------------------------------------------------------------
/queries/brave/brave_close_tabs_that_contain_a_specific_keyword_in_the_title.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Close tabs that contain a specific keyword in the title"
3 | description = "Close all tabs in the Brave browser that have a specific keyword in their title"
4 |
5 | plugins = ["brave"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["brave", "tabs", "close"]
10 |
11 | arguments = [
12 | {title="keyword", display_title = "Keyword", type="string", description="Keyword to find in the tab titles", regex=".*"}
13 | ]*/
14 |
15 | DELETE FROM brave_tabs
16 | WHERE LOWER(title) LIKE LOWER(CONCAT('%', @keyword, '%'));
--------------------------------------------------------------------------------
/queries/discord/list_all_the_channels_in_a_server.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "List all the channels in a server"
3 | description = "Get all channels of a specific Discord server, ordered by their positions."
4 | plugins = ["discord"]
5 | author = "julien040"
6 | tags = ["discord", "channels", "server"]
7 | arguments = [
8 | {title="guild_id", display_title = "Guild ID", type="string", description="The ID of the server to fetch channels from", regex="^[0-9]+$"}
9 | ]
10 | */
11 |
12 | SELECT
13 | *
14 | FROM
15 | discord_channels
16 | WHERE
17 | guild_id = @guild_id
18 | ORDER BY
19 | position;
--------------------------------------------------------------------------------
/queries/edge/edge_close_tabs_of_a_domain_different_than_the_specified_one.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Close tabs of a domain different than the specified one"
3 | description = "Close all tabs that do not belong to the specified domain"
4 |
5 | plugins = ["edge"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["edge", "tabs", "close", "domain"]
10 |
11 | arguments = [
12 | {title="domain", display_title = "Domain", type="string", description="The domain to keep tabs open for", regex="^[a-zA-Z0-9.-]+$"}
13 | ]
14 | */
15 |
16 | DELETE FROM edge_tabs
17 | WHERE LOWER(url) NOT LIKE CONCAT('%', LOWER(@domain), '%');
--------------------------------------------------------------------------------
/queries/github/pull-request-assigned.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Which open pull requests are assigned to me?"
3 | description = "Discover the pull requests assigned to you"
4 |
5 | plugins = ["github"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["github", "pull requests", "assigned"]
10 |
11 | */
12 | SELECT
13 | '#' || "number" as id,
14 | by,
15 | created_at,
16 | title,
17 | repository,
18 | 'https://github.com/' || repository || '/issues/' || "number" as url
19 | FROM
20 | github_my_issues ('assigned')
21 | WHERE
22 | state <> 'closed'
23 | AND is_pull_request = true;
--------------------------------------------------------------------------------
/queries/docker/list_the_top_n_biggest_images.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "List the top n biggest images"
3 | description = "Get the top n biggest Docker images sorted by their size"
4 |
5 | plugins = ["docker"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["docker", "images", "size"]
10 |
11 | arguments = [
12 | {title="n", display_title = "Number of images", type="int", description="The number of top biggest images to display", regex="^[0-9]+$"}
13 | ]
14 | */
15 |
16 | SELECT
17 | id,
18 | repo_tags,
19 | size
20 | FROM
21 | docker_images
22 | ORDER BY
23 | size DESC
24 | LIMIT
25 | @n;
--------------------------------------------------------------------------------
/queries/edge/edge_close_tabs_that_contain_a_specific_keyword_in_the_title.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Close tabs with a specific keyword in the title"
3 | description = "Close all tabs that contain a given keyword in their title"
4 |
5 | plugins = ["edge"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["edge", "tabs", "close"]
10 |
11 | arguments = [
12 | {title="keyword", display_title = "Keyword", type="string", description="The keyword to search for in the tab titles", regex="^.*$"}
13 | ]
14 | */
15 |
16 | DELETE FROM
17 | edge_tabs
18 | WHERE
19 | LOWER(title) LIKE LOWER(CONCAT('%', @keyword, '%'));
--------------------------------------------------------------------------------
/queries/notes/list_notes_that_contain_a_particular_word.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "List notes that contain a particular word"
3 | description = "Retrieve all notes that contain a specific word in their content"
4 | plugins = ["notes"]
5 | author = "julien040"
6 | tags = ["notes", "content search"]
7 | arguments = [
8 | {title="word", display_title = "Word to search for", type="string", description="The word to search for in the notes", regex="^[a-zA-Z0-9]+$"}
9 | ]
10 | */
11 |
12 | SELECT
13 | *
14 | FROM
15 | notes_items
16 | WHERE
17 | LOWER(html_body) LIKE CONCAT('%', LOWER(@word), '%');
18 |
--------------------------------------------------------------------------------
/queries/reminders/set_to_complete_all_reminders_in_a_list.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Set all reminders in a list to complete"
3 | description = "Mark all reminders in a specified list as completed"
4 |
5 | plugins = ["reminders"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["reminders", "update", "completion"]
10 |
11 | arguments = [
12 | {title="list_name", display_title = "List Name", type="string", description="The name of the list where reminders will be marked as completed", regex="^[a-zA-Z0-9_ ]+$"}
13 | ]*/
14 |
15 | UPDATE reminders_items
16 | SET completed = 1
17 | WHERE LOWER(list) = LOWER(@list_name);
--------------------------------------------------------------------------------
/queries/brave/brave_close_tabs_of_a_domain_different_than_the_specified_one.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Close tabs of a domain different than the specified one"
3 | description = "Close all tabs that do not belong to the specified domain"
4 |
5 | plugins = ["brave"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["brave", "tabs", "management"]
10 |
11 | arguments = [
12 | {title="domain", display_title = "Domain", type="string", description="The domain to keep tabs open for", regex="^[a-zA-Z0-9.-]+$"}
13 | ]
14 | */
15 |
16 | DELETE FROM brave_tabs
17 | WHERE
18 | LOWER(url) NOT LIKE CONCAT('%', LOWER(@domain), '%');
--------------------------------------------------------------------------------
/queries/docker/list_all_images_that_don-t_have_a_container.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "List all images that don't have a container"
3 | description = "Get all Docker images that are not used by any containers"
4 |
5 | plugins = ["docker"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["docker", "images", "containers", "unused"]
10 |
11 | arguments = []
12 | */
13 |
14 | SELECT
15 | id,
16 | created_at,
17 | labels,
18 | parent_id,
19 | repo_tags,
20 | repo_digests,
21 | container_count,
22 | shared_size,
23 | size
24 | FROM
25 | docker_images
26 | WHERE
27 | container_count = 0;
--------------------------------------------------------------------------------
/website/src/content/docs/docs/reference/Commands/anyquery_connection_add.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: anyquery connection add
3 | description: Learn how to use the anyquery connection add command in Anyquery.
4 | ---
5 |
6 | Add a connection
7 |
8 | ```bash
9 | anyquery connection add [filter] [flags]
10 | ```
11 |
12 | ### Options
13 |
14 | ```bash
15 | -c, --config string Path to the configuration database
16 | -h, --help help for add
17 | ```
18 |
19 | ### SEE ALSO
20 |
21 | * [anyquery connection](../anyquery_connection) - Manage connections to other databases
22 |
--------------------------------------------------------------------------------
/queries/chrome/chrome_close_tabs_of_a_domain_different_than_the_specified_one.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Chrome Close tabs of a domain different than the specified one"
3 | description = "Close all tabs from a domain that is different from the specified one"
4 |
5 | plugins = ["chrome"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["chrome", "tabs", "close"]
10 |
11 | arguments = [
12 | {title="domain", display_title = "Domain", type="string", description="The domain to keep tabs open for", regex="^[a-zA-Z0-9.-]+$"}
13 | ]*/
14 |
15 | DELETE FROM chrome_tabs
16 | WHERE LOWER(url) NOT LIKE CONCAT('%', LOWER(@domain), '%');
--------------------------------------------------------------------------------
/queries/click_up/list_all_tasks_that_are_due_today.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "List all tasks that are due today"
3 | description = "Retrieve all tasks from a specific list that have a due date set to today."
4 |
5 | plugins = ["clickup"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["clickup", "tasks", "due date"]
10 |
11 | arguments = [
12 | {title="list_id", display_title="List ID", type="string", description="The ID of the list to fetch tasks from", regex="^[a-zA-Z0-9_-]+$"}
13 | ]
14 | */
15 |
16 | SELECT
17 | *
18 | FROM
19 | clickup_tasks
20 | WHERE
21 | list_id = @list_id
22 | AND date(due_at) = date('now');
--------------------------------------------------------------------------------
/queries/click_up/list_all_tasks_that_are_overdue.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "List all tasks that are overdue"
3 | description = "Retrieve all tasks that are overdue in a given list"
4 | plugins = ["clickup"]
5 | author = "julien040"
6 | tags = ["clickup", "tasks", "overdue"]
7 | arguments = [
8 | {title="list_id", display_title = "List ID", type="string", description="The ID of the list to fetch tasks from", regex="^[0-9]+$"}
9 | ]
10 | */
11 |
12 | SELECT
13 | *
14 | FROM
15 | clickup_tasks
16 | WHERE
17 | list_id = @list_id
18 | AND due_at < datetime('now')
19 | AND (status IS NULL OR LOWER(status) != 'closed');
--------------------------------------------------------------------------------
/queries/system/what_are_the_most_memory_demanding_processes_on_the_system.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "What are the most memory demanding processes on the system?"
3 | description = "List the processes that consume the most memory on the system"
4 | plugins = ["system"]
5 | author = "julien040"
6 | tags = ["system", "memory", "processes", "statistics"]
7 | arguments = []
8 | */
9 |
10 | SELECT
11 | p.pid,
12 | p.name,
13 | m.resident_set_size,
14 | m.virtual_memory_size
15 | FROM
16 | system_processes p
17 | JOIN system_process_memory m ON p.pid = m.pid
18 | ORDER BY
19 | m.resident_set_size DESC
20 | LIMIT
21 | 10;
--------------------------------------------------------------------------------
/queries/chrome/chrome_close_tabs_that_contain_a_specific_keyword_in_the_title.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Close tabs that contain a specific keyword in the title"
3 | description = "Close all tabs in a Chromium-based browser where the title contains a specified keyword"
4 |
5 | plugins = ["chrome"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["chrome", "tabs", "close"]
10 |
11 | arguments = [
12 | {title="keyword", display_title = "Keyword", type="string", description="Keyword to search for in the tab titles", regex=".*"}
13 | ]
14 | */
15 |
16 | DELETE FROM
17 | chrome_tabs
18 | WHERE
19 | LOWER(title) LIKE CONCAT('%', LOWER(@keyword), '%');
--------------------------------------------------------------------------------
/plugins/coda/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 | binary: coda
17 | id: anyquery
18 | ldflags: "-s -w"
19 | flags: # To ensure reproducible builds
20 | - -trimpath
21 |
22 | goarch:
23 | - amd64
24 | - arm64
25 |
26 | archives:
27 | - format: binary
28 |
29 | changelog:
30 | sort: asc
31 | filters:
32 | exclude:
33 | - "^docs:"
34 | - "^test:"
35 |
--------------------------------------------------------------------------------
/queries/discord/how_many_messages_were_sent_in_a_channel.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "How many messages were sent in a channel?"
3 | description = "Get the total number of messages sent in a specific Discord channel."
4 |
5 | plugins = ["discord"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["discord", "messages", "statistics"]
10 |
11 | arguments = [
12 | {title = "channel_id", display_title = "Channel ID", type = "string", description = "The ID of the channel to count messages from", regex = "^[0-9]+$"}
13 | ]
14 | */
15 |
16 | SELECT
17 | COUNT(*) as total_messages
18 | FROM
19 | discord_messages
20 | WHERE
21 | channel_id = @channel_id;
--------------------------------------------------------------------------------
/plugins/asana/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 | binary: asana
17 | id: anyquery
18 | ldflags: "-s -w"
19 | flags: # To ensure reproducible builds
20 | - -trimpath
21 |
22 | goarch:
23 | - amd64
24 | - arm64
25 |
26 | archives:
27 | - format: binary
28 |
29 | changelog:
30 | sort: asc
31 | filters:
32 | exclude:
33 | - "^docs:"
34 | - "^test:"
35 |
--------------------------------------------------------------------------------
/plugins/carddav/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 | binary: carddav
17 | id: anyquery
18 | ldflags: "-s -w"
19 | flags: # To ensure reproducible builds
20 | - -trimpath
21 |
22 | goarch:
23 | - amd64
24 | - arm64
25 |
26 | archives:
27 | - format: binary
28 |
29 | changelog:
30 | sort: asc
31 | filters:
32 | exclude:
33 | - "^docs:"
34 | - "^test:"
35 |
--------------------------------------------------------------------------------
/plugins/discord/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 | binary: discord
17 | id: anyquery
18 | ldflags: "-s -w"
19 | flags: # To ensure reproducible builds
20 | - -trimpath
21 |
22 | goarch:
23 | - amd64
24 | - arm64
25 |
26 | archives:
27 | - format: binary
28 |
29 | changelog:
30 | sort: asc
31 | filters:
32 | exclude:
33 | - "^docs:"
34 | - "^test:"
35 |
--------------------------------------------------------------------------------
/plugins/hubspot/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 | binary: hubspot
17 | id: anyquery
18 | ldflags: "-s -w"
19 | flags: # To ensure reproducible builds
20 | - -trimpath
21 |
22 | goarch:
23 | - amd64
24 | - arm64
25 |
26 | archives:
27 | - format: binary
28 |
29 | changelog:
30 | sort: asc
31 | filters:
32 | exclude:
33 | - "^docs:"
34 | - "^test:"
35 |
--------------------------------------------------------------------------------
/plugins/system/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 | binary: system
17 | id: anyquery
18 | ldflags: "-s -w"
19 | flags: # To ensure reproducible builds
20 | - -trimpath
21 |
22 | goarch:
23 | - amd64
24 | - arm64
25 |
26 | archives:
27 | - format: binary
28 |
29 | changelog:
30 | sort: asc
31 | filters:
32 | exclude:
33 | - "^docs:"
34 | - "^test:"
35 |
--------------------------------------------------------------------------------
/plugins/click_up/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 | binary: click_up
17 | id: anyquery
18 | ldflags: "-s -w"
19 | flags: # To ensure reproducible builds
20 | - -trimpath
21 |
22 | goarch:
23 | - amd64
24 | - arm64
25 |
26 | archives:
27 | - format: binary
28 |
29 | changelog:
30 | sort: asc
31 | filters:
32 | exclude:
33 | - "^docs:"
34 | - "^test:"
35 |
--------------------------------------------------------------------------------
/plugins/readwise/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 | binary: readwise
17 | id: anyquery
18 | ldflags: "-s -w"
19 | flags: # To ensure reproducible builds
20 | - -trimpath
21 |
22 | goarch:
23 | - amd64
24 | - arm64
25 |
26 | archives:
27 | - format: binary
28 |
29 | changelog:
30 | sort: asc
31 | filters:
32 | exclude:
33 | - "^docs:"
34 | - "^test:"
35 |
--------------------------------------------------------------------------------
/plugins/readwise/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/go-resty/resty/v2"
5 | "github.com/hashicorp/go-retryablehttp"
6 | "github.com/julien040/anyquery/rpc"
7 | )
8 |
9 | var retry = retryablehttp.NewClient()
10 | var client = resty.NewWithClient(retry.StandardClient())
11 |
12 | func main() {
13 | retry.Backoff = retryablehttp.DefaultBackoff
14 | retry.RetryMax = 8
15 | plugin := rpc.NewPlugin(highlightsCreator, documentsCreator)
16 | plugin.Serve()
17 | }
18 |
19 | func stringInSlice(a string, list []string) bool {
20 | for _, b := range list {
21 | if b == a {
22 | return true
23 | }
24 | }
25 | return false
26 | }
27 |
--------------------------------------------------------------------------------
/website/public/icons/logs.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/salesforce/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 | binary: salesforce
17 | id: anyquery
18 | ldflags: "-s -w"
19 | flags: # To ensure reproducible builds
20 | - -trimpath
21 |
22 | goarch:
23 | - amd64
24 | - arm64
25 |
26 | archives:
27 | - format: binary
28 |
29 | changelog:
30 | sort: asc
31 | filters:
32 | exclude:
33 | - "^docs:"
34 | - "^test:"
35 |
--------------------------------------------------------------------------------
/queries/discord/who_is_the_first_user_to_join_a_server.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Who is the first user to join a server?"
3 | description = "Find the first user to join a specified Discord server."
4 |
5 | plugins = ["discord"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["discord", "members", "joined"]
10 |
11 | arguments = [
12 | {title="guild_id", display_title="Guild ID", type="string", description="The ID of the server to check", regex="^[0-9]+$"}
13 | ]
14 | */
15 |
16 | SELECT
17 | username,
18 | user_id,
19 | joined_at
20 | FROM
21 | discord_members
22 | WHERE
23 | guild_id = @guild_id
24 | ORDER BY
25 | joined_at ASC
26 | LIMIT 1;
--------------------------------------------------------------------------------
/queries/discord/who_is_the_last_user_to_join_a_server.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Who is the last user to join a server?"
3 | description = "Get the most recent user to join a Discord server"
4 |
5 | plugins = ["discord"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["discord", "members", "recent"]
10 |
11 | arguments = [
12 | {title="guild_id", display_title="Guild ID", type="string", description="The ID of the Discord server", regex="^[0-9]+$"}
13 | ]
14 | */
15 |
16 | SELECT
17 | user_id,
18 | username,
19 | joined_at
20 | FROM
21 | discord_members
22 | WHERE
23 | guild_id = @guild_id
24 | ORDER BY
25 | datetime(joined_at) DESC
26 | LIMIT 1;
--------------------------------------------------------------------------------
/queries/file/find_the_files_that_match_a_specific_pattern.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Find files matching a specific pattern"
3 | description = "Retrieve a list of files that match a specific pattern in their names"
4 |
5 | plugins = ["file"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["file", "search", "pattern"]
10 |
11 | arguments = [
12 | {title="pattern", display_title = "File name pattern", type="string", description="The pattern to search for in file names", regex=".*"}
13 | ]
14 | */
15 |
16 | SELECT
17 | path,
18 | file_name,
19 | file_type,
20 | size,
21 | last_modified,
22 | is_directory
23 | FROM
24 | file_search(@pattern);
--------------------------------------------------------------------------------
/queries/git/how_many_commits_were_made_in_the_last_week.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "How many commits were made in the last week?"
3 | description = "Count the number of commits made in the last week in a Git repository."
4 |
5 | plugins = ["git"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["git", "commits", "statistics"]
10 |
11 | arguments = [
12 | {title="repository", display_title = "Repository Path", type="string", description="The path to the local or remote Git repository", regex=".*"}
13 | ]
14 | */
15 |
16 | SELECT
17 | COUNT(*) AS commit_count
18 | FROM
19 | git_commits(@repository)
20 | WHERE
21 | DATE(author_date) >= DATE('now', '-7 days');
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Security Policy
2 |
3 | ## Supported Versions
4 |
5 | As Anyquery is in active development and not yet in a stable release, don't expect any LTS versions.
6 | The only supported version is the last one, and users are expected to update their software to the latest version.
7 |
8 | ## Reporting a Vulnerability
9 |
10 | To report a vulnerability, please send an email to [contact@anyquery.dev](mailto:contact@anyquery.dev).
11 | Never open an issue for it.
12 |
13 | Please don't expect any bounty as Anyquery has an annual budget of $10 (for the domain name).
14 | I would love to provide some but Anyquery is a small open-source project without any funding.
15 |
--------------------------------------------------------------------------------
/plugins/salesforce_custom/.goreleaser.yaml:
--------------------------------------------------------------------------------
1 |
2 | version: 2
3 |
4 | before:
5 | hooks:
6 | # You may remove this if you don't use go modules.
7 | - go mod tidy
8 |
9 | builds:
10 | - env:
11 | - CGO_ENABLED=0
12 | goos:
13 | - linux
14 | - windows
15 | - darwin
16 | binary: salesforce_custom
17 | id: anyquery
18 | ldflags: "-s -w"
19 | flags: # To ensure reproducible builds
20 | - -trimpath
21 |
22 | goarch:
23 | - amd64
24 | - arm64
25 |
26 | archives:
27 | - format: binary
28 |
29 | changelog:
30 | sort: asc
31 | filters:
32 | exclude:
33 | - "^docs:"
34 | - "^test:"
35 |
--------------------------------------------------------------------------------
/queries/system/how_many_instances_of_a_process_are_running_on_the_system.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "How many instances of a process are running on the system?"
3 | description = "Count the number of instances of a specific process running on the system"
4 | plugins = ["system"]
5 | author = "julien040"
6 | tags = ["system", "process", "count"]
7 | arguments = [
8 | {title="process_name", display_title = "Process Name", type="string", description="The name of the process to count instances for", regex="^[a-zA-Z0-9_-]+$"}
9 | ]
10 | */
11 |
12 | SELECT
13 | count(*) as instance_count
14 | FROM
15 | system_processes
16 | WHERE
17 | LOWER(name) = LOWER(@process_name);
--------------------------------------------------------------------------------
/website/src/content/docs/docs/reference/Commands/anyquery_tool_generate-doc.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: anyquery tool generate-doc
3 | description: Learn how to use the anyquery tool generate-doc command in Anyquery.
4 | ---
5 |
6 | Generate the markdown documentation of the CLI
7 |
8 | ```bash
9 | anyquery tool generate-doc [dir] [flags]
10 | ```
11 |
12 | ### Examples
13 |
14 | ```bash
15 | # Generate the doc in the docs directory
16 | anyquery tool generate-doc docs
17 | ```
18 |
19 | ### Options
20 |
21 | ```bash
22 | -h, --help help for generate-doc
23 | ```
24 |
25 | ### SEE ALSO
26 |
27 | * [anyquery tool](../anyquery_tool) - Tools to help you with using anyquery
28 |
--------------------------------------------------------------------------------
/plugins/notion/database_delete.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "context"
5 | "fmt"
6 |
7 | "github.com/jomei/notionapi"
8 | )
9 |
10 | func (t *table) Delete(primaryKeys []interface{}) error {
11 | for _, pk := range primaryKeys {
12 | primaryKey, ok := pk.(string)
13 | if !ok {
14 | return fmt.Errorf("invalid page id: %v", pk)
15 | }
16 |
17 | _, err := t.client.Page.Update(context.Background(), notionapi.PageID(primaryKey), ¬ionapi.PageUpdateRequest{
18 | Archived: true,
19 | Properties: map[string]notionapi.Property{},
20 | })
21 | if err != nil {
22 | return err
23 | }
24 | }
25 |
26 | clearCache(t.cacheDB)
27 | return nil
28 | }
29 |
--------------------------------------------------------------------------------
/queries/discord/what-s_the_last_message_sent_in_a_channel.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "What's the last message sent in a channel?"
3 | description = "Retrieve the most recent message sent in a specific Discord channel."
4 |
5 | plugins = ["discord"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["discord", "messages", "recent"]
10 |
11 | arguments = [
12 | {title="channel_id", display_title="Channel ID", type="string", description="The ID of the channel to fetch the last message from", regex="^[0-9]+$"}
13 | ]
14 | */
15 |
16 | SELECT
17 | *
18 | FROM
19 | discord_messages
20 | WHERE
21 | channel_id = @channel_id
22 | ORDER BY
23 | created_at DESC
24 | LIMIT
25 | 1;
--------------------------------------------------------------------------------
/plugins/sharedObject/asg017/sqlite-url/manifest.toml:
--------------------------------------------------------------------------------
1 |
2 | name = "@asg017/sqlite-url"
3 | displayName = "sqlite-url"
4 | version = "0.1.1"
5 | description = "A SQLite extension for parsing, generating, and querying URLs and query strings"
6 | author = "asg017"
7 | license = "MIT"
8 | repository = "urls://github.com/asg017/sqlite-url"
9 | homepage = "urls://github.com/asg017/sqlite-url"
10 | type = "sharedObject"
11 | minimumAnyqueryVersion = "0.0.1"
12 |
13 | [[file]]
14 | platform = "linux/amd64"
15 | directory = "linux-amd64"
16 | executablePath = "url0.so"
17 |
18 | [[file]]
19 | platform = "darwin/amd64"
20 | directory = "darwin-amd64"
21 | executablePath = "url0.dylib"
22 |
23 |
--------------------------------------------------------------------------------
/queries/click_up/how_many_tasks_exist_per_status_in_a_specific_list.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "How many tasks exist per status in a specific list?"
3 | description = "Count the number of tasks per status in a given list"
4 |
5 | plugins = ["clickup"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["clickup", "tasks", "status", "count"]
10 |
11 | arguments = [
12 | {title="list_id", display_title = "List ID", type="string", description="The ID of the list to query for tasks", regex="^[a-zA-Z0-9_-]+$"}
13 | ]
14 | */
15 |
16 | SELECT
17 | status,
18 | COUNT(*) AS task_count
19 | FROM
20 | clickup_tasks
21 | WHERE
22 | list_id = @list_id
23 | GROUP BY
24 | status;
--------------------------------------------------------------------------------
/plugins/safari/scripts/listTabs.js:
--------------------------------------------------------------------------------
1 | const app = Application.currentApplication();
2 | app.includeStandardAdditions = true;
3 | const safari = Application("Safari");
4 |
5 | const windows = safari.windows();
6 |
7 | for (const window of windows) {
8 | const windowName = window.name();
9 | const windowIndex = window.index();
10 | const tabs = window.tabs();
11 | if (!tabs) {
12 | continue;
13 | }
14 | for (const tab of tabs) {
15 | console.log(
16 | JSON.stringify({
17 | title: tab.name(),
18 | url: tab.url(),
19 | windowName: windowName,
20 | windowIndex: windowIndex,
21 | index: tab.index(),
22 | visible: tab.visible(),
23 | }),
24 | );
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/queries/discord/what-s_the_first_message_sent_in_a_channel.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "What's the first message sent in a channel?"
3 | description = "Retrieve the first message that was sent in a specified Discord channel."
4 |
5 | plugins = ["discord"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["discord", "messages", "channel"]
10 |
11 | arguments = [
12 | {title="channel_id", display_title = "Channel ID", type="string", description="The ID of the channel to fetch the first message from", regex="^[0-9]+$"}
13 | ]
14 | */
15 |
16 | SELECT
17 | *
18 | FROM
19 | discord_messages
20 | WHERE
21 | channel_id = @channel_id
22 | ORDER BY
23 | datetime(created_at) ASC
24 | LIMIT 1;
--------------------------------------------------------------------------------
/queries/system/which_process_has_opened_a_particular_file.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Which process has opened a particular file?"
3 | description = "Find the process that has opened a specific file"
4 |
5 | plugins = ["system"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["system", "process", "files"]
10 |
11 | arguments = [
12 | {title="file_path", display_title="File Path", type="string", description="The full path of the file to search for", regex="^.*$"}
13 | ]
14 | */
15 |
16 | SELECT
17 | p.pid,
18 | p.name,
19 | p.exe,
20 | p.cmdline
21 | FROM
22 | system_processes p
23 | JOIN system_process_files f ON p.pid = f.pid
24 | WHERE
25 | LOWER(f.path) = LOWER(@file_path);
--------------------------------------------------------------------------------
/website/src/content/docs/docs/reference/Commands/anyquery_alias_delete.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: anyquery alias delete
3 | description: Learn how to use the anyquery alias delete command in Anyquery.
4 | ---
5 |
6 | Delete an alias
7 |
8 | ```bash
9 | anyquery alias delete [alias] [flags]
10 | ```
11 |
12 | ### Examples
13 |
14 | ```bash
15 | anyquery alias delete myalias
16 | ```
17 |
18 | ### Options
19 |
20 | ```bash
21 | -h, --help help for delete
22 | ```
23 |
24 | ### Options inherited from parent commands
25 |
26 | ```bash
27 | -c, --config string Path to the configuration database
28 | ```
29 |
30 | ### SEE ALSO
31 |
32 | * [anyquery alias](../anyquery_alias) - Manage the aliases
33 |
--------------------------------------------------------------------------------
/website/public/icons/ycombinator.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/namespace/collations.go:
--------------------------------------------------------------------------------
1 | package namespace
2 |
3 | import (
4 | "github.com/Masterminds/semver/v3"
5 | "github.com/mattn/go-sqlite3"
6 | )
7 |
8 | func registerCollations(conn *sqlite3.SQLiteConn) {
9 | var collations = []struct {
10 | name string
11 | cmp func(string, string) int
12 | }{
13 | {"semver", semverCollation},
14 | }
15 |
16 | for _, c := range collations {
17 | conn.RegisterCollation(c.name, c.cmp)
18 | }
19 | }
20 |
21 | func semverCollation(a, b string) int {
22 | semverA, err := semver.NewVersion(a)
23 | if err != nil {
24 | return -1
25 | }
26 |
27 | semverB, err := semver.NewVersion(b)
28 | if err != nil {
29 | return 1
30 | }
31 |
32 | return semverA.Compare(semverB)
33 | }
34 |
--------------------------------------------------------------------------------
/queries/github/github-stars-per-day.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "GitHub Stars per day"
3 | description = "Discover the number of stars per day for a given repository ordered by date (recent first)"
4 |
5 | plugins = ["github"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["github", "stars", "statistics"]
10 |
11 | arguments = [
12 | {title="repository", display_title = "Repository name (owner/repo format)", type="string", description="The repository to fetch stars from (owner/repo)", regex="^[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+$"}
13 | ]
14 |
15 | */
16 | SELECT
17 | date (starred_at) AS day,
18 | count(*) as stars
19 | FROM
20 | github_stargazers_from_repository(@repository)
21 | GROUP BY
22 | DAY
23 | ORDER BY
24 | day DESC;
--------------------------------------------------------------------------------
/queries/discord/which_invite_has_been_used_the_most_in_a_server.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Which invite has been used the most in a server?"
3 | description = "Find the most used invite code in a Discord server."
4 |
5 | plugins = ["discord"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["discord", "invites", "statistics"]
10 |
11 | arguments = [
12 | {title="guild_id", display_title = "Server ID", type="string", description="The ID of the server to fetch invites from", regex="^[0-9]+$"}
13 | ]
14 | */
15 |
16 | SELECT
17 | invide_code,
18 | MAX(uses) as uses_count
19 | FROM
20 | discord_invites
21 | WHERE
22 | guild_id = @guild_id
23 | GROUP BY
24 | invide_code
25 | ORDER BY
26 | uses_count DESC
27 | LIMIT
28 | 1;
--------------------------------------------------------------------------------
/queries/github/biggest-starred-repo-per-user-github.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "What are the 10 most-starred repositories of a user?"
3 | description = "Get the 10 repositories with the most stars of a user"
4 |
5 | plugins = ["github"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["github", "stars", "repositories"]
10 |
11 | arguments = [
12 | {title="user", display_title = "GitHub Username", type="string", description="The login username", regex="^[a-zA-Z0-9_-]+$"}
13 | ]
14 | */
15 | SELECT
16 | full_name as repository,
17 | stargazers_count as stars,
18 | forks_count as forks,
19 | html_url as url
20 | FROM
21 | github_repositories_from_user (@user)
22 | ORDER BY
23 | stargazers_count DESC
24 | LIMIT
25 | 10;
--------------------------------------------------------------------------------
/queries/github/list_all_the_branches_of_a_github_repository.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "List all the branches of a GitHub repository"
3 | description = "Get a list of all branches for a specific GitHub repository"
4 |
5 | plugins = ["github"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["github", "branches", "repository"]
10 |
11 | arguments = [
12 | {title="repository", display_title = "Repository name (owner/repo format)", type="string", description="The repository to fetch branches from (owner/repo)", regex="^[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+$"}
13 | ]
14 | */
15 |
16 | SELECT
17 | name,
18 | commit_sha,
19 | protected,
20 | url
21 | FROM
22 | github_branches_from_repository
23 | WHERE
24 | repository = @repository;
--------------------------------------------------------------------------------
/queries/system/what_are_the_most_cpu_demanding_processes_on_the_system.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "What are the most CPU demanding processes on the system?"
3 | description = "Get the processes that are using the most CPU on the system"
4 |
5 | plugins = ["system"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["system", "cpu", "processes", "statistics"]
10 |
11 | arguments = [
12 | {title="limit", display_title = "Limit", type="int", description="The number of processes to return", regex="^[0-9]+$"}
13 | ]
14 | */
15 |
16 | SELECT
17 | p.pid,
18 | p.name,
19 | s.cpu_percent
20 | FROM
21 | system_processes p
22 | JOIN system_process_stats s ON p.pid = s.pid
23 | ORDER BY
24 | s.cpu_percent DESC
25 | LIMIT
26 | @limit;
--------------------------------------------------------------------------------
/website/src/content/docs/docs/reference/Commands/anyquery_connection_list.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: anyquery connection list
3 | description: Learn how to use the anyquery connection list command in Anyquery.
4 | ---
5 |
6 | List the connections
7 |
8 | ```bash
9 | anyquery connection list [flags]
10 | ```
11 |
12 | ### Options
13 |
14 | ```bash
15 | --csv Output format as CSV
16 | --format string Output format (pretty, json, csv, plain)
17 | -h, --help help for list
18 | --json Output format as JSON
19 | --plain Output format as plain text
20 | ```
21 |
22 | ### SEE ALSO
23 |
24 | * [anyquery connection](../anyquery_connection) - Manage connections to other databases
25 |
--------------------------------------------------------------------------------
/queries/click_up/which_tasks_have_a_specific_tag.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Which tasks have a specific tag?"
3 | description = "Retrieve tasks that have a specific tag in a given list"
4 |
5 | plugins = ["clickup"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["clickup", "tasks", "tags", "filters"]
10 |
11 | arguments = [
12 | {title="list_id", display_title = "List ID", type="string", description="The ID of the list to fetch tasks from", regex="^[0-9]+$"},
13 | {title="tag", display_title = "Tag", type="string", description="The tag to filter tasks by", regex="^[a-zA-Z0-9_]+$"}
14 | ]
15 | */
16 |
17 | SELECT
18 | *
19 | FROM
20 | clickup_tasks
21 | WHERE
22 | list_id = @list_id
23 | AND LOWER(tags) LIKE CONCAT('%', LOWER(@tag), '%');
--------------------------------------------------------------------------------
/queries/click_up/list_all_subtasks_of_a_specific_task.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "List all subtasks of a specific task"
3 | description = "Retrieve all subtasks of a given task ID."
4 |
5 | plugins = ["clickup"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["clickup", "subtasks", "tasks"]
10 |
11 | arguments = [
12 | {title="task_id", display_title = "Task ID", type="string", description="The ID of the parent task to retrieve subtasks for.", regex="^[a-zA-Z0-9_-]+$"},
13 | {title="list_id", display_title = "List ID", type="string", description="The ID of the list containing the task.", regex="^[a-zA-Z0-9_-]+$"}
14 | ]
15 | */
16 |
17 | SELECT
18 | *
19 | FROM
20 | clickup_tasks
21 | WHERE
22 | parent = @task_id
23 | AND list_id = @list_id;
--------------------------------------------------------------------------------
/queries/discord/who_sent_the_most_messages_in_a_channel.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Who sent the most messages in a channel?"
3 | description = "Find the user who sent the most messages in a specific Discord channel."
4 |
5 | plugins = ["discord"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["discord", "messages", "statistics"]
10 |
11 | arguments = [
12 | {title="channel_id", display_title = "Channel ID", type="string", description="The ID of the channel to fetch messages from", regex="^[0-9]+$"}
13 | ]
14 | */
15 |
16 | SELECT
17 | username,
18 | COUNT(*) as message_count
19 | FROM
20 | discord_messages
21 | WHERE
22 | channel_id = @channel_id
23 | GROUP BY
24 | username
25 | ORDER BY
26 | message_count DESC
27 | LIMIT
28 | 1;
--------------------------------------------------------------------------------
/website/src/content/docs/docs/reference/Commands/anyquery_registry_remove.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: anyquery registry remove
3 | description: Learn how to use the anyquery registry remove command in Anyquery.
4 | ---
5 |
6 | Remove a registry
7 |
8 | ```bash
9 | anyquery registry remove [flags]
10 | ```
11 |
12 | ### Examples
13 |
14 | ```bash
15 | anyquery registry remove internal_reg
16 | ```
17 |
18 | ### Options
19 |
20 | ```bash
21 | -h, --help help for remove
22 | ```
23 |
24 | ### Options inherited from parent commands
25 |
26 | ```bash
27 | -c, --config string Path to the configuration database
28 | ```
29 |
30 | ### SEE ALSO
31 |
32 | * [anyquery registry](../anyquery_registry) - List the registries where plugins can be downloaded
33 |
--------------------------------------------------------------------------------
/controller/config/model/db.go:
--------------------------------------------------------------------------------
1 | // Code generated by sqlc. DO NOT EDIT.
2 | // versions:
3 | // sqlc v1.26.0
4 |
5 | package model
6 |
7 | import (
8 | "context"
9 | "database/sql"
10 | )
11 |
12 | type DBTX interface {
13 | ExecContext(context.Context, string, ...interface{}) (sql.Result, error)
14 | PrepareContext(context.Context, string) (*sql.Stmt, error)
15 | QueryContext(context.Context, string, ...interface{}) (*sql.Rows, error)
16 | QueryRowContext(context.Context, string, ...interface{}) *sql.Row
17 | }
18 |
19 | func New(db DBTX) *Queries {
20 | return &Queries{db: db}
21 | }
22 |
23 | type Queries struct {
24 | db DBTX
25 | }
26 |
27 | func (q *Queries) WithTx(tx *sql.Tx) *Queries {
28 | return &Queries{
29 | db: tx,
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/queries/reminders/set_to_complete_all_reminders_that_contain_a_particular_word.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Set reminders containing a word as complete"
3 | description = "Mark as complete all reminders that contain a specific word in their name or body"
4 |
5 | plugins = ["reminders"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["reminders", "update", "completion"]
10 |
11 | arguments = [
12 | {title="word", display_title = "Word to search for", type="string", description="The word to search for in the name or body of the reminders", regex="^[a-zA-Z0-9_-]+$"}
13 | ]*/
14 |
15 | UPDATE
16 | reminders_items
17 | SET
18 | completed = 1
19 | WHERE
20 | LOWER(name) LIKE '%' || LOWER(@word) || '%'
21 | OR LOWER(body) LIKE '%' || LOWER(@word) || '%';
--------------------------------------------------------------------------------
/queries/github/most_starred_gist_of_a_github_user.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Most starred gist of a GitHub user"
3 | description = "Find the gist with the most stars for a given GitHub user."
4 |
5 | plugins = ["github"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["github", "gists", "stars", "statistics"]
10 |
11 | arguments = [
12 | {title="username", display_title = "GitHub Username", type="string", description="The GitHub username to fetch gists from", regex="^[a-zA-Z0-9_-]+$"}
13 | ]
14 | */
15 |
16 | SELECT
17 | id,
18 | gist_url,
19 | by,
20 | description,
21 | comments,
22 | created_at,
23 | updated_at
24 | FROM
25 | github_gists_from_user
26 | WHERE
27 | user = @username
28 | ORDER BY
29 | comments DESC
30 | LIMIT
31 | 1;
--------------------------------------------------------------------------------
/plugins/airtable/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "sync"
5 |
6 | "github.com/julien040/anyquery/rpc"
7 | "go.uber.org/ratelimit"
8 | )
9 |
10 | // We need tableCreator to be part of a bigger struct
11 | // so that we can have a global rate limiter for all connections
12 | //
13 | // This is due to Airtable's rate limiting policy of 5 requests per second
14 | // for each base (and not per token)
15 | type tablePlugin struct {
16 | mapMutex sync.Mutex
17 | rateLimiter map[string]ratelimit.Limiter
18 | }
19 |
20 | func main() {
21 | tablePluginInstance := &tablePlugin{
22 | rateLimiter: make(map[string]ratelimit.Limiter),
23 | mapMutex: sync.Mutex{},
24 | }
25 | plugin := rpc.NewPlugin(tablePluginInstance.tableCreator)
26 | plugin.Serve()
27 | }
28 |
--------------------------------------------------------------------------------
/plugins/sharedObject/asg017/sqlite-vss/manifest.toml:
--------------------------------------------------------------------------------
1 |
2 | name = "@asg017/sqlite-vss"
3 | displayName = "sqlite-vss"
4 | version = "0.1.2"
5 | description = "Efficient vector search, based on Faiss"
6 | author = "asg017"
7 | license = "MIT"
8 | repository = "https://github.com/asg017/sqlite-vss"
9 | homepage = "https://github.com/asg017/sqlite-vss"
10 | type = "sharedObject"
11 | minimumAnyqueryVersion = "0.0.1"
12 |
13 | [[file]]
14 | platform = "linux/amd64"
15 | directory = "linux-amd64"
16 | executablePath = "vss0.so"
17 |
18 | [[file]]
19 | platform = "darwin/amd64"
20 | directory = "darwin-amd64"
21 | executablePath = "vss0.dylib"
22 |
23 | [[file]]
24 | platform = "darwin/arm64"
25 | directory = "darwin-arm64"
26 | executablePath = "vss0.dylib"
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/queries/git/which_author_has_the_most_lines_of_code_added_in_the_repository.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Which author has the most lines of code added in the repository?"
3 | description = "Find the author who has added the most lines of code in the repository"
4 |
5 | plugins = ["git"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["git", "author", "statistics"]
10 |
11 | arguments = [
12 | {title = "repository", display_title = "Repository path or URL", type = "string", description = "The path or URL of the repository to analyze", regex = "^.+$"}
13 | ]
14 | */
15 |
16 | SELECT
17 | author_name,
18 | SUM(addition) as total_additions
19 | FROM
20 | git_commits_diff(@repository)
21 | GROUP BY
22 | author_name
23 | ORDER BY
24 | total_additions DESC
25 | LIMIT
26 | 1;
--------------------------------------------------------------------------------
/queries/system/which_process_binds_to_a_particular_port.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Which process binds to a particular port?"
3 | description = "Find the process that is binding to a specific network port"
4 |
5 | plugins = ["system"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["system", "process", "network"]
10 |
11 | arguments = [
12 | {title="port", display_title="Port number", type="int", description="The port number to check which process is binding to it", regex="^[0-9]+$"}
13 | ]
14 | */
15 | SELECT
16 | p.pid,
17 | p.name,
18 | p.cmdline,
19 | n.local_address,
20 | n.remote_address,
21 | n.status
22 | FROM
23 | system_processes p
24 | JOIN system_process_networks n ON p.pid = n.pid
25 | WHERE
26 | json_extract (n.local_address, '$.port') = @port
--------------------------------------------------------------------------------
/website/public/icons/git.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/website/public/icons/github.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/website/src/content/docs/docs/reference/Commands/anyquery_registry_add.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: anyquery registry add
3 | description: Learn how to use the anyquery registry add command in Anyquery.
4 | ---
5 |
6 | Add a new registry
7 |
8 | ```bash
9 | anyquery registry add [name] [url] [flags]
10 | ```
11 |
12 | ### Examples
13 |
14 | ```bash
15 | anyquery registry add internal_reg https://registry.anyquery.dev/v0/registry/
16 | ```
17 |
18 | ### Options
19 |
20 | ```bash
21 | -h, --help help for add
22 | ```
23 |
24 | ### Options inherited from parent commands
25 |
26 | ```bash
27 | -c, --config string Path to the configuration database
28 | ```
29 |
30 | ### SEE ALSO
31 |
32 | * [anyquery registry](../anyquery_registry) - List the registries where plugins can be downloaded
33 |
--------------------------------------------------------------------------------
/queries/click_up/list_all_tasks_assigned_to_a_specific_user_by_userid.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "List all tasks assigned to a specific user"
3 | description = "Retrieve all tasks that are assigned to a specific user using their user ID."
4 |
5 | plugins = ["clickup"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["clickup", "tasks", "user"]
10 |
11 | arguments = [
12 | {title="list_id", display_title = "List ID", type="string", description="The ID of the list to fetch tasks from", regex="^[0-9]+$"},
13 | {title="user_id", display_title = "User ID", type="string", description="The ID of the user to filter tasks by", regex="^[0-9]+$"}
14 | ]
15 | */
16 |
17 | SELECT
18 | *
19 | FROM
20 | clickup_tasks
21 | WHERE
22 | list_id = @list_id
23 | AND assignees LIKE CONCAT('%', @user_id, '%');
--------------------------------------------------------------------------------
/website/src/content/docs/docs/reference/Commands/anyquery_tool.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: anyquery tool
3 | description: Learn how to use the anyquery tool command in Anyquery.
4 | ---
5 |
6 | Tools to help you with using anyquery
7 |
8 | ### Options
9 |
10 | ```bash
11 | -h, --help help for tool
12 | ```
13 |
14 | ### SEE ALSO
15 |
16 | * [anyquery](../anyquery) - A tool to query any data source
17 | * [anyquery tool dev](../anyquery_tool_dev) - Development tools
18 | * [anyquery tool generate-doc](../anyquery_tool_generate-doc) - Generate the markdown documentation of the CLI
19 | * [anyquery tool hashdir](../anyquery_tool_hashdir) - Hash a directory
20 | * [anyquery tool mysql-password](../anyquery_tool_mysql-password) - Hash a password from stdin to be used in an authentification file
21 |
--------------------------------------------------------------------------------
/plugins/sharedObject/nalgeon/sqlean/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | // Enable latest features
4 | "lib": ["ESNext", "DOM"],
5 | "target": "ESNext",
6 | "module": "ESNext",
7 | "moduleDetection": "force",
8 | "jsx": "react-jsx",
9 | "allowJs": true,
10 |
11 | // Bundler mode
12 | "moduleResolution": "bundler",
13 | "allowImportingTsExtensions": true,
14 | "verbatimModuleSyntax": true,
15 | "noEmit": true,
16 |
17 | // Best practices
18 | "strict": true,
19 | "skipLibCheck": true,
20 | "noFallthroughCasesInSwitch": true,
21 |
22 | // Some stricter flags (disabled by default)
23 | "noUnusedLocals": false,
24 | "noUnusedParameters": false,
25 | "noPropertyAccessFromIndexSignature": false
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/queries/click_up/list_all_lists_in_a_specific_space.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "List all lists in a specific space"
3 | description = "Retrieve all the lists within a given space in ClickUp."
4 |
5 | plugins = ["clickup"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["clickup", "lists", "space"]
10 |
11 | arguments = [
12 | {title="space_id", display_title = "Space ID", type="string", description="The ID of the space to retrieve lists from", regex="^[0-9]+$"}
13 | ]
14 | */
15 |
16 | WITH folder_lists AS (
17 | SELECT folder_id, name AS folder_name
18 | FROM clickup_folders
19 | WHERE space_id = @space_id
20 | )
21 | SELECT
22 | fl.folder_name,
23 | l.name AS list_name
24 | FROM
25 | folder_lists fl
26 | JOIN
27 | clickup_lists l
28 | ON
29 | fl.folder_id = l.folder_id;
--------------------------------------------------------------------------------
/queries/discord/how_many_messages_contain_a_particular_word.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "How many messages contain a particular word?"
3 | description = "Count the number of messages in a Discord channel that contain a specific word."
4 |
5 | plugins = ["discord"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["discord", "messages", "count"]
10 |
11 | arguments = [
12 | {title="channel_id", display_title = "Channel ID", type="string", description="The ID of the channel to search messages in.", regex="^[0-9]+$"},
13 | {title="word", display_title = "Word", type="string", description="The word to search for in messages.", regex="^\\S+$"}
14 | ]
15 | */
16 |
17 | SELECT COUNT(*)
18 | FROM discord_messages
19 | WHERE channel_id = @channel_id
20 | AND LOWER(content) LIKE LOWER(CONCAT('%', @word, '%'));
--------------------------------------------------------------------------------
/queries/github/biggest-commit-author-github.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "What are the 10 biggest commit authors on GitHub?"
3 | description = "Get the 10 users with the most commits on GitHub for a given repository"
4 |
5 | plugins = ["github"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["github", "commits", "statistics"]
10 |
11 | arguments = [
12 | {title="repository", display_title = "Repository name (owner/repo format)", type="string", description="The repository to fetch stars from (owner/repo)", regex="^[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+$"}
13 | ]
14 | */
15 | SELECT
16 | author,
17 | author_email,
18 | count(*) as commits
19 | FROM
20 | github_commits_from_repository (@repository)
21 | GROUP BY
22 | author,
23 | author_email
24 | ORDER BY
25 | commits DESC
26 | LIMIT
27 | 10;
--------------------------------------------------------------------------------
/queries/github/list_all_the_contributors_of_a_github_repository.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "List all the contributors of a GitHub repository."
3 | description = "Retrieve a list of all the contributors for a specified GitHub repository."
4 |
5 | plugins = ["github"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["github", "contributors", "repository"]
10 |
11 | arguments = [
12 | {title="repository", display_title="Repository Name (owner/repo format)", type="string", description="The GitHub repository to fetch contributors from (owner/repo)", regex="^[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+$"}
13 | ]
14 | */
15 |
16 | SELECT
17 | name,
18 | contributor_url,
19 | additions,
20 | deletions,
21 | commits
22 | FROM
23 | github_contributors_from_repository
24 | WHERE
25 | repository = @repository;
--------------------------------------------------------------------------------
/_examples/drizzle/print.ts:
--------------------------------------------------------------------------------
1 | import { drizzle } from "drizzle-orm/mysql2";
2 | import mysql from "mysql2/promise";
3 | import * as schema from "./drizzle/schema.ts";
4 | import { sql } from "drizzle-orm";
5 |
6 | const connection = await mysql.createConnection({
7 | host: "127.0.0.1",
8 | port: 8070,
9 | database: "main",
10 | });
11 |
12 | const db = drizzle(connection, { schema: schema, mode: "default" });
13 |
14 | const result = await db
15 | .select()
16 | .from(schema.git_commits)
17 | .where(sql`repository = 'https://github.com/drizzle-team/drizzle-orm.git'`);
18 |
19 | for (const row of result) {
20 | console.log(
21 | `On ${row.author_date}, ${row.author_name} committed ${row.message}`
22 | );
23 | }
24 |
25 | console.log("Found", result.length, "commits");
26 |
--------------------------------------------------------------------------------
/queries/click_up/list_all_documents_in_a_specific_folder.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "List all documents in a specific folder"
3 | description = "Get all documents within a specific folder by providing the folder ID"
4 |
5 | plugins = ["clickup"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["clickup", "documents", "folder"]
10 |
11 | arguments = [
12 | {title="folder_id", display_title = "Folder ID", type="string", description="The ID of the folder to fetch documents from", regex="^[0-9]+$"}
13 | ]
14 | */
15 |
16 | SELECT
17 | d.doc_id,
18 | d.created_at,
19 | d.updated_at,
20 | d.name,
21 | d.parent_id,
22 | d.creator_id,
23 | d.deleted
24 | FROM
25 | clickup_docs d,
26 | clickup_folders f
27 | WHERE
28 | f.folder_id = @folder_id
29 | AND
30 | d.parent_id = f.folder_id;
--------------------------------------------------------------------------------
/queries/file/how_often_are_files_modified_in_a_directory_per_month_in_gb.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "How often are files modified in a directory? (per month in GB)"
3 | description = "Get the total file size in GB of files modified per month in a directory"
4 |
5 | plugins = ["file"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["file", "modification", "size", "monthly"]
10 |
11 | arguments = [
12 | {title="directory_path", display_title = "Directory Path", type="string", description="The path to the directory to analyze", regex=".*"}
13 | ]
14 | */
15 |
16 | SELECT
17 | strftime('%Y-%m', last_modified) as month,
18 | ROUND(SUM(size) / (1024 * 1024 * 1024), 2) as total_size_gb
19 | FROM
20 | file_list
21 | WHERE
22 | directory = @directory_path
23 | GROUP BY
24 | month
25 | ORDER BY
26 | month;
--------------------------------------------------------------------------------
/queries/git/which_files_are_the_most_frequently_modified_in_the_repository.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Which files are the most frequently modified in the repository?"
3 | description = "Find the files that have been modified the most number of times in a given Git repository"
4 |
5 | plugins = ["git"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["git", "files", "modifications"]
10 |
11 | arguments = [
12 | {title="repository_path", display_title = "Repository Path", type="string", description="The path to the Git repository", regex=".*"}
13 | ]
14 | */
15 |
16 | SELECT
17 | file_name,
18 | COUNT(*) as modifications
19 | FROM
20 | git_commits_diff
21 | WHERE
22 | repository_path = @repository_path
23 | GROUP BY
24 | file_name
25 | ORDER BY
26 | modifications DESC
27 | LIMIT
28 | 10;
--------------------------------------------------------------------------------
/website/src/content/docs/docs/reference/Commands/anyquery_alias_add.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: anyquery alias add
3 | description: Learn how to use the anyquery alias add command in Anyquery.
4 | ---
5 |
6 | Add an alias
7 |
8 | ### Synopsis
9 |
10 | Add an alias.
11 | The alias name must be unique and not already used by a table.
12 |
13 | ```bash
14 | anyquery alias add [alias] [table] [flags]
15 | ```
16 |
17 | ### Examples
18 |
19 | ```bash
20 | anyquery alias add myalias mytable
21 | ```
22 |
23 | ### Options
24 |
25 | ```bash
26 | -h, --help help for add
27 | ```
28 |
29 | ### Options inherited from parent commands
30 |
31 | ```bash
32 | -c, --config string Path to the configuration database
33 | ```
34 |
35 | ### SEE ALSO
36 |
37 | * [anyquery alias](../anyquery_alias) - Manage the aliases
38 |
--------------------------------------------------------------------------------
/plugins/brave/scripts/listTabs.js:
--------------------------------------------------------------------------------
1 | const app = Application.currentApplication();
2 | app.includeStandardAdditions = true;
3 | const chromium = Application("Brave");
4 |
5 | const windows = chromium.windows();
6 |
7 | for (const window of windows) {
8 | const windowName = window.name();
9 | const windowID = window.id();
10 | const tabs = window.tabs();
11 | if (!tabs) {
12 | continue;
13 | }
14 | const activeTab = window.activeTab();
15 | const activeTabId = activeTab.id();
16 |
17 | for (const tab of tabs) {
18 | console.log(
19 | JSON.stringify({
20 | title: tab.name(),
21 | url: tab.url(),
22 | windowName: windowName,
23 | windowID: windowID,
24 | id: tab.id(),
25 | loading: tab.loading(),
26 | active: tab.id() === activeTabId,
27 | }),
28 | );
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/queries/github/who_is_the_biggest_committer_on_a_github_repository.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Who is the biggest committer on a GitHub repository?"
3 | description = "Get the user with the most commits on a GitHub repository"
4 |
5 | plugins = ["github"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["github", "commits", "statistics"]
10 |
11 | arguments = [
12 | {title="repository", display_title = "Repository name (owner/repo format)", type="string", description="The repository to fetch commits from (owner/repo)", regex="^[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+$"}
13 | ]*/
14 |
15 | SELECT
16 | author,
17 | author_email,
18 | count(*) as commits
19 | FROM
20 | github_commits_from_repository(@repository)
21 | GROUP BY
22 | author,
23 | author_email
24 | ORDER BY
25 | commits DESC
26 | LIMIT
27 | 1;
--------------------------------------------------------------------------------
/plugins/edge/scripts/listTabs.js:
--------------------------------------------------------------------------------
1 | const app = Application.currentApplication();
2 | app.includeStandardAdditions = true;
3 | const chromium = Application("Microsoft Edge");
4 |
5 | const windows = chromium.windows();
6 |
7 | for (const window of windows) {
8 | const windowName = window.name();
9 | const windowID = window.id();
10 | const tabs = window.tabs();
11 | if (!tabs) {
12 | continue;
13 | }
14 | const activeTab = window.activeTab();
15 | const activeTabId = activeTab.id();
16 |
17 | for (const tab of tabs) {
18 | console.log(
19 | JSON.stringify({
20 | title: tab.name(),
21 | url: tab.url(),
22 | windowName: windowName,
23 | windowID: windowID,
24 | id: tab.id(),
25 | loading: tab.loading(),
26 | active: tab.id() === activeTabId,
27 | }),
28 | );
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/queries/github/list_my_github_starred_repositories_for_a_particular_language.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "List my GitHub starred repositories for a particular language"
3 | description = "Fetch the list of repositories starred by the authenticated user that are written in a specified programming language."
4 |
5 | plugins = ["github"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["github", "stars", "repositories"]
10 |
11 | arguments = [
12 | {title="language", display_title="Programming Language", type="string", description="The programming language to filter repositories by", regex="^[a-zA-Z]+$"}
13 | ]
14 | */
15 |
16 | SELECT
17 | full_name,
18 | description,
19 | html_url,
20 | language,
21 | stargazers_count
22 | FROM
23 | github_my_stars
24 | WHERE
25 | LOWER(language) = LOWER(@language);
--------------------------------------------------------------------------------
/website/src/content/docs/docs/database/scylladb.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: ScyllaDB
3 | description: Learn how to connect ScyllaDB tables to Anyquery.
4 |
5 | ---
6 |
7 |
8 |
9 | Anyquery is able to run queries from Cassandra-compatible databases, such as ScyllaDB.
10 |
11 | ## Connection
12 |
13 | To connect a ScyllaDB database to Anyquery, you need to provide the connection string. It has the following format:
14 |
15 | ```txt
16 | cassandra://user:password@host:port/database?option1=value1&option2=value2
17 | ```
18 |
19 | Then, create a new connection using the following command:
20 |
21 | ```bash
22 | anyquery connection add
23 | ```
24 |
25 | Refer to the [Cassandra guide](/docs/database/cassandra) for more information about the different parameters.
26 |
--------------------------------------------------------------------------------
/plugins/chrome/scripts/listTabs.js:
--------------------------------------------------------------------------------
1 | const app = Application.currentApplication();
2 | app.includeStandardAdditions = true;
3 | const chromium = Application("Google Chrome");
4 |
5 | const windows = chromium.windows();
6 |
7 | for (const window of windows) {
8 | const windowName = window.name();
9 | const windowID = window.id();
10 | const tabs = window.tabs();
11 | if (!tabs) {
12 | continue;
13 | }
14 | const activeTab = window.activeTab();
15 | const activeTabId = activeTab.id();
16 |
17 | for (const tab of tabs) {
18 | console.log(
19 | JSON.stringify({
20 | title: tab.name(),
21 | url: tab.url(),
22 | windowName: windowName,
23 | windowID: windowID,
24 | id: tab.id(),
25 | loading: tab.loading(),
26 | active: tab.id() === activeTabId,
27 | }),
28 | );
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/plugins/sharedObject/asg017/sqlite-lines/manifest.toml:
--------------------------------------------------------------------------------
1 |
2 | name = "@asg017/sqlite-lines"
3 | displayName = "sqlite-lines"
4 | version = "0.2.2"
5 | description = "A SQLite extension for reading large files line-by-line (NDJSON, logs, txt, etc.)"
6 | author = "asg017"
7 | license = "MIT"
8 | repository = "https://github.com/asg017/sqlite-lines"
9 | homepage = "https://github.com/asg017/sqlite-lines"
10 | type = "sharedObject"
11 | minimumAnyqueryVersion = "0.0.1"
12 |
13 | [[file]]
14 | platform = "linux/amd64"
15 | directory = "linux-amd64"
16 | executablePath = "lines0.so"
17 |
18 | [[file]]
19 | platform = "darwin/amd64"
20 | directory = "darwin-amd64"
21 | executablePath = "lines0.dylib"
22 |
23 | [[file]]
24 | platform = "darwin/arm64"
25 | directory = "darwin-arm64"
26 | executablePath = "lines0.dylib"
27 |
28 |
29 |
--------------------------------------------------------------------------------
/website/public/icons/google_tasks.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/queries/file/which_files_extension_are_the_most_common_in_a_directory.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Which file extensions are the most common in a directory?"
3 | description = "Get the most common file extensions in a given directory to understand the types of files it contains"
4 |
5 | plugins = ["file"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["file", "extensions", "statistics"]
10 |
11 | arguments = [
12 | {title="directory_path", display_title = "Directory Path", type="string", description="The directory path to list files from", regex=".*"}
13 | ]
14 | */
15 |
16 | SELECT
17 | SUBSTR(file_name, INSTR(file_name, '.') + 1) AS extension,
18 | COUNT(*) AS count
19 | FROM
20 | file_list(@directory_path)
21 | WHERE
22 | is_directory = 0
23 | GROUP BY
24 | extension
25 | ORDER BY
26 | count DESC
27 | LIMIT 25;
--------------------------------------------------------------------------------
/website/src/content/recipes/sql-query-html-table.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Query an HTML table
3 | description: Learn how to run a SQL query on an HTML table from a website
4 | ---
5 |
6 | Anyquery is a SQL query engine that enables you to execute SQL queries on virtually anything, including HTML tables. In this recipe, we will run a SQL query on [diskprices.com](https://diskprices.com) to find the cheapest 12TB HDD.
7 |
8 | The `read_html` table function takes a URL and a CSS selector that points to an HTML table. The following query selects the cheapest 1TB SSD from [diskprices.com](https://diskprices.com) and outputs the result in JSON format:
9 |
10 | ```bash
11 | anyquery -q "SELECT * FROM read_html('https://diskprices.com', 'table') WHERE Technology = 'HDD' AND Capacity = '12 TB' ORDER BY Price LIMIT 1" --json
12 | ```
13 |
--------------------------------------------------------------------------------
/queries/discord/how_many_messages_were_sent_by_a_particular_user_in_a_channel.sql:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | title = "How many messages were sent by a particular user in a channel?"
4 | description = "Count the number of messages sent by a specific user in a particular channel on Discord."
5 |
6 | plugins = ["discord"]
7 |
8 | author = "julien040"
9 |
10 | tags = ["discord", "messages", "user", "count"]
11 |
12 | arguments = [
13 | {title="channel_id", display_title = "Channel ID", type="string", description="The ID of the Discord channel", regex="^[0-9]+$"},
14 | {title="user_id", display_title = "User ID", type="string", description="The ID of the user", regex="^[0-9]+$"}
15 | ]
16 | */
17 |
18 | SELECT
19 | COUNT(*) AS message_count
20 | FROM
21 | discord_messages
22 | WHERE
23 | channel_id = @channel_id
24 | AND user_id = @user_id;
--------------------------------------------------------------------------------
/queries/file/find_the_n_biggest_files_in_a_directory.sql:
--------------------------------------------------------------------------------
1 | /*
2 | title = "Find the n biggest files in a directory"
3 | description = "Get the n largest files by size in a specified directory"
4 |
5 | plugins = ["file"]
6 |
7 | author = "julien040"
8 |
9 | tags = ["files", "size", "directory", "biggest"]
10 |
11 | arguments = [
12 | {title="directory", display_title = "Directory Path", type="string", description="The path of the directory to search for files", regex=".*"},
13 | {title="limit", display_title = "Number of files to return", type="int", description="The number of largest files to return", regex="^[0-9]+$"}
14 | ]
15 | */
16 |
17 | SELECT
18 | file_name,
19 | size,
20 | path
21 | FROM
22 | file_list(@directory)
23 | WHERE
24 | is_directory = 0
25 | ORDER BY
26 | size DESC
27 | LIMIT
28 | @limit;
--------------------------------------------------------------------------------
/website/src/content/docs/docs/reference/Commands/anyquery_alias_list.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: anyquery alias list
3 | description: Learn how to use the anyquery alias list command in Anyquery.
4 | ---
5 |
6 | List the aliases
7 |
8 | ```bash
9 | anyquery alias list [flags]
10 | ```
11 |
12 | ### Options
13 |
14 | ```bash
15 | --csv Output format as CSV
16 | --format string Output format (pretty, json, csv, plain)
17 | -h, --help help for list
18 | --json Output format as JSON
19 | --plain Output format as plain text
20 | ```
21 |
22 | ### Options inherited from parent commands
23 |
24 | ```bash
25 | -c, --config string Path to the configuration database
26 | ```
27 |
28 | ### SEE ALSO
29 |
30 | * [anyquery alias](../anyquery_alias) - Manage the aliases
31 |
--------------------------------------------------------------------------------