Skip to content

Commit 8afafbf

Browse files
committed
chore(deps): drop unused @intx/hub-sessions pin
1 parent 081c161 commit 8afafbf

4 files changed

Lines changed: 65 additions & 2 deletions

File tree

‎bun.lock‎

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎docs/VENDORING.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,12 @@ signingKey })` (local disk + keypair, no hub, no database) is present in
7777
tarball already carries it (its `subscribeAgentEvents(agent,
7878
opts.onEvent)` wiring). Root `dependencies` pins `0.3.0`.
7979

80+
CL-9021 later dropped the `@intx/hub-sessions` root pin: no first-party
81+
tree imports it (the only references are the inert
82+
`vendor/intx-workflow-host/` provenance files), so the published-tarball
83+
coverage above stands as fallback, not as an installed dependency.
84+
`scripts/check-no-hub-sessions.test.ts` locks the removal.
85+
8086
Everything vendored in this pass sits at the same upstream commit
8187
`1ad010463a6bce6034cded3e078b14db482882a8` as the existing trees; no
8288
vendored tree mixes pins.

‎package.json‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@
9494
"@intx/authz": "workspace:*",
9595
"@intx/crypto": "0.3.0",
9696
"@intx/harness": "workspace:*",
97-
"@intx/hub-sessions": "0.3.0",
9897
"@intx/inference": "workspace:*",
9998
"@intx/log": "workspace:*",
10099
"@intx/mail-memory": "0.3.0",
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
import { existsSync, readdirSync, readFileSync } from "node:fs";
2+
import { join, relative } from "node:path";
3+
import { describe, expect, test } from "bun:test";
4+
5+
// CL-9021: the root pin for the sessions package was dropped because no
6+
// first-party tree imports it. The only remaining references are the inert
7+
// `vendor/intx-workflow-host/` provenance files (not a workspace member,
8+
// excluded from typecheck/test/build per docs/VENDORING.md) plus prose
9+
// comments. Fail if a built tree gains an import or the pin creeps back.
10+
11+
const repoRoot = join(import.meta.dir, "..");
12+
const pkg = JSON.parse(
13+
readFileSync(join(repoRoot, "package.json"), "utf8"),
14+
) as {
15+
dependencies: Record<string, string>;
16+
};
17+
18+
// Trees that participate in typecheck (tsconfig include) and the test suite.
19+
const FIRST_PARTY_TREES = [
20+
"src",
21+
"packages",
22+
"scripts",
23+
"e2e",
24+
"evals",
25+
"testkit",
26+
];
27+
28+
const SESSIONS_IMPORT =
29+
/(?:from\s+|require\(\s*|import\(\s*)["']@intx\/hub-sessions(?:\/[^"']*)?["']\s*\)?/;
30+
31+
function tsFiles(dir: string): string[] {
32+
const files: string[] = [];
33+
const walk = (current: string) => {
34+
for (const entry of readdirSync(current, { withFileTypes: true })) {
35+
const absolute = join(current, entry.name);
36+
if (entry.isDirectory()) walk(absolute);
37+
else if (entry.name.endsWith(".ts")) files.push(absolute);
38+
}
39+
};
40+
if (existsSync(dir)) walk(dir);
41+
return files;
42+
}
43+
44+
describe("no sessions package", () => {
45+
test("package.json carries no dependency on the sessions package", () => {
46+
expect(pkg.dependencies["@intx/hub-sessions"]).toBeUndefined();
47+
});
48+
49+
test("no first-party tree imports the sessions package", () => {
50+
const offenders: string[] = [];
51+
for (const tree of FIRST_PARTY_TREES) {
52+
for (const file of tsFiles(join(repoRoot, tree))) {
53+
if (SESSIONS_IMPORT.test(readFileSync(file, "utf8")))
54+
offenders.push(relative(repoRoot, file).split("/").join("/"));
55+
}
56+
}
57+
expect(offenders).toEqual([]);
58+
});
59+
});

0 commit comments

Comments
 (0)