openplanr 2.2641.2 → 3.0.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 (110) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/cli/commands/doctor.d.ts.map +1 -1
  3. package/dist/cli/commands/doctor.js +19 -4
  4. package/dist/cli/commands/doctor.js.map +1 -1
  5. package/dist/cli/commands/upgrade.d.ts.map +1 -1
  6. package/dist/cli/commands/upgrade.js +12 -10
  7. package/dist/cli/commands/upgrade.js.map +1 -1
  8. package/dist/cli/error-boundary.d.ts.map +1 -1
  9. package/dist/cli/error-boundary.js +2 -1
  10. package/dist/cli/error-boundary.js.map +1 -1
  11. package/dist/dashboard/.vite/manifest.json +1 -1
  12. package/dist/dashboard/assets/{index-DI_TKz9J.js → index-Csby7_ur.js} +2 -2
  13. package/dist/dashboard/assets/{index-DI_TKz9J.js.map → index-Csby7_ur.js.map} +1 -1
  14. package/dist/dashboard/dashboard-manifest.json +8 -8
  15. package/dist/dashboard/index.html +1 -1
  16. package/dist/services/runtime-change-summary.d.ts +4 -0
  17. package/dist/services/runtime-change-summary.d.ts.map +1 -1
  18. package/dist/services/runtime-change-summary.js +7 -0
  19. package/dist/services/runtime-change-summary.js.map +1 -1
  20. package/dist/services/runtime-manager/doctor.js +1 -1
  21. package/dist/services/runtime-manager/doctor.js.map +1 -1
  22. package/dist/services/runtime-manager/runtime-package.d.ts +15 -0
  23. package/dist/services/runtime-manager/runtime-package.d.ts.map +1 -1
  24. package/dist/services/runtime-manager/runtime-package.js +50 -10
  25. package/dist/services/runtime-manager/runtime-package.js.map +1 -1
  26. package/dist/services/runtime-manager-service.d.ts +11 -0
  27. package/dist/services/runtime-manager-service.d.ts.map +1 -1
  28. package/dist/services/runtime-manager-service.js +88 -16
  29. package/dist/services/runtime-manager-service.js.map +1 -1
  30. package/dist/services/upgrade-report.d.ts +2 -2
  31. package/dist/services/upgrade-report.d.ts.map +1 -1
  32. package/dist/services/upgrade-report.js +11 -2
  33. package/dist/services/upgrade-report.js.map +1 -1
  34. package/dist/services/upgrade-service.d.ts +8 -2
  35. package/dist/services/upgrade-service.d.ts.map +1 -1
  36. package/dist/services/upgrade-service.js +44 -12
  37. package/dist/services/upgrade-service.js.map +1 -1
  38. package/docs/CLI.md +4 -1
  39. package/docs/TROUBLESHOOTING.md +9 -6
  40. package/install.ps1 +3 -3
  41. package/install.sh +3 -3
  42. package/lib/host-packages/adapter-registry.json +5 -5
  43. package/lib/host-packages/capability-map.json +1 -1
  44. package/lib/host-packages/claude/.claude-plugin/marketplace.json +2 -2
  45. package/lib/host-packages/claude/openplanr/.claude-plugin/plugin.json +2 -2
  46. package/lib/host-packages/claude/openplanr/.openplanr-content.json +21 -21
  47. package/lib/host-packages/claude/openplanr/README.md +1 -1
  48. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/lib/artifact/ui/studio-shell.css +1 -1
  49. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/package.json +4 -4
  50. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/enhancements.css +14 -4
  51. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.css +14 -5
  52. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-design-review-experience.js +28 -0
  53. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/16-studio-shell.js +105 -27
  54. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +6 -6
  55. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +2 -2
  56. package/lib/host-packages/claude/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +2 -2
  57. package/lib/host-packages/claude/openplanr/skills/delegate/SKILL.md +1 -1
  58. package/lib/host-packages/claude/openplanr/skills/delegate/references/capsule-contract.md +1 -1
  59. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-preparation.mjs +3 -3
  60. package/lib/host-packages/claude/openplanr/skills/design/references/utilities.md +1 -1
  61. package/lib/host-packages/claude/openplanr/skills/design-loop/references/utilities.md +1 -1
  62. package/lib/host-packages/claude/openplanr/skills/design-review/references/utilities.md +1 -1
  63. package/lib/host-packages/claude/openplanr/skills/doctor/SKILL.md +4 -1
  64. package/lib/host-packages/claude/openplanr/skills/doctor/references/upgrade.md +8 -0
  65. package/lib/host-packages/claude/openplanr/skills/plan/SKILL.md +2 -2
  66. package/lib/host-packages/cursor/openplanr/.openplanr-content.json +20 -20
  67. package/lib/host-packages/cursor/openplanr/manifest.json +1 -1
  68. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/capsule-contract.md +1 -1
  69. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-preparation.mjs +3 -3
  70. package/lib/host-packages/cursor/openplanr/rules/planr-delegate.mdc +1 -1
  71. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/utilities.md +1 -1
  72. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/utilities.md +1 -1
  73. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/utilities.md +1 -1
  74. package/lib/host-packages/cursor/openplanr/rules/planr-doctor/references/upgrade.md +8 -0
  75. package/lib/host-packages/cursor/openplanr/rules/planr-doctor.mdc +4 -1
  76. package/lib/host-packages/cursor/openplanr/rules/planr-plan.mdc +2 -2
  77. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/lib/artifact/ui/studio-shell.css +1 -1
  78. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/package.json +4 -4
  79. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/enhancements.css +14 -4
  80. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.css +14 -5
  81. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-design-review-experience.js +28 -0
  82. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/16-studio-shell.js +105 -27
  83. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +6 -6
  84. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +2 -2
  85. package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +2 -2
  86. package/lib/host-packages/openai/.claude-plugin/marketplace.json +2 -2
  87. package/lib/host-packages/openai/openplanr/.codex-plugin/plugin.json +1 -1
  88. package/lib/host-packages/openai/openplanr/.openplanr-content.json +20 -20
  89. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/lib/artifact/ui/studio-shell.css +1 -1
  90. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/package.json +4 -4
  91. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/enhancements.css +14 -4
  92. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.css +14 -5
  93. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-design-review-experience.js +28 -0
  94. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/16-studio-shell.js +105 -27
  95. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +6 -6
  96. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +2 -2
  97. package/lib/host-packages/openai/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +2 -2
  98. package/lib/host-packages/openai/openplanr/skills/delegate/SKILL.md +1 -1
  99. package/lib/host-packages/openai/openplanr/skills/delegate/references/capsule-contract.md +1 -1
  100. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-preparation.mjs +3 -3
  101. package/lib/host-packages/openai/openplanr/skills/design/references/utilities.md +1 -1
  102. package/lib/host-packages/openai/openplanr/skills/design-loop/references/utilities.md +1 -1
  103. package/lib/host-packages/openai/openplanr/skills/design-review/references/utilities.md +1 -1
  104. package/lib/host-packages/openai/openplanr/skills/doctor/SKILL.md +4 -1
  105. package/lib/host-packages/openai/openplanr/skills/doctor/references/upgrade.md +8 -0
  106. package/lib/host-packages/openai/openplanr/skills/plan/SKILL.md +2 -2
  107. package/lib/node-runtime.d.mts +1 -1
  108. package/lib/node-runtime.mjs +2 -7
  109. package/package.json +4 -5
  110. package/bin/planr.js +0 -7
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "kind": "openplanr-dashboard-build",
3
3
  "schemaVersion": "1.0.0",
4
- "buildId": "dashboard-0.1.17-ca0af2628be347db",
4
+ "buildId": "dashboard-0.1.18-642d0e2451a256dc",
5
5
  "entry": "index.html",
6
6
  "assets": [
7
7
  "assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2",
@@ -16,8 +16,8 @@
16
16
  "assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2",
17
17
  "assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2",
18
18
  "assets/index-Bk8DyO_2.css",
19
- "assets/index-DI_TKz9J.js",
20
- "assets/index-DI_TKz9J.js.map"
19
+ "assets/index-Csby7_ur.js",
20
+ "assets/index-Csby7_ur.js.map"
21
21
  ],
22
22
  "assetDigests": {
23
23
  "assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2": {
@@ -68,17 +68,17 @@
68
68
  "bytes": 187656,
69
69
  "sha256": "sha256:ce569133bebdf30667b5af6937549dd967b5f88b0d100779d3db275909ecd723"
70
70
  },
71
- "assets/index-DI_TKz9J.js": {
71
+ "assets/index-Csby7_ur.js": {
72
72
  "bytes": 942569,
73
- "sha256": "sha256:3c798ebef8c30fc78667ec7c17dec4503b5f9ae20e355d6f01f93badbfa044d6"
73
+ "sha256": "sha256:7cddad6eda7508764633481e2a4be88dd2beacfe09a85ee969a531a93f62fb0a"
74
74
  },
75
- "assets/index-DI_TKz9J.js.map": {
75
+ "assets/index-Csby7_ur.js.map": {
76
76
  "bytes": 3431463,
77
- "sha256": "sha256:7ae99e4f121e94ee0d2f3f27aa5037cccee2a25ac0f6d444e5cf1182de0c3035"
77
+ "sha256": "sha256:0cc337c43bbe62c6e18c25388de28a0a009db5b7d5bf8ea147c4dbb548068296"
78
78
  },
79
79
  "index.html": {
80
80
  "bytes": 396,
81
- "sha256": "sha256:ee3346adbbe6a589061c9d356a93b19b98dee7f7bf6ad285a8e3772098c2a85f"
81
+ "sha256": "sha256:1406ab0ea5d97f077873a3c55504d6552985a6fd44b55fe69656b7a7787d3082"
82
82
  }
83
83
  }
84
84
  }
@@ -4,7 +4,7 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>OpenPlanr</title>
7
- <script type="module" crossorigin src="./assets/index-DI_TKz9J.js"></script>
7
+ <script type="module" crossorigin src="./assets/index-Csby7_ur.js"></script>
8
8
  <link rel="stylesheet" crossorigin href="./assets/index-Bk8DyO_2.css">
9
9
  </head>
10
10
  <body>
@@ -1,6 +1,7 @@
1
1
  import type { ClaudePluginOperation } from './claude-plugin-service.js';
2
2
  import type { CodexPluginOperation } from './codex-plugin-service.js';
3
3
  import type { RuntimeId } from './runtime-manager/inventory.js';
4
+ import { type RuntimePackageDrift } from './runtime-manager/runtime-package.js';
4
5
  export declare const RUNTIME_LABELS: Record<RuntimeId, string>;
5
6
  /** The change one setup run makes, or would make, to a single coding agent. */
6
7
  export interface RuntimeChange {
@@ -17,6 +18,9 @@ interface RuntimePlan {
17
18
  operation: string;
18
19
  }>;
19
20
  runtimeOperations: Array<ClaudePluginOperation | CodexPluginOperation>;
21
+ runtimePackageRestores?: Array<RuntimePackageDrift & {
22
+ runtime: RuntimeId;
23
+ }>;
20
24
  }
21
25
  /**
22
26
  * Per-agent summary of a setup preview or result.
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-change-summary.d.ts","sourceRoot":"","sources":["../../src/services/runtime-change-summary.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAA6B,MAAM,4BAA4B,CAAC;AACnG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAEhE,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAIpD,CAAC;AAEF,+EAA+E;AAC/E,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,SAAS,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,WAAW;IACnB,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,OAAO,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvE,iBAAiB,EAAE,KAAK,CAAC,qBAAqB,GAAG,oBAAoB,CAAC,CAAC;CACxE;AA6DD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,EACjB,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAC1E,aAAa,EAAE,CAwBjB;AAED,0CAA0C;AAC1C,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAGjD"}
1
+ {"version":3,"file":"runtime-change-summary.d.ts","sourceRoot":"","sources":["../../src/services/runtime-change-summary.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAA6B,MAAM,4BAA4B,CAAC;AACnG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,sCAAsC,CAAC;AAE9C,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAIpD,CAAC;AAEF,+EAA+E;AAC/E,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,SAAS,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,WAAW;IACnB,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,OAAO,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvE,iBAAiB,EAAE,KAAK,CAAC,qBAAqB,GAAG,oBAAoB,CAAC,CAAC;IACvE,sBAAsB,CAAC,EAAE,KAAK,CAAC,mBAAmB,GAAG;QAAE,OAAO,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;CAC9E;AA6DD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,EACjB,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAC1E,aAAa,EAAE,CAgCjB;AAED,0CAA0C;AAC1C,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAGjD"}
@@ -1,4 +1,5 @@
1
1
  import path from 'node:path';
2
+ import { describePackageDrift, } from './runtime-manager/runtime-package.js';
2
3
  export const RUNTIME_LABELS = {
3
4
  'claude-code': 'Claude Code',
4
5
  codex: 'Codex',
@@ -67,7 +68,13 @@ export function summarizeRuntimeChanges(plan, { bookkeepingRoot, applied }) {
67
68
  !isInside(action.target, bookkeepingRoot))
68
69
  .map((action) => action.operation);
69
70
  const operations = plan.runtimeOperations.filter((operation) => operation.runtime === runtime && operation.kind !== 'refresh-marketplace');
71
+ const restores = (plan.runtimePackageRestores ?? [])
72
+ .filter((restore) => restore.runtime === runtime)
73
+ .map((restore) => applied
74
+ ? `runtime package restored (${describePackageDrift(restore)})`
75
+ : `restore the runtime package (${describePackageDrift(restore)}); changed files are backed up first`);
70
76
  const parts = [
77
+ ...restores,
71
78
  ...operations.map((operation) => describeOperation(operation, applied)),
72
79
  ...describeFiles(files, applied),
73
80
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-change-summary.js","sourceRoot":"","sources":["../../src/services/runtime-change-summary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-change-summary.js","sourceRoot":"","sources":["../../src/services/runtime-change-summary.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,OAAO,EACL,oBAAoB,GAErB,MAAM,sCAAsC,CAAC;AAE9C,MAAM,CAAC,MAAM,cAAc,GAA8B;IACvD,aAAa,EAAE,aAAa;IAC5B,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACjB,CAAC;AAiBF,SAAS,QAAQ,CAAC,MAAc,EAAE,IAAY;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7C,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,iBAAiB,CACxB,SAAuD,EACvD,OAAgB;IAEhB,MAAM,MAAM,GAAG,kBAAkB,CAAC;IAClC,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,QAAQ,IAAI,EAAE,CAAC;IACzD,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,cAAc,IAAI,aAAa,EAAE,CAAC;QACnE,iFAAiF;QACjF,IAAI,cAAc,KAAK,aAAa,EAAE,CAAC;YACrC,OAAO,OAAO;gBACZ,CAAC,CAAC,GAAG,MAAM,IAAI,aAAa,WAAW;gBACvC,CAAC,CAAC,cAAc,MAAM,IAAI,aAAa,EAAE,CAAC;QAC9C,CAAC;QACD,OAAO,GAAG,MAAM,IAAI,cAAc,MAAM,aAAa,EAAE,CAAC;IAC1D,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,MAAM,OAAO,GAAuE;QAClF,MAAM,EAAE,CAAC,cAAc,MAAM,EAAE,EAAE,GAAG,MAAM,UAAU,CAAC;QACrD,OAAO,EAAE,CAAC,eAAe,MAAM,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,YAAY,CAAC;QAC3E,MAAM,EAAE,CAAC,cAAc,MAAM,EAAE,EAAE,GAAG,MAAM,UAAU,CAAC;QACrD,MAAM,EAAE,CAAC,UAAU,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,EAAE,UAAU,CAAC;QAC7D,iBAAiB,EAAE,CAAC,kCAAkC,EAAE,gCAAgC,CAAC;QACzF,qBAAqB,EAAE;YACrB,sCAAsC;YACtC,oCAAoC;SACrC;KACF,CAAC;IACF,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,aAAa,CAAC,UAAoB,EAAE,OAAgB;IAC3D,MAAM,MAAM,GACV;QACE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;QAC7C,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QACxC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;KAEhD;SACE,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3B,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,MAAM;QAC7D,IAAI;KACL,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACpC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO;QACL,MAAM;aACH,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAC9B,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,CACxF;aACA,IAAI,CAAC,IAAI,CAAC;KACd,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAAiB,EACjB,EAAE,eAAe,EAAE,OAAO,EAAiD;IAE3E,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO;aACvB,MAAM,CACL,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,OAAO,KAAK,OAAO;YAC1B,MAAM,CAAC,SAAS,KAAK,WAAW;YAChC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAC5C;aACA,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAC9C,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,KAAK,OAAO,IAAI,SAAS,CAAC,IAAI,KAAK,qBAAqB,CACzF,CAAC;QACF,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,sBAAsB,IAAI,EAAE,CAAC;aACjD,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC;aAChD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACf,OAAO;YACL,CAAC,CAAC,6BAA6B,oBAAoB,CAAC,OAAO,CAAC,GAAG;YAC/D,CAAC,CAAC,gCAAgC,oBAAoB,CAAC,OAAO,CAAC,sCAAsC,CACxG,CAAC;QACJ,MAAM,KAAK,GAAG;YACZ,GAAG,QAAQ;YACX,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACvE,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC;SACjC,CAAC;QACF,OAAO;YACL,OAAO;YACP,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC;YAC7B,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC;YACzB,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAoB;SACrE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,SAAS,CAAC,KAAe;IACvC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7C,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;AAC3E,CAAC"}
@@ -112,7 +112,7 @@ export function diagnoseRetiredCommandSkills(documents, commandRoots, managedBlo
112
112
  return {
113
113
  code: 'installed-skill-commands',
114
114
  status: 'warn',
115
- message: `${stale.length} installed skill or rule file(s) still tell the agent to run planr`,
115
+ message: `${stale.length} installed skill or rule file(s) still tell the agent to run planr, which is no longer installed`,
116
116
  fix: hosts.length
117
117
  ? `Rerun ${hosts.map((host) => `\`${CLI_COMMAND} setup --runtime ${host}\``).join(' and ')}, or update the plugin, then restart the agent.`
118
118
  : `Rerun \`${CLI_COMMAND} setup\`, then restart the agent.`,
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/services/runtime-manager/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/services/runtime-manager/doctor.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,10 @@ export type RuntimePackage = Readonly<{
8
8
  content: Buffer;
9
9
  }>;
10
10
  }>;
11
+ export type RuntimePackageDrift = Readonly<{
12
+ changed: string[];
13
+ unexpected: string[];
14
+ }>;
11
15
  export type RuntimeLocator = Readonly<{
12
16
  kind: 'openplanr-installed-skill';
13
17
  schemaVersion: '1.0.0';
@@ -18,6 +22,17 @@ export type RuntimeLocator = Readonly<{
18
22
  }>;
19
23
  /** Exact native package bytes are the cache unit; frozen and retained packages are never rewritten. */
20
24
  export declare function inspectRuntimePackage(sourceRoot: string, cacheRoot: string, host: string, version: string, inspectInstalled?: boolean): RuntimePackage;
25
+ /** Files of the retained copy at `root` that differ from the reviewed package bytes. */
26
+ export declare function retainedPackageDrift(runtimePackage: RuntimePackage): RuntimePackageDrift;
27
+ /**
28
+ * Installed files the reviewed package does not list. A name that opens a reviewed file only
29
+ * because the file system ignores case is that file, not an addition.
30
+ */
31
+ export declare function addedPackageFiles(installed: readonly string[], reviewed: readonly string[], opens: (relativePath: string) => boolean): string[];
32
+ /** The reviewed file `file` differs from only by letter case, if any. */
33
+ export declare function caseVariantOf(file: string, reviewed: readonly string[]): string | undefined;
34
+ /** The files a retained runtime package changed or gained, for one line of output. */
35
+ export declare function describePackageDrift(drift: RuntimePackageDrift): string;
21
36
  /** Bare direct discovery uses the host's short skill invocation while native suites retain their namespace. */
22
37
  export declare function thinDiscoveryMetadata(relativePath: string, content: Buffer): Buffer;
23
38
  export declare function runtimeLocator(runtimePackage: RuntimePackage, entryPath: string): RuntimeLocator;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-package.d.ts","sourceRoot":"","sources":["../../../src/services/runtime-manager/runtime-package.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD,CAAC,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,IAAI,EAAE,2BAA2B,CAAC;IAClC,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC;AA2BH,uGAAuG;AACvG,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,UAAO,GACtB,cAAc,CAiDhB;AAED,+GAA+G;AAC/G,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAInF;AAED,wBAAgB,cAAc,CAAC,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,CAchG;AAED,sGAAsG;AACtG,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAiB9E;AAED,+EAA+E;AAC/E,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,gBAAgB,sBAA4B,GAC3C,cAAc,GAAG,IAAI,CAqDvB;AAED,kGAAkG;AAClG,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,gBAAgB,sBAA4B,GAC3C,cAAc,GAAG,IAAI,CAkCvB"}
1
+ {"version":3,"file":"runtime-package.d.ts","sourceRoot":"","sources":["../../../src/services/runtime-manager/runtime-package.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD,CAAC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAAC;AACxF,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,IAAI,EAAE,2BAA2B,CAAC;IAClC,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC;AA2BH,uGAAuG;AACvG,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,UAAO,GACtB,cAAc,CA6ChB;AAED,wFAAwF;AACxF,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,cAAc,GAAG,mBAAmB,CAiBxF;AAID;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,KAAK,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,GACvC,MAAM,EAAE,CAWV;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAI3F;AAED,sFAAsF;AACtF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAEvE;AAED,+GAA+G;AAC/G,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAInF;AAED,wBAAgB,cAAc,CAAC,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,CAchG;AAED,sGAAsG;AACtG,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAiB9E;AAED,+EAA+E;AAC/E,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,gBAAgB,sBAA4B,GAC3C,cAAc,GAAG,IAAI,CAqDvB;AAED,kGAAkG;AAClG,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,gBAAgB,sBAA4B,GAC3C,cAAc,GAAG,IAAI,CAkCvB"}
@@ -53,17 +53,57 @@ export function inspectRuntimePackage(sourceRoot, cacheRoot, host, version, insp
53
53
  files.push({ relativePath: inventoryName, content: manifestBytes });
54
54
  const packageDigest = digest(manifestBytes);
55
55
  const root = path.join(cacheRoot, host, version, packageDigest.slice('sha256:'.length));
56
- if (inspectInstalled && existsSync(root)) {
57
- const installed = regularFiles(root).map((file) => path.relative(root, file).split(path.sep).join('/'));
58
- if (installed.some((file) => !files.some((expected) => expected.relativePath === file)))
59
- throw new Error('The immutable runtime package contains unexpected files.');
60
- for (const file of files) {
61
- if (existsSync(path.join(root, file.relativePath)) &&
62
- digest(readFileSync(path.join(root, file.relativePath))) !== digest(file.content))
63
- throw new Error(`The immutable runtime package was changed: ${file.relativePath}.`);
64
- }
56
+ const runtimePackage = { sourceRoot, root, digest: packageDigest, version, files };
57
+ if (inspectInstalled) {
58
+ const drift = retainedPackageDrift(runtimePackage);
59
+ if (drift.unexpected.length)
60
+ throw new Error(`The immutable runtime package contains unexpected files: ${drift.unexpected.join(', ')}.`);
61
+ if (drift.changed.length)
62
+ throw new Error(`The immutable runtime package was changed: ${drift.changed.join(', ')}.`);
65
63
  }
66
- return { sourceRoot, root, digest: packageDigest, version, files };
64
+ return runtimePackage;
65
+ }
66
+ /** Files of the retained copy at `root` that differ from the reviewed package bytes. */
67
+ export function retainedPackageDrift(runtimePackage) {
68
+ if (!existsSync(runtimePackage.root))
69
+ return { changed: [], unexpected: [] };
70
+ const expected = new Map(runtimePackage.files.map((file) => [file.relativePath, file.content]));
71
+ const installed = regularFiles(runtimePackage.root).map((file) => path.relative(runtimePackage.root, file).split(path.sep).join('/'));
72
+ return {
73
+ changed: [...expected]
74
+ .filter(([relativePath, content]) => {
75
+ const target = path.join(runtimePackage.root, relativePath);
76
+ return existsSync(target) && digest(readFileSync(target)) !== digest(content);
77
+ })
78
+ .map(([relativePath]) => relativePath),
79
+ unexpected: addedPackageFiles(installed, [...expected.keys()], (file) => existsSync(path.join(runtimePackage.root, file))),
80
+ };
81
+ }
82
+ const foldedName = (file) => file.normalize('NFC').toLowerCase();
83
+ /**
84
+ * Installed files the reviewed package does not list. A name that opens a reviewed file only
85
+ * because the file system ignores case is that file, not an addition.
86
+ */
87
+ export function addedPackageFiles(installed, reviewed, opens) {
88
+ const listed = new Set(installed);
89
+ const reviewedNames = new Set(reviewed);
90
+ const byFoldedName = new Map(reviewed.map((file) => [foldedName(file), file]));
91
+ return installed
92
+ .filter((file) => {
93
+ if (reviewedNames.has(file))
94
+ return false;
95
+ const packaged = byFoldedName.get(foldedName(file));
96
+ return !packaged || listed.has(packaged) || !opens(packaged);
97
+ })
98
+ .sort();
99
+ }
100
+ /** The reviewed file `file` differs from only by letter case, if any. */
101
+ export function caseVariantOf(file, reviewed) {
102
+ return reviewed.find((candidate) => candidate !== file && foldedName(candidate) === foldedName(file));
103
+ }
104
+ /** The files a retained runtime package changed or gained, for one line of output. */
105
+ export function describePackageDrift(drift) {
106
+ return [...drift.changed, ...drift.unexpected.map((file) => `${file} (added)`)].join(', ');
67
107
  }
68
108
  /** Bare direct discovery uses the host's short skill invocation while native suites retain their namespace. */
69
109
  export function thinDiscoveryMetadata(relativePath, content) {
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-package.js","sourceRoot":"","sources":["../../../src/services/runtime-manager/runtime-package.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-package.js","sourceRoot":"","sources":["../../../src/services/runtime-manager/runtime-package.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import { type CodexCommandRunner, type CodexPluginOperation } from './codex-plug
10
10
  import { type CodexSkillDiscovery } from './runtime-manager/codex-discovery.js';
11
11
  import { type CommandPrefix, type InstallScope, type SkillInstallMode } from './runtime-manager/global-state.js';
12
12
  import { type AdapterRegistryEntry, type RuntimeId } from './runtime-manager/inventory.js';
13
+ import { type RuntimePackageDrift } from './runtime-manager/runtime-package.js';
13
14
  export type { RuntimeId } from './runtime-manager/inventory.js';
14
15
  export type RuntimeChoice = RuntimeId | 'auto' | 'all';
15
16
  export { classifyComponentDrift } from './runtime-manager/doctor.js';
@@ -40,6 +41,8 @@ export interface SetupOptions {
40
41
  userScopeRuntimes?: RuntimeId[];
41
42
  /** Permit replacement of only manifest-owned content when changing modes. */
42
43
  replaceManaged?: boolean;
44
+ /** Restore a changed retained runtime package from the bundled copy after backing it up. */
45
+ restoreRuntimePackages?: boolean;
43
46
  /** Injectable Claude command boundary for deterministic runtime integration tests. */
44
47
  claudeCommandRunner?: ClaudeCommandRunner;
45
48
  /** Injectable Codex command boundary for deterministic plugin integration tests. */
@@ -85,7 +88,15 @@ export interface SetupPreview {
85
88
  message: string;
86
89
  fix?: string;
87
90
  }>;
91
+ /** Retained runtime packages a repair restores to their reviewed bytes. */
92
+ runtimePackageRestores?: RuntimePackageRestore[];
88
93
  }
94
+ /** A retained runtime package whose files differ from the bytes bundled with this CLI. */
95
+ export type RuntimePackageRestore = RuntimePackageDrift & Readonly<{
96
+ runtime: RuntimeId;
97
+ version: string;
98
+ root: string;
99
+ }>;
89
100
  export declare class RuntimeManagerError extends Error {
90
101
  code: string;
91
102
  recovery?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-manager-service.d.ts","sourceRoot":"","sources":["../../src/services/runtime-manager-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-manager-service.d.ts","sourceRoot":"","sources":["../../src/services/runtime-manager-service.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ import { classifyComponentDrift as classifyRuntimeComponentDrift, diagnoseManage
24
24
  import { migrateLegacyGlobalRuntimeState, } from './runtime-manager/global-state.js';
25
25
  import { inventoryManagedSkillFiles, planCodexUserBundleTransition, } from './runtime-manager/install-plan.js';
26
26
  import { detectInstalledRuntimes, inspectRuntimeProjectContext, listInstalledRuntimeAdapters, planningFolderConflict, } from './runtime-manager/inventory.js';
27
- import { inspectRuntimeLocator, inspectRuntimePackage, inspectThinRule, runtimeLocator, thinDiscoveryMetadata, thinSkillEntry, } from './runtime-manager/runtime-package.js';
27
+ import { caseVariantOf, describePackageDrift, inspectRuntimeLocator, inspectRuntimePackage, inspectThinRule, retainedPackageDrift, runtimeLocator, thinDiscoveryMetadata, thinSkillEntry, } from './runtime-manager/runtime-package.js';
28
28
  export { classifyComponentDrift } from './runtime-manager/doctor.js';
29
29
  const runtimeLockSchema = JSON.parse(readFileSync(new URL('../../lib/runtime-lock.schema.json', import.meta.url), 'utf8'));
30
30
  // Setup and global help remain available when the optional pipeline package is absent.
@@ -663,13 +663,22 @@ function duplicateClaudePluginDiagnostic(inspection) {
663
663
  .join(' && ')}`,
664
664
  };
665
665
  }
666
- function bundledRuntimePackage(runtime, inspectInstalled = false) {
666
+ function bundledRuntimePackage(runtime) {
667
667
  const host = runtime === 'claude-code' ? 'claude' : runtime === 'codex' ? 'openai' : 'cursor';
668
668
  try {
669
- return inspectRuntimePackage(path.join(bundledHostRoot(host), 'openplanr'), path.join(runtimeRoot(), 'packages'), host, readRegistry().pluginVersion, inspectInstalled);
669
+ return inspectRuntimePackage(path.join(bundledHostRoot(host), 'openplanr'), path.join(runtimeRoot(), 'packages'), host, readRegistry().pluginVersion, false);
670
670
  }
671
671
  catch (cause) {
672
- throw new RuntimeManagerError('E_RUNTIME_PACKAGE_INVALID', `The exact ${runtime} runtime package could not be verified: ${cause instanceof Error ? cause.message : String(cause)}`, 'Preserve changed cached files and reinstall the reviewed CLI package; setup never rewrites an immutable runtime.');
672
+ throw new RuntimeManagerError('E_RUNTIME_PACKAGE_INVALID', `The exact ${runtime} runtime package could not be verified: ${cause instanceof Error ? cause.message : String(cause)}`, 'Reinstall the OpenPlanr CLI or regenerate its host packages.');
673
+ }
674
+ }
675
+ /** Compares the retained copy of the bundled package with its reviewed bytes. */
676
+ function retainedRuntimePackageDrift(runtime, runtimePackage) {
677
+ try {
678
+ return retainedPackageDrift(runtimePackage);
679
+ }
680
+ catch (cause) {
681
+ throw new RuntimeManagerError('E_RUNTIME_PACKAGE_INVALID', `The ${runtime} runtime package ${runtimePackage.version} at ${runtimePackage.root} could not be inspected: ${cause instanceof Error ? cause.message : String(cause)}`, 'Remove the symbolic link or other unsupported entry it names, then rerun the command.');
673
682
  }
674
683
  }
675
684
  function bundledSkillAssets(runtime, runtimePackage = bundledRuntimePackage(runtime)) {
@@ -826,7 +835,7 @@ function buildRuntimeLock(options, runtimes, runtimeScopes, registry, pipelineVe
826
835
  }
827
836
  return Buffer.from(`${JSON.stringify(lock, null, 2)}\n`);
828
837
  }
829
- function buildActions(options, runtimes, runtimeScopes, retainedProject) {
838
+ function buildActions(options, runtimes, runtimeScopes, retainedProject, packageRestores = []) {
830
839
  if (options.minimal)
831
840
  return [];
832
841
  const { version, registry } = readRegistry();
@@ -850,8 +859,32 @@ function buildActions(options, runtimes, runtimeScopes, retainedProject) {
850
859
  let skillAssets;
851
860
  let runtimePackage;
852
861
  try {
853
- runtimePackage = bundledRuntimePackage(runtime, usesThinEntries);
854
- for (const file of usesThinEntries ? runtimePackage.files : []) {
862
+ runtimePackage = bundledRuntimePackage(runtime);
863
+ skillAssets = bundledSkillAssets(runtime, runtimePackage);
864
+ }
865
+ catch (cause) {
866
+ throw new RuntimeManagerError('E_SKILL_DISTRIBUTION_INVALID', `The generated ${runtime} skill distribution is invalid: ${cause instanceof Error ? cause.message : String(cause)}`, 'Reinstall the OpenPlanr utility CLI or regenerate the host packages.');
867
+ }
868
+ if (usesThinEntries) {
869
+ const drift = retainedRuntimePackageDrift(runtime, runtimePackage);
870
+ if (drift.changed.length > 0 || drift.unexpected.length > 0) {
871
+ if (!options.restoreRuntimePackages) {
872
+ throw new RuntimeManagerError('E_RUNTIME_PACKAGE_CHANGED', `Files in the ${runtime} runtime package ${runtimePackage.version} were changed outside OpenPlanr: ${describePackageDrift(drift)}.`, `Run \`${CLI_COMMAND} doctor --fix\` to restore the package from this CLI; the changed files are backed up first.`);
873
+ }
874
+ // A restore never deletes a name that could open a packaged file.
875
+ const reviewed = runtimePackage.files.map((file) => file.relativePath);
876
+ const caseVariants = drift.unexpected.filter((file) => caseVariantOf(file, reviewed));
877
+ if (caseVariants.length > 0) {
878
+ throw new RuntimeManagerError('E_RUNTIME_PACKAGE_CHANGED', `Files in the ${runtime} runtime package ${runtimePackage.version} differ from packaged files only by letter case: ${caseVariants.join(', ')}.`, `OpenPlanr does not delete them. Remove them by hand, then rerun \`${CLI_COMMAND} doctor --fix\`.`);
879
+ }
880
+ packageRestores.push({
881
+ runtime,
882
+ version: runtimePackage.version,
883
+ root: runtimePackage.root,
884
+ ...drift,
885
+ });
886
+ }
887
+ for (const file of runtimePackage.files) {
855
888
  actions.push({
856
889
  runtime: 'core',
857
890
  scope: 'user',
@@ -862,10 +895,6 @@ function buildActions(options, runtimes, runtimeScopes, retainedProject) {
862
895
  description: `Retain exact ${runtime} runtime package ${file.relativePath}`,
863
896
  });
864
897
  }
865
- skillAssets = bundledSkillAssets(runtime, runtimePackage);
866
- }
867
- catch (cause) {
868
- throw new RuntimeManagerError('E_SKILL_DISTRIBUTION_INVALID', `The generated ${runtime} skill distribution is invalid: ${cause instanceof Error ? cause.message : String(cause)}`, 'Reinstall the OpenPlanr utility CLI or regenerate the host packages.');
869
898
  }
870
899
  if (installUser) {
871
900
  if (runtime === 'codex') {
@@ -1041,6 +1070,21 @@ function planRetiredCursorProjectRules(projectDir, runtimes, runtimeScopes) {
1041
1070
  ];
1042
1071
  });
1043
1072
  }
1073
+ /** Files added to a retained runtime package; a restore removes them after the backup. */
1074
+ function planPackageRetirements(restores) {
1075
+ return restores.flatMap((restore) => restore.unexpected.map((file) => {
1076
+ const target = path.join(restore.root, file);
1077
+ return {
1078
+ runtime: 'core',
1079
+ scope: 'user',
1080
+ target,
1081
+ content: readFileSync(target),
1082
+ kind: 'file',
1083
+ custody: 'runtime-package',
1084
+ description: `Remove ${file}, which was added to the exact ${restore.runtime} runtime package`,
1085
+ };
1086
+ }));
1087
+ }
1044
1088
  function inventoryRegularFiles(root) {
1045
1089
  return inventoryManagedSkillFiles(root, (message, recovery) => {
1046
1090
  throw new RuntimeManagerError('E_MIGRATION_CONFLICT', message, recovery);
@@ -1407,8 +1451,10 @@ export async function previewSetup(options) {
1407
1451
  const retainedProject = options.preserveExistingScopes
1408
1452
  ? (await loadState()).projects[projectKey(options.projectDir)]
1409
1453
  : undefined;
1410
- const actions = buildActions(options, runtimes, runtimeScopes, retainedProject);
1411
- assertActionCustody(actions, options.projectDir);
1454
+ const packageRestores = [];
1455
+ const actions = buildActions(options, runtimes, runtimeScopes, retainedProject, packageRestores);
1456
+ const packageRetirements = planPackageRetirements(packageRestores);
1457
+ assertActionCustody([...actions, ...packageRetirements], options.projectDir);
1412
1458
  const scopeRetirements = planScopeRetirements(options, (await loadState()).projects[projectKey(options.projectDir)], runtimes, actions);
1413
1459
  const retiredProjectRules = planRetiredCursorProjectRules(options.projectDir, runtimes, runtimeScopes);
1414
1460
  const needsTransitionState = runtimes.includes('codex') ||
@@ -1556,6 +1602,13 @@ export async function previewSetup(options) {
1556
1602
  operation: operationFor(action),
1557
1603
  description: action.description,
1558
1604
  })),
1605
+ ...packageRetirements.map((action) => ({
1606
+ runtime: action.runtime,
1607
+ scope: action.scope,
1608
+ target: action.target,
1609
+ operation: 'retire',
1610
+ description: action.description,
1611
+ })),
1559
1612
  ...retiredProjectRules.map((action) => ({
1560
1613
  runtime: action.runtime,
1561
1614
  scope: action.scope,
@@ -1585,6 +1638,7 @@ export async function previewSetup(options) {
1585
1638
  ...(codexInspection?.operations ?? []),
1586
1639
  ],
1587
1640
  runtimeDiagnostics,
1641
+ ...(packageRestores.length > 0 ? { runtimePackageRestores: packageRestores } : {}),
1588
1642
  };
1589
1643
  }
1590
1644
  export async function applySetup(options) {
@@ -1621,8 +1675,11 @@ export async function applySetup(options) {
1621
1675
  const retainedProject = options.preserveExistingScopes
1622
1676
  ? state.projects[projectKey(options.projectDir)]
1623
1677
  : undefined;
1624
- const actions = buildActions(options, preview.runtimes, preview.runtimeScopes, retainedProject);
1625
- assertActionCustody(actions, options.projectDir);
1678
+ const packageRestores = [];
1679
+ const actions = buildActions(options, preview.runtimes, preview.runtimeScopes, retainedProject, packageRestores);
1680
+ const packageRetirements = planPackageRetirements(packageRestores);
1681
+ assertActionCustody([...actions, ...packageRetirements], options.projectDir);
1682
+ const restoredPackageTargets = new Set(packageRestores.flatMap((restore) => restore.changed.map((file) => path.join(restore.root, file))));
1626
1683
  const scopeRetirements = planScopeRetirements(options, state.projects[projectKey(options.projectDir)], preview.runtimes, actions);
1627
1684
  const retiredProjectRules = planRetiredCursorProjectRules(options.projectDir, preview.runtimes, preview.runtimeScopes);
1628
1685
  const previousCodexMode = state.userBundles?.codex?.installMode ??
@@ -1672,6 +1729,7 @@ export async function applySetup(options) {
1672
1729
  ...changed,
1673
1730
  ...retirementActions,
1674
1731
  ...retiredProjectRules,
1732
+ ...packageRetirements,
1675
1733
  ...scopeRetirements,
1676
1734
  stateAction,
1677
1735
  ].filter((action, index, list) => list.findIndex((candidate) => candidate.target === action.target) === index);
@@ -1697,6 +1755,7 @@ export async function applySetup(options) {
1697
1755
  verifyCurrent();
1698
1756
  const content = actionBytes(action);
1699
1757
  if (action.custody === 'runtime-package' &&
1758
+ !restoredPackageTargets.has(action.target) &&
1700
1759
  existsSync(action.target) &&
1701
1760
  !readFileSync(action.target).equals(content)) {
1702
1761
  throw new RuntimeManagerError('E_MIGRATION_CONFLICT', `Immutable runtime bytes changed during setup: ${action.target}.`, 'Preserve the changed cache; rerun with the reviewed package after resolving its custody.');
@@ -1771,6 +1830,19 @@ export async function applySetup(options) {
1771
1830
  await unlink(retired.target);
1772
1831
  retiredTargets.add(retired.target);
1773
1832
  }
1833
+ for (const retired of packageRetirements) {
1834
+ assertMutableOwnedTarget(retired.target, options.projectDir, 'E_MIGRATION_CONFLICT');
1835
+ if (!existsSync(retired.target))
1836
+ continue;
1837
+ const metadata = lstatSync(retired.target);
1838
+ if (metadata.isSymbolicLink() ||
1839
+ !metadata.isFile() ||
1840
+ hash(readFileSync(retired.target)) !== hash(retired.content)) {
1841
+ throw new RuntimeManagerError('E_MIGRATION_CONFLICT', `Runtime package bytes changed during setup: ${retired.target}.`, 'The concurrent edit was preserved; inspect it before rerunning setup.');
1842
+ }
1843
+ await unlink(retired.target);
1844
+ retiredTargets.add(retired.target);
1845
+ }
1774
1846
  const updatedAt = new Date().toISOString();
1775
1847
  state.schemaVersion = '2.0.0';
1776
1848
  state.userBundles ??= {};
@@ -2526,7 +2598,7 @@ export async function runtimeDoctor(projectDir, options = {}) {
2526
2598
  : 'Pinned runtime packages match their complete content inventories',
2527
2599
  ...(closureFailures.length
2528
2600
  ? {
2529
- fix: `Run \`${CLI_COMMAND} doctor --fix\` to preview exact-package repair; preserve modified cache bytes for inspection.`,
2601
+ fix: `Run \`${CLI_COMMAND} doctor --fix\` to preview the repair; changed package files are backed up before anything is replaced.`,
2530
2602
  }
2531
2603
  : {}),
2532
2604
  });