openplanr 2.2640.2 → 2.2640.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.
Files changed (83) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/cli/commands/runtime-output.d.ts +11 -0
  3. package/dist/cli/commands/runtime-output.d.ts.map +1 -0
  4. package/dist/cli/commands/runtime-output.js +26 -0
  5. package/dist/cli/commands/runtime-output.js.map +1 -0
  6. package/dist/cli/commands/runtime.d.ts.map +1 -1
  7. package/dist/cli/commands/runtime.js +30 -17
  8. package/dist/cli/commands/runtime.js.map +1 -1
  9. package/dist/cli/commands/setup.d.ts.map +1 -1
  10. package/dist/cli/commands/setup.js +2 -3
  11. package/dist/cli/commands/setup.js.map +1 -1
  12. package/dist/cli/commands/upgrade.d.ts +1 -1
  13. package/dist/cli/commands/upgrade.d.ts.map +1 -1
  14. package/dist/cli/commands/upgrade.js +23 -54
  15. package/dist/cli/commands/upgrade.js.map +1 -1
  16. package/dist/dashboard/.vite/manifest.json +1 -1
  17. package/dist/dashboard/assets/{index-9DLb9EO5.js → index-CaX9EJp4.js} +2 -2
  18. package/dist/dashboard/assets/{index-9DLb9EO5.js.map → index-CaX9EJp4.js.map} +1 -1
  19. package/dist/dashboard/dashboard-manifest.json +13 -13
  20. package/dist/dashboard/index.html +1 -1
  21. package/dist/services/runtime-change-summary.d.ts +33 -0
  22. package/dist/services/runtime-change-summary.d.ts.map +1 -0
  23. package/dist/services/runtime-change-summary.js +88 -0
  24. package/dist/services/runtime-change-summary.js.map +1 -0
  25. package/dist/services/runtime-manager/inventory.d.ts.map +1 -1
  26. package/dist/services/runtime-manager/inventory.js +8 -1
  27. package/dist/services/runtime-manager/inventory.js.map +1 -1
  28. package/dist/services/runtime-manager-service.d.ts +6 -0
  29. package/dist/services/runtime-manager-service.d.ts.map +1 -1
  30. package/dist/services/runtime-manager-service.js +28 -0
  31. package/dist/services/runtime-manager-service.js.map +1 -1
  32. package/dist/services/upgrade-offer-service.d.ts.map +1 -1
  33. package/dist/services/upgrade-offer-service.js +6 -30
  34. package/dist/services/upgrade-offer-service.js.map +1 -1
  35. package/dist/services/upgrade-report.d.ts +13 -0
  36. package/dist/services/upgrade-report.d.ts.map +1 -0
  37. package/dist/services/upgrade-report.js +90 -0
  38. package/dist/services/upgrade-report.js.map +1 -0
  39. package/dist/services/upgrade-service.d.ts +48 -29
  40. package/dist/services/upgrade-service.d.ts.map +1 -1
  41. package/dist/services/upgrade-service.js +236 -48
  42. package/dist/services/upgrade-service.js.map +1 -1
  43. package/docs/CLI.md +7 -2
  44. package/docs/CROSS_RUNTIME_SETUP.md +2 -2
  45. package/lib/host-packages/adapter-registry.json +5 -5
  46. package/lib/host-packages/capability-map.json +1 -1
  47. package/lib/host-packages/claude/.claude-plugin/marketplace.json +2 -2
  48. package/lib/host-packages/claude/openplanr/.claude-plugin/plugin.json +1 -1
  49. package/lib/host-packages/claude/openplanr/.openplanr-content.json +12 -12
  50. package/lib/host-packages/claude/openplanr/README.md +1 -1
  51. package/lib/host-packages/claude/openplanr/skills/design/scripts/design-share.mjs +105 -5
  52. package/lib/host-packages/claude/openplanr/skills/design/scripts/runtime/packages/protocol/package.json +1 -1
  53. package/lib/host-packages/claude/openplanr/skills/design-loop/scripts/design-share.mjs +105 -5
  54. package/lib/host-packages/claude/openplanr/skills/design-loop/scripts/runtime/packages/protocol/package.json +1 -1
  55. package/lib/host-packages/claude/openplanr/skills/design-review/scripts/design-share.mjs +105 -5
  56. package/lib/host-packages/claude/openplanr/skills/design-review/scripts/runtime/packages/protocol/package.json +1 -1
  57. package/lib/host-packages/claude/openplanr/skills/doctor/references/upgrade.md +61 -63
  58. package/lib/host-packages/claude/openplanr/skills/plan/scripts/design-share.mjs +105 -5
  59. package/lib/host-packages/claude/openplanr/skills/plan/scripts/runtime/packages/protocol/package.json +1 -1
  60. package/lib/host-packages/cursor/openplanr/.openplanr-content.json +11 -11
  61. package/lib/host-packages/cursor/openplanr/manifest.json +1 -1
  62. package/lib/host-packages/cursor/openplanr/rules/planr-design/scripts/design-share.mjs +105 -5
  63. package/lib/host-packages/cursor/openplanr/rules/planr-design/scripts/runtime/packages/protocol/package.json +1 -1
  64. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/scripts/design-share.mjs +105 -5
  65. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/scripts/runtime/packages/protocol/package.json +1 -1
  66. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/scripts/design-share.mjs +105 -5
  67. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/scripts/runtime/packages/protocol/package.json +1 -1
  68. package/lib/host-packages/cursor/openplanr/rules/planr-doctor/references/upgrade.md +61 -63
  69. package/lib/host-packages/cursor/openplanr/rules/planr-plan/scripts/design-share.mjs +105 -5
  70. package/lib/host-packages/cursor/openplanr/rules/planr-plan/scripts/runtime/packages/protocol/package.json +1 -1
  71. package/lib/host-packages/openai/.claude-plugin/marketplace.json +2 -2
  72. package/lib/host-packages/openai/openplanr/.codex-plugin/plugin.json +1 -1
  73. package/lib/host-packages/openai/openplanr/.openplanr-content.json +11 -11
  74. package/lib/host-packages/openai/openplanr/skills/design/scripts/design-share.mjs +105 -5
  75. package/lib/host-packages/openai/openplanr/skills/design/scripts/runtime/packages/protocol/package.json +1 -1
  76. package/lib/host-packages/openai/openplanr/skills/design-loop/scripts/design-share.mjs +105 -5
  77. package/lib/host-packages/openai/openplanr/skills/design-loop/scripts/runtime/packages/protocol/package.json +1 -1
  78. package/lib/host-packages/openai/openplanr/skills/design-review/scripts/design-share.mjs +105 -5
  79. package/lib/host-packages/openai/openplanr/skills/design-review/scripts/runtime/packages/protocol/package.json +1 -1
  80. package/lib/host-packages/openai/openplanr/skills/doctor/references/upgrade.md +61 -63
  81. package/lib/host-packages/openai/openplanr/skills/plan/scripts/design-share.mjs +105 -5
  82. package/lib/host-packages/openai/openplanr/skills/plan/scripts/runtime/packages/protocol/package.json +1 -1
  83. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.2640.4
4
+ ### Patch Changes
5
+
6
+ - fcc1c89: Design Share stores each repeated screen, script and style once and compresses the review before encrypting it, so large designs fit the upload limit. A 13-screen design at three sizes shrank from 19 MiB to 0.24 MiB. Links shared earlier keep opening.
7
+
8
+ ## 2.2640.3
9
+ ### Patch Changes
10
+
11
+ - 496cd13: `planr upgrade apply`, `planr runtime update` and `planr setup` now print only what changed. After an upgrade you see the new version, up to five highlights per release with a link to the full release notes (`--notes full` prints every entry), and one command per installed coding agent, planned by the newly installed CLI instead of the version you upgraded from. `planr runtime update` prints one line per coding agent and which ones to restart; `--verbose` adds the changed files and `--json` prints the full result.
12
+
3
13
  ## 2.2640.2
4
14
  ### Patch Changes
5
15
 
@@ -0,0 +1,11 @@
1
+ import { type RuntimeChange } from '../../services/runtime-change-summary.js';
2
+ import { type previewSetup } from '../../services/runtime-manager-service.js';
3
+ type SetupPlan = Awaited<ReturnType<typeof previewSetup>>;
4
+ /** Prints one line per coding agent: `•` planned, `✓` changed, `·` already up to date. */
5
+ export declare function printRuntimeChanges(plan: SetupPlan, applied: boolean): RuntimeChange[];
6
+ /** Every file the plan creates, updates or retires. */
7
+ export declare function printChangedFiles(plan: SetupPlan): void;
8
+ /** Failed runtime checks, each with its fix. */
9
+ export declare function printRuntimeFailures(plan: SetupPlan): void;
10
+ export {};
11
+ //# sourceMappingURL=runtime-output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-output.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/runtime-output.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAEnB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,KAAK,YAAY,EAAe,MAAM,2CAA2C,CAAC;AAG3F,KAAK,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC;AAE1D,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,aAAa,EAAE,CAQtF;AAED,uDAAuD;AACvD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAIvD;AAED,gDAAgD;AAChD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAI1D"}
@@ -0,0 +1,26 @@
1
+ import { summarizeRuntimeChanges, } from '../../services/runtime-change-summary.js';
2
+ import { runtimeRoot } from '../../services/runtime-manager-service.js';
3
+ import { display, logger } from '../../utils/logger.js';
4
+ /** Prints one line per coding agent: `•` planned, `✓` changed, `·` already up to date. */
5
+ export function printRuntimeChanges(plan, applied) {
6
+ const changes = summarizeRuntimeChanges(plan, { bookkeepingRoot: runtimeRoot(), applied });
7
+ const width = Math.max(0, ...changes.map((change) => change.host.length));
8
+ for (const change of changes) {
9
+ const mark = !applied ? '•' : change.changed ? '✓' : '·';
10
+ display.line(` ${mark} ${change.host.padEnd(width)} ${change.summary}`);
11
+ }
12
+ return changes;
13
+ }
14
+ /** Every file the plan creates, updates or retires. */
15
+ export function printChangedFiles(plan) {
16
+ for (const action of plan.actions.filter((item) => item.operation !== 'unchanged')) {
17
+ display.bullet(`${action.operation.padEnd(7)} ${action.target}`);
18
+ }
19
+ }
20
+ /** Failed runtime checks, each with its fix. */
21
+ export function printRuntimeFailures(plan) {
22
+ for (const diagnostic of plan.runtimeDiagnostics.filter((item) => item.status === 'fail')) {
23
+ logger.error(diagnostic.fix ? `${diagnostic.message} ${diagnostic.fix}` : diagnostic.message);
24
+ }
25
+ }
26
+ //# sourceMappingURL=runtime-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-output.js","sourceRoot":"","sources":["../../../src/cli/commands/runtime-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,uBAAuB,GACxB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAqB,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAIxD,0FAA0F;AAC1F,MAAM,UAAU,mBAAmB,CAAC,IAAe,EAAE,OAAgB;IACnE,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3F,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,iBAAiB,CAAC,IAAe;IAC/C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,WAAW,CAAC,EAAE,CAAC;QACnF,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,oBAAoB,CAAC,IAAe;IAClD,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;QAC1F,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAChG,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,QAgG1E"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,QAsG1E"}
@@ -1,6 +1,8 @@
1
1
  import { promptConfirm } from '../../services/prompt-service.js';
2
+ import { joinNames } from '../../services/runtime-change-summary.js';
2
3
  import { applySetup, detectRuntimes, listRuntimeAdapters, previewSetup, removeRuntime, rollbackRuntime, runtimeDoctor, } from '../../services/runtime-manager-service.js';
3
- import { display, logger } from '../../utils/logger.js';
4
+ import { display, isVerbose, logger } from '../../utils/logger.js';
5
+ import { printChangedFiles, printRuntimeChanges, printRuntimeFailures } from './runtime-output.js';
4
6
  function print(value, json) {
5
7
  if (json)
6
8
  display.line(JSON.stringify(value));
@@ -37,29 +39,40 @@ export function registerRuntimeCommand(program, cliVersion) {
37
39
  merge: true,
38
40
  };
39
41
  const preview = await previewSetup(options);
40
- if (opts.dryRun) {
41
- print(preview, opts.json);
42
- return;
43
- }
44
- if (!opts.json) {
45
- display.heading(`OpenPlanr runtime ${operation} preview`);
46
- for (const action of preview.actions.filter((item) => item.operation !== 'unchanged')) {
47
- display.bullet(`${action.operation} ${action.target}`);
48
- }
49
- for (const runtimeOperation of preview.runtimeOperations) {
50
- display.bullet(runtimeOperation.description);
42
+ const approved = Boolean(opts.yes || program.opts().yes);
43
+ if (opts.json) {
44
+ if (opts.dryRun) {
45
+ print(preview, true);
46
+ return;
51
47
  }
52
48
  }
53
- if (!opts.yes && !program.opts().yes) {
54
- const ok = await promptConfirm(`${operation} the ${runtimeId} adapter?`, true);
49
+ else if (opts.dryRun || !approved) {
50
+ logger.heading(`OpenPlanr runtime ${operation}`);
51
+ printRuntimeChanges(preview, false);
52
+ if (isVerbose())
53
+ printChangedFiles(preview);
54
+ printRuntimeFailures(preview);
55
+ }
56
+ if (opts.dryRun)
57
+ return;
58
+ if (!approved) {
59
+ const ok = await promptConfirm('Apply these changes?', true);
55
60
  if (!ok)
56
61
  return;
57
62
  }
58
63
  const result = await applySetup(options);
59
- print(result, opts.json);
60
- if (!opts.json && result.restartRequired) {
61
- logger.warn('Restart Claude Code to load the updated OpenPlanr plugins.');
64
+ if (opts.json) {
65
+ print(result, true);
66
+ return;
62
67
  }
68
+ const changed = printRuntimeChanges(result, true)
69
+ .filter((change) => change.changed)
70
+ .map((change) => change.host);
71
+ if (isVerbose())
72
+ printChangedFiles(result);
73
+ printRuntimeFailures(result);
74
+ if (changed.length > 0)
75
+ logger.warn(`Restart ${joinNames(changed)} to load the update.`);
63
76
  });
64
77
  }
65
78
  runtime
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/cli/commands/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/cli/commands/runtime.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoGzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,QAkNxE"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqGzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,QA6MxE"}
@@ -2,6 +2,7 @@ import { isNonInteractive } from '../../services/interactive-state.js';
2
2
  import { promptCheckbox, promptConfirm, promptSelect } from '../../services/prompt-service.js';
3
3
  import { applySetup, detectRuntimes, inspectProjectContext, listRuntimeAdapters, previewSetup, RuntimeManagerError, } from '../../services/runtime-manager-service.js';
4
4
  import { display, isVerbose, logger } from '../../utils/logger.js';
5
+ import { printRuntimeChanges } from './runtime-output.js';
5
6
  const runtimeLabels = {
6
7
  'claude-code': 'Claude Code',
7
8
  codex: 'Codex',
@@ -216,11 +217,9 @@ export function registerSetupCommand(program, cliVersion) {
216
217
  display.line(JSON.stringify(result));
217
218
  else {
218
219
  logger.success('Setup complete');
220
+ printRuntimeChanges(result, true);
219
221
  if (result.backupDir)
220
222
  display.keyValue('Backup', result.backupDir);
221
- if (result.appliedRuntimeOperations?.length) {
222
- display.keyValue('Coding agents', `${result.appliedRuntimeOperations.length} marketplace/plugin operation(s) applied`);
223
- }
224
223
  if (result.restartRequired) {
225
224
  logger.warn('Restart the updated coding agent to load the new OpenPlanr discovery content.');
226
225
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAC/F,OAAO,EACL,UAAU,EACV,cAAc,EAEd,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EAGZ,mBAAmB,GAEpB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,aAAa,GAA8B;IAC/C,aAAa,EAAE,aAAa;IAC5B,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,SAAS,qBAAqB;IAC5B,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;;YAEvF,OAAO,CAAC,IAAI,CACV,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,IAAI,CAAC,OAAO,kDAAkD,CACnH,CAAC;IACN,CAAC;IACD,OAAO,CAAC,KAAK,EAAE,CAAC;IAChB,MAAM,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,YAAY,CAAC,OAAiD;IACrE,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,CAAC;IAC7E,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,eAAe,IAAI,SAAS,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK;QAAE,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACzF,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;IACrD,KAAK,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,SAAS,CAAU,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CACpC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,IAAI,MAAM,CAAC,SAAS,KAAK,WAAW,CACvE,CAAC;QACF,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;QACjF,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;QACjF,OAAO,CAAC,QAAQ,CACd,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,QAAQ,EAChD,GAAG,OAAO,YAAY,OAAO,SAAS,CACvC,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,EAAE,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,KAAK,MAAM,OAAO,IAAI,CAAC,aAAa,EAAE,OAAO,CAAU,EAAE,CAAC;YACxD,MAAM,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CACjD,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,KAAK,OAAO,CAC7C,CAAC;YACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACtC,OAAO,CAAC,IAAI,CAAC,KAAK,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACrD,KAAK,MAAM,SAAS,IAAI,UAAU;gBAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;QAC7F,OAAO,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3E,IAAI,UAAU,CAAC,GAAG;YAAE,OAAO,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,6EAA6E;IAC7E,kFAAkF;IAClF,+EAA+E;IAC/E,qEAAqE;IACrE,+EAA+E;IAC/E,UAAU;IACV,MAAM,OAAO,GAAkD;QAC7D,GAAG,OAAO,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACrD,OAAO;YACP,MAAM,EAAE,wBAAwB;SACjC,CAAC,CAAC;QACH,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC/C,OAAO;YACP,MAAM,EAAE,sBAAsB;SAC/B,CAAC,CAAC;KACJ,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,UAAkB;IACvE,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,mEAAmE,CAAC;SAChF,MAAM,CAAC,qBAAqB,EAAE,qCAAqC,CAAC;SACpE,MAAM,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;SACnD,MAAM,CAAC,qBAAqB,EAAE,+DAA+D,CAAC;SAC9F,MAAM,CACL,mBAAmB,EACnB,8EAA8E,EAC9E,KAAK,CACN;SACA,MAAM,CAAC,WAAW,EAAE,kDAAkD,EAAE,KAAK,CAAC;SAC9E,MAAM,CAAC,qBAAqB,EAAE,sCAAsC,CAAC;SACrE,MAAM,CAAC,WAAW,EAAE,uCAAuC,EAAE,KAAK,CAAC;SACnE,MAAM,CAAC,OAAO,EAAE,2CAA2C,EAAE,KAAK,CAAC;SACnE,MAAM,CAAC,QAAQ,EAAE,8BAA8B,EAAE,KAAK,CAAC;SACvD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,UAAoB,CAAC;QACvD,MAAM,MAAM,GACV,CAAC,gBAAgB,EAAE;YACnB,IAAI,CAAC,OAAO,KAAK,SAAS;YAC1B,IAAI,CAAC,KAAK,KAAK,SAAS;YACxB,IAAI,CAAC,SAAS,KAAK,SAAS;YAC5B,CAAC,IAAI,CAAC,OAAO,CAAC;QAChB,IAAI,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,KAAK,GAAI,IAAI,CAAC,KAAkC,IAAI,MAAM,CAAC;QAC/D,IAAI,QAAiC,CAAC;QACtC,IAAI,SAAS,GAAG,IAAI,CAAC,SAAyC,CAAC;QAE/D,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YACvC,qBAAqB,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,MAAM,YAAY,CAC7B,iCAAiC,EACjC;gBACE;oBACE,IAAI,EAAE,4DAA4D;oBAClE,KAAK,EAAE,MAAM;iBACd;gBACD,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE;aAC5C,EACD,MAAM,CACP,CAAC;YACF,OAAO,GAAG,IAAI,KAAK,SAAS,CAAC;YAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACnE,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;gBACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,mBAAmB,CAC3B,qBAAqB,EACrB,yCAAyC,EACzC,oEAAoE,CACrE,CAAC;gBACJ,CAAC;gBACD,QAAQ,GAAG,MAAM,cAAc,CAC7B,0DAA0D,EAC1D,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACtB,IAAI,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,IACnD,QAAQ;yBACL,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC;wBAC/C,EAAE,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAChC,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,2BACN,EAAE;oBACF,KAAK,EAAE,IAAI,CAAC,OAAO;oBACnB,OAAO,EACL,QAAQ;yBACL,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC;wBAC/C,EAAE,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK;iBAC9C,CAAC,CAAC,CACJ,CAAC;gBACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;oBAC3D,OAAO;gBACT,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;YACvC,MAAM,eAAe,GACnB,CAAC,OAAO;gBACR,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CACnB,CAAC,OAAO,EAAE,EAAE,CACV,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CACtF,CAAC;YACJ,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;YACxF,CAAC;YACD,IAAI,eAAe,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACtC,MAAM,IAAI,mBAAmB,CAC3B,4BAA4B,EAC5B,yEAAyE,EACzE,uFAAuF,CACxF,CAAC;YACJ,CAAC;YACD,MAAM,YAAY,GAAiD,EAAE,CAAC;YACtE,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,wCAAwC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACvF,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,YAAY,CAAC,IAAI,CACf,EAAE,IAAI,EAAE,qBAAqB,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAC/D,EAAE,IAAI,EAAE,mCAAmC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAC3E,CAAC;YACJ,CAAC;YACD,KAAK,GAAG,MAAM,YAAY,CACxB,yCAAyC,EACzC,YAAY,EACZ,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CACrC,CAAC;YACF,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,MAAM,OAAO,GAAqD,EAAE,CAAC;gBACrE,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;oBACzC,OAAO,CAAC,IAAI,CACV;wBACE,IAAI,EAAE,0DAA0D;wBAChE,KAAK,EAAE,gBAAgB;qBACxB,EACD,EAAE,IAAI,EAAE,wDAAwD,EAAE,KAAK,EAAE,QAAQ,EAAE,CACpF,CAAC;gBACJ,CAAC;gBACD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM;oBACzC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,qCAAqC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;gBACvF,SAAS,GAAG,MAAM,YAAY,CAC5B,6CAA6C,EAC7C,OAAO,EACP,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CACjB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG;YACd,UAAU;YACV,UAAU;YACV,OAAO,EAAG,IAAI,CAAC,OAAqC,IAAI,MAAM;YAC9D,QAAQ;YACR,KAAK;YACL,OAAO;YACP,OAAO,EAAE,IAAI,CAAC,OAA6B;YAC3C,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;YAC5B,SAAS;YACT,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;SAC7C,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;QACH,CAAC;;YAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IACE,MAAM;YACN,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAC7B,CAAC,UAAU,EAAE,EAAE,CACb,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,mCAAmC,CAAC;gBAChE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CACnE,EACD,CAAC;YACD,OAAO,CAAC,cAAc,GAAG,MAAM,aAAa,CAC1C,8DAA8D,EAC9D,IAAI,CACL,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;gBAChF,OAAO;YACT,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,gBAAgB,EAAE,EAAE,CAAC;YAC3D,MAAM,IAAI,mBAAmB,CAC3B,yBAAyB,EACzB,gFAAgF,EAChF,+EAA+E,CAChF,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GACb,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,aAAa,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;;gBAC3E,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;aAC/C,CAAC;YACJ,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACjC,IAAI,MAAM,CAAC,SAAS;gBAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YACnE,IAAI,MAAM,CAAC,wBAAwB,EAAE,MAAM,EAAE,CAAC;gBAC5C,OAAO,CAAC,QAAQ,CACd,eAAe,EACf,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,0CAA0C,CACpF,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CACT,+EAA+E,CAChF,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC/B,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QACpE,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { Command } from 'commander';
2
2
  /**
3
3
  * `planr upgrade` — reconcile the installed tuple against the published
4
4
  * compatible set (`status`) and, for the half the CLI owns, perform the npm
5
- * upgrade while prescribing the plugin half (`apply`).
5
+ * upgrade, then list the command that updates each installed coding agent (`apply`).
6
6
  */
7
7
  export declare function registerUpgradeCommand(program: Command, _cliVersion: string): void;
8
8
  //# sourceMappingURL=upgrade.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,QAgK3E"}
1
+ {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBzC;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,QA8H3E"}
@@ -1,12 +1,13 @@
1
1
  import { isNonInteractive } from '../../services/interactive-state.js';
2
2
  import { runPendingMigrations } from '../../services/migration-registry.js';
3
3
  import { promptConfirm } from '../../services/prompt-service.js';
4
- import { executeCliHalfUpgrade, PLUGIN_HALF_INSTRUCTION, planCliUpgrade, pluginHalfPrescription, reconcileInstalledTuple, } from '../../services/upgrade-service.js';
4
+ import { printNextSteps, printUpgradeReport, } from '../../services/upgrade-report.js';
5
+ import { executeCliHalfUpgrade, planCliUpgrade, reconcileInstalledTuple, upgradeNextSteps, } from '../../services/upgrade-service.js';
5
6
  import { display, logger } from '../../utils/logger.js';
6
7
  /**
7
8
  * `planr upgrade` — reconcile the installed tuple against the published
8
9
  * compatible set (`status`) and, for the half the CLI owns, perform the npm
9
- * upgrade while prescribing the plugin half (`apply`).
10
+ * upgrade, then list the command that updates each installed coding agent (`apply`).
10
11
  */
11
12
  export function registerUpgradeCommand(program, _cliVersion) {
12
13
  const upgrade = program
@@ -19,8 +20,9 @@ export function registerUpgradeCommand(program, _cliVersion) {
19
20
  .action(async (opts) => {
20
21
  const projectDir = program.opts().projectDir;
21
22
  const result = await reconcileInstalledTuple(projectDir);
23
+ const nextSteps = await upgradeNextSteps(projectDir);
22
24
  if (opts.json) {
23
- display.line(JSON.stringify(result));
25
+ display.line(JSON.stringify({ ...result, nextSteps }));
24
26
  }
25
27
  else {
26
28
  logger.heading('OpenPlanr upgrade status');
@@ -49,6 +51,8 @@ export function registerUpgradeCommand(program, _cliVersion) {
49
51
  else {
50
52
  logger.success('The installed tuple matches the published compatible set.');
51
53
  }
54
+ if (nextSteps.length > 0)
55
+ printNextSteps(nextSteps);
52
56
  }
53
57
  if (result.status === 'incompatible')
54
58
  process.exitCode = 1;
@@ -56,38 +60,35 @@ export function registerUpgradeCommand(program, _cliVersion) {
56
60
  // ---- apply --------------------------------------------------------------
57
61
  upgrade
58
62
  .command('apply')
59
- .description('Upgrade the npm CLI half and prescribe the exact plugin-half commands to run')
63
+ .description('Upgrade the OpenPlanr CLI and list the command that updates each coding agent')
60
64
  .option('--yes', 'proceed with the upgrade without an interactive confirmation', false)
65
+ .option('--notes <mode>', "what's new: highlights or full", 'highlights')
61
66
  .option('--json', 'machine-readable output', false)
62
67
  .action(async (opts) => {
63
68
  const projectDir = program.opts().projectDir;
69
+ if (!['highlights', 'full'].includes(opts.notes)) {
70
+ throw new Error(`--notes must be highlights or full, not "${opts.notes}".`);
71
+ }
72
+ const notes = opts.notes;
64
73
  const reconciliation = await reconcileInstalledTuple(projectDir);
65
74
  const plan = planCliUpgrade(reconciliation);
66
- // Nothing for the CLI half to execute: aligned, unknown, or an incompatibility the
67
- // CLI cannot resolve. The last case is not "nothing to do" — it is the plugin half
68
- // trailing, and the reason string promises the commands, so they must actually be
69
- // printed here. The contract is unmet if this branch reports a promise and no prescription.
75
+ // Nothing for the CLI to install. The coding agents can still trail it, which is
76
+ // what an incompatible tuple with a current CLI means, so their commands are listed.
70
77
  if (!plan.proceed || !plan.targetCliVersion) {
71
- const pluginHalfCommands = reconciliation.status === 'incompatible' ? pluginHalfPrescription() : [];
78
+ const nextSteps = await upgradeNextSteps(projectDir);
72
79
  if (opts.json) {
73
80
  display.line(JSON.stringify({
74
81
  applied: false,
75
82
  reason: plan.reason,
76
- pluginHalfCommands,
83
+ nextSteps,
84
+ pluginHalfCommands: nextSteps.map((step) => step.command),
77
85
  reconciliation,
78
86
  }));
79
87
  }
80
88
  else {
81
- logger.heading('OpenPlanr upgrade');
82
89
  logger.info(plan.reason);
83
- if (pluginHalfCommands.length > 0) {
84
- display.blank();
85
- display.heading('Plugin half — the upgrade never changes Claude plugins itself');
86
- logger.info(PLUGIN_HALF_INSTRUCTION);
87
- pluginHalfCommands.forEach((command, index) => {
88
- display.numbered(index + 1, command);
89
- });
90
- }
90
+ if (nextSteps.length > 0)
91
+ printNextSteps(nextSteps);
91
92
  }
92
93
  if (reconciliation.status === 'incompatible')
93
94
  process.exitCode = 1;
@@ -102,7 +103,6 @@ export function registerUpgradeCommand(program, _cliVersion) {
102
103
  display.line(JSON.stringify({ applied: false, reason: message, reconciliation }));
103
104
  }
104
105
  else {
105
- logger.heading('OpenPlanr upgrade');
106
106
  logger.warn(message);
107
107
  }
108
108
  return;
@@ -125,41 +125,10 @@ export function registerUpgradeCommand(program, _cliVersion) {
125
125
  // crosses. This is the seam that makes the registry reachable end to end.
126
126
  migrationRunner: runPendingMigrations,
127
127
  });
128
- if (opts.json) {
128
+ if (opts.json)
129
129
  display.line(JSON.stringify(result));
130
- }
131
- else {
132
- logger.heading('OpenPlanr upgrade');
133
- if (result.ok) {
134
- logger.success(`CLI upgraded to ${result.installedVersion}.`);
135
- if (result.changelogBullets.length > 0) {
136
- display.blank();
137
- display.heading("What's new");
138
- for (const bullet of result.changelogBullets)
139
- display.bullet(bullet);
140
- }
141
- else {
142
- logger.dim('No changelog entries were found for this range.');
143
- }
144
- display.blank();
145
- display.heading('Plugin half — the upgrade never changes Claude plugins itself');
146
- if (result.pluginHalfCommands.length > 0) {
147
- logger.info(PLUGIN_HALF_INSTRUCTION);
148
- result.pluginHalfCommands.forEach((command, index) => {
149
- display.numbered(index + 1, command);
150
- });
151
- }
152
- else {
153
- logger.dim('No Claude plugin commands were prescribed; run `planr doctor` to confirm the host plugin state.');
154
- }
155
- }
156
- else {
157
- logger.error(result.failure?.message ?? 'The upgrade did not complete.');
158
- if (result.restoredTo) {
159
- logger.info(`Restored the previous version ${result.restoredTo}.`);
160
- }
161
- }
162
- }
130
+ else
131
+ printUpgradeReport(result, notes);
163
132
  if (!result.ok)
164
133
  process.exitCode = 1;
165
134
  });
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,7 @@
44
44
  "src": "../../../node_modules/@fontsource-variable/geist/files/geist-vietnamese-wght-normal.woff2"
45
45
  },
46
46
  "index.html": {
47
- "file": "assets/index-9DLb9EO5.js",
47
+ "file": "assets/index-CaX9EJp4.js",
48
48
  "name": "index",
49
49
  "src": "index.html",
50
50
  "isEntry": true,
@@ -553,5 +553,5 @@ Error generating stack: `+d.message+`
553
553
  `),C=(b=I.find(S=>S.startsWith("event:")))==null?void 0:b.slice(6).trim(),O=I.filter(S=>S.startsWith("data:")).map(S=>S.slice(5).trimStart()).join(`
554
554
  `);O&&e.reconciler.ingestSseFrame(O,C),x=m.indexOf(`
555
555
 
556
- `)}if(w.done){if(m.trim())return he("$","Planning live response ended mid-frame");break}}}finally{A.releaseLock()}})().catch(h=>{if(!t.signal.aborted)throw h instanceof ee?h:new ee("$","Planning live response failed safely")}).finally(()=>{var h;return(h=e.signal)==null?void 0:h.removeEventListener("abort",a)});return Object.freeze({completion:l,close:()=>{var h;t.abort(),e.reconciler.dispose(),(h=e.signal)==null||h.removeEventListener("abort",a)}})}const y4=Object.freeze({connectSse:m4,createSseReconciler:f4,encodeCheckpoint:A4,fetchGraph:h4,parseGraphEnvelope:Cu}),E4=Object.freeze(Object.defineProperty({__proto__:null,planningRuntime:y4},Symbol.toStringTag,{value:"Module"})),B4=Object.freeze({create:Ve}),v4=Object.freeze({ValidationError:ee,isValidatedState:Pe,parseSafeError:$w,parseState:so,statePolicy:oo}),b4=Object.freeze({parse:Ha}),w4=Object.freeze({connectSse:nI,createSseReconciler:tI}),x4=Object.freeze({identity:B4,projection:v4,routing:b4,transport:w4}),j4=Object.freeze(Object.defineProperty({__proto__:null,dashboardRuntime:x4},Symbol.toStringTag,{value:"Module"})),{operateRuntime:Xe}=qP,{planningRuntime:Hc}=E4,{dashboardRuntime:Ne}=j4,ZI=new Set(["ready","read-only","stale","partial","blocked","offline"]),Pr=Ne.projection.parseState({kind:"booting",binding:null,data:null,reasonCodes:[],error:null,mutationEnabled:!1,policy:Ne.projection.statePolicy("booting")}),XI=Ne.routing.parse("#/overview");function WI(e){return`DASHBOARD_${e.toUpperCase().replace("-","_")}`}function pr(e){return Ne.projection.parseState({kind:"loading",binding:e,data:null,reasonCodes:[],error:null,mutationEnabled:!1,policy:Ne.projection.statePolicy("loading")},{currentBinding:e})}function e0(e,t=null){return Ne.projection.parseState({kind:"unavailable",binding:e,data:null,reasonCodes:["DASHBOARD_UNAVAILABLE"],error:t,mutationEnabled:!1,policy:Ne.projection.statePolicy("unavailable")},{currentBinding:e})}function yr(e,t=!1){const s=(e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{}).code==="DASHBOARD_RESPONSE_INVALID"||e instanceof Ne.projection.ValidationError;return Ne.projection.parseSafeError({code:t||!s?"DASHBOARD_READ_FAILED":"DASHBOARD_RESPONSE_INVALID",retryable:!1,context:{operation:"dashboard.projection.read"}})}function Ya(e,t){const a=t??yr(void 0);if(a.code!=="DASHBOARD_RESPONSE_INVALID")return e0(e,a);const s=Ne.projection.parseSafeError({code:"DASHBOARD_RESPONSE_INVALID",retryable:!1,context:{}});return Ne.projection.parseState({kind:"corrupt",binding:null,data:null,reasonCodes:["DASHBOARD_CORRUPT"],error:s,mutationEnabled:!1,policy:Ne.projection.statePolicy("corrupt")})}function Q4(e,t,a,s,c=!1,l=null){if(!ZI.has(e))throw new Error("Unsupported owner presentation state.");return Ne.projection.parseState({kind:e,binding:t,data:a,reasonCodes:e==="ready"?[]:[WI(e)],error:l,mutationEnabled:e==="ready"&&c,policy:Ne.projection.statePolicy(e)},{currentBinding:t,validateData:s})}function I4(e,t){return!Ne.projection.isValidatedState(e)||e.binding===null||e.data===null?e:Ne.projection.parseState({kind:"stale",binding:e.binding,data:e.data,reasonCodes:["DASHBOARD_STALE"],error:t,mutationEnabled:!1,policy:Ne.projection.statePolicy("stale")},{currentBinding:e.binding,validateData:a=>a!==null})}function C4(e,t){return Ne.projection.parseState({kind:e,binding:t,data:null,reasonCodes:[WI(e)],error:null,mutationEnabled:!1,policy:Ne.projection.statePolicy(e)},{currentBinding:t})}function Fr(e,t){const a=B.useRef(t);a.current=t;const s=B.useRef(e);s.current=e;const c=B.useRef(null),l=B.useRef(null),[u,f]=B.useState(0),[h,A]=B.useState(()=>Object.freeze({key:null,revision:0,phase:"idle",data:null,error:null})),y=B.useCallback(()=>f(j=>j+1),[]),m=B.useCallback(()=>{var O;if(c.current!==null)return c.current;const j=s.current;if(j===null)return Promise.reject(new Error("Owner read is unavailable."));const I=new AbortController;(O=l.current)==null||O.abort(),l.current=I,A(S=>Object.freeze({key:j,revision:S.revision,phase:"loading",data:S.key===j?S.data:null,error:null}));const C=a.current(I.signal).then(S=>{if(I.signal.aborted||s.current!==j)throw new DOMException("Cancelled","AbortError");return A(_=>Object.freeze({key:j,revision:_.revision,phase:"ready",data:S,error:null})),S}).catch(S=>{throw!I.signal.aborted&&s.current===j&&A(_=>Object.freeze({key:j,revision:_.revision,phase:"failed",data:_.key===j?_.data:null,error:yr(S,_.key===j&&_.data!==null)})),S}).finally(()=>{c.current===C&&(c.current=null),l.current===I&&(l.current=null)});return c.current=C,C},[]);B.useEffect(()=>{var I;if((I=l.current)==null||I.abort(),l.current=null,c.current=null,e===null){A(Object.freeze({key:null,revision:u,phase:"idle",data:null,error:null}));return}const j=new AbortController;return A(C=>Object.freeze({key:e,revision:u,phase:"loading",data:C.key===e?C.data:null,error:null})),a.current(j.signal).then(C=>{j.signal.aborted||A(Object.freeze({key:e,revision:u,phase:"ready",data:C,error:null}))}).catch(C=>{j.signal.aborted||A(O=>Object.freeze({key:e,revision:u,phase:"failed",data:O.key===e?O.data:null,error:yr(C,O.key===e&&O.data!==null)}))}),()=>j.abort()},[e,u]);const E=h.key===e&&h.revision===u,b=E?h.phase:e===null?"idle":"loading",w=E?h.data:null,x=E?h.error:null;return B.useMemo(()=>Object.freeze({phase:b,data:w,error:x,refetch:y,reconcile:m}),[w,x,b,m,y])}function S4(e){return e===null?null:JSON.stringify(e)}function O4(e){return e.product==="planning"?e:XI}function _4(e){return e.kind==="operate.evidence"||e.kind==="operate.evidence-item"?"evidence":e.kind==="operate.outcomes"?"outcomes":e.kind==="operate.outcome"?"outcome":e.kind==="operate.history"?"history":null}function eu(e){return e.kind==="operate.actions"||e.kind==="operate.action"||e.kind==="operate.action-planning"||e.kind==="operate.inbox"||e.kind==="operate.inbox-item"||e.kind==="operate.recovery"}function N4(e){return e.kind==="operate.action-planning"?{kind:"operate.action",product:"operate",subjectId:e.subjectId}:e}function Vr(e){return Object.freeze({eventHead:e.payload.eventHead,viewHash:e.payload.viewHash})}function Io(e){const t=e.payload.status;if(!ZI.has(t))throw new Ne.projection.ValidationError("$.payload.status","contains an unsupported display status");return t}function R4(e){return e.payload.status==="terminal"?"read-only":Io(e)}function yw(e,t){if(e.data===null)return e.phase==="loading"||e.phase==="idle"?pr(t):Ya(t,e.error);const a=Ne.identity.create({...t,eventHead:e.data.payload.sourceEventHead,viewHash:e.data.payload.sourceViewHash});return Ei(e,a,e.data,Xe.review.createValidator(a),R4(e.data),e.data.payload.mutationEnabled)}function Ei(e,t,a,s,c,l=!1){const u=e.phase==="failed"?"stale":e.phase==="loading"||e.phase==="idle"?"refreshing":c;try{return Q4(u,t,a,s,l,u==="stale"?e.error??yr(void 0,!0):null)}catch(f){return Ya(t,yr(f))}}function Ew(e,t){if(e.data===null)return e.phase==="loading"||e.phase==="idle"?pr(t):Ya(t,e.error);const a=Ne.identity.create({...t,eventHead:e.data.cursor.eventHead,viewHash:e.data.cursor.viewHash});return Ei(e,a,e.data,s=>{try{return Hc.parseGraphEnvelope(s,t),!0}catch{return!1}},"ready")}function Bw(e,t,a,s){var u;if(e.data===null)return e.phase==="loading"||e.phase==="idle"?pr(t):Ya(t,e.error);const c=Ne.identity.create({...t,...Vr(e.data)}),l=a==="today"?Xe.today.createValidator(c):Xe.cycles.createListValidator(c);return e.phase!=="ready"?Ei(e,c,e.data,l,Io(e.data),e.data.payload.mutationEnabled):a==="today"&&e.data.payload.surface==="today"&&e.data.payload.status==="ready"&&e.data.payload.data.activeCycle===null?l(e.data)?s?s.phase==="loading"||s.phase==="idle"?Ei(Object.freeze({...e,phase:"loading",error:null}),c,e.data,l,"ready"):s.phase==="failed"?Ei(Object.freeze({...e,phase:"failed",error:s.error}),c,e.data,l,"ready"):((u=s.data)==null?void 0:u.payload.surface)!=="cycles"?Ya(c,yr(new Ne.projection.ValidationError("$.payload.surface","does not contain the required cycles display"))):C4(s.data.payload.data.cycles.length===0?"first-use":"empty",c):pr(c):Ya(c,yr(new Ne.projection.ValidationError("$.data","failed its owner-boundary contract"))):Ei(e,c,e.data,l,Io(e.data),e.data.payload.mutationEnabled)}function D4(e){if(e.subjectId===null)throw new Error("Action display identity requires a subject.");return Ne.identity.create({...e,route:`#/operate/actions/${encodeURIComponent(e.subjectId)}`})}function vw(e,t,a){if(e.data===null)return e.phase==="loading"||e.phase==="idle"?pr(t):Ya(t,e.error);const s=Ne.identity.create({...t,...Vr(e.data)});let c;if(a.kind==="operate.actions")c=Xe.actions.createListValidator(s);else if(a.kind==="operate.action"||a.kind==="operate.action-planning"){const l=a.kind==="operate.action-planning"?D4(s):s;c=Xe.actions.createDetailValidator(l)}else if(a.kind==="operate.inbox"||a.kind==="operate.inbox-item")c=Xe.actions.createInboxValidator(s);else if(a.kind==="operate.recovery")c=Xe.actions.createRecoveryValidator(s);else return e0(s);return Ei(e,s,e.data,c,Io(e.data),a.kind==="operate.action-planning"?!1:e.data.payload.mutationEnabled)}function T4(e,t){var ye,Ee;const a=(e==null?void 0:e.origin)??null,s=JSON.stringify(t),[c,l]=B.useState(null),u=(e==null?void 0:e.queryRoots.planning)??null,f=(e==null?void 0:e.queryRoots.operate)??null,h=B.useMemo(()=>O4(t),[t]),A=B.useMemo(()=>u?Xe.transport.identityFromRoot(u,XI):null,[u]),y=B.useMemo(()=>u?Xe.transport.identityFromRoot(u,h):null,[u,h]),m=Fr(A?JSON.stringify(A):null,R=>{if(!a||!A)throw new Error("Planning query root is unavailable.");return Hc.fetchGraph({origin:a,identity:A,signal:R})}),E=S4(f),b=Fr(E,R=>{if(!a||!f)throw new Error("Operate query root is unavailable.");return Xe.transport.fetchRootDisplay({origin:a,root:f,surface:"today",signal:R})}),w=Fr(E,R=>{if(!a||!f)throw new Error("Operate query root is unavailable.");return Xe.transport.fetchRootDisplay({origin:a,root:f,surface:"cycles",signal:R})}),x=((ye=b.data)==null?void 0:ye.payload.surface)==="today"?b.data:null,j=(x==null?void 0:x.payload.surface)==="today"?((Ee=x.payload.data.activeCycle)==null?void 0:Ee.cycleId)??null:null,I=t.kind==="operate.cycle"?t.subjectId:t.kind==="operate.review"?t.cycleId:j,C=x?Vr(x):null,O=B.useMemo(()=>f&&t.product==="operate"&&I&&C?Xe.transport.identityFromRoot(f,t,{cycleId:I,eventHead:C.eventHead,viewHash:C.viewHash}):null,[C,f,t,I]),S=a&&f&&O?JSON.stringify({root:f,binding:O}):null,_=B.useMemo(()=>f&&t.kind==="operate.review"?Xe.transport.identityFromRoot(f,t,{cycleId:t.cycleId}):null,[f,t]),k=a&&_?JSON.stringify({root:f,route:_.route}):null,N=Fr(k,R=>{if(!a||!f||t.kind!=="operate.review")throw new Error("Operate Review query custody is incomplete.");return Xe.review.fetch({origin:a,root:f,cycleId:t.cycleId,reviewId:t.subjectId,signal:R})}),z=B.useMemo(()=>N4(t),[t]),M=B.useMemo(()=>f&&eu(t)&&I&&C?Xe.transport.identityFromRoot(f,z,{cycleId:I,eventHead:C.eventHead,viewHash:C.viewHash}):null,[z,C,f,t,I]),L=a&&f&&M?JSON.stringify({root:f,binding:M}):null,Z=_4(t),F=Fr(Z?S:null,R=>{if(!a||!f||!I||!Z)throw new Error("Operate audit query custody is incomplete.");return Xe.transport.fetchAuditDisplay({origin:a,root:f,route:t,surface:Z,cycleId:I,signal:R})}),oe=Fr(t.kind==="operate.cycle"?S:null,R=>{if(!a||!f||t.kind!=="operate.cycle")throw new Error("Operate Cycle query custody is incomplete.");return Xe.transport.fetchCycleDisplay({origin:a,root:f,cycleId:t.subjectId,signal:R})}),re=Fr(eu(t)?L:null,R=>{if(!a||!M)throw new Error("Operate route display custody is incomplete.");if(t.kind==="operate.actions")return Xe.actions.fetchList({origin:a,identity:M,signal:R});if(t.kind==="operate.action"||t.kind==="operate.action-planning")return Xe.actions.fetchDetail({origin:a,identity:M,signal:R});if(t.kind==="operate.inbox"||t.kind==="operate.inbox-item")return Xe.actions.fetchInbox({origin:a,identity:M,signal:R});if(t.kind==="operate.recovery")return Xe.actions.fetchRecovery({origin:a,identity:M,signal:R});throw new Error("Operate route does not own a bound display read.")}),pe=B.useMemo(()=>y?Ew(m,y):Pr,[y,m]),Y=B.useMemo(()=>{if(!f)return null;const R=Ne.routing.parse("#/operate/today");return Xe.transport.identityFromRoot(f,R,{cycleId:j})},[j,f]),V=B.useMemo(()=>Y?Bw(b,Y,"today",w):Pr,[w,Y,b]),te=B.useMemo(()=>{if(!V.binding||!I)return null;const R=Xe.today.resolveModel({current:V},V.binding);return(R==null?void 0:R.kind)==="surface"?Xe.review.uniqueNavigationForCycle(R,I):null},[I,V]),le=B.useMemo(()=>f?Xe.transport.identityFromRoot(f,Ne.routing.parse("#/operate/cycles")):null,[f]),fe=B.useMemo(()=>le?Bw(w,le,"cycles"):Pr,[le,w]),T=B.useMemo(()=>{var ne;if(!f||((ne=w.data)==null?void 0:ne.payload.surface)!=="cycles")return Object.freeze([]);const R=Vr(w.data),J=Ne.routing.parse("#/operate/cycles");return Object.freeze(w.data.payload.data.cycles.map(Ae=>Xe.transport.identityFromRoot(f,J,{cycleId:Ae.cycleId,eventHead:R.eventHead,viewHash:R.viewHash})))},[w,f]),X=B.useMemo(()=>{if(t.product==="planning")return Object.freeze({binding:pe.binding,projection:pe});if(t.product!=="operate"||!f)return Object.freeze({binding:null,projection:Pr});if(t.kind==="operate.today")return Object.freeze({binding:V.binding,projection:V});if(t.kind==="operate.cycles")return Object.freeze({binding:fe.binding,projection:fe});if(t.kind==="operate.review"){if(!_)return Object.freeze({binding:null,projection:Pr});const J=yw(N,_);return Object.freeze({binding:J.binding,projection:J})}if(!C||!I)return Object.freeze({binding:null,projection:Pr});const R=O;if(!R)return Object.freeze({binding:null,projection:Pr});if(t.kind==="operate.cycle"){if(oe.data===null){const ne=oe.phase==="loading"||oe.phase==="idle"?pr(R):Ya(R,oe.error);return Object.freeze({binding:ne.binding,projection:ne})}const J=Ne.identity.create({...R,...Vr(oe.data)});return Object.freeze({binding:J,projection:Ei(oe,J,oe.data,Xe.cycles.createDetailValidator(J),Io(oe.data),oe.data.payload.mutationEnabled)})}if(Z){if(F.data===null){const Ae=F.phase==="loading"||F.phase==="idle"?pr(R):Ya(R,F.error);return Object.freeze({binding:Ae.binding,projection:Ae})}const J=Ne.identity.create({...R,...Vr(F.data)}),ne=Z==="evidence"?Xe.audit.createEvidenceValidator(J):Z==="outcomes"||Z==="outcome"?Xe.audit.createOutcomeValidator(J):Xe.audit.createHistoryValidator(J);return Object.freeze({binding:J,projection:Ei(F,J,F.data,ne,Io(F.data),!1)})}return eu(t)?Object.freeze({binding:R,projection:vw(re,R,t)}):Object.freeze({binding:R,projection:pr(R)})},[F,Z,re,O,oe,C,fe,f,pe,N,_,t,I,V]);B.useEffect(()=>{l(R=>R!==null&&R.routeKey!==s?null:R)},[s]);const se=B.useMemo(()=>c!==null&&c.routeKey===s&&(!Ne.projection.isValidatedState(X.projection)||X.projection.data===null)?Object.freeze({binding:c.binding,projection:c.projection}):X,[c,X,s]);B.useEffect(()=>{if(!a||!m.data||m.phase!=="ready"||!A)return;const R=Ne.identity.create({...A,eventHead:m.data.cursor.eventHead,viewHash:m.data.cursor.viewHash});let J=!0;const ne=Hc.createSseReconciler({identity:R,initial:m.data,isCurrent:()=>J,onSnapshot:()=>{},onPatch:()=>m.refetch(),onRefetch:()=>m.refetch(),onStale:()=>m.refetch()}),Ae=Hc.connectSse({origin:a,identity:R,reconciler:ne,lastEventId:Hc.encodeCheckpoint(m.data.cursor)});return Ae.completion.catch(()=>{}),()=>{J=!1,Ae.close()}},[a,A,m]),B.useEffect(()=>{if(!a||!f||!x||!Y)return;const R=Vr(x),J=Ne.identity.create({...Y,...R});let ne=!0;const Ae=Ne.transport.createSseReconciler({identity:J,isCurrent:()=>ne,onSnapshot:(xe,Ze)=>{var Ie,ce;(Ze.eventHead.sequence!==((Ie=R.eventHead)==null?void 0:Ie.sequence)||Ze.eventHead.hash!==((ce=R.eventHead)==null?void 0:ce.hash)||Ze.viewHash!==R.viewHash)&&(b.refetch(),w.refetch())},onPatch:()=>{b.refetch(),w.refetch()},onRefetch:()=>{b.refetch(),w.refetch()},onStale:()=>{b.refetch(),w.refetch()}}),we=Ne.transport.connectSse({origin:a,identity:J,reconciler:Ae});return we.completion.catch(()=>{}),()=>{ne=!1,we.close()}},[w,a,f,x,Y,b]);const de=B.useCallback(async()=>{const R=se;R.binding!==null&&Ne.projection.isValidatedState(R.projection)&&R.projection.data!==null&&l(Object.freeze({routeKey:s,binding:R.binding,projection:R.projection}));try{let J;if(t.kind==="operate.review"&&_){const ne=await N.reconcile();J=yw(Object.freeze({phase:"ready",data:ne,error:null,refetch:N.refetch,reconcile:N.reconcile}),_)}else if(eu(t)&&O){const ne=await re.reconcile();J=vw(Object.freeze({phase:"ready",data:ne,error:null,refetch:re.refetch,reconcile:re.reconcile}),O,t)}else if(t.product==="planning"&&y){const ne=await m.reconcile();J=Ew(Object.freeze({phase:"ready",data:ne,error:null,refetch:m.refetch,reconcile:m.reconcile}),y)}else throw new Ne.projection.ValidationError("$.route","does not own an exact reconciliation read");if(!Ne.projection.isValidatedState(J)||J.data===null)throw new Ne.projection.ValidationError("$.projection","did not return a verified projection");return l(null),J}catch(J){const ne=R.binding!==null&&Ne.projection.isValidatedState(R.projection)&&R.projection.data!==null,Ae=yr(J,ne),we=ne?I4(R.projection,Ae):R.binding===null?R.projection:Ya(R.binding,Ae);return ne&&R.binding!==null&&l(Object.freeze({routeKey:s,binding:R.binding,projection:we})),we}},[re,O,se,y,m,N,_,t,s]);return Object.freeze({binding:se.binding,projection:se.projection,planningProjection:pe,operateCyclesProjection:fe,operateSearchBindings:T,operateReviewNavigation:te,refetchCurrent:de})}function bw(e){return e!==void 0?e:typeof window>"u"?"":window.location.hash}function k4(e,t){return e!==void 0||typeof window>"u"?()=>{}:(window.addEventListener("hashchange",t),()=>window.removeEventListener("hashchange",t))}function M4({buildId:e,initialHash:t,identity:a,connection:s,bootstrap:c,bootPhase:l,bootDetail:u}){const f=B.useSyncExternalStore(S=>k4(t,S),()=>bw(t),()=>bw(t)),h=c===void 0&&s===void 0,[A,y]=B.useState(c??null),[m,E]=B.useState(l??(h?"checking":"compatible")),[b,w]=B.useState(u??null);B.useEffect(()=>{if(!h)return;const S=new AbortController;return E("checking"),w("Waiting for OpenPlanr to return a validated bootstrap envelope."),BP(e,{signal:S.signal}).then(_=>{y(_.bootstrap),E(_.phase==="compatible"?"compatible":_.phase),w(_.detail)}).catch(()=>{}),()=>S.abort()},[e,h]);const x=B.useMemo(()=>s??x1(A,e,b),[A,b,e,s]),j=B.useMemo(()=>a??j1(A),[A,a]),I=B.useMemo(()=>Ha(f),[f]),C=I.kind==="system.diagnostics"||m==="incompatible"||x.state==="incompatible",O=T4(m==="compatible"&&x.state!=="incompatible"&&I.product!==null?A:null,I);return r.jsxs(y1,{buildId:e,initialHash:C?Pa(kw):t,identity:j,connection:x,bootstrap:A,bootPhase:m,bootDetail:b,binding:O.binding,projection:O.projection,planningProjection:O.planningProjection,operateCyclesProjection:O.operateCyclesProjection,operateSearchBindings:O.operateSearchBindings,operateReviewNavigation:O.operateReviewNavigation,refetchCurrent:O.refetchCurrent,children:[r.jsx(B1,{}),r.jsx(pP,{})]})}const t0=document.querySelector("#root");if(!t0)throw new Error("OpenPlanr dashboard root element is missing.");DS.createRoot(t0).render(r.jsx(B.StrictMode,{children:r.jsx(M4,{buildId:"dashboard-0.1.10-b9532d72089caaaa"})}));
557
- //# sourceMappingURL=index-9DLb9EO5.js.map
556
+ `)}if(w.done){if(m.trim())return he("$","Planning live response ended mid-frame");break}}}finally{A.releaseLock()}})().catch(h=>{if(!t.signal.aborted)throw h instanceof ee?h:new ee("$","Planning live response failed safely")}).finally(()=>{var h;return(h=e.signal)==null?void 0:h.removeEventListener("abort",a)});return Object.freeze({completion:l,close:()=>{var h;t.abort(),e.reconciler.dispose(),(h=e.signal)==null||h.removeEventListener("abort",a)}})}const y4=Object.freeze({connectSse:m4,createSseReconciler:f4,encodeCheckpoint:A4,fetchGraph:h4,parseGraphEnvelope:Cu}),E4=Object.freeze(Object.defineProperty({__proto__:null,planningRuntime:y4},Symbol.toStringTag,{value:"Module"})),B4=Object.freeze({create:Ve}),v4=Object.freeze({ValidationError:ee,isValidatedState:Pe,parseSafeError:$w,parseState:so,statePolicy:oo}),b4=Object.freeze({parse:Ha}),w4=Object.freeze({connectSse:nI,createSseReconciler:tI}),x4=Object.freeze({identity:B4,projection:v4,routing:b4,transport:w4}),j4=Object.freeze(Object.defineProperty({__proto__:null,dashboardRuntime:x4},Symbol.toStringTag,{value:"Module"})),{operateRuntime:Xe}=qP,{planningRuntime:Hc}=E4,{dashboardRuntime:Ne}=j4,ZI=new Set(["ready","read-only","stale","partial","blocked","offline"]),Pr=Ne.projection.parseState({kind:"booting",binding:null,data:null,reasonCodes:[],error:null,mutationEnabled:!1,policy:Ne.projection.statePolicy("booting")}),XI=Ne.routing.parse("#/overview");function WI(e){return`DASHBOARD_${e.toUpperCase().replace("-","_")}`}function pr(e){return Ne.projection.parseState({kind:"loading",binding:e,data:null,reasonCodes:[],error:null,mutationEnabled:!1,policy:Ne.projection.statePolicy("loading")},{currentBinding:e})}function e0(e,t=null){return Ne.projection.parseState({kind:"unavailable",binding:e,data:null,reasonCodes:["DASHBOARD_UNAVAILABLE"],error:t,mutationEnabled:!1,policy:Ne.projection.statePolicy("unavailable")},{currentBinding:e})}function yr(e,t=!1){const s=(e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{}).code==="DASHBOARD_RESPONSE_INVALID"||e instanceof Ne.projection.ValidationError;return Ne.projection.parseSafeError({code:t||!s?"DASHBOARD_READ_FAILED":"DASHBOARD_RESPONSE_INVALID",retryable:!1,context:{operation:"dashboard.projection.read"}})}function Ya(e,t){const a=t??yr(void 0);if(a.code!=="DASHBOARD_RESPONSE_INVALID")return e0(e,a);const s=Ne.projection.parseSafeError({code:"DASHBOARD_RESPONSE_INVALID",retryable:!1,context:{}});return Ne.projection.parseState({kind:"corrupt",binding:null,data:null,reasonCodes:["DASHBOARD_CORRUPT"],error:s,mutationEnabled:!1,policy:Ne.projection.statePolicy("corrupt")})}function Q4(e,t,a,s,c=!1,l=null){if(!ZI.has(e))throw new Error("Unsupported owner presentation state.");return Ne.projection.parseState({kind:e,binding:t,data:a,reasonCodes:e==="ready"?[]:[WI(e)],error:l,mutationEnabled:e==="ready"&&c,policy:Ne.projection.statePolicy(e)},{currentBinding:t,validateData:s})}function I4(e,t){return!Ne.projection.isValidatedState(e)||e.binding===null||e.data===null?e:Ne.projection.parseState({kind:"stale",binding:e.binding,data:e.data,reasonCodes:["DASHBOARD_STALE"],error:t,mutationEnabled:!1,policy:Ne.projection.statePolicy("stale")},{currentBinding:e.binding,validateData:a=>a!==null})}function C4(e,t){return Ne.projection.parseState({kind:e,binding:t,data:null,reasonCodes:[WI(e)],error:null,mutationEnabled:!1,policy:Ne.projection.statePolicy(e)},{currentBinding:t})}function Fr(e,t){const a=B.useRef(t);a.current=t;const s=B.useRef(e);s.current=e;const c=B.useRef(null),l=B.useRef(null),[u,f]=B.useState(0),[h,A]=B.useState(()=>Object.freeze({key:null,revision:0,phase:"idle",data:null,error:null})),y=B.useCallback(()=>f(j=>j+1),[]),m=B.useCallback(()=>{var O;if(c.current!==null)return c.current;const j=s.current;if(j===null)return Promise.reject(new Error("Owner read is unavailable."));const I=new AbortController;(O=l.current)==null||O.abort(),l.current=I,A(S=>Object.freeze({key:j,revision:S.revision,phase:"loading",data:S.key===j?S.data:null,error:null}));const C=a.current(I.signal).then(S=>{if(I.signal.aborted||s.current!==j)throw new DOMException("Cancelled","AbortError");return A(_=>Object.freeze({key:j,revision:_.revision,phase:"ready",data:S,error:null})),S}).catch(S=>{throw!I.signal.aborted&&s.current===j&&A(_=>Object.freeze({key:j,revision:_.revision,phase:"failed",data:_.key===j?_.data:null,error:yr(S,_.key===j&&_.data!==null)})),S}).finally(()=>{c.current===C&&(c.current=null),l.current===I&&(l.current=null)});return c.current=C,C},[]);B.useEffect(()=>{var I;if((I=l.current)==null||I.abort(),l.current=null,c.current=null,e===null){A(Object.freeze({key:null,revision:u,phase:"idle",data:null,error:null}));return}const j=new AbortController;return A(C=>Object.freeze({key:e,revision:u,phase:"loading",data:C.key===e?C.data:null,error:null})),a.current(j.signal).then(C=>{j.signal.aborted||A(Object.freeze({key:e,revision:u,phase:"ready",data:C,error:null}))}).catch(C=>{j.signal.aborted||A(O=>Object.freeze({key:e,revision:u,phase:"failed",data:O.key===e?O.data:null,error:yr(C,O.key===e&&O.data!==null)}))}),()=>j.abort()},[e,u]);const E=h.key===e&&h.revision===u,b=E?h.phase:e===null?"idle":"loading",w=E?h.data:null,x=E?h.error:null;return B.useMemo(()=>Object.freeze({phase:b,data:w,error:x,refetch:y,reconcile:m}),[w,x,b,m,y])}function S4(e){return e===null?null:JSON.stringify(e)}function O4(e){return e.product==="planning"?e:XI}function _4(e){return e.kind==="operate.evidence"||e.kind==="operate.evidence-item"?"evidence":e.kind==="operate.outcomes"?"outcomes":e.kind==="operate.outcome"?"outcome":e.kind==="operate.history"?"history":null}function eu(e){return e.kind==="operate.actions"||e.kind==="operate.action"||e.kind==="operate.action-planning"||e.kind==="operate.inbox"||e.kind==="operate.inbox-item"||e.kind==="operate.recovery"}function N4(e){return e.kind==="operate.action-planning"?{kind:"operate.action",product:"operate",subjectId:e.subjectId}:e}function Vr(e){return Object.freeze({eventHead:e.payload.eventHead,viewHash:e.payload.viewHash})}function Io(e){const t=e.payload.status;if(!ZI.has(t))throw new Ne.projection.ValidationError("$.payload.status","contains an unsupported display status");return t}function R4(e){return e.payload.status==="terminal"?"read-only":Io(e)}function yw(e,t){if(e.data===null)return e.phase==="loading"||e.phase==="idle"?pr(t):Ya(t,e.error);const a=Ne.identity.create({...t,eventHead:e.data.payload.sourceEventHead,viewHash:e.data.payload.sourceViewHash});return Ei(e,a,e.data,Xe.review.createValidator(a),R4(e.data),e.data.payload.mutationEnabled)}function Ei(e,t,a,s,c,l=!1){const u=e.phase==="failed"?"stale":e.phase==="loading"||e.phase==="idle"?"refreshing":c;try{return Q4(u,t,a,s,l,u==="stale"?e.error??yr(void 0,!0):null)}catch(f){return Ya(t,yr(f))}}function Ew(e,t){if(e.data===null)return e.phase==="loading"||e.phase==="idle"?pr(t):Ya(t,e.error);const a=Ne.identity.create({...t,eventHead:e.data.cursor.eventHead,viewHash:e.data.cursor.viewHash});return Ei(e,a,e.data,s=>{try{return Hc.parseGraphEnvelope(s,t),!0}catch{return!1}},"ready")}function Bw(e,t,a,s){var u;if(e.data===null)return e.phase==="loading"||e.phase==="idle"?pr(t):Ya(t,e.error);const c=Ne.identity.create({...t,...Vr(e.data)}),l=a==="today"?Xe.today.createValidator(c):Xe.cycles.createListValidator(c);return e.phase!=="ready"?Ei(e,c,e.data,l,Io(e.data),e.data.payload.mutationEnabled):a==="today"&&e.data.payload.surface==="today"&&e.data.payload.status==="ready"&&e.data.payload.data.activeCycle===null?l(e.data)?s?s.phase==="loading"||s.phase==="idle"?Ei(Object.freeze({...e,phase:"loading",error:null}),c,e.data,l,"ready"):s.phase==="failed"?Ei(Object.freeze({...e,phase:"failed",error:s.error}),c,e.data,l,"ready"):((u=s.data)==null?void 0:u.payload.surface)!=="cycles"?Ya(c,yr(new Ne.projection.ValidationError("$.payload.surface","does not contain the required cycles display"))):C4(s.data.payload.data.cycles.length===0?"first-use":"empty",c):pr(c):Ya(c,yr(new Ne.projection.ValidationError("$.data","failed its owner-boundary contract"))):Ei(e,c,e.data,l,Io(e.data),e.data.payload.mutationEnabled)}function D4(e){if(e.subjectId===null)throw new Error("Action display identity requires a subject.");return Ne.identity.create({...e,route:`#/operate/actions/${encodeURIComponent(e.subjectId)}`})}function vw(e,t,a){if(e.data===null)return e.phase==="loading"||e.phase==="idle"?pr(t):Ya(t,e.error);const s=Ne.identity.create({...t,...Vr(e.data)});let c;if(a.kind==="operate.actions")c=Xe.actions.createListValidator(s);else if(a.kind==="operate.action"||a.kind==="operate.action-planning"){const l=a.kind==="operate.action-planning"?D4(s):s;c=Xe.actions.createDetailValidator(l)}else if(a.kind==="operate.inbox"||a.kind==="operate.inbox-item")c=Xe.actions.createInboxValidator(s);else if(a.kind==="operate.recovery")c=Xe.actions.createRecoveryValidator(s);else return e0(s);return Ei(e,s,e.data,c,Io(e.data),a.kind==="operate.action-planning"?!1:e.data.payload.mutationEnabled)}function T4(e,t){var ye,Ee;const a=(e==null?void 0:e.origin)??null,s=JSON.stringify(t),[c,l]=B.useState(null),u=(e==null?void 0:e.queryRoots.planning)??null,f=(e==null?void 0:e.queryRoots.operate)??null,h=B.useMemo(()=>O4(t),[t]),A=B.useMemo(()=>u?Xe.transport.identityFromRoot(u,XI):null,[u]),y=B.useMemo(()=>u?Xe.transport.identityFromRoot(u,h):null,[u,h]),m=Fr(A?JSON.stringify(A):null,R=>{if(!a||!A)throw new Error("Planning query root is unavailable.");return Hc.fetchGraph({origin:a,identity:A,signal:R})}),E=S4(f),b=Fr(E,R=>{if(!a||!f)throw new Error("Operate query root is unavailable.");return Xe.transport.fetchRootDisplay({origin:a,root:f,surface:"today",signal:R})}),w=Fr(E,R=>{if(!a||!f)throw new Error("Operate query root is unavailable.");return Xe.transport.fetchRootDisplay({origin:a,root:f,surface:"cycles",signal:R})}),x=((ye=b.data)==null?void 0:ye.payload.surface)==="today"?b.data:null,j=(x==null?void 0:x.payload.surface)==="today"?((Ee=x.payload.data.activeCycle)==null?void 0:Ee.cycleId)??null:null,I=t.kind==="operate.cycle"?t.subjectId:t.kind==="operate.review"?t.cycleId:j,C=x?Vr(x):null,O=B.useMemo(()=>f&&t.product==="operate"&&I&&C?Xe.transport.identityFromRoot(f,t,{cycleId:I,eventHead:C.eventHead,viewHash:C.viewHash}):null,[C,f,t,I]),S=a&&f&&O?JSON.stringify({root:f,binding:O}):null,_=B.useMemo(()=>f&&t.kind==="operate.review"?Xe.transport.identityFromRoot(f,t,{cycleId:t.cycleId}):null,[f,t]),k=a&&_?JSON.stringify({root:f,route:_.route}):null,N=Fr(k,R=>{if(!a||!f||t.kind!=="operate.review")throw new Error("Operate Review query custody is incomplete.");return Xe.review.fetch({origin:a,root:f,cycleId:t.cycleId,reviewId:t.subjectId,signal:R})}),z=B.useMemo(()=>N4(t),[t]),M=B.useMemo(()=>f&&eu(t)&&I&&C?Xe.transport.identityFromRoot(f,z,{cycleId:I,eventHead:C.eventHead,viewHash:C.viewHash}):null,[z,C,f,t,I]),L=a&&f&&M?JSON.stringify({root:f,binding:M}):null,Z=_4(t),F=Fr(Z?S:null,R=>{if(!a||!f||!I||!Z)throw new Error("Operate audit query custody is incomplete.");return Xe.transport.fetchAuditDisplay({origin:a,root:f,route:t,surface:Z,cycleId:I,signal:R})}),oe=Fr(t.kind==="operate.cycle"?S:null,R=>{if(!a||!f||t.kind!=="operate.cycle")throw new Error("Operate Cycle query custody is incomplete.");return Xe.transport.fetchCycleDisplay({origin:a,root:f,cycleId:t.subjectId,signal:R})}),re=Fr(eu(t)?L:null,R=>{if(!a||!M)throw new Error("Operate route display custody is incomplete.");if(t.kind==="operate.actions")return Xe.actions.fetchList({origin:a,identity:M,signal:R});if(t.kind==="operate.action"||t.kind==="operate.action-planning")return Xe.actions.fetchDetail({origin:a,identity:M,signal:R});if(t.kind==="operate.inbox"||t.kind==="operate.inbox-item")return Xe.actions.fetchInbox({origin:a,identity:M,signal:R});if(t.kind==="operate.recovery")return Xe.actions.fetchRecovery({origin:a,identity:M,signal:R});throw new Error("Operate route does not own a bound display read.")}),pe=B.useMemo(()=>y?Ew(m,y):Pr,[y,m]),Y=B.useMemo(()=>{if(!f)return null;const R=Ne.routing.parse("#/operate/today");return Xe.transport.identityFromRoot(f,R,{cycleId:j})},[j,f]),V=B.useMemo(()=>Y?Bw(b,Y,"today",w):Pr,[w,Y,b]),te=B.useMemo(()=>{if(!V.binding||!I)return null;const R=Xe.today.resolveModel({current:V},V.binding);return(R==null?void 0:R.kind)==="surface"?Xe.review.uniqueNavigationForCycle(R,I):null},[I,V]),le=B.useMemo(()=>f?Xe.transport.identityFromRoot(f,Ne.routing.parse("#/operate/cycles")):null,[f]),fe=B.useMemo(()=>le?Bw(w,le,"cycles"):Pr,[le,w]),T=B.useMemo(()=>{var ne;if(!f||((ne=w.data)==null?void 0:ne.payload.surface)!=="cycles")return Object.freeze([]);const R=Vr(w.data),J=Ne.routing.parse("#/operate/cycles");return Object.freeze(w.data.payload.data.cycles.map(Ae=>Xe.transport.identityFromRoot(f,J,{cycleId:Ae.cycleId,eventHead:R.eventHead,viewHash:R.viewHash})))},[w,f]),X=B.useMemo(()=>{if(t.product==="planning")return Object.freeze({binding:pe.binding,projection:pe});if(t.product!=="operate"||!f)return Object.freeze({binding:null,projection:Pr});if(t.kind==="operate.today")return Object.freeze({binding:V.binding,projection:V});if(t.kind==="operate.cycles")return Object.freeze({binding:fe.binding,projection:fe});if(t.kind==="operate.review"){if(!_)return Object.freeze({binding:null,projection:Pr});const J=yw(N,_);return Object.freeze({binding:J.binding,projection:J})}if(!C||!I)return Object.freeze({binding:null,projection:Pr});const R=O;if(!R)return Object.freeze({binding:null,projection:Pr});if(t.kind==="operate.cycle"){if(oe.data===null){const ne=oe.phase==="loading"||oe.phase==="idle"?pr(R):Ya(R,oe.error);return Object.freeze({binding:ne.binding,projection:ne})}const J=Ne.identity.create({...R,...Vr(oe.data)});return Object.freeze({binding:J,projection:Ei(oe,J,oe.data,Xe.cycles.createDetailValidator(J),Io(oe.data),oe.data.payload.mutationEnabled)})}if(Z){if(F.data===null){const Ae=F.phase==="loading"||F.phase==="idle"?pr(R):Ya(R,F.error);return Object.freeze({binding:Ae.binding,projection:Ae})}const J=Ne.identity.create({...R,...Vr(F.data)}),ne=Z==="evidence"?Xe.audit.createEvidenceValidator(J):Z==="outcomes"||Z==="outcome"?Xe.audit.createOutcomeValidator(J):Xe.audit.createHistoryValidator(J);return Object.freeze({binding:J,projection:Ei(F,J,F.data,ne,Io(F.data),!1)})}return eu(t)?Object.freeze({binding:R,projection:vw(re,R,t)}):Object.freeze({binding:R,projection:pr(R)})},[F,Z,re,O,oe,C,fe,f,pe,N,_,t,I,V]);B.useEffect(()=>{l(R=>R!==null&&R.routeKey!==s?null:R)},[s]);const se=B.useMemo(()=>c!==null&&c.routeKey===s&&(!Ne.projection.isValidatedState(X.projection)||X.projection.data===null)?Object.freeze({binding:c.binding,projection:c.projection}):X,[c,X,s]);B.useEffect(()=>{if(!a||!m.data||m.phase!=="ready"||!A)return;const R=Ne.identity.create({...A,eventHead:m.data.cursor.eventHead,viewHash:m.data.cursor.viewHash});let J=!0;const ne=Hc.createSseReconciler({identity:R,initial:m.data,isCurrent:()=>J,onSnapshot:()=>{},onPatch:()=>m.refetch(),onRefetch:()=>m.refetch(),onStale:()=>m.refetch()}),Ae=Hc.connectSse({origin:a,identity:R,reconciler:ne,lastEventId:Hc.encodeCheckpoint(m.data.cursor)});return Ae.completion.catch(()=>{}),()=>{J=!1,Ae.close()}},[a,A,m]),B.useEffect(()=>{if(!a||!f||!x||!Y)return;const R=Vr(x),J=Ne.identity.create({...Y,...R});let ne=!0;const Ae=Ne.transport.createSseReconciler({identity:J,isCurrent:()=>ne,onSnapshot:(xe,Ze)=>{var Ie,ce;(Ze.eventHead.sequence!==((Ie=R.eventHead)==null?void 0:Ie.sequence)||Ze.eventHead.hash!==((ce=R.eventHead)==null?void 0:ce.hash)||Ze.viewHash!==R.viewHash)&&(b.refetch(),w.refetch())},onPatch:()=>{b.refetch(),w.refetch()},onRefetch:()=>{b.refetch(),w.refetch()},onStale:()=>{b.refetch(),w.refetch()}}),we=Ne.transport.connectSse({origin:a,identity:J,reconciler:Ae});return we.completion.catch(()=>{}),()=>{ne=!1,we.close()}},[w,a,f,x,Y,b]);const de=B.useCallback(async()=>{const R=se;R.binding!==null&&Ne.projection.isValidatedState(R.projection)&&R.projection.data!==null&&l(Object.freeze({routeKey:s,binding:R.binding,projection:R.projection}));try{let J;if(t.kind==="operate.review"&&_){const ne=await N.reconcile();J=yw(Object.freeze({phase:"ready",data:ne,error:null,refetch:N.refetch,reconcile:N.reconcile}),_)}else if(eu(t)&&O){const ne=await re.reconcile();J=vw(Object.freeze({phase:"ready",data:ne,error:null,refetch:re.refetch,reconcile:re.reconcile}),O,t)}else if(t.product==="planning"&&y){const ne=await m.reconcile();J=Ew(Object.freeze({phase:"ready",data:ne,error:null,refetch:m.refetch,reconcile:m.reconcile}),y)}else throw new Ne.projection.ValidationError("$.route","does not own an exact reconciliation read");if(!Ne.projection.isValidatedState(J)||J.data===null)throw new Ne.projection.ValidationError("$.projection","did not return a verified projection");return l(null),J}catch(J){const ne=R.binding!==null&&Ne.projection.isValidatedState(R.projection)&&R.projection.data!==null,Ae=yr(J,ne),we=ne?I4(R.projection,Ae):R.binding===null?R.projection:Ya(R.binding,Ae);return ne&&R.binding!==null&&l(Object.freeze({routeKey:s,binding:R.binding,projection:we})),we}},[re,O,se,y,m,N,_,t,s]);return Object.freeze({binding:se.binding,projection:se.projection,planningProjection:pe,operateCyclesProjection:fe,operateSearchBindings:T,operateReviewNavigation:te,refetchCurrent:de})}function bw(e){return e!==void 0?e:typeof window>"u"?"":window.location.hash}function k4(e,t){return e!==void 0||typeof window>"u"?()=>{}:(window.addEventListener("hashchange",t),()=>window.removeEventListener("hashchange",t))}function M4({buildId:e,initialHash:t,identity:a,connection:s,bootstrap:c,bootPhase:l,bootDetail:u}){const f=B.useSyncExternalStore(S=>k4(t,S),()=>bw(t),()=>bw(t)),h=c===void 0&&s===void 0,[A,y]=B.useState(c??null),[m,E]=B.useState(l??(h?"checking":"compatible")),[b,w]=B.useState(u??null);B.useEffect(()=>{if(!h)return;const S=new AbortController;return E("checking"),w("Waiting for OpenPlanr to return a validated bootstrap envelope."),BP(e,{signal:S.signal}).then(_=>{y(_.bootstrap),E(_.phase==="compatible"?"compatible":_.phase),w(_.detail)}).catch(()=>{}),()=>S.abort()},[e,h]);const x=B.useMemo(()=>s??x1(A,e,b),[A,b,e,s]),j=B.useMemo(()=>a??j1(A),[A,a]),I=B.useMemo(()=>Ha(f),[f]),C=I.kind==="system.diagnostics"||m==="incompatible"||x.state==="incompatible",O=T4(m==="compatible"&&x.state!=="incompatible"&&I.product!==null?A:null,I);return r.jsxs(y1,{buildId:e,initialHash:C?Pa(kw):t,identity:j,connection:x,bootstrap:A,bootPhase:m,bootDetail:b,binding:O.binding,projection:O.projection,planningProjection:O.planningProjection,operateCyclesProjection:O.operateCyclesProjection,operateSearchBindings:O.operateSearchBindings,operateReviewNavigation:O.operateReviewNavigation,refetchCurrent:O.refetchCurrent,children:[r.jsx(B1,{}),r.jsx(pP,{})]})}const t0=document.querySelector("#root");if(!t0)throw new Error("OpenPlanr dashboard root element is missing.");DS.createRoot(t0).render(r.jsx(B.StrictMode,{children:r.jsx(M4,{buildId:"dashboard-0.1.11-d19dc19305781f24"})}));
557
+ //# sourceMappingURL=index-CaX9EJp4.js.map