@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.
@@ -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.67",
50293
+ version: "0.1.68",
50276
50294
  type: "module",
50277
50295
  bin: {
50278
50296
  "todoforai-cli": "bin/todoforai-cli.js",
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/todoforai/cli.git"
8
8
  },
9
- "version": "0.1.67",
9
+ "version": "0.1.68",
10
10
  "type": "module",
11
11
  "bin": {
12
12
  "todoforai-cli": "bin/todoforai-cli.js",