claude-threads 1.17.1 → 1.17.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.
- package/CHANGELOG.md +17 -0
- package/dist/index.js +24 -6
- package/dist/mcp/mcp-server.js +24 -6
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.17.3] - 2026-07-01
|
|
11
|
+
|
|
12
|
+
### Dependencies
|
|
13
|
+
- **Production:** `@hono/node-server` 2.0.5 → 2.0.6, `hono` 4.12.26 → 4.12.27, `semver` 7.8.4 → 7.8.5. (#417)
|
|
14
|
+
- **Dev:** `@types/node` 25 → 26, `typescript-eslint` 8.61.1 → 8.62.1. (#416)
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
- **Held `js-yaml` on 4.x and added a dependabot ignore for `js-yaml >=5.0.0`.** Dependabot grouped a `js-yaml` 4.x → 5.x major into the production bump, but 5.x is ESM-only and dropped the CommonJS `default` export, breaking our `import yaml from 'js-yaml'` call sites with `Missing 'default' export`. The bump now stays on 4.x until the code migrates to named ESM imports. (#417)
|
|
18
|
+
- **CI:** `actions/checkout` 6 → 7. (#413)
|
|
19
|
+
|
|
20
|
+
### Security
|
|
21
|
+
- **`@hono/node-server` 2.0.4 → 2.0.5** to resolve GHSA-frvp-7c67-39w9: on Windows, prefix-mounted Serve Static middleware could be bypassed. Only affects Windows deployments using Serve Static. (#408)
|
|
22
|
+
|
|
23
|
+
### Dependencies
|
|
24
|
+
- **Production:** `hono` 4.12.25 → 4.12.26, `semver` 7.8.1 → 7.8.4. (#408)
|
|
25
|
+
- **Dev:** `@types/node` 25.9.1 → 25.9.3, `@types/react` 19.2.16 → 19.2.17, `eslint` 10.4.1 → 10.5.0, `prettier` 3.8.3 → 3.8.4, `typescript-eslint` 8.60.1 → 8.61.1. (#409)
|
|
26
|
+
|
|
10
27
|
## [1.17.1] - 2026-06-19
|
|
11
28
|
|
|
12
29
|
### Fixed
|
package/dist/index.js
CHANGED
|
@@ -7203,6 +7203,18 @@ var require_semver = __commonJS((exports, module) => {
|
|
|
7203
7203
|
var { safeRe: re, t } = require_re();
|
|
7204
7204
|
var parseOptions = require_parse_options();
|
|
7205
7205
|
var { compareIdentifiers } = require_identifiers();
|
|
7206
|
+
var isPrereleaseIdentifier = (prerelease, identifier) => {
|
|
7207
|
+
const identifiers = identifier.split(".");
|
|
7208
|
+
if (identifiers.length > prerelease.length) {
|
|
7209
|
+
return false;
|
|
7210
|
+
}
|
|
7211
|
+
for (let i2 = 0;i2 < identifiers.length; i2++) {
|
|
7212
|
+
if (compareIdentifiers(prerelease[i2], identifiers[i2]) !== 0) {
|
|
7213
|
+
return false;
|
|
7214
|
+
}
|
|
7215
|
+
}
|
|
7216
|
+
return true;
|
|
7217
|
+
};
|
|
7206
7218
|
|
|
7207
7219
|
class SemVer {
|
|
7208
7220
|
constructor(version, options) {
|
|
@@ -7442,8 +7454,9 @@ var require_semver = __commonJS((exports, module) => {
|
|
|
7442
7454
|
if (identifierBase === false) {
|
|
7443
7455
|
prerelease = [identifier];
|
|
7444
7456
|
}
|
|
7445
|
-
if (
|
|
7446
|
-
|
|
7457
|
+
if (isPrereleaseIdentifier(this.prerelease, identifier)) {
|
|
7458
|
+
const prereleaseBase = this.prerelease[identifier.split(".").length];
|
|
7459
|
+
if (isNaN(prereleaseBase)) {
|
|
7447
7460
|
this.prerelease = prerelease;
|
|
7448
7461
|
}
|
|
7449
7462
|
} else {
|
|
@@ -8032,20 +8045,22 @@ var require_range = __commonJS((exports, module) => {
|
|
|
8032
8045
|
return comp;
|
|
8033
8046
|
};
|
|
8034
8047
|
var isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
|
|
8048
|
+
var invalidXRangeOrder = (M, m, p) => isX(M) && !isX(m) || isX(m) && p && !isX(p);
|
|
8035
8049
|
var replaceTildes = (comp, options) => {
|
|
8036
8050
|
return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" ");
|
|
8037
8051
|
};
|
|
8038
8052
|
var replaceTilde = (comp, options) => {
|
|
8039
8053
|
const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
|
|
8054
|
+
const z = options.includePrerelease ? "-0" : "";
|
|
8040
8055
|
return comp.replace(r, (_, M, m, p, pr) => {
|
|
8041
8056
|
debug("tilde", comp, _, M, m, p, pr);
|
|
8042
8057
|
let ret;
|
|
8043
8058
|
if (isX(M)) {
|
|
8044
8059
|
ret = "";
|
|
8045
8060
|
} else if (isX(m)) {
|
|
8046
|
-
ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
|
|
8061
|
+
ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
|
|
8047
8062
|
} else if (isX(p)) {
|
|
8048
|
-
ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
|
|
8063
|
+
ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
|
|
8049
8064
|
} else if (pr) {
|
|
8050
8065
|
debug("replaceTilde pr", pr);
|
|
8051
8066
|
ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
|
|
@@ -8091,9 +8106,9 @@ var require_range = __commonJS((exports, module) => {
|
|
|
8091
8106
|
debug("no pr");
|
|
8092
8107
|
if (M === "0") {
|
|
8093
8108
|
if (m === "0") {
|
|
8094
|
-
ret = `>=${M}.${m}.${p}
|
|
8109
|
+
ret = `>=${M}.${m}.${p} <${M}.${m}.${+p + 1}-0`;
|
|
8095
8110
|
} else {
|
|
8096
|
-
ret = `>=${M}.${m}.${p}
|
|
8111
|
+
ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
|
|
8097
8112
|
}
|
|
8098
8113
|
} else {
|
|
8099
8114
|
ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
|
|
@@ -8112,6 +8127,9 @@ var require_range = __commonJS((exports, module) => {
|
|
|
8112
8127
|
const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
|
|
8113
8128
|
return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
|
|
8114
8129
|
debug("xRange", comp, ret, gtlt, M, m, p, pr);
|
|
8130
|
+
if (invalidXRangeOrder(M, m, p)) {
|
|
8131
|
+
return comp;
|
|
8132
|
+
}
|
|
8115
8133
|
const xM = isX(M);
|
|
8116
8134
|
const xm = xM || isX(m);
|
|
8117
8135
|
const xp = xm || isX(p);
|
package/dist/mcp/mcp-server.js
CHANGED
|
@@ -12269,6 +12269,18 @@ var require_semver = __commonJS((exports, module) => {
|
|
|
12269
12269
|
var { safeRe: re, t } = require_re();
|
|
12270
12270
|
var parseOptions = require_parse_options();
|
|
12271
12271
|
var { compareIdentifiers } = require_identifiers();
|
|
12272
|
+
var isPrereleaseIdentifier = (prerelease, identifier) => {
|
|
12273
|
+
const identifiers = identifier.split(".");
|
|
12274
|
+
if (identifiers.length > prerelease.length) {
|
|
12275
|
+
return false;
|
|
12276
|
+
}
|
|
12277
|
+
for (let i = 0;i < identifiers.length; i++) {
|
|
12278
|
+
if (compareIdentifiers(prerelease[i], identifiers[i]) !== 0) {
|
|
12279
|
+
return false;
|
|
12280
|
+
}
|
|
12281
|
+
}
|
|
12282
|
+
return true;
|
|
12283
|
+
};
|
|
12272
12284
|
|
|
12273
12285
|
class SemVer {
|
|
12274
12286
|
constructor(version3, options) {
|
|
@@ -12508,8 +12520,9 @@ var require_semver = __commonJS((exports, module) => {
|
|
|
12508
12520
|
if (identifierBase === false) {
|
|
12509
12521
|
prerelease = [identifier];
|
|
12510
12522
|
}
|
|
12511
|
-
if (
|
|
12512
|
-
|
|
12523
|
+
if (isPrereleaseIdentifier(this.prerelease, identifier)) {
|
|
12524
|
+
const prereleaseBase = this.prerelease[identifier.split(".").length];
|
|
12525
|
+
if (isNaN(prereleaseBase)) {
|
|
12513
12526
|
this.prerelease = prerelease;
|
|
12514
12527
|
}
|
|
12515
12528
|
} else {
|
|
@@ -13098,20 +13111,22 @@ var require_range = __commonJS((exports, module) => {
|
|
|
13098
13111
|
return comp;
|
|
13099
13112
|
};
|
|
13100
13113
|
var isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
|
|
13114
|
+
var invalidXRangeOrder = (M, m, p) => isX(M) && !isX(m) || isX(m) && p && !isX(p);
|
|
13101
13115
|
var replaceTildes = (comp, options) => {
|
|
13102
13116
|
return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" ");
|
|
13103
13117
|
};
|
|
13104
13118
|
var replaceTilde = (comp, options) => {
|
|
13105
13119
|
const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
|
|
13120
|
+
const z2 = options.includePrerelease ? "-0" : "";
|
|
13106
13121
|
return comp.replace(r, (_, M, m, p, pr) => {
|
|
13107
13122
|
debug("tilde", comp, _, M, m, p, pr);
|
|
13108
13123
|
let ret;
|
|
13109
13124
|
if (isX(M)) {
|
|
13110
13125
|
ret = "";
|
|
13111
13126
|
} else if (isX(m)) {
|
|
13112
|
-
ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
|
|
13127
|
+
ret = `>=${M}.0.0${z2} <${+M + 1}.0.0-0`;
|
|
13113
13128
|
} else if (isX(p)) {
|
|
13114
|
-
ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
|
|
13129
|
+
ret = `>=${M}.${m}.0${z2} <${M}.${+m + 1}.0-0`;
|
|
13115
13130
|
} else if (pr) {
|
|
13116
13131
|
debug("replaceTilde pr", pr);
|
|
13117
13132
|
ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
|
|
@@ -13157,9 +13172,9 @@ var require_range = __commonJS((exports, module) => {
|
|
|
13157
13172
|
debug("no pr");
|
|
13158
13173
|
if (M === "0") {
|
|
13159
13174
|
if (m === "0") {
|
|
13160
|
-
ret = `>=${M}.${m}.${p}
|
|
13175
|
+
ret = `>=${M}.${m}.${p} <${M}.${m}.${+p + 1}-0`;
|
|
13161
13176
|
} else {
|
|
13162
|
-
ret = `>=${M}.${m}.${p}
|
|
13177
|
+
ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
|
|
13163
13178
|
}
|
|
13164
13179
|
} else {
|
|
13165
13180
|
ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
|
|
@@ -13178,6 +13193,9 @@ var require_range = __commonJS((exports, module) => {
|
|
|
13178
13193
|
const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
|
|
13179
13194
|
return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
|
|
13180
13195
|
debug("xRange", comp, ret, gtlt, M, m, p, pr);
|
|
13196
|
+
if (invalidXRangeOrder(M, m, p)) {
|
|
13197
|
+
return comp;
|
|
13198
|
+
}
|
|
13181
13199
|
const xM = isX(M);
|
|
13182
13200
|
const xm = xM || isX(m);
|
|
13183
13201
|
const xp = xm || isX(p);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-threads",
|
|
3
|
-
"version": "1.17.
|
|
3
|
+
"version": "1.17.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.
|
|
66
|
+
"@hono/node-server": "2.0.6",
|
|
67
67
|
"@inkjs/ui": "^2.0.0",
|
|
68
68
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
69
69
|
"@redactpii/node": "^1.0.16",
|
|
@@ -71,13 +71,13 @@
|
|
|
71
71
|
"commander": "^14.0.2",
|
|
72
72
|
"diff": "^8.0.3",
|
|
73
73
|
"express-rate-limit": "^8.3.0",
|
|
74
|
-
"hono": "4.12.
|
|
74
|
+
"hono": "4.12.27",
|
|
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.
|
|
80
|
+
"semver": "7.8.5",
|
|
81
81
|
"update-notifier": "^7.3.1",
|
|
82
82
|
"ws": "8.21.0",
|
|
83
83
|
"zod": "^4.3.6"
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"@eslint/js": "^10.0.1",
|
|
87
87
|
"@types/bun": "latest",
|
|
88
88
|
"@types/js-yaml": "^4.0.9",
|
|
89
|
-
"@types/node": "^
|
|
89
|
+
"@types/node": "^26.0.1",
|
|
90
90
|
"@types/prompts": "^2.4.9",
|
|
91
91
|
"@types/react": "^19.2.7",
|
|
92
92
|
"@types/semver": "^7.7.1",
|