@orboto/mcp 0.182.0 → 0.182.2
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.
|
@@ -54,6 +54,12 @@ async function fixture() {
|
|
|
54
54
|
});
|
|
55
55
|
return { run, cache, ruleReads: () => ruleReads, set: (body, code = 200) => { rules = body; status = code; }, setNext: (body) => { next = body; } };
|
|
56
56
|
}
|
|
57
|
+
// ORB-1948 - each test spawns the REAL wrapper CLI (a 6,000-line module,
|
|
58
|
+
// about 1 s locally); on a saturated CI host (tag run: boot gate, three
|
|
59
|
+
// image builds, CLI binaries and the MCP split in parallel) that exceeded
|
|
60
|
+
// vitest's 5 s default and blocked the v0.182.1 rollout. The budget is per
|
|
61
|
+
// test and generous on purpose - a hang still fails, only slower.
|
|
62
|
+
const SPAWN_TEST_TIMEOUT_MS = 60_000;
|
|
57
63
|
describe('wrapper required rules through the real CLI', () => {
|
|
58
64
|
it('does not turn malformed work-next responses into an idle result', async () => {
|
|
59
65
|
const f = await fixture();
|
|
@@ -77,7 +83,7 @@ describe('wrapper required rules through the real CLI', () => {
|
|
|
77
83
|
expect(ack.out).toContain('not currently in your context');
|
|
78
84
|
expect(ack.out).toContain('session-start --force-rules');
|
|
79
85
|
expect(ack.out).not.toContain('keep following what you already loaded');
|
|
80
|
-
});
|
|
86
|
+
}, SPAWN_TEST_TIMEOUT_MS);
|
|
81
87
|
it('does not silently omit an explicitly requested init rules snapshot', async () => {
|
|
82
88
|
const f = await fixture();
|
|
83
89
|
f.set('{}');
|
|
@@ -85,7 +91,7 @@ describe('wrapper required rules through the real CLI', () => {
|
|
|
85
91
|
expect(result.code).toBe(1);
|
|
86
92
|
expect(result.err).toContain('Required agent rules');
|
|
87
93
|
expect(f.ruleReads()).toBe(1);
|
|
88
|
-
});
|
|
94
|
+
}, SPAWN_TEST_TIMEOUT_MS);
|
|
89
95
|
it('fails closed without poisoning the cache, then recovers with a valid empty ruleset', async () => {
|
|
90
96
|
const f = await fixture();
|
|
91
97
|
for (const body of ['{}', 'null', '[]', '{"instructions":', '<html>secret-token</html>', '{"instructions":"","rulesHash":null}', '{"rulesHash":"keep-hash","rulesUnchanged":true}']) {
|
|
@@ -109,5 +115,5 @@ describe('wrapper required rules through the real CLI', () => {
|
|
|
109
115
|
expect(result.code).toBe(0);
|
|
110
116
|
expect(result.out).toContain('no workspace rules configured');
|
|
111
117
|
expect((await readFile(f.cache, 'utf8')).trim()).toBe('empty');
|
|
112
|
-
});
|
|
118
|
+
}, SPAWN_TEST_TIMEOUT_MS);
|
|
113
119
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orboto/mcp",
|
|
3
|
-
"version": "0.182.
|
|
3
|
+
"version": "0.182.2",
|
|
4
4
|
"description": "Model Context Protocol server for orboto - exposes tickets, projects, milestones, time, docs, primer-facts, alerts and absences as MCP tools for Claude Desktop / Cursor / Copilot Chat / any MCP-aware AI client.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|