@urateam/cli 0.1.5 → 0.1.6
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/dist/__tests__/preflight-claude-auth.test.d.ts +2 -0
- package/dist/__tests__/preflight-claude-auth.test.d.ts.map +1 -0
- package/dist/__tests__/preflight-claude-auth.test.js +58 -0
- package/dist/__tests__/preflight-claude-auth.test.js.map +1 -0
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +4 -0
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +4 -0
- package/dist/commands/start.js.map +1 -1
- package/dist/lib/preflight-claude-auth.d.ts +28 -0
- package/dist/lib/preflight-claude-auth.d.ts.map +1 -0
- package/dist/lib/preflight-claude-auth.js +31 -0
- package/dist/lib/preflight-claude-auth.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preflight-claude-auth.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/preflight-claude-auth.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
|
|
2
|
+
// Hoist the mock fn so it's defined before vi.mock's factory runs.
|
|
3
|
+
const { mockIsClaudeAuthValid } = vi.hoisted(() => ({
|
|
4
|
+
mockIsClaudeAuthValid: vi.fn(),
|
|
5
|
+
}));
|
|
6
|
+
// Minimal mock: only `isClaudeAuthValid` is touched by preflightClaudeAuth,
|
|
7
|
+
// so we don't need vi.importActual (which is slow + introduces a startup
|
|
8
|
+
// race where the first test can resolve before the mocked module is fully
|
|
9
|
+
// populated).
|
|
10
|
+
vi.mock("@urateam/core", () => ({
|
|
11
|
+
isClaudeAuthValid: mockIsClaudeAuthValid,
|
|
12
|
+
}));
|
|
13
|
+
import { preflightClaudeAuth } from "../lib/preflight-claude-auth.js";
|
|
14
|
+
describe("preflightClaudeAuth", () => {
|
|
15
|
+
let exitSpy;
|
|
16
|
+
let errorSpy;
|
|
17
|
+
beforeEach(() => {
|
|
18
|
+
mockIsClaudeAuthValid.mockReset();
|
|
19
|
+
exitSpy = vi.spyOn(process, "exit").mockImplementation(((_code) => {
|
|
20
|
+
throw new Error("__EXIT__");
|
|
21
|
+
}));
|
|
22
|
+
errorSpy = vi.spyOn(console, "error").mockImplementation(() => { });
|
|
23
|
+
});
|
|
24
|
+
afterEach(() => {
|
|
25
|
+
exitSpy.mockRestore();
|
|
26
|
+
errorSpy.mockRestore();
|
|
27
|
+
});
|
|
28
|
+
it("returns silently when isClaudeAuthValid resolves true", async () => {
|
|
29
|
+
mockIsClaudeAuthValid.mockResolvedValue(true);
|
|
30
|
+
await preflightClaudeAuth({ command: "ura dev" });
|
|
31
|
+
expect(exitSpy).not.toHaveBeenCalled();
|
|
32
|
+
expect(errorSpy).not.toHaveBeenCalled();
|
|
33
|
+
});
|
|
34
|
+
it("exits 1 with an actionable banner when isClaudeAuthValid resolves false", async () => {
|
|
35
|
+
mockIsClaudeAuthValid.mockResolvedValue(false);
|
|
36
|
+
await expect(preflightClaudeAuth({ command: "ura dev" })).rejects.toThrow("__EXIT__");
|
|
37
|
+
expect(exitSpy).toHaveBeenCalledWith(1);
|
|
38
|
+
const banner = errorSpy.mock.calls[0][0];
|
|
39
|
+
expect(banner).toContain("Claude session auth check failed");
|
|
40
|
+
expect(banner).toContain("claude login");
|
|
41
|
+
expect(banner).toContain("ura dev");
|
|
42
|
+
expect(banner).toContain("manual recovery");
|
|
43
|
+
});
|
|
44
|
+
it("includes the docker-compose hint when containerized=true", async () => {
|
|
45
|
+
mockIsClaudeAuthValid.mockResolvedValue(false);
|
|
46
|
+
await expect(preflightClaudeAuth({ command: "ura start", containerized: true })).rejects.toThrow("__EXIT__");
|
|
47
|
+
const banner = errorSpy.mock.calls[0][0];
|
|
48
|
+
expect(banner).toContain("docker compose exec");
|
|
49
|
+
expect(banner).toContain("ura start");
|
|
50
|
+
});
|
|
51
|
+
it("omits the docker-compose hint by default", async () => {
|
|
52
|
+
mockIsClaudeAuthValid.mockResolvedValue(false);
|
|
53
|
+
await expect(preflightClaudeAuth({ command: "ura dev" })).rejects.toThrow("__EXIT__");
|
|
54
|
+
const banner = errorSpy.mock.calls[0][0];
|
|
55
|
+
expect(banner).not.toContain("docker compose exec");
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=preflight-claude-auth.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preflight-claude-auth.test.js","sourceRoot":"","sources":["../../src/__tests__/preflight-claude-auth.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,eAAO,MAAM,UAAU,SAsHnB,CAAC"}
|
package/dist/commands/dev.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
2
|
import { bootstrapSsoFromEnv } from "../sso-bootstrap.js";
|
|
3
|
+
import { preflightClaudeAuth } from "../lib/preflight-claude-auth.js";
|
|
3
4
|
export const devCommand = new Command("dev")
|
|
4
5
|
.description("Start local development server (webhook + dashboard)")
|
|
5
6
|
.option("--port <port>", "Webhook server port", "3000")
|
|
@@ -49,6 +50,9 @@ export const devCommand = new Command("dev")
|
|
|
49
50
|
" REPO_URL=https://github.com/org/repo\n");
|
|
50
51
|
process.exit(1);
|
|
51
52
|
}
|
|
53
|
+
// OSS-tier auth pre-flight (urateam#40). Run before opening the DB so a
|
|
54
|
+
// bad auth state doesn't leave any resources to clean up.
|
|
55
|
+
await preflightClaudeAuth({ command: "ura dev" });
|
|
52
56
|
const config = {
|
|
53
57
|
webhookSecret: process.env.LINEAR_WEBHOOK_SECRET ?? "dev-secret",
|
|
54
58
|
linearApiKey: process.env.LINEAR_API_KEY ?? "",
|
package/dist/commands/dev.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,YAAY,SA+QrB,CAAC"}
|
package/dist/commands/start.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
2
|
import { readFileSync } from "node:fs";
|
|
3
3
|
import { bootstrapSsoFromEnv } from "../sso-bootstrap.js";
|
|
4
|
+
import { preflightClaudeAuth } from "../lib/preflight-claude-auth.js";
|
|
4
5
|
export const startCommand = new Command("start")
|
|
5
6
|
.description("Start production server (webhook + dashboard)")
|
|
6
7
|
.option("--port <port>", "Webhook server port", "3000")
|
|
@@ -142,6 +143,9 @@ export const startCommand = new Command("start")
|
|
|
142
143
|
pmConfig,
|
|
143
144
|
githubWebhookSecret: process.env.GITHUB_WEBHOOK_SECRET,
|
|
144
145
|
};
|
|
146
|
+
// OSS-tier auth pre-flight (urateam#40). Run before opening the DB so a
|
|
147
|
+
// bad auth state doesn't leave any resources to clean up.
|
|
148
|
+
await preflightClaudeAuth({ command: "ura start", containerized: true });
|
|
145
149
|
// --- SSO (Enterprise, opt-in via URATEAM_SSO_ENABLED=true) ---
|
|
146
150
|
// Validate SSO env vars BEFORE opening the DB / starting the runner so a
|
|
147
151
|
// misconfigured deployment fails fast without leaking resources.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OSS-tier Claude session auth pre-flight, shared by `ura dev` and `ura start`.
|
|
3
|
+
*
|
|
4
|
+
* The OSS tier of urateam runs against the local `claude` CLI session, which
|
|
5
|
+
* expires silently in the background (typically weekly). Without this gate
|
|
6
|
+
* the first inbound Linear webhook after expiry would burn through tokens,
|
|
7
|
+
* fail mid-pipeline, and leave the operator to manually unstick the Linear
|
|
8
|
+
* issue from "in progress" before re-authing. The Anthropic API tier
|
|
9
|
+
* (long-lived API key) has no session-lifetime semantics — `isClaudeAuthValid`
|
|
10
|
+
* resolves true there and the gate is a no-op.
|
|
11
|
+
*
|
|
12
|
+
* On failure: prints an operator-actionable banner and exits 1.
|
|
13
|
+
*
|
|
14
|
+
* See urateam#40.
|
|
15
|
+
*/
|
|
16
|
+
export declare function preflightClaudeAuth(opts: {
|
|
17
|
+
/**
|
|
18
|
+
* The bin name to surface in the banner (`ura dev` vs `ura start`).
|
|
19
|
+
* Surfacing the actual entry point the operator typed reduces confusion.
|
|
20
|
+
*/
|
|
21
|
+
command: "ura dev" | "ura start";
|
|
22
|
+
/**
|
|
23
|
+
* When true, the banner mentions the `docker compose exec ... claude login`
|
|
24
|
+
* variant. Used by `ura start` (production / containerized).
|
|
25
|
+
*/
|
|
26
|
+
containerized?: boolean;
|
|
27
|
+
}): Promise<void>;
|
|
28
|
+
//# sourceMappingURL=preflight-claude-auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preflight-claude-auth.d.ts","sourceRoot":"","sources":["../../src/lib/preflight-claude-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C;;;OAGG;IACH,OAAO,EAAE,SAAS,GAAG,WAAW,CAAC;IACjC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBhB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OSS-tier Claude session auth pre-flight, shared by `ura dev` and `ura start`.
|
|
3
|
+
*
|
|
4
|
+
* The OSS tier of urateam runs against the local `claude` CLI session, which
|
|
5
|
+
* expires silently in the background (typically weekly). Without this gate
|
|
6
|
+
* the first inbound Linear webhook after expiry would burn through tokens,
|
|
7
|
+
* fail mid-pipeline, and leave the operator to manually unstick the Linear
|
|
8
|
+
* issue from "in progress" before re-authing. The Anthropic API tier
|
|
9
|
+
* (long-lived API key) has no session-lifetime semantics — `isClaudeAuthValid`
|
|
10
|
+
* resolves true there and the gate is a no-op.
|
|
11
|
+
*
|
|
12
|
+
* On failure: prints an operator-actionable banner and exits 1.
|
|
13
|
+
*
|
|
14
|
+
* See urateam#40.
|
|
15
|
+
*/
|
|
16
|
+
export async function preflightClaudeAuth(opts) {
|
|
17
|
+
const { isClaudeAuthValid } = await import("@urateam/core");
|
|
18
|
+
if (await isClaudeAuthValid())
|
|
19
|
+
return;
|
|
20
|
+
const reauth = opts.containerized
|
|
21
|
+
? "Run `claude login` (or `docker compose exec <service> claude login` if running\n" +
|
|
22
|
+
" containerized)"
|
|
23
|
+
: "Run `claude login`";
|
|
24
|
+
console.error("⚠ Claude session auth check failed at startup.\n" +
|
|
25
|
+
" The local `claude` session is missing or expired.\n" +
|
|
26
|
+
` ${reauth} and restart \`${opts.command}\`. Without this fix,\n` +
|
|
27
|
+
" webhooks will fail mid-pipeline and the agent will mark Linear issues\n" +
|
|
28
|
+
" as failed — requiring manual recovery.\n");
|
|
29
|
+
process.exit(1);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=preflight-claude-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preflight-claude-auth.js","sourceRoot":"","sources":["../../src/lib/preflight-claude-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAWzC;IACC,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IAC5D,IAAI,MAAM,iBAAiB,EAAE;QAAE,OAAO;IAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa;QAC/B,CAAC,CAAC,kFAAkF;YAClF,kBAAkB;QACpB,CAAC,CAAC,oBAAoB,CAAC;IACzB,OAAO,CAAC,KAAK,CACX,kDAAkD;QAChD,uDAAuD;QACvD,KAAK,MAAM,kBAAkB,IAAI,CAAC,OAAO,yBAAyB;QAClE,2EAA2E;QAC3E,4CAA4C,CAC/C,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|