@todoforai/cli 0.1.67 → 0.1.68
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/todoforai-cli.js +20 -2
- package/package.json +1 -1
package/dist/todoforai-cli.js
CHANGED
|
@@ -44993,6 +44993,7 @@ var tool_catalog_default = {
|
|
|
44993
44993
|
label: "GitLab",
|
|
44994
44994
|
summary: "Work with your GitLab repos, merge requests and pipelines.",
|
|
44995
44995
|
statusCmd: "glab auth status 2>&1 | grep -o 'Logged in to [^ ]* [a-z]* [^ ]*' | paste -sd ' ' - | grep -m1 .",
|
|
44996
|
+
logoutCmd: "glab auth logout --hostname gitlab.com 2>&1 </dev/null",
|
|
44996
44997
|
loginCmd: "glab auth login --device",
|
|
44997
44998
|
credentialPaths: ["~/.config/glab-cli/config.yml"],
|
|
44998
44999
|
description: "GitLab equivalent of `gh`.",
|
|
@@ -45154,6 +45155,7 @@ var tool_catalog_default = {
|
|
|
45154
45155
|
credentialPaths: ["~/.config/shopify-cli-kit-nodejs/config.json"],
|
|
45155
45156
|
versionCmd: "shopify version 2>/dev/null | tail -n 1",
|
|
45156
45157
|
statusCmd: `python3 -c "import json,os,sys;p=os.path.expanduser('~/.config/shopify-cli-kit-nodejs/config.json');sys.exit(0 if json.load(open(p)).get('session') else 1)" 2>/dev/null && echo authenticated`,
|
|
45158
|
+
logoutCmd: "shopify auth logout",
|
|
45157
45159
|
deviceCodePattern: "verification code: ([A-Z0-9-]+)",
|
|
45158
45160
|
oauthUrlPattern: "(https://accounts\\.shopify\\.com/activate-with-code\\S*)",
|
|
45159
45161
|
canStreamLogin: true,
|
|
@@ -45347,6 +45349,7 @@ var tool_catalog_default = {
|
|
|
45347
45349
|
summary: "Manage your Microsoft Azure resources.",
|
|
45348
45350
|
binName: "az",
|
|
45349
45351
|
statusCmd: "az account show --query user.name -o tsv 2>/dev/null | tr -d '\\r' | grep -m1 .",
|
|
45352
|
+
logoutCmd: "az logout 2>&1; az account clear 2>&1",
|
|
45350
45353
|
loginCmd: "az login --use-device-code",
|
|
45351
45354
|
oauthUrlPattern: "(https://login\\.microsoft\\.com/device\\S*)",
|
|
45352
45355
|
deviceCodePattern: "enter the code ([A-Z0-9]+)",
|
|
@@ -45432,7 +45435,7 @@ var tool_catalog_default = {
|
|
|
45432
45435
|
preinstallCloud: true,
|
|
45433
45436
|
label: "Browser",
|
|
45434
45437
|
summary: "Browse websites automatically: click, type, read and screenshot.",
|
|
45435
|
-
description: "Browser automation over CDP (`open`/`snapshot`/`click`/`type`/`fill`/`read`/`screenshot`/`eval`). `connect '<url>'` to a listed live browser (prefer the user's real Chrome), verify with `snapshot`; if empty, `close` (own session only) and reconnect once. NEVER `close --all`. Shared browser: `tab new` for your own tab, `tab <id>` before each command. No URL listed: cloud → browser-manager-cli; PC with display → Chrome `--remote-debugging-port=9222`, attach `--cdp 9222`. Never `sleep`: `open` returns after load, but `click`/`fill` fail at once if the element isn't there yet — `wait '<sel>'`, `wait --text 'Done'`, `wait --url '**/dash'`, `wait --load networkidle` or `wait '#spinner' --state hidden` first.",
|
|
45438
|
+
description: "Browser automation over CDP (`open`/`snapshot`/`click`/`type`/`fill`/`read`/`screenshot`/`eval`). `connect '<url>'` to a listed live browser (prefer the user's real Chrome), verify with `snapshot`; if empty, `close` (own session only) and reconnect once. NEVER `close --all`. Shared browser: `tab new` for your own tab, `tab <id>` before each command. No URL listed: cloud → browser-manager-cli; PC with display → Chrome `--remote-debugging-port=9222`, attach `--cdp 9222`. Never `sleep`: `open` returns after load, but `click`/`fill` fail at once if the element isn't there yet — `wait '<sel>'`, `wait --text 'Done'`, `wait --url '**/dash'`, `wait --load networkidle` or `wait '#spinner' --state hidden` first. Extension browsers (WEB_EXTENSION) only: try sign-in with credentials from `tfa-vault`; request human help only for a step you cannot complete yourself (MFA/CAPTCHA/consent). Use Node/Bun WebSocket on the listed CDP URL; `Target.getTargets` or `device_list` gives `tab-N`, whose N is the numeric tabId. On the SAME socket send `{id: 1, method: 'TodoforAI.requestHumanHelp', params: {tabId: N, message: 'what to do'}}` (message 1–500 chars). This focuses and pauses the tab, sets its yellow `?` badge, and shows needs-you in the extension popup. Tell the user to click Resume control and reply here, then end your turn; Resume does not wake the agent. Afterwards reconnect and snapshot fresh. `TodoforAI.humanHelpStatus` with `{tabId}` remains available while paused. If bootstrap fails on a restricted target, direct CDP `Target.createTarget` with an ordinary URL opens your tab on the SAME socket; pass numeric N from returned `tab-N` as `tabId`.",
|
|
45436
45439
|
versionCmd: "agent-browser --version 2>/dev/null | sed -n 1p",
|
|
45437
45440
|
preinstallJarvis: true
|
|
45438
45441
|
},
|
|
@@ -45574,6 +45577,17 @@ var tool_catalog_default = {
|
|
|
45574
45577
|
preinstallCloud: true,
|
|
45575
45578
|
preinstallJarvis: true
|
|
45576
45579
|
},
|
|
45580
|
+
"tfa-find": {
|
|
45581
|
+
internal: true,
|
|
45582
|
+
category: "todoforai",
|
|
45583
|
+
pkg: "@todoforai/tfa-find",
|
|
45584
|
+
installer: "npm",
|
|
45585
|
+
label: "File Search",
|
|
45586
|
+
summary: "Find documents, photos and more by describing what you need.",
|
|
45587
|
+
description: "Search files in folders you choose on your machine. Register folders, build a search index, then find relevant documents, images, audio and video with natural-language queries. CLI: tfa-find.",
|
|
45588
|
+
versionCmd: "tfa-find --version 2>/dev/null | sed -n 1p",
|
|
45589
|
+
installCmd: "npm install -g @todoforai/tfa-find"
|
|
45590
|
+
},
|
|
45577
45591
|
"tfa-memory": {
|
|
45578
45592
|
category: "todoforai",
|
|
45579
45593
|
pkg: "@todoforai/tfa-memory",
|
|
@@ -45961,6 +45975,7 @@ var tool_catalog_default = {
|
|
|
45961
45975
|
loginCmd: "mailchimp-api auth --api-key <api_key>",
|
|
45962
45976
|
oauthBroker: true,
|
|
45963
45977
|
statusCmd: `mailchimp-api whoami 2>/dev/null | sed -n 's/.*"account_name"[[:space:]]*:[[:space:]]*"\\([^"]*\\)".*/\\1/p' | grep -m1 .`,
|
|
45978
|
+
logoutCmd: "rm -f ~/.config/mailchimp-api/credentials.json",
|
|
45964
45979
|
credentialPaths: [
|
|
45965
45980
|
"~/.config/mailchimp-api/credentials.json"
|
|
45966
45981
|
],
|
|
@@ -45978,6 +45993,7 @@ var tool_catalog_default = {
|
|
|
45978
45993
|
statusCmd: `facebook-pages-api whoami 2>/dev/null | sed -n 's/.*"name"[[:space:]]*:[[:space:]]*"\\([^"]*\\)".*/\\1/p' | grep -m10 .`,
|
|
45979
45994
|
loginCmd: "facebook-pages-api auth --page-id <id> --page-token <token>",
|
|
45980
45995
|
oauthBroker: true,
|
|
45996
|
+
logoutCmd: "rm -f ~/.config/facebook-pages-api/credentials.json",
|
|
45981
45997
|
credentialPaths: ["~/.config/facebook-pages-api/credentials.json"],
|
|
45982
45998
|
description: "Facebook Pages CLI (Meta Graph API). `auth --page-id <id> --page-token <token>` (or env FB_PAGE_ID/FB_PAGE_TOKEN). `feed`, `comments`, `insights`, `conversations`, `media`, and `request <GET|POST|DELETE> <path> [--data <json>]` = any Graph edge with the page token attached (use instead of curl). Writes are live: `feed create --published false` for tests; `comments reply` posts publicly — get human approval. Follower totals: `whoami --fields followers_count,fan_count` (many classic insights metrics are retired). Instagram (linked professional account, same page token): `ig whoami|media|get|stories|tags|limit`, `ig publish --image_url U | --video_url U [--media_type STORIES] | --carousel U1,U2 [--caption …]` (public URLs; container → wait → publish; `--create-only` = dry run; 100 posts/24h), `ig comments list|replies|create|reply|hide|delete|toggle`, `ig insights [media_id]` (needs instagram_manage_insights). `--help` for subcommands.",
|
|
45983
45999
|
versionCmd: "facebook-pages-api --version 2>/dev/null | sed -n 1p"
|
|
@@ -46019,6 +46035,7 @@ var tool_catalog_default = {
|
|
|
46019
46035
|
voiceChannel: "Outlook",
|
|
46020
46036
|
summary: "Read and write your Outlook mail.",
|
|
46021
46037
|
statusCmd: `outlook-api whoami 2>/dev/null | sed -n 's/.*"userPrincipalName"[[:space:]]*:[[:space:]]*"\\([^"]*\\)".*/\\1/p' | grep -m10 .`,
|
|
46038
|
+
logoutCmd: "outlook-api logout",
|
|
46022
46039
|
loginCmd: "outlook-api auth",
|
|
46023
46040
|
credentialPaths: ["~/.config/outlook-api/config.json"],
|
|
46024
46041
|
description: "Outlook/Hotmail/M365 mail over Microsoft Graph (on-prem Exchange → ews-api). `auth` = device-code flow; `--tenant consumers` (default, personal) | `organizations`. list/search/read/attachments are read-only; `draft`/`reply` stay in Drafts unless --send; `send <draftId>`. `get <path>` = raw Graph GET. JSON out.",
|
|
@@ -46051,6 +46068,7 @@ var tool_catalog_default = {
|
|
|
46051
46068
|
label: "Microsoft 365",
|
|
46052
46069
|
summary: "Work with Microsoft 365 mail, Teams, SharePoint and users.",
|
|
46053
46070
|
statusCmd: `m365 status --output text 2>/dev/null | tr -d '"' | grep -vi 'logged out' | grep -m1 .`,
|
|
46071
|
+
logoutCmd: "m365 logout",
|
|
46054
46072
|
loginCmd: "m365 login --authType deviceCode --appId 14d82eec-204b-4c2f-b7e8-296a70dab67e",
|
|
46055
46073
|
deviceCodePattern: "enter the code ([A-Z0-9]{8,}) to authenticate",
|
|
46056
46074
|
oauthUrlPattern: "open the page (https://\\S+) and enter",
|
|
@@ -50272,7 +50290,7 @@ var package_default = {
|
|
|
50272
50290
|
type: "git",
|
|
50273
50291
|
url: "git+https://github.com/todoforai/cli.git"
|
|
50274
50292
|
},
|
|
50275
|
-
version: "0.1.
|
|
50293
|
+
version: "0.1.68",
|
|
50276
50294
|
type: "module",
|
|
50277
50295
|
bin: {
|
|
50278
50296
|
"todoforai-cli": "bin/todoforai-cli.js",
|