@pourkit/cli 0.0.0-next-20260617183635 → 0.0.0-next-20260617220545

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/cli.js CHANGED
@@ -11941,6 +11941,7 @@ import { createHash as createHash2, randomUUID } from "crypto";
11941
11941
  import path5 from "path";
11942
11942
  import { execFile as execFile2 } from "child_process";
11943
11943
  import { promisify as promisify2 } from "util";
11944
+ import { fileURLToPath as fileURLToPath2 } from "url";
11944
11945
  import { confirm, isCancel, log, select, text } from "@clack/prompts";
11945
11946
 
11946
11947
  // providers/github-client.ts
@@ -12088,7 +12089,15 @@ function getWorkflowPackCatalog() {
12088
12089
  function buildOpenCodeSkillProjectionContent(managedSourcePath, sourceContent) {
12089
12090
  const generatedNotice = `Generated from ${managedSourcePath}. Do not edit directly.`;
12090
12091
  if (managedSourcePath.endsWith(".md") || managedSourcePath.endsWith(".mdx")) {
12091
- return `<!-- ${generatedNotice} -->
12092
+ const comment = `<!-- ${generatedNotice} -->`;
12093
+ const frontmatter = sourceContent.match(
12094
+ /^---\r?\n[\s\S]*?\r?\n---[ \t]*(?:\r?\n|$)/
12095
+ );
12096
+ if (frontmatter) {
12097
+ return `${frontmatter[0]}${comment}
12098
+ ${sourceContent.slice(frontmatter[0].length)}`;
12099
+ }
12100
+ return `${comment}
12092
12101
  ${sourceContent}`;
12093
12102
  }
12094
12103
  if (managedSourcePath.endsWith(".sh") || managedSourcePath.endsWith(".bash") || managedSourcePath.endsWith(".zsh") || managedSourcePath.endsWith(".py") || managedSourcePath.endsWith(".rb") || managedSourcePath.endsWith(".yml") || managedSourcePath.endsWith(".yaml") || managedSourcePath.endsWith(".toml")) {
@@ -12124,7 +12133,22 @@ function buildWorkflowPackMetadata(enabledAddons) {
12124
12133
 
12125
12134
  // commands/init.ts
12126
12135
  var execFileAsync2 = promisify2(execFile2);
12136
+ var __filename2 = fileURLToPath2(import.meta.url);
12137
+ var __dirname2 = path5.dirname(__filename2);
12127
12138
  var RELEASE_ADDON_SKILL_NAMES = ["changeset", "promote-release"];
12139
+ function resolvePackagedSourceRoot() {
12140
+ return path5.resolve(__dirname2, "..");
12141
+ }
12142
+ function resolveSourceAssetPath(sourceRoot, ...segments) {
12143
+ const candidatePaths = [
12144
+ path5.join(sourceRoot, ...segments),
12145
+ path5.join(sourceRoot, "dist", ...segments)
12146
+ ];
12147
+ for (const candidatePath of candidatePaths) {
12148
+ if (existsSync18(candidatePath)) return candidatePath;
12149
+ }
12150
+ return path5.join(sourceRoot, "pourkit", ...segments);
12151
+ }
12128
12152
  var BASELINE_SKILL_NAMES = [
12129
12153
  "code-review",
12130
12154
  "diagnose",
@@ -12505,14 +12529,31 @@ Use \`fd\` for file discovery, \`rg\` for text search, and direct file reads for
12505
12529
 
12506
12530
  Follow the project's domain docs and conventions documented in \`.pourkit/managed/docs/agents/*\`.
12507
12531
 
12508
- ### Managed operating docs
12532
+ ## Pourkit Workflow Routes
12533
+
12534
+ ### Issue Tracker
12535
+
12536
+ When using Pourkit issue workflows, see \`.pourkit/managed/docs/agents/issue-tracker.md\`.
12537
+
12538
+ ### Triage Labels
12509
12539
 
12510
- - \`.pourkit/managed/docs/agents/issue-tracker.md\`
12511
- - \`.pourkit/managed/docs/agents/triage-labels.md\`
12512
- - \`.pourkit/managed/docs/agents/naming.md\`
12513
- - \`.pourkit/managed/docs/agents/git-workflow.md\`
12514
- - \`.pourkit/managed/docs/agents/commit-style.md\`
12515
- - \`.pourkit/managed/docs/agents/domain.md\`
12540
+ Pourkit workflows use the default triage labels described in \`.pourkit/managed/docs/agents/triage-labels.md\`.
12541
+
12542
+ ### Domain Docs
12543
+
12544
+ Follow the repository domain-documentation layout in \`.pourkit/managed/docs/agents/domain.md\`.
12545
+
12546
+ ### Issue Naming
12547
+
12548
+ PRDs and child issues must follow the naming convention in \`.pourkit/managed/docs/agents/naming.md\`.
12549
+
12550
+ ### Git Workflow
12551
+
12552
+ Branch naming and PR creation guidance lives in \`.pourkit/managed/docs/agents/git-workflow.md\`.
12553
+
12554
+ ### Commit Style
12555
+
12556
+ Agents must write readable conventional commits with bullet-list bodies for non-trivial changes. See \`.pourkit/managed/docs/agents/commit-style.md\`.
12516
12557
 
12517
12558
  ### Project-owned context
12518
12559
 
@@ -12690,16 +12731,24 @@ async function checkExistingLabelConflicts(client, canonicalLabels) {
12690
12731
  }
12691
12732
  }
12692
12733
  async function planInit(options) {
12693
- const { targetRoot, sourceRoot } = options;
12734
+ const { targetRoot } = options;
12735
+ let sourceRoot = options.sourceRoot ?? resolvePackagedSourceRoot();
12736
+ let usingExplicitSource = Boolean(options.sourceRoot);
12694
12737
  const operations = [];
12695
12738
  const warnings = [];
12696
12739
  let hasLabelConflicts = false;
12697
- let managedAgentContent;
12698
- if (sourceRoot) {
12699
- managedAgentContent = await generateManagedAgentInstructions({
12700
- sourceRoot
12740
+ if (options.sourceRoot) {
12741
+ warnings.push("--from-local is deprecated; omit it to use packaged assets");
12742
+ operations.push({
12743
+ kind: "warn",
12744
+ reason: "--from-local is deprecated; omit it to use packaged assets",
12745
+ destructive: false,
12746
+ requiresConfirmation: false
12701
12747
  });
12702
12748
  }
12749
+ const managedAgentContent = await generateManagedAgentInstructions({
12750
+ sourceRoot
12751
+ });
12703
12752
  const pm = options.packageManager ?? detectPackageManager(targetRoot);
12704
12753
  if (pm) {
12705
12754
  operations.push({
@@ -12730,39 +12779,28 @@ async function planInit(options) {
12730
12779
  const agentFiles = await discoverAgentFiles(targetRoot);
12731
12780
  if (agentFiles.length > 0) {
12732
12781
  for (const f of agentFiles) {
12733
- if (sourceRoot) {
12734
- const agentFileMode = options.conflictPolicy?.agentFile ?? "both";
12735
- const basename = path5.basename(f);
12736
- if (agentFileMode === "skip" || agentFileMode === "agents" && basename !== "AGENTS.md" || agentFileMode === "claude" && basename !== "CLAUDE.md") {
12737
- operations.push({
12738
- kind: "skip",
12739
- path: f,
12740
- ownership: "project-owned",
12741
- reason: `Existing agent file skipped per policy: ${basename}`,
12742
- requiresConfirmation: false,
12743
- destructive: false
12744
- });
12745
- continue;
12746
- }
12747
- operations.push({
12748
- kind: "update",
12749
- path: f,
12750
- ownership: "managed",
12751
- reason: `Update existing ${basename} with Pourkit managed block`,
12752
- requiresConfirmation: false,
12753
- destructive: false,
12754
- content: managedAgentContent
12755
- });
12756
- } else {
12782
+ const agentFileMode = options.conflictPolicy?.agentFile ?? "both";
12783
+ const basename = path5.basename(f);
12784
+ if (agentFileMode === "skip" || agentFileMode === "agents" && basename !== "AGENTS.md" || agentFileMode === "claude" && basename !== "CLAUDE.md") {
12757
12785
  operations.push({
12758
12786
  kind: "skip",
12759
12787
  path: f,
12760
12788
  ownership: "project-owned",
12761
- reason: `Existing agent file: ${path5.basename(f)}`,
12789
+ reason: `Existing agent file skipped per policy: ${basename}`,
12762
12790
  requiresConfirmation: false,
12763
12791
  destructive: false
12764
12792
  });
12793
+ continue;
12765
12794
  }
12795
+ operations.push({
12796
+ kind: "update",
12797
+ path: f,
12798
+ ownership: "managed",
12799
+ reason: `Update existing ${basename} with Pourkit managed block`,
12800
+ requiresConfirmation: false,
12801
+ destructive: false,
12802
+ content: managedAgentContent
12803
+ });
12766
12804
  }
12767
12805
  }
12768
12806
  const merlleState = await discoverMerlleState(targetRoot);
@@ -12856,7 +12894,10 @@ async function planInit(options) {
12856
12894
  destructive: false,
12857
12895
  requiresConfirmation: false
12858
12896
  });
12859
- } else {
12897
+ sourceRoot = resolvePackagedSourceRoot();
12898
+ usingExplicitSource = false;
12899
+ }
12900
+ {
12860
12901
  let sourceMeta;
12861
12902
  try {
12862
12903
  sourceMeta = await discoverLocalSource(sourceRoot);
@@ -12869,17 +12910,19 @@ async function planInit(options) {
12869
12910
  releaseChannel: "unknown",
12870
12911
  latestTag: null
12871
12912
  };
12872
- warnings.push(
12873
- "Source is not a Git repository; version metadata unavailable"
12874
- );
12875
- operations.push({
12876
- kind: "warn",
12877
- reason: "Source is not a Git repository; version metadata unavailable",
12878
- destructive: false,
12879
- requiresConfirmation: false
12880
- });
12913
+ if (usingExplicitSource) {
12914
+ warnings.push(
12915
+ "Source is not a Git repository; version metadata unavailable"
12916
+ );
12917
+ operations.push({
12918
+ kind: "warn",
12919
+ reason: "Source is not a Git repository; version metadata unavailable",
12920
+ destructive: false,
12921
+ requiresConfirmation: false
12922
+ });
12923
+ }
12881
12924
  }
12882
- if (sourceMeta.sourceDirty) {
12925
+ if (usingExplicitSource && sourceMeta.sourceDirty) {
12883
12926
  warnings.push("Local source has uncommitted changes");
12884
12927
  operations.push({
12885
12928
  kind: "warn",
@@ -12894,15 +12937,13 @@ async function planInit(options) {
12894
12937
  plannedSkillDests.add(op.path);
12895
12938
  }
12896
12939
  }
12897
- const packagedManagedSkills = path5.join(
12940
+ const packagedManagedSkills = resolveSourceAssetPath(
12898
12941
  sourceRoot,
12899
- "pourkit",
12900
12942
  "managed",
12901
12943
  "skills"
12902
12944
  );
12903
- const packagedReleaseAddonSkills = path5.join(
12945
+ const packagedReleaseAddonSkills = resolveSourceAssetPath(
12904
12946
  sourceRoot,
12905
- "pourkit",
12906
12947
  "managed",
12907
12948
  "addons",
12908
12949
  "release",
@@ -13151,9 +13192,8 @@ async function planInit(options) {
13151
13192
  destructive: false
13152
13193
  });
13153
13194
  }
13154
- const packagedManagedDocAgents = path5.join(
13195
+ const packagedManagedDocAgents = resolveSourceAssetPath(
13155
13196
  sourceRoot,
13156
- "pourkit",
13157
13197
  "managed",
13158
13198
  "docs",
13159
13199
  "agents"
@@ -13231,9 +13271,8 @@ Do not edit this file.
13231
13271
  }
13232
13272
  }
13233
13273
  if (options.releaseWorkflow?.enabled) {
13234
- const packagedReleaseAddonDocs = path5.join(
13274
+ const packagedReleaseAddonDocs = resolveSourceAssetPath(
13235
13275
  sourceRoot,
13236
- "pourkit",
13237
13276
  "managed",
13238
13277
  "addons",
13239
13278
  "release",
@@ -13267,9 +13306,8 @@ Do not edit this file.
13267
13306
  }
13268
13307
  }
13269
13308
  }
13270
- const packagedManagedPrompts = path5.join(
13309
+ const packagedManagedPrompts = resolveSourceAssetPath(
13271
13310
  sourceRoot,
13272
- "pourkit",
13273
13311
  "managed",
13274
13312
  "prompts"
13275
13313
  );
@@ -13369,9 +13407,8 @@ Do not edit this file.
13369
13407
  "schema",
13370
13408
  "pourkit.schema.json"
13371
13409
  );
13372
- const srcSchemaJson = path5.join(
13410
+ const srcSchemaJson = resolveSourceAssetPath(
13373
13411
  sourceRoot,
13374
- "pourkit",
13375
13412
  "schema",
13376
13413
  "pourkit.schema.json"
13377
13414
  );
@@ -13405,9 +13442,8 @@ Do not edit this file.
13405
13442
  "schema",
13406
13443
  "pourkit.schema.hash"
13407
13444
  );
13408
- const srcSchemaHash = path5.join(
13445
+ const srcSchemaHash = resolveSourceAssetPath(
13409
13446
  sourceRoot,
13410
- "pourkit",
13411
13447
  "schema",
13412
13448
  "pourkit.schema.hash"
13413
13449
  );
@@ -13562,7 +13598,7 @@ ${gitignoreContent}${MANAGED_BLOCK_END}
13562
13598
  conflict: "already exists"
13563
13599
  });
13564
13600
  }
13565
- const sourceLabel = sourceMeta.versionSource === "local-git" ? `Init from local source (${sourceMeta.branch}@${sourceMeta.sha.slice(0, 7)})` : "Init from local source (non-Git)";
13601
+ const sourceLabel = usingExplicitSource ? sourceMeta.versionSource === "local-git" ? `Init from local source (${sourceMeta.branch}@${sourceMeta.sha.slice(0, 7)})` : "Init from local source (non-Git)" : "Init from packaged assets";
13566
13602
  operations.push({
13567
13603
  kind: "copy",
13568
13604
  sourcePath: sourceRoot,
@@ -13573,18 +13609,10 @@ ${gitignoreContent}${MANAGED_BLOCK_END}
13573
13609
  destructive: false
13574
13610
  });
13575
13611
  }
13576
- } else {
13577
- warnings.push("No --from-local source provided");
13578
- operations.push({
13579
- kind: "warn",
13580
- reason: "No --from-local source provided",
13581
- destructive: false,
13582
- requiresConfirmation: false
13583
- });
13584
13612
  }
13585
13613
  return {
13586
13614
  targetRoot,
13587
- sourceRoot: sourceRoot ?? "",
13615
+ sourceRoot,
13588
13616
  operations,
13589
13617
  warnings,
13590
13618
  hasLabelConflicts,
@@ -13990,7 +14018,7 @@ async function writeManifest(plan, sourceMeta, agentFiles, packageManager) {
13990
14018
  schemaVersion: 1,
13991
14019
  initializedAt: (/* @__PURE__ */ new Date()).toISOString(),
13992
14020
  pourkit: {
13993
- versionSource: "local-git",
14021
+ versionSource: sourceMeta.versionSource,
13994
14022
  releaseVersion: sourceMeta.latestTag,
13995
14023
  releaseChannel: sourceMeta.releaseChannel,
13996
14024
  sourceBranch: sourceMeta.branch,
@@ -14185,7 +14213,7 @@ async function applyInitFromSource(options) {
14185
14213
  }
14186
14214
  let sourceMeta;
14187
14215
  try {
14188
- sourceMeta = await discoverLocalSource(fromLocal);
14216
+ sourceMeta = await discoverLocalSource(plan.sourceRoot);
14189
14217
  } catch {
14190
14218
  sourceMeta = {
14191
14219
  versionSource: "local-path",
@@ -14231,7 +14259,6 @@ async function runInitCommand(options) {
14231
14259
  }
14232
14260
  if (!isInteractive && !options.yes && !options.dryRun) {
14233
14261
  const missing = [];
14234
- if (!options.fromLocal) missing.push("--from-local");
14235
14262
  if (!options.docsMigration) missing.push("--docs-migration");
14236
14263
  if (!options.agentFile) missing.push("--agent-file");
14237
14264
  if (!options.packageManager) {
@@ -14282,11 +14309,11 @@ async function runInitCommand(options) {
14282
14309
  };
14283
14310
  promptLabels = promptResult.labels;
14284
14311
  }
14285
- const conflictPolicy = options.fromLocal ? {
14312
+ const conflictPolicy = {
14286
14313
  docsMigration: options.docsMigration ?? "copy",
14287
14314
  agentFile: options.agentFile ?? "both",
14288
14315
  yes: options.yes ?? false
14289
- } : void 0;
14316
+ };
14290
14317
  const planLabels = isInteractive ? promptLabels ?? DEFAULT_RUNNER_LABELS : DEFAULT_RUNNER_LABELS;
14291
14318
  const plan = await planInit({
14292
14319
  targetRoot,
@@ -14341,12 +14368,6 @@ ${plan.warnings.length} warning(s) \u2014 review above before applying.`
14341
14368
  }
14342
14369
  return;
14343
14370
  }
14344
- if (!options.fromLocal) {
14345
- console.error(
14346
- "\nError: --from-local <path> is required to apply the init plan."
14347
- );
14348
- process.exit(1);
14349
- }
14350
14371
  const result = await applyInitFromSource({
14351
14372
  targetRoot,
14352
14373
  fromLocal: options.fromLocal,
@@ -14505,14 +14526,14 @@ async function runSerenaStatusCommand(options) {
14505
14526
  import { readFileSync as readFileSync20, existsSync as existsSync19 } from "fs";
14506
14527
  import { mkdir as mkdir6, readFile as readFile6, writeFile as writeFile3, readdir as readdir2 } from "fs/promises";
14507
14528
  import { resolve as resolve4, dirname as dirname5, relative as relative2 } from "path";
14508
- import { fileURLToPath as fileURLToPath2 } from "url";
14529
+ import { fileURLToPath as fileURLToPath3 } from "url";
14509
14530
  import Ajv2 from "ajv";
14510
- var __filename2 = fileURLToPath2(import.meta.url);
14511
- var __dirname2 = dirname5(__filename2);
14531
+ var __filename3 = fileURLToPath3(import.meta.url);
14532
+ var __dirname3 = dirname5(__filename3);
14512
14533
  function resolvePackagedAssetPath2(fileName) {
14513
14534
  const candidates = [
14514
- resolve4(__dirname2, "schema", fileName),
14515
- resolve4(__dirname2, "../schema", fileName)
14535
+ resolve4(__dirname3, "schema", fileName),
14536
+ resolve4(__dirname3, "../schema", fileName)
14516
14537
  ];
14517
14538
  return candidates.find((candidate) => existsSync19(candidate)) ?? candidates[0];
14518
14539
  }
@@ -14544,7 +14565,7 @@ function localSchemaDir(repoRoot2) {
14544
14565
  var MANAGED_BLOCK_BEGIN2 = "<!-- BEGIN POURKIT MANAGED BLOCK -->\n";
14545
14566
  var OLD_DOCS_PATH_PATTERN = ".pourkit/docs/agents/";
14546
14567
  function resolvePackagedManagedPath(...segments) {
14547
- return resolve4(__dirname2, "..", "managed", ...segments);
14568
+ return resolve4(__dirname3, "..", "managed", ...segments);
14548
14569
  }
14549
14570
  function resolvePackagedManagedDocPath(docName) {
14550
14571
  return resolvePackagedManagedPath("docs", "agents", docName);
@@ -15211,9 +15232,9 @@ async function runConfigSyncSchemaCommand(options) {
15211
15232
  import { existsSync as existsSync20, readdirSync as readdirSync5 } from "fs";
15212
15233
  import { mkdir as mkdir7, readFile as readFile7, writeFile as writeFile4, readdir as readdir3 } from "fs/promises";
15213
15234
  import { resolve as resolve5, dirname as dirname6, relative as relative3, normalize as normalize2 } from "path";
15214
- import { fileURLToPath as fileURLToPath3 } from "url";
15215
- var __filename3 = fileURLToPath3(import.meta.url);
15216
- var __dirname3 = dirname6(__filename3);
15235
+ import { fileURLToPath as fileURLToPath4 } from "url";
15236
+ var __filename4 = fileURLToPath4(import.meta.url);
15237
+ var __dirname4 = dirname6(__filename4);
15217
15238
  var PROJECT_OWNED_PATHS = [".pourkit/CONTEXT.md", ".pourkit/CONTEXT-MAP.md"];
15218
15239
  var PROJECT_OWNED_DIRECTORIES = [
15219
15240
  ".pourkit/docs/adr",
@@ -15224,7 +15245,7 @@ var OVERRIDES_DIR = ".pourkit/overrides";
15224
15245
  var MANAGED_BLOCK_BEGIN3 = "<!-- BEGIN POURKIT MANAGED BLOCK -->\n";
15225
15246
  var MANAGED_BLOCK_END2 = "\n<!-- END POURKIT MANAGED BLOCK -->";
15226
15247
  function resolvePackagedManagedPath2(...segments) {
15227
- const candidates = [resolve5(__dirname3, "..", "managed", ...segments)];
15248
+ const candidates = [resolve5(__dirname4, "..", "managed", ...segments)];
15228
15249
  return candidates[0];
15229
15250
  }
15230
15251
  function resolvePackagedManagedDocPath2(docName) {
@@ -15321,16 +15342,31 @@ function generateManagedBlockContent() {
15321
15342
  return [
15322
15343
  "This repository uses Pourkit.",
15323
15344
  "",
15324
- "## Managed operating docs",
15345
+ "## Pourkit Workflow Routes",
15346
+ "",
15347
+ "### Issue Tracker",
15348
+ "",
15349
+ "When using Pourkit issue workflows, see `.pourkit/managed/docs/agents/issue-tracker.md`.",
15350
+ "",
15351
+ "### Triage Labels",
15352
+ "",
15353
+ "Pourkit workflows use the default triage labels described in `.pourkit/managed/docs/agents/triage-labels.md`.",
15354
+ "",
15355
+ "### Domain Docs",
15356
+ "",
15357
+ "Follow the repository domain-documentation layout in `.pourkit/managed/docs/agents/domain.md`.",
15358
+ "",
15359
+ "### Issue Naming",
15360
+ "",
15361
+ "PRDs and child issues must follow the naming convention in `.pourkit/managed/docs/agents/naming.md`.",
15362
+ "",
15363
+ "### Git Workflow",
15364
+ "",
15365
+ "Branch naming and PR creation guidance lives in `.pourkit/managed/docs/agents/git-workflow.md`.",
15325
15366
  "",
15326
- "Follow the managed operating docs under `.pourkit/managed/docs/agents/*`:",
15367
+ "### Commit Style",
15327
15368
  "",
15328
- "- `.pourkit/managed/docs/agents/issue-tracker.md`",
15329
- "- `.pourkit/managed/docs/agents/triage-labels.md`",
15330
- "- `.pourkit/managed/docs/agents/naming.md`",
15331
- "- `.pourkit/managed/docs/agents/git-workflow.md`",
15332
- "- `.pourkit/managed/docs/agents/commit-style.md`",
15333
- "- `.pourkit/managed/docs/agents/domain.md`",
15369
+ "Agents must write readable conventional commits with bullet-list bodies for non-trivial changes. See `.pourkit/managed/docs/agents/commit-style.md`.",
15334
15370
  "",
15335
15371
  "### Project-owned context",
15336
15372
  "",
@@ -17193,7 +17229,10 @@ function createCliProgram(version) {
17193
17229
  const result = runPrdRunListCommand({ repoRoot: targetRepoRoot });
17194
17230
  console.log(JSON.stringify(result, null, 2));
17195
17231
  });
17196
- program.command("init").description("Initialize .pourkit layout in a target repo").option("--dry-run", "print the init plan without applying changes").option("--json", "output machine-readable JSON plan").option("--from-local <path>", "local source repo to copy artifacts from").option("--cwd <path>", "target repository directory").addOption(
17232
+ program.command("init").description("Initialize .pourkit layout in a target repo").option("--dry-run", "print the init plan without applying changes").option("--json", "output machine-readable JSON plan").option(
17233
+ "--from-local <path>",
17234
+ "deprecated: local source repo to copy artifacts from"
17235
+ ).option("--cwd <path>", "target repository directory").addOption(
17197
17236
  new Option(
17198
17237
  "--docs-migration <mode>",
17199
17238
  "docs migration mode: copy, move, skip"
@@ -17392,11 +17431,11 @@ function createCliProgram(version) {
17392
17431
  return program;
17393
17432
  }
17394
17433
  async function resolveCliVersion() {
17395
- if (isPackageVersion("0.0.0-next-20260617183635")) {
17396
- return "0.0.0-next-20260617183635";
17434
+ if (isPackageVersion("0.0.0-next-20260617220545")) {
17435
+ return "0.0.0-next-20260617220545";
17397
17436
  }
17398
- if (isReleaseVersion("0.0.0-next-20260617183635")) {
17399
- return "0.0.0-next-20260617183635";
17437
+ if (isReleaseVersion("0.0.0-next-20260617220545")) {
17438
+ return "0.0.0-next-20260617220545";
17400
17439
  }
17401
17440
  try {
17402
17441
  const root = repoRoot();