@ishlabs/cli 0.17.0 → 0.17.3

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.
@@ -13,8 +13,14 @@ import { resolveId, tagAlias, ALIAS_PREFIX } from "../lib/alias-store.js";
13
13
  import { output, formatSimulationPoll } from "../lib/output.js";
14
14
  import { streamStudyEvents } from "../lib/study-events.js";
15
15
  import { isMediaModality, isChatModality, iterationHasContent, describeRequiredContentFlag, readChatMode, readTesterPairConfig, summarizeRoleCriteria, } from "../lib/modality.js";
16
- import { runLocalSimulations } from "../lib/local-sim/loop.js";
17
- import { ensureBrowser } from "../lib/local-sim/install.js";
16
+ // NOTE: local-sim modules are loaded via dynamic import at the `--local`
17
+ // branch below, NOT statically here. `local-sim/install.ts` deep-imports
18
+ // `playwright-core/lib/server/registry/index`, which is not exposed by
19
+ // playwright-core's `exports` map — Node refuses to resolve it during
20
+ // module load (ERR_PACKAGE_PATH_NOT_EXPORTED), so a static import here
21
+ // would crash *every* `ish` invocation on the npm-installed CLI, not
22
+ // just `study run --local`. The bun-compiled binary bundles the deep
23
+ // path so it doesn't hit Node's resolver; only the npm path is sensitive.
18
24
  import { estimateChatPair, estimateChatSolo, estimateMediaRun } from "../lib/billing.js";
19
25
  function parseMaxInteractions(value) {
20
26
  const n = parseInt(value, 10);
@@ -612,6 +618,7 @@ Examples:
612
618
  log("");
613
619
  }
614
620
  if (opts.local) {
621
+ const { ensureBrowser } = await import("../lib/local-sim/install.js");
615
622
  await ensureBrowser({ quiet: globals.quiet, skipPrompt: globals.json });
616
623
  }
617
624
  // Step 5: Either reuse the iteration's testers or batch-create new ones
@@ -718,6 +725,7 @@ Examples:
718
725
  for (const t of createdTesters) {
719
726
  testerNameMap.set(t.id, t.tester_profile?.name ?? "Unknown");
720
727
  }
728
+ const { runLocalSimulations } = await import("../lib/local-sim/loop.js");
721
729
  await runLocalSimulations(client, {
722
730
  workspaceId: resolvedWorkspace,
723
731
  studyId: resolvedStudy,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ishlabs/cli",
3
- "version": "0.17.0",
3
+ "version": "0.17.3",
4
4
  "description": "The command-line interface for ish",
5
5
  "type": "module",
6
6
  "bin": {
@@ -13,8 +13,8 @@
13
13
  "build:skills-repo": "npm run build && node scripts/generate-skills-repo.mjs",
14
14
  "verify:skills-parity": "npm run build && node scripts/verify-skills-parity.mjs",
15
15
  "dev": "tsc --watch",
16
- "test": "npm run build && node --test \"tests/*.test.mjs\"",
17
- "prepublishOnly": "npm run build"
16
+ "test": "npm run build && node --test --test-concurrency=1 tests/*.test.mjs",
17
+ "prepublishOnly": "npm test"
18
18
  },
19
19
  "engines": {
20
20
  "node": ">=18.0.0"