claude-threads 1.39.4 → 1.40.1

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.
@@ -38835,6 +38835,7 @@ class Redactor {
38835
38835
  }
38836
38836
 
38837
38837
  // src/operations/bug-report/handler.ts
38838
+ var import_semver2 = __toESM(require_semver2(), 1);
38838
38839
  init_version_check();
38839
38840
 
38840
38841
  // src/persistence/thread-logger.ts
@@ -38845,6 +38846,7 @@ var LOGS_BASE_DIR = join4(stateHome(), ".claude-threads", "logs");
38845
38846
 
38846
38847
  // src/operations/bug-report/handler.ts
38847
38848
  var piiRedactor = new Redactor({ aggressive: true });
38849
+ var MAX_SCREENSHOT_BYTES = 10 * 1024 * 1024;
38848
38850
  // src/mcp/decision-bridge.ts
38849
38851
  import { createServer, createConnection } from "node:net";
38850
38852
  var MAX_BRIDGE_REQUEST_BYTES = 1024 * 1024;
@@ -39812,7 +39814,7 @@ var CHAT_PLATFORM_PROMPT = generateChatPlatformPrompt();
39812
39814
  init_cli();
39813
39815
 
39814
39816
  // src/update-notifier.ts
39815
- var import_semver2 = __toESM(require_semver2(), 1);
39817
+ var import_semver3 = __toESM(require_semver2(), 1);
39816
39818
 
39817
39819
  // src/operations/commands/handler.ts
39818
39820
  init_emoji();
@@ -54,7 +54,7 @@ platforms:
54
54
  | `respondOnlyWhenMentioned` | Start new threads in quiet mode, where the bot only replies to messages that @mention it. Users can still toggle per-thread with `!mentions`. | `false` |
55
55
  | `userAttribution` | Prefix each user turn sent to Claude with the sender's `[@username]:` so Claude can tell who is speaking in multi-user threads. Only applied once a thread has more than one participant (after `!invite`); solo threads are left untouched. Set `false` to disable. Applies to new sessions. | `true` |
56
56
  | `keepAlive` | Prevent system sleep while sessions are active | `true` |
57
- | `bugReports` | Whether `!bug` may file a report. ⚠️ A bug report leaves your infrastructure: attached screenshots are uploaded to a public anonymous file host, and the report body — session context plus recent daemon log lines — is filed as an issue on the project's public GitHub repository, behind best-effort redaction. Claude can also invoke `!bug` itself. Set `false` and the whole path is removed: the command is refused, Claude cannot invoke it either, the 🐛 error reaction does nothing, the approval that would file the issue is refused, and `!bug` disappears from `!help`. **Fails closed** — a malformed value disables it rather than defaulting to on. | `true` |
57
+ | `bugReports` | Whether `!bug` may file a report, and where. ⚠️ A bug report leaves your infrastructure: the report body — session context plus recent daemon log lines — is filed as an issue on the project's public GitHub repository, behind best-effort redaction, unless you set `bugReports: { repo: owner/name }` to file in your own repository. Attached screenshots go along with the issue once someone approves the preview; this needs `gh` 2.99 or newer and write access to the target repository, and without those the report is filed without them. An attachment on a public repository stays online permanently, even if the issue is deleted. Claude can also invoke `!bug` itself, but a person still has to approve the preview. Set `false` and the whole path is removed: the command is refused, Claude cannot invoke it either, the 🐛 error reaction does nothing, the approval that would file the issue is refused, and `!bug` disappears from `!help`. **Fails closed** — a malformed value disables it rather than defaulting to on. | `true` |
58
58
  | `limits` | Resource limits and timeouts (see below) | see below |
59
59
  | `threadLogs` | Thread logging (see below) | enabled |
60
60
  | `stickyMessage` | Sticky message text customization (see below) | none |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-threads",
3
- "version": "1.39.4",
3
+ "version": "1.40.1",
4
4
  "description": "Run Claude Code from Slack or Mattermost. Sessions stream live into threads where your whole team can watch and steer.",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -79,8 +79,7 @@
79
79
  "diff": "^8.0.3",
80
80
  "express-rate-limit": "^8.7.1",
81
81
  "hono": "4.13.13",
82
- "ink": "^6.6.0",
83
- "ink-scroll-view": "^0.3.5",
82
+ "ink": "^8.0.0",
84
83
  "js-yaml": "^4.3.1",
85
84
  "prompts": "^2.4.2",
86
85
  "react": "^19.3.1",
@@ -96,7 +95,7 @@
96
95
  "@types/js-yaml": "^4.0.9",
97
96
  "@types/node": "^26.6.5",
98
97
  "@types/prompts": "^2.4.9",
99
- "@types/react": "^19.2.7",
98
+ "@types/react": "^19.3.0",
100
99
  "@types/semver": "^7.7.1",
101
100
  "@types/update-notifier": "^6.0.8",
102
101
  "@types/ws": "^8.18.2",
@@ -110,7 +109,7 @@
110
109
  "typescript-eslint": "^8.71.2"
111
110
  },
112
111
  "engines": {
113
- "node": ">=20.0.0",
112
+ "node": ">=22.0.0",
114
113
  "bun": ">=1.2.21"
115
114
  },
116
115
  "lint-staged": {