openplanr 1.22.0 → 1.24.0

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.
Files changed (40) hide show
  1. package/CHANGELOG.md +1423 -0
  2. package/dist/cli/commands/config.d.ts.map +1 -1
  3. package/dist/cli/commands/config.js +52 -0
  4. package/dist/cli/commands/config.js.map +1 -1
  5. package/dist/cli/commands/setup.d.ts.map +1 -1
  6. package/dist/cli/commands/setup.js +30 -0
  7. package/dist/cli/commands/setup.js.map +1 -1
  8. package/dist/cli/commands/upgrade.d.ts +9 -0
  9. package/dist/cli/commands/upgrade.d.ts.map +1 -0
  10. package/dist/cli/commands/upgrade.js +149 -0
  11. package/dist/cli/commands/upgrade.js.map +1 -0
  12. package/dist/cli/index.js +28 -2
  13. package/dist/cli/index.js.map +1 -1
  14. package/dist/models/schema.d.ts +12 -0
  15. package/dist/models/schema.d.ts.map +1 -1
  16. package/dist/models/schema.js +9 -0
  17. package/dist/models/schema.js.map +1 -1
  18. package/dist/models/types.d.ts +8 -0
  19. package/dist/models/types.d.ts.map +1 -1
  20. package/dist/services/claude-plugin-service.d.ts +9 -0
  21. package/dist/services/claude-plugin-service.d.ts.map +1 -1
  22. package/dist/services/claude-plugin-service.js +22 -0
  23. package/dist/services/claude-plugin-service.js.map +1 -1
  24. package/dist/services/migration-registry.d.ts +94 -0
  25. package/dist/services/migration-registry.d.ts.map +1 -0
  26. package/dist/services/migration-registry.js +106 -0
  27. package/dist/services/migration-registry.js.map +1 -0
  28. package/dist/services/runtime-manager-service.d.ts +32 -0
  29. package/dist/services/runtime-manager-service.d.ts.map +1 -1
  30. package/dist/services/runtime-manager-service.js +122 -17
  31. package/dist/services/runtime-manager-service.js.map +1 -1
  32. package/dist/services/upgrade-offer-service.d.ts +89 -0
  33. package/dist/services/upgrade-offer-service.d.ts.map +1 -0
  34. package/dist/services/upgrade-offer-service.js +256 -0
  35. package/dist/services/upgrade-offer-service.js.map +1 -0
  36. package/dist/services/upgrade-service.d.ts +156 -0
  37. package/dist/services/upgrade-service.d.ts.map +1 -0
  38. package/dist/services/upgrade-service.js +510 -0
  39. package/dist/services/upgrade-service.js.map +1 -0
  40. package/package.json +4 -3
@@ -40,6 +40,25 @@ const skillNames = [
40
40
  'planr-artifact',
41
41
  'planr-operate',
42
42
  ];
43
+ /**
44
+ * FR5: derive an installed command/skill name from the persisted prefix choice.
45
+ * `bare` strips the leading `planr-` namespace (`planr-plan` → `plan`); `namespaced`
46
+ * keeps today's names verbatim, so an install that never opts in is byte-identical
47
+ * to before this toggle existed.
48
+ */
49
+ function applyCommandPrefix(name, commandPrefix) {
50
+ return commandPrefix === 'bare' && name.startsWith('planr-') ? name.slice('planr-'.length) : name;
51
+ }
52
+ /**
53
+ * Rewrite only the frontmatter `name:` line of a copied Codex skill so its embedded
54
+ * identifier matches the bare install directory. The match is anchored to the line
55
+ * start and consumes the whole `planr-…` name, so a `planr-` mention elsewhere in the
56
+ * body is never touched; a non-global replace only rewrites the first (frontmatter)
57
+ * line.
58
+ */
59
+ function rewriteSkillFrontmatterName(content, installName) {
60
+ return content.replace(/^name:[ \t]*planr-[\w-]+[ \t]*$/mu, `name: ${installName}`);
61
+ }
43
62
  function hash(value) {
44
63
  return createHash('sha256').update(value).digest('hex');
45
64
  }
@@ -59,7 +78,7 @@ function ownershipHash(content, kind, marker) {
59
78
  function projectKey(projectDir) {
60
79
  return hash(path.resolve(projectDir)).slice(0, 16);
61
80
  }
62
- function runtimeRoot() {
81
+ export function runtimeRoot() {
63
82
  return path.join(userHome(), '.planr', 'runtime');
64
83
  }
65
84
  function userHome() {
@@ -223,7 +242,7 @@ function buildRuntimeLock(options, runtimes, runtimeScopes, registry, pipelineVe
223
242
  adapters,
224
243
  }, null, 2)}\n`);
225
244
  }
226
- function buildActions(options, runtimes, runtimeScopes) {
245
+ function buildActions(options, runtimes, runtimeScopes, commandPrefix) {
227
246
  if (options.minimal)
228
247
  return [];
229
248
  const { root, version, registry } = readRegistry();
@@ -241,13 +260,18 @@ function buildActions(options, runtimes, runtimeScopes) {
241
260
  if (installUser) {
242
261
  if (runtime === 'codex') {
243
262
  for (const name of skillNames) {
263
+ const installName = applyCommandPrefix(name, commandPrefix);
264
+ const source = readFileSync(path.join(root, 'adapters', 'codex', 'skills', name, 'SKILL.md'));
265
+ const content = installName === name
266
+ ? source
267
+ : Buffer.from(rewriteSkillFrontmatterName(source.toString('utf8'), installName));
244
268
  actions.push({
245
269
  runtime,
246
270
  scope: 'user',
247
- target: path.join(userHome(), '.codex', 'skills', name, 'SKILL.md'),
248
- content: readFileSync(path.join(root, 'adapters', 'codex', 'skills', name, 'SKILL.md')),
271
+ target: path.join(userHome(), '.codex', 'skills', installName, 'SKILL.md'),
272
+ content,
249
273
  kind: 'file',
250
- description: `Install Codex skill ${name}`,
274
+ description: `Install Codex skill ${installName}`,
251
275
  });
252
276
  }
253
277
  }
@@ -273,10 +297,15 @@ function buildActions(options, runtimes, runtimeScopes) {
273
297
  });
274
298
  }
275
299
  else if (runtime === 'cursor') {
300
+ // Cursor rules carry the equivalent prefix adjustment: the installed target
301
+ // basename is derived through `applyCommandPrefix` while the read path stays
302
+ // the canonical pipeline source. The current rule set uses the product name
303
+ // (`openplanr…`), not per-verb `planr-` command names, so this is a no-op for
304
+ // today's files and only takes effect for any future `planr-`-prefixed rule.
276
305
  actions.push({
277
306
  runtime,
278
307
  scope: 'project',
279
- target: path.join(options.projectDir, '.cursor', 'rules', 'openplanr.mdc'),
308
+ target: path.join(options.projectDir, '.cursor', 'rules', `${applyCommandPrefix('openplanr', commandPrefix)}.mdc`),
280
309
  content: readFileSync(path.join(root, 'adapters', 'cursor', 'rules', 'openplanr.mdc')),
281
310
  kind: 'file',
282
311
  description: 'Install portable Cursor project rule',
@@ -284,7 +313,7 @@ function buildActions(options, runtimes, runtimeScopes) {
284
313
  actions.push({
285
314
  runtime,
286
315
  scope: 'project',
287
- target: path.join(options.projectDir, '.cursor', 'rules', 'openplanr-operate.mdc'),
316
+ target: path.join(options.projectDir, '.cursor', 'rules', `${applyCommandPrefix('openplanr-operate', commandPrefix)}.mdc`),
288
317
  content: readFileSync(path.join(root, 'adapters', 'cursor', 'rules', 'openplanr-operate.mdc')),
289
318
  kind: 'file',
290
319
  description: 'Install Cursor Operating Board rule',
@@ -294,7 +323,7 @@ function buildActions(options, runtimes, runtimeScopes) {
294
323
  actions.push({
295
324
  runtime,
296
325
  scope: 'project',
297
- target: path.join(options.projectDir, '.cursor', 'rules', 'openplanr-roles', `${role.id}.md`),
326
+ target: path.join(options.projectDir, '.cursor', 'rules', 'openplanr-roles', `${applyCommandPrefix(role.id, commandPrefix)}.md`),
298
327
  content: Buffer.from(`# ${role.id}\n\nCapability tier: \`${role.capability}\`\nPhase: \`${role.phase}\`\nActivation: \`${role.activation}\`\n\n- ${role.writeBoundary}\n`),
299
328
  kind: 'file',
300
329
  description: `Install Cursor role ${role.id}`,
@@ -342,6 +371,20 @@ async function loadState() {
342
371
  return { schemaVersion: '1.0.0', projects: {} };
343
372
  }
344
373
  }
374
+ /**
375
+ * FR5: resolve the effective command-naming choice for a setup run. An explicit
376
+ * `--prefix`/`--no-prefix` (`options.prefix` is a boolean) wins and is what gets
377
+ * persisted; when the flag is omitted (`undefined`) the previously persisted choice
378
+ * is read back from on-disk state, defaulting to `namespaced` for a project with no
379
+ * prior record. This is what makes the choice survive across separate invocations
380
+ * and upgrades without ever silently renaming what the user types.
381
+ */
382
+ async function resolveCommandPrefix(options) {
383
+ if (options.prefix !== undefined)
384
+ return options.prefix ? 'namespaced' : 'bare';
385
+ const state = await loadState();
386
+ return state.projects[projectKey(options.projectDir)]?.commandPrefix ?? 'namespaced';
387
+ }
345
388
  async function atomicWrite(target, content) {
346
389
  await mkdir(path.dirname(target), { recursive: true });
347
390
  const temp = `${target}.${process.pid}.tmp`;
@@ -425,7 +468,8 @@ export async function previewSetup(options) {
425
468
  runtimeScopes[runtime] = normalizeInstallScope(adapter, runtimeScopes[runtime] ?? options.scope ?? 'user');
426
469
  }
427
470
  }
428
- const actions = buildActions(options, runtimes, runtimeScopes);
471
+ const commandPrefix = await resolveCommandPrefix(options);
472
+ const actions = buildActions(options, runtimes, runtimeScopes, commandPrefix);
429
473
  const manageClaudePlugins = options.manageExternalRuntimes !== false &&
430
474
  !options.minimal &&
431
475
  runtimes.includes('claude-code') &&
@@ -509,7 +553,8 @@ export async function applySetup(options) {
509
553
  throw new RuntimeManagerError('E_SETUP_BUSY', 'Another OpenPlanr setup or migration is already running.', 'Wait for it to finish. If no process is running, remove the verified stale setup lock.');
510
554
  }
511
555
  try {
512
- const actions = buildActions(options, preview.runtimes, preview.runtimeScopes);
556
+ const commandPrefix = await resolveCommandPrefix(options);
557
+ const actions = buildActions(options, preview.runtimes, preview.runtimeScopes, commandPrefix);
513
558
  const changed = actions.filter((action) => operationFor(action) !== 'unchanged');
514
559
  let backup;
515
560
  if (changed.length > 0) {
@@ -543,6 +588,7 @@ export async function applySetup(options) {
543
588
  backupDir: backup.dir,
544
589
  runtimes: preview.runtimes,
545
590
  runtimeScopes: preview.runtimeScopes,
591
+ commandPrefix,
546
592
  ...(preview.runtimes.length === 1 ? { activeRuntime: preview.runtimes[0] } : {}),
547
593
  ownedFiles: owned,
548
594
  };
@@ -561,7 +607,26 @@ export async function applySetup(options) {
561
607
  restartRequired = result.restartRequired;
562
608
  }
563
609
  catch (cause) {
564
- throw new RuntimeManagerError('E_CLAUDE_PLUGIN_UPDATE_FAILED', `Claude plugin update failed: ${cause instanceof Error ? cause.message : String(cause)}`, 'Run `planr runtime update claude --scope user` after checking Claude Code marketplace access.');
610
+ const detail = cause instanceof Error ? cause.message : String(cause);
611
+ // `setup` is the install path for every runtime, so a mid-apply plugin
612
+ // failure must never leave the owned files written earlier in this same
613
+ // call in a half-migrated state a rerun cannot tell apart from a fresh
614
+ // install. Those writes happened under `backup`; restore them from it
615
+ // before surfacing the failure, and name every restored path so the
616
+ // report states plainly what was undone. When nothing was written yet
617
+ // (`backup` undefined) there is nothing to restore — throw unchanged.
618
+ if (backup) {
619
+ let restored;
620
+ try {
621
+ ({ restored } = await rollbackRuntime(options.projectDir, backup.dir));
622
+ }
623
+ catch (rollbackCause) {
624
+ const rollbackDetail = rollbackCause instanceof Error ? rollbackCause.message : String(rollbackCause);
625
+ throw new RuntimeManagerError('E_CLAUDE_PLUGIN_UPDATE_FAILED', `Claude plugin update failed: ${detail}`, `Automatic restore from ${backup.dir} also failed (${rollbackDetail}); the OpenPlanr files written this run may be partially applied. Restore them from that backup, then run \`planr runtime update claude --scope user\`.`);
626
+ }
627
+ throw new RuntimeManagerError('E_CLAUDE_PLUGIN_UPDATE_FAILED', `Claude plugin update failed: ${detail}`, `Restored ${restored.length} file(s) to their pre-setup state: ${restored.join(', ')}. Run \`planr runtime update claude --scope user\` after checking Claude Code marketplace access, then rerun setup.`);
628
+ }
629
+ throw new RuntimeManagerError('E_CLAUDE_PLUGIN_UPDATE_FAILED', `Claude plugin update failed: ${detail}`, 'Run `planr runtime update claude --scope user` after checking Claude Code marketplace access.');
565
630
  }
566
631
  }
567
632
  return {
@@ -807,6 +872,34 @@ export async function cleanupHomeProjectInstall() {
807
872
  await atomicWrite(statePath(), Buffer.from(`${JSON.stringify(state, null, 2)}\n`));
808
873
  return { ok: true, removed };
809
874
  }
875
+ /**
876
+ * The single warn-vs-fail classification for a drifted component tuple.
877
+ *
878
+ * `doctor`'s runtime-lock diagnostic and `planr upgrade status`
879
+ * (`reconcileInstalledTuple`) both call this, so the
880
+ * `upgradeOnlyDrift`-versus-`genuineDrift` distinction (SPEC-006 FR3) is
881
+ * defined once rather than re-derived. A CLI that merely trails an upgrade
882
+ * (`upgradeOnlyDrift`) is a `warn`; a genuinely incompatible tuple
883
+ * (`incompatibleDrift`, doctor's digest/adapter drift) is a `fail`; any other
884
+ * drift with no explaining CLI advance is also a `fail`.
885
+ *
886
+ * The math is a literal extraction of the former inline block, so every
887
+ * pre-existing `runtime-manager-service.test.ts` assertion is the proof the
888
+ * behaviour was preserved.
889
+ */
890
+ export function classifyComponentDrift(input) {
891
+ const drift = input.componentDrift || input.incompatibleDrift;
892
+ const genuineDrift = input.incompatibleDrift;
893
+ const upgradeOnlyDrift = drift && !genuineDrift && input.cliDrift;
894
+ const status = genuineDrift
895
+ ? 'fail'
896
+ : upgradeOnlyDrift
897
+ ? 'warn'
898
+ : drift
899
+ ? 'fail'
900
+ : 'pass';
901
+ return { drift, genuineDrift, upgradeOnlyDrift, status };
902
+ }
810
903
  export async function runtimeDoctor(projectDir, options = {}) {
811
904
  const diagnostics = [];
812
905
  const repairs = [];
@@ -948,7 +1041,6 @@ export async function runtimeDoctor(projectDir, options = {}) {
948
1041
  current.version !== locked.version ||
949
1042
  current.capabilityLevel !== locked.capabilityLevel);
950
1043
  });
951
- const drift = componentDrift || digestDrift || adapterDrift;
952
1044
  // FR11: an OpenPlanr upgrade advances the CLI version the lock recorded.
953
1045
  // When the CLI component trails the installed build and nothing that
954
1046
  // governs Operating Board dispatch (runtime adapters, manifest digest)
@@ -956,11 +1048,18 @@ export async function runtimeDoctor(projectDir, options = {}) {
956
1048
  // an informational `warn`, not a `fail` implying the board is broken. A
957
1049
  // digest/adapter drift, or a component drift that does not include the CLI
958
1050
  // (for example a pinned obsolete skill bundle), remains a genuine `fail`.
959
- const genuineDrift = digestDrift || adapterDrift;
960
- const upgradeOnlyDrift = drift && !genuineDrift && cliDrift;
1051
+ // The warn/fail derivation lives in the single `classifyComponentDrift`
1052
+ // helper so `planr upgrade status` reuses this exact distinction (SPEC-006
1053
+ // FR3) rather than re-deriving it; a digest/adapter drift is doctor's
1054
+ // flavour of an incompatible tuple.
1055
+ const { drift, genuineDrift, upgradeOnlyDrift, status } = classifyComponentDrift({
1056
+ cliDrift,
1057
+ componentDrift: Boolean(componentDrift),
1058
+ incompatibleDrift: digestDrift || adapterDrift,
1059
+ });
961
1060
  diagnostics.push({
962
1061
  code: drift ? 'lock-drift' : 'runtime-lock',
963
- status: genuineDrift ? 'fail' : upgradeOnlyDrift ? 'warn' : drift ? 'fail' : 'pass',
1062
+ status,
964
1063
  message: genuineDrift
965
1064
  ? `Runtime lock drift detected (components: ${componentDrift}, digest: ${digestDrift}, adapters: ${adapterDrift})`
966
1065
  : upgradeOnlyDrift
@@ -1052,7 +1151,13 @@ export async function runtimeDoctor(projectDir, options = {}) {
1052
1151
  : {}),
1053
1152
  });
1054
1153
  }
1055
- const operateSkill = installedSkills.find((skill) => path.basename(path.dirname(skill.target)) === 'planr-operate');
1154
+ // FR5: locate the operate skill by the name the installer actually wrote, derived
1155
+ // from the same persisted prefix through the same helper. A `--no-prefix` install
1156
+ // lives at `.codex/skills/operate/SKILL.md`, not the namespaced literal; without
1157
+ // this the find misses the bare install, so the content contract below never runs
1158
+ // while doctor still reports ok. The default keeps namespaced installs unchanged.
1159
+ const operateSkillName = applyCommandPrefix('planr-operate', installed.commandPrefix ?? 'namespaced');
1160
+ const operateSkill = installedSkills.find((skill) => path.basename(path.dirname(skill.target)) === operateSkillName);
1056
1161
  if (installed.runtimes.includes('codex') && !operateSkill) {
1057
1162
  diagnostics.push({
1058
1163
  code: 'operate-skill',
@@ -1063,7 +1168,7 @@ export async function runtimeDoctor(projectDir, options = {}) {
1063
1168
  }
1064
1169
  else if (operateSkill && existsSync(operateSkill.target)) {
1065
1170
  const content = readFileSync(operateSkill.target, 'utf8');
1066
- const valid = /^name:\s*planr-operate$/mu.test(content) &&
1171
+ const valid = new RegExp(String.raw `^name:\s*${operateSkillName}$`, 'mu').test(content) &&
1067
1172
  /`planr operate(?:\s|`)/u.test(content) &&
1068
1173
  /# Planr Operate — Codex-native workflow/u.test(content) &&
1069
1174
  /planr operate inspect --json/u.test(content) &&
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-manager-service.js","sourceRoot":"","sources":["../../src/services/runtime-manager-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-manager-service.js","sourceRoot":"","sources":["../../src/services/runtime-manager-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ import type { OpenPlanrConfig } from '../models/types.js';
2
+ import { type ExecuteCliHalfUpgradeInput, type ExecuteCliHalfUpgradeResult, type ReconcileOptions, type UpgradeReconciliation } from './upgrade-service.js';
3
+ /**
4
+ * FR5/FR6 — offer an available upgrade at a natural moment (wherever the user
5
+ * already is) rather than making them run a diagnostic to discover they are
6
+ * stale. This service owns three surfaces:
7
+ *
8
+ * - the four-way choice (upgrade now · always keep me current · not now ·
9
+ * never ask), presented only when the reconciled tuple is `upgrade-available`;
10
+ * - the machine-local snooze/never-ask state at
11
+ * `runtimeRoot()/upgrade-state.json`, read fail-open so a corrupt file can
12
+ * never crash the `preAction` hook it wires into;
13
+ * - the escalating "not now" backoff (24h → 48h → one week) that keeps the
14
+ * offer from ever nagging.
15
+ *
16
+ * The hard constraint T-002 established is preserved and outranks the feature:
17
+ * a durable snooze/never-ask short-circuits before any reconcile call, so an
18
+ * ordinary command that already declined pays no network cost and no delay.
19
+ */
20
+ /** The four choices FR5 names. */
21
+ export type UpgradeOfferChoice = 'upgrade-now' | 'always' | 'not-now' | 'never';
22
+ /**
23
+ * Machine-local, per-user preference — never the team-shared `config.json`.
24
+ * `snoozeStage` keys the escalating-backoff table; `snoozeUntil` is an ISO
25
+ * instant before which the offer stays silent.
26
+ */
27
+ export interface UpgradeSnoozeState {
28
+ neverAsk: boolean;
29
+ snoozeUntil: string | null;
30
+ snoozeStage: 0 | 1 | 2;
31
+ }
32
+ /**
33
+ * FR6's "exact re-enable command" — stated verbatim both when the user chooses
34
+ * "never ask again" in the offer and when they set it via
35
+ * `planr config set-upgrade-policy --never-ask`, so a permanent opt-out is never
36
+ * a trap the user cannot find how to undo.
37
+ */
38
+ export declare const UPGRADE_REENABLE_COMMAND = "planr config set-upgrade-policy --ask-again";
39
+ /** Where the machine-local snooze/never-ask state lives (reuses T-002's root). */
40
+ export declare function upgradeStatePath(): string;
41
+ /**
42
+ * Read the snooze state, failing open on *any* problem. A missing file is the
43
+ * common first-run case; a corrupt file is the crash-mid-write case the task's
44
+ * atomicity note calls out — both resolve to "no snooze recorded" so a bad local
45
+ * preference file can never throw out of every subsequent `preAction` hook.
46
+ */
47
+ export declare function readSnoozeState(): UpgradeSnoozeState;
48
+ /** Persist the snooze state. Proportionate to a non-critical local file: a plain write. */
49
+ export declare function writeSnoozeState(state: UpgradeSnoozeState): Promise<void>;
50
+ /**
51
+ * A test seam of the same shape as T-002's `OPENPLANR_ECOSYSTEM_SOURCE` and
52
+ * T-003's `OPENPLANR_NPM_BIN`: unset in production, it lets a hermetic
53
+ * subprocess integration test drive the offer path — which has no TTY — with a
54
+ * pre-selected choice instead of a live prompt.
55
+ */
56
+ export declare function injectedOfferChoice(): UpgradeOfferChoice | null;
57
+ /**
58
+ * Whether the offer can be surfaced from `preAction`. In production this reduces
59
+ * exactly to `!isNonInteractive()` — the offer is shown only where a human can
60
+ * answer it. The injected-choice seam additionally makes the path reachable from
61
+ * a TTY-less test subprocess.
62
+ */
63
+ export declare function upgradeOfferReachable(): boolean;
64
+ export type MaybeOfferUpgradeReason = 'never-ask' | 'snoozed' | 'update-check-disabled' | 'not-upgrade-available' | 'auto-upgraded' | 'offered' | 'error';
65
+ export interface MaybeOfferUpgradeResult {
66
+ surfaced: boolean;
67
+ choice: UpgradeOfferChoice | null;
68
+ reason: MaybeOfferUpgradeReason;
69
+ }
70
+ /**
71
+ * Injectable dependencies. Production passes none — the real reconcile,
72
+ * executor, prompt, and wall clock are used. Unit tests inject deterministic
73
+ * stubs so the offer's decisions can be asserted without a network, an npm, or
74
+ * a TTY.
75
+ */
76
+ export interface MaybeOfferUpgradeDeps {
77
+ now?: number;
78
+ reconcile?: (projectDir: string, options?: ReconcileOptions) => Promise<UpgradeReconciliation>;
79
+ executeUpgrade?: (input: ExecuteCliHalfUpgradeInput) => Promise<ExecuteCliHalfUpgradeResult>;
80
+ chooseAction?: (targetVersion: string) => Promise<UpgradeOfferChoice>;
81
+ }
82
+ /**
83
+ * The entry point wired into `src/cli/index.ts`'s `preAction` hook. Fail-open at
84
+ * the top level: nothing about an upgrade offer may ever break the command the
85
+ * user actually ran, so every path below is wrapped and a thrown error degrades
86
+ * to "did not surface" rather than propagating out of the hook.
87
+ */
88
+ export declare function maybeOfferUpgrade(projectDir: string, config: OpenPlanrConfig | null | undefined, deps?: MaybeOfferUpgradeDeps): Promise<MaybeOfferUpgradeResult>;
89
+ //# sourceMappingURL=upgrade-offer-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-offer-service.d.ts","sourceRoot":"","sources":["../../src/services/upgrade-offer-service.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAM1D,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAGhC,KAAK,gBAAgB,EAErB,KAAK,qBAAqB,EAC3B,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;;;;;;;;;;GAgBG;AAEH,kCAAkC;AAClC,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;AAEhF;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACxB;AAoBD;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,gDAAgD,CAAC;AAEtF,kFAAkF;AAClF,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,kBAAkB,CAcpD;AAED,2FAA2F;AAC3F,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,kBAAkB,GAAG,IAAI,CAI/D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAqCD,MAAM,MAAM,uBAAuB,GAC/B,WAAW,GACX,SAAS,GACT,uBAAuB,GACvB,uBAAuB,GACvB,eAAe,GACf,SAAS,GACT,OAAO,CAAC;AAEZ,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAClC,MAAM,EAAE,uBAAuB,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC/F,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,0BAA0B,KAAK,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC7F,YAAY,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACvE;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,EAC1C,IAAI,GAAE,qBAA0B,GAC/B,OAAO,CAAC,uBAAuB,CAAC,CAMlC"}