bun test v1.3.10 (30e609e0)

plugins/lfg/bin/lfg.test.ts:
 6 | const LFG = new URL("lfg", import.meta.url).pathname
 7 | 
 8 | describe("lfg CLI", () => {
 9 |   test("package metadata exposes npm ulw bin without Bun runtime", async () => {
10 |     const parsed = JSON.parse(await readFile(new URL("../package.json", import.meta.url), "utf8")) as Record<string, unknown>
11 |     expect(parsed.name).toBe("ulw")
                             ^
error: expect(received).toBe(expected)

Expected: "ulw"
Received: "@lfg/lazycodex-adapter-installer"

      at <anonymous> (/Users/ilseoblee/workspace/linalab/lfg/plugins/lfg/bin/lfg.test.ts:11:25)
(fail) lfg CLI > package metadata exposes npm ulw bin without Bun runtime [4.54ms]
(pass) lfg CLI > reports lazycodex adapter install command and target [36.68ms]
(pass) lfg CLI > keeps lazycodex install as a compatibility alias [23.48ms]
(pass) lfg CLI > shows an interactive install wizard by default [27.15ms]
(pass) lfg CLI > interactive install wizard runs npx when confirmed [347.93ms]
(pass) lfg CLI > interactive install wizard reuses existing Grok endpoint for BYOK [36.00ms]
(pass) lfg CLI > runs lazycodex installer through npx when explicitly requested [154.52ms]
(pass) lfg CLI > reports npx installer failure [346.93ms]
(pass) lfg CLI > status and setup describe lfg as adapter installer not plugin [60.64ms]
(pass) lfg CLI > doctor requires npx but does not present bun as installer prerequisite [25.30ms]
163 |   })
164 | 
165 |   test("accepts ulw as the npx command alias", async () => {
166 |     const home = await mkdtemp(join(tmpdir(), "lfg-home."))
167 |     const result = await runLfg(["--json", "ulw"], { HOME: home, LFG_LAUNCHER: "ulw" })
168 |     expect(result.exitCode).toBe(0)
                                  ^
error: expect(received).toBe(expected)

Expected: 0
Received: 1

      at <anonymous> (/Users/ilseoblee/workspace/linalab/lfg/plugins/lfg/bin/lfg.test.ts:168:29)
(fail) lfg CLI > accepts ulw as the npx command alias [24.59ms]
177 |   })
178 | 
179 |   test("unknown command lists supported command names", async () => {
180 |     const result = await runLfg(["--json", "wat"])
181 |     expect(result.exitCode).toBe(1)
182 |     expect(result.json).toMatchObject({
                              ^
error: expect(received).toMatchObject(expected)

  {
+   "adapterPackage": "lazycodex-ai",
    "code": "unsupported_command",
    "command": "wat",
+   "installerCommand": "npx lazycodex-ai install",
+   "lfgIsPlugin": false,
+   "message": "lfg does not run wat; it installs the lazycodex Codex adapter for grok-build.",
    "ok": false,
+   "role": "lazycodex_adapter_installer",
+   "status": "error",
    "supportedCommands": [
-     "ulw",
      "install",
      "status",
      "doctor",
      "config grok-byok",
      "lazycodex install",
      "lazycodex status",
      "setup install-plan",
      "setup show",
    ],
  }

- Expected  - 1
+ Received  + 6

      at <anonymous> (/Users/ilseoblee/workspace/linalab/lfg/plugins/lfg/bin/lfg.test.ts:182:25)
(fail) lfg CLI > unknown command lists supported command names [24.62ms]
(pass) lfg CLI > uses configured lazycodex adapter root [26.29ms]
(pass) lfg CLI > detects grok installed lazycodex adapter when primary plugin path is absent [24.61ms]

 11 pass
 3 fail
 54 expect() calls
Ran 14 tests across 1 file. [1234.00ms]
