@todoforai/cli 0.1.57 → 0.1.58

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.
@@ -42767,9 +42767,9 @@ class ApiClient {
42767
42767
  }
42768
42768
  return h;
42769
42769
  }
42770
- async request(method, endpoint, body) {
42770
+ async request(method, endpoint, body, timeoutMs = 30000) {
42771
42771
  const url = `${this.apiUrl}${endpoint.replace(/^\/api\/v1/, restBasePath(this.apiKey))}`;
42772
- const opts = { method, headers: this.headers, signal: AbortSignal.timeout(30000) };
42772
+ const opts = { method, headers: this.headers, signal: AbortSignal.timeout(timeoutMs) };
42773
42773
  if (body)
42774
42774
  opts.body = JSON.stringify(body);
42775
42775
  const res = await fetch(url, opts);
@@ -42900,7 +42900,7 @@ class ApiClient {
42900
42900
  return this.request("GET", `/api/v1/projects/${projectId}/voice-sources`);
42901
42901
  }
42902
42902
  collectVoiceSource(projectId, channel, opts) {
42903
- return this.request("POST", "/api/v1/business-context/collect-voice-source", { projectId, channel, ...opts });
42903
+ return this.request("POST", "/api/v1/business-context/collect-voice-source", { projectId, channel, ...opts }, 130000);
42904
42904
  }
42905
42905
  removeVoiceSource(projectId, channel, opts = {}) {
42906
42906
  return this.request("POST", "/api/v1/business-context/remove-voice-source", { projectId, channel, ...opts });
@@ -45277,7 +45277,7 @@ var tool_catalog_default = {
45277
45277
  label: "Surface",
45278
45278
  summary: "See and control what is on your TODOforAI screen.",
45279
45279
  platformAuth: true,
45280
- description: "The user's live UI from the shell. Everything on screen is a SURFACE holding one ref (a todo id, `<todoId>:<alias>` = a shown artifact, or a url). `describe` lists them (kind, id, ref, focus, embedded-browser CDP URL; `--json`). `open overlay <todoId>` (full page), `open window <ref>` (floating), `open panel changes|preview|browser|terminal [--url]` (a todo's side panel), `open card <ref> [--title] [--group <slug>]` (a persisted board card every member sees); `close|focus <kind> <id>`. Persistent state (plans, reports, live status) → `show chat.panel <todoId> \"...md\"` (stdin ok; re-show updates in place), `clear` removes; events go in chat. `card add|list|get|rm <name>` = project HTML renderers. Exit 2 = no frontend connected.",
45280
+ description: "The user's live UI from the shell. Everything on screen is a SURFACE holding one ref (a todo id, `<todoId>:<alias>` = a shown artifact, or a url). `describe` lists them (kind, id, ref, focus, embedded-browser CDP URL; `--json`). `open overlay <todoId>` (full page), `open window <ref> [--detached]` (floating; --detached = out of the grid, own size, resizable), `open panel changes|preview|browser|terminal [--url]` (a todo's side panel), `open card <ref> [--title] [--group <slug>]` (a persisted board card every member sees); `close|focus <kind> <id>`. Persistent state (plans, reports, live status) → `show chat.panel <todoId> \"...md\"` (stdin ok; re-show updates in place), `clear` removes; events go in chat. `card add|list|get|rm <name>` = project HTML renderers. Exit 2 = no frontend connected.",
45281
45281
  versionCmd: "tfa-surface --version 2>/dev/null | sed -n 1p",
45282
45282
  installCmd: "npm install -g @todoforai/tfa-surface",
45283
45283
  internal: true
@@ -45851,7 +45851,7 @@ var tool_catalog_default = {
45851
45851
  logoutCmd: "cd ~ && mcporter config remove blender",
45852
45852
  credentialPaths: ["~/.mcporter/mcporter.json"],
45853
45853
  description: "Blender 3D via the ahujasid/blender-mcp server through mcporter: `mcporter list blender --schema`, `mcporter call blender.<tool> key=value` (`code=@file.py`; every tool needs `user_prompt`). Workhorse: execute_blender_code (any bpy Python); also scene/object info, viewport screenshot (`--save-images <dir>`), PolyHaven/Sketchfab import. Needs a GUI Blender with the addon server started (socket :9876; headless has none). 'Could not connect' → `blender-mcp install-addon`, enable in Preferences → Add-ons, N-panel → Start MCP Server (scripted: `blender --python s.py`, s.py registers a `bpy.app.timers` calling `bpy.ops.blendermcp.start_server()`). Code runs unguarded: save first (`bpy.ops.wm.save_mainfile()`), approve destructive ops.",
45854
- versionCmd: `{ python -c 'from importlib.metadata import version; print(version("blender-mcp"))' || python3 -c 'from importlib.metadata import version; print(version("blender-mcp"))'; } 2>/dev/null`
45854
+ versionCmd: "{ python -c 'import sys; from importlib.metadata import version; print(version(sys.argv[1]))' blender-mcp || python3 -c 'import sys; from importlib.metadata import version; print(version(sys.argv[1]))' blender-mcp; } 2>/dev/null"
45855
45855
  },
45856
45856
  "google-ads": {
45857
45857
  category: "marketing",
@@ -46123,7 +46123,7 @@ import { parseArgs } from "util";
46123
46123
  // package.json
46124
46124
  var package_default = {
46125
46125
  name: "@todoforai/cli",
46126
- version: "0.1.57",
46126
+ version: "0.1.58",
46127
46127
  type: "module",
46128
46128
  bin: {
46129
46129
  "todoforai-cli": "bin/todoforai-cli.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@todoforai/cli",
3
- "version": "0.1.57",
3
+ "version": "0.1.58",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "todoforai-cli": "bin/todoforai-cli.js",