create-principles-disciple 1.134.3 → 1.134.4

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.
@@ -34,7 +34,7 @@ export async function probeIngestHealth(ingestUrl, deps) {
34
34
  return {
35
35
  available: false,
36
36
  reason: '当前运行环境不支持 fetch',
37
- nextAction: '使用 Node 18+ 运行 console,或改用导出文件通道',
37
+ nextAction: '使用 Node 22+ 运行 console,或改用导出文件通道',
38
38
  };
39
39
  }
40
40
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;AAiPnC,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAEhD;AAED,wBAAgB,WAAW,IAAI,QAAQ,CAEtC;AAED,wBAAgB,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAErC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;AAqPnC,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAEhD;AAED,wBAAgB,WAAW,IAAI,QAAQ,CAEtC;AAED,wBAAgB,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAErC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D"}
package/dist/i18n.js CHANGED
@@ -115,6 +115,8 @@ const translations = {
115
115
  rollback_fresh_clean_failed: 'The install failed before activation, and some partially deployed files could NOT be removed: {dirs}. They are not activated (no install manifest), but should be removed manually.',
116
116
  next_fresh_cleaned: 'Fix the error above and re-run the installer.',
117
117
  next_fresh_clean_failed: 'Remove the listed directories manually (they are not activated), then re-run the installer.',
118
+ // PRI-697 review P1: global pd shim files this run created survived the rollback.
119
+ rollback_global_shim_residue: 'Global pd shim files this run created could not be removed ({files}) — remove them manually.',
118
120
  },
119
121
  zh: {
120
122
  select_language: '选择语言',
@@ -232,6 +234,8 @@ const translations = {
232
234
  rollback_fresh_clean_failed: '安装未激活即失败,且部分已部署文件无法移除:{dirs}。它们未被激活(无安装清单),但应手动移除。',
233
235
  next_fresh_cleaned: '请修复上方错误后重新运行安装器。',
234
236
  next_fresh_clean_failed: '请手动移除上述目录(它们未被激活),然后重新运行安装器。',
237
+ // PRI-697 评审 P1:本次安装创建的全局 pd shim 文件在回滚后仍残留。
238
+ rollback_global_shim_residue: '本次安装创建的全局 pd shim 文件未能移除({files})——请手动移除。',
235
239
  },
236
240
  };
237
241
  let currentLanguage = 'zh';
package/dist/i18n.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"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"}
@@ -209,6 +209,19 @@ export declare function ensureBundledPdCliResolution(pdCliRoot: string): void;
209
209
  export declare function runLegacyRuleContractPreflight(pluginDir: string, workspaceDir: string, runScan?: LegacyRulePreflightRunner): Promise<LegacyRulePreflightOutcome>;
210
210
  export declare function checkBuiltPlugin(pluginDir: string): Promise<void>;
211
211
  export declare function installPluginToStaging(pluginDir: string, language: SkillLanguage): Promise<void>;
212
+ /** Outcome of one global-shim discovery/install attempt (PRI-697 review P1). */
213
+ export interface GlobalPdShimResult {
214
+ /** true when PD-owned shim files are in place in the npm global bin dir. */
215
+ installed: boolean;
216
+ /** Shim files this run CREATED (absent before) — the rollback set. */
217
+ createdPaths: string[];
218
+ /** PD-owned shim files that already existed and were overwritten in place. */
219
+ replacedPaths: string[];
220
+ /** Foreign-owned `pd` entries found — never written, never rolled back. */
221
+ skippedForeignPaths: string[];
222
+ }
223
+ export declare function installGlobalPdShim(): GlobalPdShimResult | boolean;
224
+ export declare function tryUpgradePdCliFromNpm(installedPdCliDir: string): void;
212
225
  /**
213
226
  * PRI-711: materialize node_modules links for the INSTALLED codex-adapter so
214
227
  * its declared `file:../<component>` dependencies resolve under ESM realpath
@@ -1 +1 @@
1
- {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
package/dist/installer.js CHANGED
@@ -727,6 +727,33 @@ function cleanupBackup(backupDir, runtimeBackupDir) {
727
727
  }
728
728
  }
729
729
  }
730
+ /**
731
+ * PRI-697 review P1: undo the global `pd` shim side effect when the
732
+ * install transaction fails. Exactly the files THIS run created are
733
+ * removed; PD-owned shims that already existed before the run (a
734
+ * pre-existing install's global command) are left in place — rolling back
735
+ * to the pre-run state, not to "no PD anywhere". Best-effort with every
736
+ * residue named (rc-9); never throws.
737
+ */
738
+ function rollbackGlobalPdShim(record) {
739
+ const removed = [];
740
+ const failed = [];
741
+ for (const shimPath of record.createdPaths) {
742
+ if (!existsSync(shimPath))
743
+ continue;
744
+ try {
745
+ rmSync(shimPath, { force: true });
746
+ removed.push(shimPath);
747
+ }
748
+ catch (e) {
749
+ failed.push(`${shimPath} (${e instanceof Error ? e.message : String(e)})`);
750
+ }
751
+ }
752
+ if (failed.length > 0) {
753
+ logger.warn(`Failed to remove global pd shim files created by this run: ${failed.join(', ')} — remove them manually.`);
754
+ }
755
+ return { removed, failed };
756
+ }
730
757
  /**
731
758
  * Decide how to handle a running gateway.
732
759
  * - --stop-gateway flag → 'stop' (auto-stop, no prompt, even in interactive).
@@ -1094,8 +1121,59 @@ function getNpmGlobalBinDir() {
1094
1121
  return null;
1095
1122
  }
1096
1123
  }
1097
- function installGlobalPdShim() {
1098
- if (!legacyNpmInstallEnabled()) {
1124
+ /** Fixed filename whitelist for global-shim targets (no caller input). */
1125
+ const GLOBAL_PD_SHIM_BASENAMES = isWindows() ? ['pd.cmd', 'pd.ps1'] : ['pd'];
1126
+ /** Resolve a whitelisted shim basename under the npm global bin dir. */
1127
+ function globalShimPath(globalBin, basename) {
1128
+ if (!GLOBAL_PD_SHIM_BASENAMES.includes(basename)) {
1129
+ throw new Error(`Refusing to touch non-whitelisted global shim name: ${basename}`);
1130
+ }
1131
+ const target = path.resolve(globalBin, basename);
1132
+ if (path.dirname(target) !== path.resolve(globalBin)) {
1133
+ throw new Error(`Global shim path escaped the npm global bin dir: ${target}`);
1134
+ }
1135
+ return target;
1136
+ }
1137
+ /**
1138
+ * Global `pd` shim ownership, mirroring the uninstaller's isPdOwnedShim
1139
+ * discipline: a shim whose content points at the PD install dir belongs to
1140
+ * us and may be updated in place; anything else (another tool's `pd`, a
1141
+ * broken/unreadable entry) is foreign — refuse to overwrite it and surface
1142
+ * a warning + next action instead (review P1: the pre-PRI-697 code
1143
+ * writeFileSync'd blindly, but that path was only reachable via the
1144
+ * explicit legacy-recovery env; the npm channel makes it default, so the
1145
+ * write now needs the same ownership discipline the uninstaller already
1146
+ * has).
1147
+ */
1148
+ function classifyGlobalPdShim(globalBin, installedBinDir) {
1149
+ const foreignPaths = [];
1150
+ let existingPdOwned = false;
1151
+ for (const shim of GLOBAL_PD_SHIM_BASENAMES) {
1152
+ const shimPath = globalShimPath(globalBin, shim);
1153
+ if (!existsSync(shimPath))
1154
+ continue;
1155
+ let content;
1156
+ try {
1157
+ content = readFileSync(shimPath, 'utf-8');
1158
+ }
1159
+ catch {
1160
+ foreignPaths.push(shimPath); // unreadable → do not touch
1161
+ continue;
1162
+ }
1163
+ if (content.includes(installedBinDir))
1164
+ existingPdOwned = true;
1165
+ else
1166
+ foreignPaths.push(shimPath);
1167
+ }
1168
+ return { foreignPaths, existingPdOwned };
1169
+ }
1170
+ export function installGlobalPdShim() {
1171
+ // Global-shim discovery consults the npm global root, so it belongs to
1172
+ // the npm-distributed payload shape (isNpmDependencyResolutionEnabled
1173
+ // documents "global root discovery" as its concern). Gating on the
1174
+ // legacy env var instead fired this skip — with a self-contained-mode
1175
+ // message — inside standard npm-channel installs (PRI-697).
1176
+ if (!isNpmDependencyResolutionEnabled()) {
1099
1177
  logger.info('Skipping npm global shim discovery for the self-contained release asset.');
1100
1178
  return false;
1101
1179
  }
@@ -1110,31 +1188,80 @@ function installGlobalPdShim() {
1110
1188
  const globalBin = getNpmGlobalBinDir();
1111
1189
  if (!globalBin)
1112
1190
  return false;
1191
+ const installedBinDir = getInstalledBinDir();
1192
+ // Ownership gate before ANY write: foreign `pd` entries are never
1193
+ // overwritten (uninstaller's isPdOwnedShim discipline, write side).
1194
+ const { foreignPaths, existingPdOwned } = classifyGlobalPdShim(globalBin, installedBinDir);
1195
+ if (foreignPaths.length > 0) {
1196
+ const foreignList = foreignPaths.join(', ');
1197
+ logger.warn(`A non-PD "pd" command already exists in the npm global bin dir (${foreignList}) — not overwriting it.`);
1198
+ logger.warn(`The bundled PD CLI stays available at "${path.join(installedBinDir, isWindows() ? 'pd.cmd' : 'pd')}". Remove the foreign "pd" yourself if you want the global name.`);
1199
+ if (existingPdOwned) {
1200
+ logger.warn('PD-owned shim files in the same dir were left untouched to keep the existing installation consistent.');
1201
+ }
1202
+ return { installed: false, createdPaths: [], replacedPaths: [], skippedForeignPaths: foreignPaths };
1203
+ }
1204
+ // Rollback bookkeeping: which shim targets already existed (PD-owned)?
1205
+ // preExisting drives the replaced-list and the partial-failure residue
1206
+ // computation below.
1207
+ const preExisting = new Set(GLOBAL_PD_SHIM_BASENAMES
1208
+ .map((shim) => globalShimPath(globalBin, shim))
1209
+ .filter((shimPath) => existsSync(shimPath)));
1210
+ const createdPaths = [];
1211
+ const replacedPaths = [...preExisting];
1113
1212
  try {
1114
1213
  mkdirSync(globalBin, { recursive: true });
1115
- const installedBinDir = getInstalledBinDir();
1116
1214
  if (isWindows()) {
1117
1215
  const pluginCmd = path.join(installedBinDir, 'pd.cmd');
1118
- writeFileSync(path.join(globalBin, 'pd.cmd'), `@echo off\r\ncall "${pluginCmd.replace(/"/g, '""')}" %*\r\n`, 'utf-8');
1216
+ const globalCmdPath = globalShimPath(globalBin, 'pd.cmd');
1217
+ writeFileSync(globalCmdPath, `@echo off\r\ncall "${pluginCmd.replace(/"/g, '""')}" %*\r\n`, 'utf-8');
1119
1218
  const pluginPs = path.join(installedBinDir, 'pd.ps1');
1120
- writeFileSync(path.join(globalBin, 'pd.ps1'), `$shim = "${pluginPs.replace(/`/g, '``').replace(/"/g, '`"')}"\r\n& $shim @args\r\nexit $LASTEXITCODE\r\n`, 'utf-8');
1219
+ const globalPsPath = globalShimPath(globalBin, 'pd.ps1');
1220
+ writeFileSync(globalPsPath, `$shim = "${pluginPs.replace(/`/g, '``').replace(/"/g, '`"')}"\r\n& $shim @args\r\nexit $LASTEXITCODE\r\n`, 'utf-8');
1121
1221
  }
1122
1222
  else {
1123
1223
  const pluginSh = path.join(installedBinDir, 'pd');
1124
- const globalSh = path.join(globalBin, 'pd');
1224
+ const globalSh = globalShimPath(globalBin, 'pd');
1125
1225
  writeFileSync(globalSh, `#!/usr/bin/env sh\nexec "${pluginSh.replace(/"/g, '\\"')}" "$@"\n`, 'utf-8');
1126
1226
  chmodSync(globalSh, 0o755);
1127
1227
  }
1128
- return true;
1228
+ // PRI-697 review P1: the success path MUST record which targets are new
1229
+ // (created) vs pre-existing PD-owned (replaced) — rollbackGlobalPdShim
1230
+ // removes exactly createdPaths when a LATER install step fails. The
1231
+ // pre-fix success path left createdPaths empty, silently no-op'ing the
1232
+ // rollback while the failure message claimed a clean cleanup.
1233
+ for (const shim of GLOBAL_PD_SHIM_BASENAMES) {
1234
+ const shimPath = globalShimPath(globalBin, shim);
1235
+ if (!preExisting.has(shimPath))
1236
+ createdPaths.push(shimPath);
1237
+ }
1238
+ return { installed: true, createdPaths, replacedPaths, skippedForeignPaths: [] };
1129
1239
  }
1130
1240
  catch (e) {
1131
1241
  logger.warn(`Global pd shim installation failed: ${e instanceof Error ? e.message : String(e)}`);
1132
- return false;
1133
- }
1134
- }
1135
- function tryUpgradePdCliFromNpm(installedPdCliDir) {
1242
+ // Partial writes may have landed before the failure — hand the raw
1243
+ // targets to the caller as createdPaths so the rollback can remove
1244
+ // exactly this run's residue.
1245
+ const landed = GLOBAL_PD_SHIM_BASENAMES
1246
+ .map((shim) => globalShimPath(globalBin, shim))
1247
+ .filter((shimPath) => existsSync(shimPath) && !preExisting.has(shimPath));
1248
+ return { installed: false, createdPaths: landed, replacedPaths: [], skippedForeignPaths: [] };
1249
+ }
1250
+ }
1251
+ export function tryUpgradePdCliFromNpm(installedPdCliDir) {
1252
+ // The npm upgrade stays gated on the legacy env var (PRI-697 keeps the
1253
+ // behavior): a registry pd-cli version can import exports the bundled
1254
+ // core no longer has, so upgrading is only for the explicit recovery
1255
+ // path where the whole shape is registry-resolved anyway. The skip
1256
+ // message reports the ACTUAL payload mode — it used to claim
1257
+ // "self-contained release asset" even in npm-distributed installs.
1136
1258
  if (!legacyNpmInstallEnabled()) {
1137
- logger.info('Skipping npm pd-cli upgrade for the self-contained release asset.');
1259
+ if (activePayloadMode === 'npm-distributed') {
1260
+ logger.info('Skipping npm pd-cli upgrade (bundled pd-cli is authoritative; set PD_ALLOW_LEGACY_NPM_INSTALL to enable registry upgrades).');
1261
+ }
1262
+ else {
1263
+ logger.info('Skipping npm pd-cli upgrade for the self-contained release asset.');
1264
+ }
1138
1265
  return;
1139
1266
  }
1140
1267
  // Allow skipping the npm upgrade in smoke tests / offline environments.
@@ -1219,6 +1346,16 @@ function tryUpgradePdCliFromNpm(installedPdCliDir) {
1219
1346
  logger.info(`pd-cli npm upgrade skipped (${msg}). Bundled version is functional.`);
1220
1347
  }
1221
1348
  }
1349
+ /**
1350
+ * Deploy the bundled pd-cli into the runtime + local bin shims + (npm-
1351
+ * distributed payload only) the global `pd` shim. Returns the global-shim
1352
+ * transaction bookkeeping so install() can roll the global side effect back
1353
+ * on failure (PRI-697 review P1): globalShim is null when no global write
1354
+ * was attempted (skip gates / payload mode), otherwise it records which
1355
+ * shim files this run CREATED (rollback removes them) vs which PD-owned
1356
+ * files it replaced in place (rollback keeps them — a pre-existing PD
1357
+ * install keeps its global command).
1358
+ */
1222
1359
  function syncPdCli(pluginDir) {
1223
1360
  const pdCliSourceDir = path.join(pluginDir, 'pd-cli');
1224
1361
  const distDir = path.join(pdCliSourceDir, 'dist');
@@ -1335,7 +1472,13 @@ function syncPdCli(pluginDir) {
1335
1472
  writeFileSync(target, shShim, 'utf-8');
1336
1473
  chmodSync(target, 0o755);
1337
1474
  }
1338
- return installGlobalPdShim();
1475
+ // PRI-697 review P1: propagate the structured global-shim outcome so the
1476
+ // install transaction can roll the global side effect back on failure.
1477
+ // Plain false (skip gates: payload mode / smoke env) carries no residue.
1478
+ const shimResult = installGlobalPdShim();
1479
+ if (typeof shimResult === 'boolean')
1480
+ return { ok: shimResult, globalShim: null };
1481
+ return { ok: shimResult.installed, globalShim: shimResult };
1339
1482
  }
1340
1483
  function verifyPdCliShim() {
1341
1484
  const localShim = path.join(getInstalledBinDir(), isWindows() ? 'pd.cmd' : 'pd');
@@ -2276,6 +2419,10 @@ transaction) {
2276
2419
  // the backup step). With no pre-existing install (no backup), a failure
2277
2420
  // after this point must clean up instead of claiming "not modified".
2278
2421
  let mutationStarted = false;
2422
+ // PRI-697 review P1: global pd shim side effect, recorded when the
2423
+ // npm-distributed payload wrote PD-owned shims into the npm global bin
2424
+ // dir. Null until syncPdCli runs (or when no global write was attempted).
2425
+ let globalShimRecord = null;
2279
2426
  const killConsoleChild = () => {
2280
2427
  if (consoleProcess) {
2281
2428
  try {
@@ -2414,7 +2561,11 @@ transaction) {
2414
2561
  stepIndex++;
2415
2562
  if (spinner)
2416
2563
  updateProgress(spinner, stepIndex, 'Installing pd CLI...');
2417
- syncPdCli(pluginDir);
2564
+ // PRI-697 review P1: keep the global-shim bookkeeping — a LATER failure
2565
+ // must undo exactly the global side effect this run caused.
2566
+ const pdCliSync = syncPdCli(pluginDir);
2567
+ if (pdCliSync.globalShim !== null)
2568
+ globalShimRecord = pdCliSync.globalShim;
2418
2569
  await installPdCliDependencies();
2419
2570
  stepIndex++;
2420
2571
  if (spinner)
@@ -2703,6 +2854,17 @@ transaction) {
2703
2854
  const freshCleanup = !hasBackup && mutationStarted
2704
2855
  ? cleanUnactivatedFreshInstall()
2705
2856
  : undefined;
2857
+ // PRI-697 review P1: the global pd shim is a side effect OUTSIDE the
2858
+ // runtime/extension trees both cleanup paths above address. Whatever
2859
+ // the backup state, files THIS run created in the npm global bin dir
2860
+ // are this run's residue — remove them (rollbackGlobalPdShim keeps
2861
+ // PD-owned shims that pre-dated the run, so a rolled-back upgrade of a
2862
+ // previously-shimmed install keeps its old global command; the shim
2863
+ // content targets the stable installed bin dir, which the restored
2864
+ // backup re-populates).
2865
+ const globalShimRollback = globalShimRecord !== null
2866
+ ? rollbackGlobalPdShim(globalShimRecord)
2867
+ : undefined;
2706
2868
  // R2 (review): after template/config steps have run (console verified →
2707
2869
  // templates copied → config generated), the WORKSPACE also holds this
2708
2870
  // run's files — but the workspace is the operator's own directory and may
@@ -2721,7 +2883,11 @@ transaction) {
2721
2883
  .replace('{restoreError}', restoreResult.error ?? '')
2722
2884
  .replace('{extDir}', extDir)
2723
2885
  .replace('{backupDir}', backupDir ?? runtimeBackupDir ?? '');
2724
- const rollbackSuffixFinal = rollbackSuffix + (workspaceTouched && freshCleanup && freshCleanup.failed.length === 0 ? ` ${t('rollback_fresh_workspace_kept')}` : '');
2886
+ const rollbackSuffixFinal = rollbackSuffix
2887
+ + (workspaceTouched && freshCleanup && freshCleanup.failed.length === 0 ? ` ${t('rollback_fresh_workspace_kept')}` : '')
2888
+ + (globalShimRollback !== undefined && globalShimRollback.failed.length > 0
2889
+ ? ` ${t('rollback_global_shim_residue').replace('{files}', globalShimRollback.failed.join(', '))}`
2890
+ : '');
2725
2891
  const rollbackNextAction = !hasBackup
2726
2892
  ? freshCleanup
2727
2893
  ? (freshCleanup.failed.length === 0 ? t('next_fresh_cleaned') : t('next_fresh_clean_failed'))
@@ -2736,7 +2902,7 @@ transaction) {
2736
2902
  .replace('{errorMsg}', errorMsg);
2737
2903
  const rollbackReason = !hasBackup
2738
2904
  ? freshCleanup
2739
- ? (freshCleanup.failed.length === 0
2905
+ ? (freshCleanup.failed.length === 0 && (globalShimRollback === undefined || globalShimRollback.failed.length === 0)
2740
2906
  ? `install_failed_unactivated_cleaned: ${errorMsg}`
2741
2907
  : `install_failed_unactivated_residue: ${errorMsg}`)
2742
2908
  : (isLockError ? `install_aborted_lock: ${errorMsg}` : `install_failed_before_mutation: ${errorMsg}`)