claude-threads 1.16.2 → 1.16.3

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.
@@ -12838,6 +12838,44 @@ var require_coerce = __commonJS((exports, module) => {
12838
12838
  module.exports = coerce;
12839
12839
  });
12840
12840
 
12841
+ // node_modules/semver/functions/truncate.js
12842
+ var require_truncate = __commonJS((exports, module) => {
12843
+ var parse10 = require_parse();
12844
+ var constants = require_constants();
12845
+ var SemVer = require_semver();
12846
+ var truncate = (version3, truncation, options) => {
12847
+ if (!constants.RELEASE_TYPES.includes(truncation)) {
12848
+ return null;
12849
+ }
12850
+ const clonedVersion = cloneInputVersion(version3, options);
12851
+ return clonedVersion && doTruncation(clonedVersion, truncation);
12852
+ };
12853
+ var cloneInputVersion = (version3, options) => {
12854
+ const versionStringToParse = version3 instanceof SemVer ? version3.version : version3;
12855
+ return parse10(versionStringToParse, options);
12856
+ };
12857
+ var doTruncation = (version3, truncation) => {
12858
+ if (isPrerelease(truncation)) {
12859
+ return version3.version;
12860
+ }
12861
+ version3.prerelease = [];
12862
+ switch (truncation) {
12863
+ case "major":
12864
+ version3.minor = 0;
12865
+ version3.patch = 0;
12866
+ break;
12867
+ case "minor":
12868
+ version3.patch = 0;
12869
+ break;
12870
+ }
12871
+ return version3.format();
12872
+ };
12873
+ var isPrerelease = (type) => {
12874
+ return type.startsWith("pre");
12875
+ };
12876
+ module.exports = truncate;
12877
+ });
12878
+
12841
12879
  // node_modules/semver/internal/lrucache.js
12842
12880
  var require_lrucache = __commonJS((exports, module) => {
12843
12881
  class LRUCache {
@@ -12942,6 +12980,7 @@ var require_range = __commonJS((exports, module) => {
12942
12980
  return this.range;
12943
12981
  }
12944
12982
  parseRange(range) {
12983
+ range = range.replace(BUILDSTRIPRE, "");
12945
12984
  const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
12946
12985
  const memoKey = memoOpts + ":" + range;
12947
12986
  const cached3 = cache.get(memoKey);
@@ -13023,12 +13062,14 @@ var require_range = __commonJS((exports, module) => {
13023
13062
  var SemVer = require_semver();
13024
13063
  var {
13025
13064
  safeRe: re,
13065
+ src,
13026
13066
  t,
13027
13067
  comparatorTrimReplace,
13028
13068
  tildeTrimReplace,
13029
13069
  caretTrimReplace
13030
13070
  } = require_re();
13031
13071
  var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants();
13072
+ var BUILDSTRIPRE = new RegExp(src[t.BUILD], "g");
13032
13073
  var isNullSet = (c) => c.value === "<0.0.0-0";
13033
13074
  var isAny = (c) => c.value === "";
13034
13075
  var isSatisfiable = (comparators, options) => {
@@ -13745,7 +13786,7 @@ var require_subset = __commonJS((exports, module) => {
13745
13786
  if (higher === c && higher !== gt) {
13746
13787
  return false;
13747
13788
  }
13748
- } else if (gt.operator === ">=" && !satisfies(gt.semver, String(c), options)) {
13789
+ } else if (gt.operator === ">=" && !c.test(gt.semver)) {
13749
13790
  return false;
13750
13791
  }
13751
13792
  }
@@ -13760,7 +13801,7 @@ var require_subset = __commonJS((exports, module) => {
13760
13801
  if (lower === c && lower !== lt) {
13761
13802
  return false;
13762
13803
  }
13763
- } else if (lt.operator === "<=" && !satisfies(lt.semver, String(c), options)) {
13804
+ } else if (lt.operator === "<=" && !c.test(lt.semver)) {
13764
13805
  return false;
13765
13806
  }
13766
13807
  }
@@ -13825,6 +13866,7 @@ var require_semver2 = __commonJS((exports, module) => {
13825
13866
  var lte = require_lte();
13826
13867
  var cmp = require_cmp();
13827
13868
  var coerce = require_coerce();
13869
+ var truncate = require_truncate();
13828
13870
  var Comparator = require_comparator();
13829
13871
  var Range = require_range();
13830
13872
  var satisfies = require_satisfies();
@@ -13863,6 +13905,7 @@ var require_semver2 = __commonJS((exports, module) => {
13863
13905
  lte,
13864
13906
  cmp,
13865
13907
  coerce,
13908
+ truncate,
13866
13909
  Comparator,
13867
13910
  Range,
13868
13911
  satisfies,
@@ -13896,6 +13939,7 @@ var require_constants2 = __commonJS((exports, module) => {
13896
13939
  BINARY_TYPES.push("blob");
13897
13940
  module.exports = {
13898
13941
  BINARY_TYPES,
13942
+ CLOSE_TIMEOUT: 30000,
13899
13943
  EMPTY_BUFFER: Buffer.alloc(0),
13900
13944
  GUID: "258EAFA5-E914-47DA-95CA-C5AB0DC85B11",
13901
13945
  hasBlob,
@@ -14033,11 +14077,11 @@ var require_permessage_deflate = __commonJS((exports, module) => {
14033
14077
  var zlibLimiter;
14034
14078
 
14035
14079
  class PerMessageDeflate {
14036
- constructor(options, isServer, maxPayload) {
14037
- this._maxPayload = maxPayload | 0;
14080
+ constructor(options) {
14038
14081
  this._options = options || {};
14039
14082
  this._threshold = this._options.threshold !== undefined ? this._options.threshold : 1024;
14040
- this._isServer = !!isServer;
14083
+ this._maxPayload = this._options.maxPayload | 0;
14084
+ this._isServer = !!this._options.isServer;
14041
14085
  this._deflate = null;
14042
14086
  this._inflate = null;
14043
14087
  this.params = null;
@@ -14496,6 +14540,8 @@ var require_receiver = __commonJS((exports, module) => {
14496
14540
  this._binaryType = options.binaryType || BINARY_TYPES[0];
14497
14541
  this._extensions = options.extensions || {};
14498
14542
  this._isServer = !!options.isServer;
14543
+ this._maxBufferedChunks = options.maxBufferedChunks | 0;
14544
+ this._maxFragments = options.maxFragments | 0;
14499
14545
  this._maxPayload = options.maxPayload | 0;
14500
14546
  this._skipUTF8Validation = !!options.skipUTF8Validation;
14501
14547
  this[kWebSocket] = undefined;
@@ -14518,6 +14564,10 @@ var require_receiver = __commonJS((exports, module) => {
14518
14564
  _write(chunk, encoding, cb) {
14519
14565
  if (this._opcode === 8 && this._state == GET_INFO)
14520
14566
  return cb();
14567
+ if (this._maxBufferedChunks > 0 && this._buffers.length >= this._maxBufferedChunks) {
14568
+ cb(this.createError(RangeError, "Too many buffered chunks", false, 1008, "WS_ERR_TOO_MANY_BUFFERED_PARTS"));
14569
+ return;
14570
+ }
14521
14571
  this._bufferedBytes += chunk.length;
14522
14572
  this._buffers.push(chunk);
14523
14573
  this.startLoop(cb);
@@ -14721,6 +14771,11 @@ var require_receiver = __commonJS((exports, module) => {
14721
14771
  return;
14722
14772
  }
14723
14773
  if (data.length) {
14774
+ if (this._maxFragments > 0 && this._fragments.length >= this._maxFragments) {
14775
+ const error49 = this.createError(RangeError, "Too many message fragments", false, 1008, "WS_ERR_TOO_MANY_BUFFERED_PARTS");
14776
+ cb(error49);
14777
+ return;
14778
+ }
14724
14779
  this._messageLength = this._totalPayloadLength;
14725
14780
  this._fragments.push(data);
14726
14781
  }
@@ -14738,6 +14793,11 @@ var require_receiver = __commonJS((exports, module) => {
14738
14793
  cb(error49);
14739
14794
  return;
14740
14795
  }
14796
+ if (this._maxFragments > 0 && this._fragments.length >= this._maxFragments) {
14797
+ const error49 = this.createError(RangeError, "Too many message fragments", false, 1008, "WS_ERR_TOO_MANY_BUFFERED_PARTS");
14798
+ cb(error49);
14799
+ return;
14800
+ }
14741
14801
  this._fragments.push(buf);
14742
14802
  }
14743
14803
  this.dataMessage(cb);
@@ -14853,6 +14913,9 @@ var require_receiver = __commonJS((exports, module) => {
14853
14913
  var require_sender = __commonJS((exports, module) => {
14854
14914
  var { Duplex } = __require("stream");
14855
14915
  var { randomFillSync } = __require("crypto");
14916
+ var {
14917
+ types: { isUint8Array }
14918
+ } = __require("util");
14856
14919
  var PerMessageDeflate = require_permessage_deflate();
14857
14920
  var { EMPTY_BUFFER, kWebSocket, NOOP } = require_constants2();
14858
14921
  var { isBlob, isValidStatusCode } = require_validation3();
@@ -14972,8 +15035,10 @@ var require_sender = __commonJS((exports, module) => {
14972
15035
  buf.writeUInt16BE(code, 0);
14973
15036
  if (typeof data === "string") {
14974
15037
  buf.write(data, 2);
14975
- } else {
15038
+ } else if (isUint8Array(data)) {
14976
15039
  buf.set(data, 2);
15040
+ } else {
15041
+ throw new TypeError("Second argument must be a string or a Uint8Array");
14977
15042
  }
14978
15043
  }
14979
15044
  const options = {
@@ -15535,6 +15600,7 @@ var require_websocket = __commonJS((exports, module) => {
15535
15600
  var { isBlob } = require_validation3();
15536
15601
  var {
15537
15602
  BINARY_TYPES,
15603
+ CLOSE_TIMEOUT,
15538
15604
  EMPTY_BUFFER,
15539
15605
  GUID,
15540
15606
  kForOnEventAttribute,
@@ -15548,7 +15614,6 @@ var require_websocket = __commonJS((exports, module) => {
15548
15614
  } = require_event_target();
15549
15615
  var { format, parse: parse10 } = require_extension();
15550
15616
  var { toBuffer } = require_buffer_util();
15551
- var closeTimeout = 30 * 1000;
15552
15617
  var kAborted = Symbol("kAborted");
15553
15618
  var protocolVersions = [8, 13];
15554
15619
  var readyStates = ["CONNECTING", "OPEN", "CLOSING", "CLOSED"];
@@ -15588,6 +15653,7 @@ var require_websocket = __commonJS((exports, module) => {
15588
15653
  initAsClient(this, address, protocols, options);
15589
15654
  } else {
15590
15655
  this._autoPong = options.autoPong;
15656
+ this._closeTimeout = options.closeTimeout;
15591
15657
  this._isServer = true;
15592
15658
  }
15593
15659
  }
@@ -15639,6 +15705,8 @@ var require_websocket = __commonJS((exports, module) => {
15639
15705
  binaryType: this.binaryType,
15640
15706
  extensions: this._extensions,
15641
15707
  isServer: this._isServer,
15708
+ maxBufferedChunks: options.maxBufferedChunks,
15709
+ maxFragments: options.maxFragments,
15642
15710
  maxPayload: options.maxPayload,
15643
15711
  skipUTF8Validation: options.skipUTF8Validation
15644
15712
  });
@@ -15879,7 +15947,10 @@ var require_websocket = __commonJS((exports, module) => {
15879
15947
  const opts = {
15880
15948
  allowSynchronousEvents: true,
15881
15949
  autoPong: true,
15950
+ closeTimeout: CLOSE_TIMEOUT,
15882
15951
  protocolVersion: protocolVersions[1],
15952
+ maxBufferedChunks: 1024 * 1024,
15953
+ maxFragments: 128 * 1024,
15883
15954
  maxPayload: 100 * 1024 * 1024,
15884
15955
  skipUTF8Validation: false,
15885
15956
  perMessageDeflate: true,
@@ -15896,6 +15967,7 @@ var require_websocket = __commonJS((exports, module) => {
15896
15967
  port: undefined
15897
15968
  };
15898
15969
  websocket._autoPong = opts.autoPong;
15970
+ websocket._closeTimeout = opts.closeTimeout;
15899
15971
  if (!protocolVersions.includes(opts.protocolVersion)) {
15900
15972
  throw new RangeError(`Unsupported protocol version: ${opts.protocolVersion} ` + `(supported versions: ${protocolVersions.join(", ")})`);
15901
15973
  }
@@ -15905,7 +15977,7 @@ var require_websocket = __commonJS((exports, module) => {
15905
15977
  } else {
15906
15978
  try {
15907
15979
  parsedUrl = new URL2(address);
15908
- } catch (e) {
15980
+ } catch {
15909
15981
  throw new SyntaxError(`Invalid URL: ${address}`);
15910
15982
  }
15911
15983
  }
@@ -15953,7 +16025,11 @@ var require_websocket = __commonJS((exports, module) => {
15953
16025
  opts.path = parsedUrl.pathname + parsedUrl.search;
15954
16026
  opts.timeout = opts.handshakeTimeout;
15955
16027
  if (opts.perMessageDeflate) {
15956
- perMessageDeflate = new PerMessageDeflate(opts.perMessageDeflate !== true ? opts.perMessageDeflate : {}, false, opts.maxPayload);
16028
+ perMessageDeflate = new PerMessageDeflate({
16029
+ ...opts.perMessageDeflate,
16030
+ isServer: false,
16031
+ maxPayload: opts.maxPayload
16032
+ });
15957
16033
  opts.headers["Sec-WebSocket-Extensions"] = format({
15958
16034
  [PerMessageDeflate.extensionName]: perMessageDeflate.offer()
15959
16035
  });
@@ -16113,6 +16189,8 @@ var require_websocket = __commonJS((exports, module) => {
16113
16189
  websocket.setSocket(socket, head, {
16114
16190
  allowSynchronousEvents: opts.allowSynchronousEvents,
16115
16191
  generateMask: opts.generateMask,
16192
+ maxBufferedChunks: opts.maxBufferedChunks,
16193
+ maxFragments: opts.maxFragments,
16116
16194
  maxPayload: opts.maxPayload,
16117
16195
  skipUTF8Validation: opts.skipUTF8Validation
16118
16196
  });
@@ -16234,7 +16312,7 @@ var require_websocket = __commonJS((exports, module) => {
16234
16312
  }
16235
16313
  }
16236
16314
  function setCloseTimer(websocket) {
16237
- websocket._closeTimer = setTimeout(websocket._socket.destroy.bind(websocket._socket), closeTimeout);
16315
+ websocket._closeTimer = setTimeout(websocket._socket.destroy.bind(websocket._socket), websocket._closeTimeout);
16238
16316
  }
16239
16317
  function socketOnClose() {
16240
16318
  const websocket = this[kWebSocket];
@@ -16242,8 +16320,8 @@ var require_websocket = __commonJS((exports, module) => {
16242
16320
  this.removeListener("data", socketOnData);
16243
16321
  this.removeListener("end", socketOnEnd);
16244
16322
  websocket._readyState = WebSocket.CLOSING;
16245
- let chunk;
16246
- if (!this._readableState.endEmitted && !websocket._closeFrameReceived && !websocket._receiver._writableState.errorEmitted && (chunk = websocket._socket.read()) !== null) {
16323
+ if (!this._readableState.endEmitted && !websocket._closeFrameReceived && !websocket._receiver._writableState.errorEmitted && this._readableState.length !== 0) {
16324
+ const chunk = this.read(this._readableState.length);
16247
16325
  websocket._receiver.write(chunk);
16248
16326
  }
16249
16327
  websocket._receiver.end();
@@ -16436,7 +16514,7 @@ var require_websocket_server = __commonJS((exports, module) => {
16436
16514
  var PerMessageDeflate = require_permessage_deflate();
16437
16515
  var subprotocol = require_subprotocol();
16438
16516
  var WebSocket = require_websocket();
16439
- var { GUID, kWebSocket } = require_constants2();
16517
+ var { CLOSE_TIMEOUT, GUID, kWebSocket } = require_constants2();
16440
16518
  var keyRegex = /^[+/0-9A-Za-z]{22}==$/;
16441
16519
  var RUNNING = 0;
16442
16520
  var CLOSING = 1;
@@ -16448,11 +16526,14 @@ var require_websocket_server = __commonJS((exports, module) => {
16448
16526
  options = {
16449
16527
  allowSynchronousEvents: true,
16450
16528
  autoPong: true,
16529
+ maxBufferedChunks: 1024 * 1024,
16530
+ maxFragments: 128 * 1024,
16451
16531
  maxPayload: 100 * 1024 * 1024,
16452
16532
  skipUTF8Validation: false,
16453
16533
  perMessageDeflate: false,
16454
16534
  handleProtocols: null,
16455
16535
  clientTracking: true,
16536
+ closeTimeout: CLOSE_TIMEOUT,
16456
16537
  verifyClient: null,
16457
16538
  noServer: false,
16458
16539
  backlog: null,
@@ -16598,7 +16679,11 @@ var require_websocket_server = __commonJS((exports, module) => {
16598
16679
  const secWebSocketExtensions = req.headers["sec-websocket-extensions"];
16599
16680
  const extensions = {};
16600
16681
  if (this.options.perMessageDeflate && secWebSocketExtensions !== undefined) {
16601
- const perMessageDeflate = new PerMessageDeflate(this.options.perMessageDeflate, true, this.options.maxPayload);
16682
+ const perMessageDeflate = new PerMessageDeflate({
16683
+ ...this.options.perMessageDeflate,
16684
+ isServer: true,
16685
+ maxPayload: this.options.maxPayload
16686
+ });
16602
16687
  try {
16603
16688
  const offers = extension.parse(secWebSocketExtensions);
16604
16689
  if (offers[PerMessageDeflate.extensionName]) {
@@ -16669,6 +16754,8 @@ var require_websocket_server = __commonJS((exports, module) => {
16669
16754
  socket.removeListener("error", socketOnError);
16670
16755
  ws.setSocket(socket, head, {
16671
16756
  allowSynchronousEvents: this.options.allowSynchronousEvents,
16757
+ maxBufferedChunks: this.options.maxBufferedChunks,
16758
+ maxFragments: this.options.maxFragments,
16672
16759
  maxPayload: this.options.maxPayload,
16673
16760
  skipUTF8Validation: this.options.skipUTF8Validation
16674
16761
  });
@@ -16729,13 +16816,23 @@ var require_websocket_server = __commonJS((exports, module) => {
16729
16816
 
16730
16817
  // node_modules/ws/index.js
16731
16818
  var require_ws = __commonJS((exports, module) => {
16819
+ var createWebSocketStream = require_stream();
16820
+ var extension = require_extension();
16821
+ var PerMessageDeflate = require_permessage_deflate();
16822
+ var Receiver = require_receiver();
16823
+ var Sender = require_sender();
16824
+ var subprotocol = require_subprotocol();
16732
16825
  var WebSocket = require_websocket();
16733
- WebSocket.createWebSocketStream = require_stream();
16734
- WebSocket.Server = require_websocket_server();
16735
- WebSocket.Receiver = require_receiver();
16736
- WebSocket.Sender = require_sender();
16826
+ var WebSocketServer = require_websocket_server();
16827
+ WebSocket.createWebSocketStream = createWebSocketStream;
16828
+ WebSocket.extension = extension;
16829
+ WebSocket.PerMessageDeflate = PerMessageDeflate;
16830
+ WebSocket.Receiver = Receiver;
16831
+ WebSocket.Sender = Sender;
16832
+ WebSocket.Server = WebSocketServer;
16833
+ WebSocket.subprotocol = subprotocol;
16737
16834
  WebSocket.WebSocket = WebSocket;
16738
- WebSocket.WebSocketServer = WebSocket.Server;
16835
+ WebSocket.WebSocketServer = WebSocketServer;
16739
16836
  module.exports = WebSocket;
16740
16837
  });
16741
16838
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-threads",
3
- "version": "1.16.2",
3
+ "version": "1.16.3",
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.0",
66
+ "@hono/node-server": "2.0.4",
67
67
  "@inkjs/ui": "^2.0.0",
68
68
  "@modelcontextprotocol/sdk": "^1.26.0",
69
69
  "@redactpii/node": "^1.0.16",
@@ -71,15 +71,15 @@
71
71
  "commander": "^14.0.2",
72
72
  "diff": "^8.0.3",
73
73
  "express-rate-limit": "^8.3.0",
74
- "hono": "^4.12.18",
74
+ "hono": "4.12.23",
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.7.3",
80
+ "semver": "7.8.1",
81
81
  "update-notifier": "^7.3.1",
82
- "ws": "^8.18.0",
82
+ "ws": "8.21.0",
83
83
  "zod": "^4.3.6"
84
84
  },
85
85
  "devDependencies": {