claude-threads 1.17.2 → 1.18.0

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.
@@ -13117,15 +13117,16 @@ var require_range = __commonJS((exports, module) => {
13117
13117
  };
13118
13118
  var replaceTilde = (comp, options) => {
13119
13119
  const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
13120
+ const z2 = options.includePrerelease ? "-0" : "";
13120
13121
  return comp.replace(r, (_, M, m, p, pr) => {
13121
13122
  debug("tilde", comp, _, M, m, p, pr);
13122
13123
  let ret;
13123
13124
  if (isX(M)) {
13124
13125
  ret = "";
13125
13126
  } else if (isX(m)) {
13126
- ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
13127
+ ret = `>=${M}.0.0${z2} <${+M + 1}.0.0-0`;
13127
13128
  } else if (isX(p)) {
13128
- ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
13129
+ ret = `>=${M}.${m}.0${z2} <${M}.${+m + 1}.0-0`;
13129
13130
  } else if (pr) {
13130
13131
  debug("replaceTilde pr", pr);
13131
13132
  ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
@@ -14573,6 +14574,7 @@ var require_receiver = __commonJS((exports, module) => {
14573
14574
  this._opcode = 0;
14574
14575
  this._totalPayloadLength = 0;
14575
14576
  this._messageLength = 0;
14577
+ this._numFragments = 0;
14576
14578
  this._fragments = [];
14577
14579
  this._errored = false;
14578
14580
  this._loop = false;
@@ -14782,17 +14784,17 @@ var require_receiver = __commonJS((exports, module) => {
14782
14784
  this.controlMessage(data, cb);
14783
14785
  return;
14784
14786
  }
14787
+ if (this._maxFragments > 0 && ++this._numFragments > this._maxFragments) {
14788
+ const error49 = this.createError(RangeError, "Too many message fragments", false, 1008, "WS_ERR_TOO_MANY_BUFFERED_PARTS");
14789
+ cb(error49);
14790
+ return;
14791
+ }
14785
14792
  if (this._compressed) {
14786
14793
  this._state = INFLATING;
14787
14794
  this.decompress(data, cb);
14788
14795
  return;
14789
14796
  }
14790
14797
  if (data.length) {
14791
- if (this._maxFragments > 0 && this._fragments.length >= this._maxFragments) {
14792
- const error49 = this.createError(RangeError, "Too many message fragments", false, 1008, "WS_ERR_TOO_MANY_BUFFERED_PARTS");
14793
- cb(error49);
14794
- return;
14795
- }
14796
14798
  this._messageLength = this._totalPayloadLength;
14797
14799
  this._fragments.push(data);
14798
14800
  }
@@ -14810,11 +14812,6 @@ var require_receiver = __commonJS((exports, module) => {
14810
14812
  cb(error49);
14811
14813
  return;
14812
14814
  }
14813
- if (this._maxFragments > 0 && this._fragments.length >= this._maxFragments) {
14814
- const error49 = this.createError(RangeError, "Too many message fragments", false, 1008, "WS_ERR_TOO_MANY_BUFFERED_PARTS");
14815
- cb(error49);
14816
- return;
14817
- }
14818
14815
  this._fragments.push(buf);
14819
14816
  }
14820
14817
  this.dataMessage(cb);
@@ -14832,6 +14829,7 @@ var require_receiver = __commonJS((exports, module) => {
14832
14829
  this._totalPayloadLength = 0;
14833
14830
  this._messageLength = 0;
14834
14831
  this._fragmented = 0;
14832
+ this._numFragments = 0;
14835
14833
  this._fragments = [];
14836
14834
  if (this._opcode === 2) {
14837
14835
  let data;
@@ -15966,8 +15964,8 @@ var require_websocket = __commonJS((exports, module) => {
15966
15964
  autoPong: true,
15967
15965
  closeTimeout: CLOSE_TIMEOUT,
15968
15966
  protocolVersion: protocolVersions[1],
15969
- maxBufferedChunks: 1024 * 1024,
15970
- maxFragments: 128 * 1024,
15967
+ maxBufferedChunks: 256 * 1024,
15968
+ maxFragments: 16 * 1024,
15971
15969
  maxPayload: 100 * 1024 * 1024,
15972
15970
  skipUTF8Validation: false,
15973
15971
  perMessageDeflate: true,
@@ -16543,8 +16541,8 @@ var require_websocket_server = __commonJS((exports, module) => {
16543
16541
  options = {
16544
16542
  allowSynchronousEvents: true,
16545
16543
  autoPong: true,
16546
- maxBufferedChunks: 1024 * 1024,
16547
- maxFragments: 128 * 1024,
16544
+ maxBufferedChunks: 256 * 1024,
16545
+ maxFragments: 16 * 1024,
16548
16546
  maxPayload: 100 * 1024 * 1024,
16549
16547
  skipUTF8Validation: false,
16550
16548
  perMessageDeflate: false,
@@ -57639,7 +57637,7 @@ var readPostInputSchema = {
57639
57637
  max_messages: exports_external.coerce.number().int().optional().describe(`Maximum thread messages to return when include_thread is true. Defaults to ${DEFAULT_THREAD_LIMIT}, capped at ${MAX_THREAD_LIMIT}.`)
57640
57638
  };
57641
57639
  var reactToPostInputSchema = {
57642
- url: exports_external.string().describe("Permalink URL to a post the bot can already see (its own channel, or a public channel on the same instance)."),
57640
+ url: exports_external.string().describe("Permalink URL to a post the bot can already see (its own channel, or a public channel on the same instance). " + "To react to a specific user message (e.g. to acknowledge the one that triggered the current task), use the " + "per-message permalink provided in that message's context — do NOT default to the thread-root permalink."),
57643
57641
  emoji: exports_external.string().describe("Emoji name without colons, e.g. 'white_check_mark', '+1', 'eyes'. Platform-specific vocabulary applies.")
57644
57642
  };
57645
57643
  var updateOwnPostInputSchema = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-threads",
3
- "version": "1.17.2",
3
+ "version": "1.18.0",
4
4
  "description": "Share Claude Code sessions live in a Mattermost channel with interactive features",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -63,7 +63,7 @@
63
63
  "package.json"
64
64
  ],
65
65
  "dependencies": {
66
- "@hono/node-server": "2.0.5",
66
+ "@hono/node-server": "2.0.9",
67
67
  "@inkjs/ui": "^2.0.0",
68
68
  "@modelcontextprotocol/sdk": "^1.26.0",
69
69
  "@redactpii/node": "^1.0.16",
@@ -71,33 +71,33 @@
71
71
  "commander": "^14.0.2",
72
72
  "diff": "^8.0.3",
73
73
  "express-rate-limit": "^8.3.0",
74
- "hono": "4.12.26",
74
+ "hono": "4.12.30",
75
75
  "ink": "^6.6.0",
76
76
  "ink-scroll-view": "^0.3.5",
77
77
  "js-yaml": "^4.1.1",
78
78
  "prompts": "^2.4.2",
79
79
  "react": "^19.2.3",
80
- "semver": "7.8.4",
80
+ "semver": "7.8.5",
81
81
  "update-notifier": "^7.3.1",
82
- "ws": "8.21.0",
82
+ "ws": "8.21.1",
83
83
  "zod": "^4.3.6"
84
84
  },
85
85
  "devDependencies": {
86
86
  "@eslint/js": "^10.0.1",
87
87
  "@types/bun": "latest",
88
88
  "@types/js-yaml": "^4.0.9",
89
- "@types/node": "^25.0.3",
89
+ "@types/node": "^26.1.1",
90
90
  "@types/prompts": "^2.4.9",
91
91
  "@types/react": "^19.2.7",
92
92
  "@types/semver": "^7.7.1",
93
93
  "@types/update-notifier": "^6.0.8",
94
94
  "@types/ws": "^8.18.0",
95
- "eslint": "^10.1.0",
95
+ "eslint": "^10.7.0",
96
96
  "husky": "^9.1.7",
97
97
  "lint-staged": "^17.0.4",
98
- "prettier": "^3.4.2",
98
+ "prettier": "^3.9.5",
99
99
  "typescript": "^6.0.2",
100
- "typescript-eslint": "^8.57.2"
100
+ "typescript-eslint": "^8.64.0"
101
101
  },
102
102
  "engines": {
103
103
  "node": ">=20.0.0",