@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.0",
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",