openplanr 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cli/commands/upgrade.d.ts.map +1 -1
  3. package/dist/cli/commands/upgrade.js +5 -1
  4. package/dist/cli/commands/upgrade.js.map +1 -1
  5. package/dist/dashboard/.vite/manifest.json +1 -1
  6. package/dist/dashboard/assets/{index-zeygL5iu.js → index-BCvntXFj.js} +2 -2
  7. package/dist/dashboard/assets/{index-zeygL5iu.js.map → index-BCvntXFj.js.map} +1 -1
  8. package/dist/dashboard/dashboard-manifest.json +13 -13
  9. package/dist/dashboard/index.html +1 -1
  10. package/dist/generators/claude-generator.d.ts +2 -0
  11. package/dist/generators/claude-generator.d.ts.map +1 -1
  12. package/dist/generators/claude-generator.js +12 -0
  13. package/dist/generators/claude-generator.js.map +1 -1
  14. package/dist/generators/codex-generator.d.ts.map +1 -1
  15. package/dist/generators/codex-generator.js +7 -1
  16. package/dist/generators/codex-generator.js.map +1 -1
  17. package/dist/services/capability-map-service.d.ts +58 -0
  18. package/dist/services/capability-map-service.d.ts.map +1 -0
  19. package/dist/services/capability-map-service.js +58 -0
  20. package/dist/services/capability-map-service.js.map +1 -0
  21. package/dist/services/upgrade-service.d.ts +20 -0
  22. package/dist/services/upgrade-service.d.ts.map +1 -1
  23. package/dist/services/upgrade-service.js +90 -37
  24. package/dist/services/upgrade-service.js.map +1 -1
  25. package/dist/templates/rules/claude/CLAUDE.md.hbs +4 -0
  26. package/dist/templates/rules/shared/capability-map.md.hbs +23 -0
  27. package/docs/CLI.md +23 -3
  28. package/lib/host-packages/adapter-registry.json +1 -1
  29. package/lib/host-packages/capability-map.json +494 -0
  30. package/lib/host-packages/claude/openplanr/.openplanr-content.json +15 -7
  31. package/lib/host-packages/claude/openplanr/skills/artifact/references/company-review.md +1 -1
  32. package/lib/host-packages/claude/openplanr/skills/design/scripts/runtime/packages/protocol/package.json +1 -1
  33. package/lib/host-packages/claude/openplanr/skills/design-loop/scripts/runtime/packages/protocol/package.json +1 -1
  34. package/lib/host-packages/claude/openplanr/skills/design-review/scripts/runtime/packages/protocol/package.json +1 -1
  35. package/lib/host-packages/claude/openplanr/skills/openplanr/SKILL.md +48 -0
  36. package/lib/host-packages/claude/openplanr/skills/openplanr/openplanr.skill.json +26 -0
  37. package/lib/host-packages/claude/openplanr/skills/plan/scripts/runtime/packages/protocol/package.json +1 -1
  38. package/lib/host-packages/cursor/openplanr/.openplanr-content.json +12 -8
  39. package/lib/host-packages/cursor/openplanr/manifest.json +2 -1
  40. package/lib/host-packages/cursor/openplanr/rules/planr-artifact/references/company-review.md +1 -1
  41. package/lib/host-packages/cursor/openplanr/rules/planr-design/scripts/runtime/packages/protocol/package.json +1 -1
  42. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/scripts/runtime/packages/protocol/package.json +1 -1
  43. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/scripts/runtime/packages/protocol/package.json +1 -1
  44. package/lib/host-packages/cursor/openplanr/rules/planr-openplanr.mdc +47 -0
  45. package/lib/host-packages/cursor/openplanr/rules/planr-plan/scripts/runtime/packages/protocol/package.json +1 -1
  46. package/lib/host-packages/openai/openplanr/.openplanr-content.json +19 -7
  47. package/lib/host-packages/openai/openplanr/skills/artifact/references/company-review.md +1 -1
  48. package/lib/host-packages/openai/openplanr/skills/design/scripts/runtime/packages/protocol/package.json +1 -1
  49. package/lib/host-packages/openai/openplanr/skills/design-loop/scripts/runtime/packages/protocol/package.json +1 -1
  50. package/lib/host-packages/openai/openplanr/skills/design-review/scripts/runtime/packages/protocol/package.json +1 -1
  51. package/lib/host-packages/openai/openplanr/skills/openplanr/SKILL.md +48 -0
  52. package/lib/host-packages/openai/openplanr/skills/openplanr/agents/openai.yaml +6 -0
  53. package/lib/host-packages/openai/openplanr/skills/openplanr/openplanr.skill.json +26 -0
  54. package/lib/host-packages/openai/openplanr/skills/plan/scripts/runtime/packages/protocol/package.json +1 -1
  55. package/package.json +2 -2
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "kind": "openplanr-dashboard-build",
3
3
  "schemaVersion": "1.0.0",
4
- "buildId": "dashboard-0.1.1-2589ab848e624908",
4
+ "buildId": "dashboard-0.1.2-4802ea4c9c9bf33d",
5
5
  "entry": "index.html",
6
6
  "assets": [
7
7
  "assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2",
@@ -15,9 +15,9 @@
15
15
  "assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2",
16
16
  "assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2",
17
17
  "assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2",
18
- "assets/index-Bk8DyO_2.css",
19
- "assets/index-zeygL5iu.js",
20
- "assets/index-zeygL5iu.js.map"
18
+ "assets/index-BCvntXFj.js",
19
+ "assets/index-BCvntXFj.js.map",
20
+ "assets/index-Bk8DyO_2.css"
21
21
  ],
22
22
  "assetDigests": {
23
23
  "assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2": {
@@ -64,21 +64,21 @@
64
64
  "bytes": 8004,
65
65
  "sha256": "sha256:8fa40e5d248247735eb97a0bd593b8852440430600d6ba01364c31fe0abc1fe1"
66
66
  },
67
- "assets/index-Bk8DyO_2.css": {
68
- "bytes": 187656,
69
- "sha256": "sha256:ce569133bebdf30667b5af6937549dd967b5f88b0d100779d3db275909ecd723"
70
- },
71
- "assets/index-zeygL5iu.js": {
67
+ "assets/index-BCvntXFj.js": {
72
68
  "bytes": 942574,
73
- "sha256": "sha256:d39d742e5dcfa68ae88a3fd0de14e67dee3495ac469f5cf2cfbdefe7cfb3d6e0"
69
+ "sha256": "sha256:4c7aece5577c3d08b6e2f1343e049a20d7544d42e65fc761a4ff3978bc019382"
74
70
  },
75
- "assets/index-zeygL5iu.js.map": {
71
+ "assets/index-BCvntXFj.js.map": {
76
72
  "bytes": 3425939,
77
- "sha256": "sha256:0c02d100c3271da09bc053480db9bc1d09501c5268d6483f504355d1c47edd3d"
73
+ "sha256": "sha256:b135234925ec3638f909173e24a188c61333bf97e421e5a9f9d2a9bb8042dff3"
74
+ },
75
+ "assets/index-Bk8DyO_2.css": {
76
+ "bytes": 187656,
77
+ "sha256": "sha256:ce569133bebdf30667b5af6937549dd967b5f88b0d100779d3db275909ecd723"
78
78
  },
79
79
  "index.html": {
80
80
  "bytes": 396,
81
- "sha256": "sha256:4d257b7449222ea401184340f54dd8b070084e3779b482b1c7774f958c1a0f8f"
81
+ "sha256": "sha256:e080cf8ed78344c90a2cf62eb98ebd2eac88d6524c81e0127af9d981370b2100"
82
82
  }
83
83
  }
84
84
  }
@@ -4,7 +4,7 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>OpenPlanr</title>
7
- <script type="module" crossorigin src="./assets/index-zeygL5iu.js"></script>
7
+ <script type="module" crossorigin src="./assets/index-BCvntXFj.js"></script>
8
8
  <link rel="stylesheet" crossorigin href="./assets/index-Bk8DyO_2.css">
9
9
  </head>
10
10
  <body>
@@ -1,5 +1,7 @@
1
1
  import type { ArtifactCollection, GeneratedFile } from '../models/types.js';
2
2
  import { BaseGenerator } from './base-generator.js';
3
+ /** The generated skill and agent inventory, or an empty string on a checkout built without host packages. */
4
+ export declare function renderCapabilityMap(prefix: string, includeAgents: boolean, templateOverrides: string | undefined): Promise<string>;
3
5
  export declare class ClaudeGenerator extends BaseGenerator {
4
6
  getTargetName(): string;
5
7
  generate(_artifacts: ArtifactCollection): Promise<GeneratedFile[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"claude-generator.d.ts","sourceRoot":"","sources":["../../src/generators/claude-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAG5E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,qBAAa,eAAgB,SAAQ,aAAa;IAChD,aAAa,IAAI,MAAM;IAIjB,QAAQ,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CA4CzE"}
1
+ {"version":3,"file":"claude-generator.d.ts","sourceRoot":"","sources":["../../src/generators/claude-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAI5E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,6GAA6G;AAC7G,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,OAAO,EACtB,iBAAiB,EAAE,MAAM,GAAG,SAAS,GACpC,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED,qBAAa,eAAgB,SAAQ,aAAa;IAChD,aAAa,IAAI,MAAM;IAIjB,QAAQ,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAgDzE"}
@@ -1,7 +1,15 @@
1
1
  import path from 'node:path';
2
2
  import { listArtifacts } from '../services/artifact-service.js';
3
+ import { capabilityMapContext, readCapabilityMap } from '../services/capability-map-service.js';
3
4
  import { renderTemplate } from '../services/template-service.js';
4
5
  import { BaseGenerator } from './base-generator.js';
6
+ /** The generated skill and agent inventory, or an empty string on a checkout built without host packages. */
7
+ export async function renderCapabilityMap(prefix, includeAgents, templateOverrides) {
8
+ const map = readCapabilityMap();
9
+ if (!map)
10
+ return '';
11
+ return renderTemplate('rules/shared/capability-map.md.hbs', { ...capabilityMapContext(map, { prefix, includeAgents }) }, templateOverrides);
12
+ }
5
13
  export class ClaudeGenerator extends BaseGenerator {
6
14
  getTargetName() {
7
15
  return 'claude';
@@ -20,6 +28,9 @@ export class ClaudeGenerator extends BaseGenerator {
20
28
  shipInvocation: '/planr:ship',
21
29
  }, this.config.templateOverrides)
22
30
  : '';
31
+ const capabilityMap = this.includesPipeline()
32
+ ? await renderCapabilityMap('/planr:', true, this.config.templateOverrides)
33
+ : '';
23
34
  const files = [];
24
35
  // CLAUDE.md is planr-managed as a whole — splice via marker so
25
36
  // hand-written content above/below the managed block is preserved.
@@ -32,6 +43,7 @@ export class ClaudeGenerator extends BaseGenerator {
32
43
  pipelineScope: this.includesPipeline(),
33
44
  implementationGuidance,
34
45
  hostNativeGuidance,
46
+ capabilityMap,
35
47
  }, this.config.templateOverrides);
36
48
  files.push({
37
49
  path: path.join(this.config.outputPaths.claudeConfig, 'CLAUDE.md'),
@@ -1 +1 @@
1
- {"version":3,"file":"claude-generator.js","sourceRoot":"","sources":["../../src/generators/claude-generator.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,OAAO,eAAgB,SAAQ,aAAa;IAChD,aAAa;QACX,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,UAA8B;QAC3C,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC9E,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,sBAAsB,GAAG,IAAI,CAAC,aAAa,EAAE;YACjD,CAAC,CAAC,MAAM,IAAI,CAAC,4BAA4B,EAAE;YAC3C,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,EAAE;YAChD,CAAC,CAAC,MAAM,cAAc,CAClB,0CAA0C,EAC1C;gBACE,cAAc,EAAE,aAAa;gBAC7B,cAAc,EAAE,aAAa;gBAC7B,cAAc,EAAE,aAAa;aAC9B,EACD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC9B;YACH,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,KAAK,GAAoB,EAAE,CAAC;QAElC,+DAA+D;QAC/D,mEAAmE;QACnE,MAAM,aAAa,GAAG,MAAM,cAAc,CACxC,4BAA4B,EAC5B;YACE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACpC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK;YACxC,IAAI;YACJ,aAAa,EAAE,KAAK;YACpB,gBAAgB,EAAE,QAAQ;YAC1B,aAAa,EAAE,IAAI,CAAC,gBAAgB,EAAE;YACtC,sBAAsB;YACtB,kBAAkB;SACnB,EACD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC9B,CAAC;QACF,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC;YAClE,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,OAAO;SACpB,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"claude-generator.js","sourceRoot":"","sources":["../../src/generators/claude-generator.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,6GAA6G;AAC7G,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,aAAsB,EACtB,iBAAqC;IAErC,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;IAChC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,OAAO,cAAc,CACnB,oCAAoC,EACpC,EAAE,GAAG,oBAAoB,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,EAC3D,iBAAiB,CAClB,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,eAAgB,SAAQ,aAAa;IAChD,aAAa;QACX,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,UAA8B;QAC3C,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC9E,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,sBAAsB,GAAG,IAAI,CAAC,aAAa,EAAE;YACjD,CAAC,CAAC,MAAM,IAAI,CAAC,4BAA4B,EAAE;YAC3C,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,EAAE;YAChD,CAAC,CAAC,MAAM,cAAc,CAClB,0CAA0C,EAC1C;gBACE,cAAc,EAAE,aAAa;gBAC7B,cAAc,EAAE,aAAa;gBAC7B,cAAc,EAAE,aAAa;aAC9B,EACD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC9B;YACH,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE;YAC3C,CAAC,CAAC,MAAM,mBAAmB,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;YAC3E,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,KAAK,GAAoB,EAAE,CAAC;QAElC,+DAA+D;QAC/D,mEAAmE;QACnE,MAAM,aAAa,GAAG,MAAM,cAAc,CACxC,4BAA4B,EAC5B;YACE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACpC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK;YACxC,IAAI;YACJ,aAAa,EAAE,KAAK;YACpB,gBAAgB,EAAE,QAAQ;YAC1B,aAAa,EAAE,IAAI,CAAC,gBAAgB,EAAE;YACtC,sBAAsB;YACtB,kBAAkB;YAClB,aAAa;SACd,EACD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC9B,CAAC;QACF,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC;YAClE,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,OAAO;SACpB,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"codex-generator.d.ts","sourceRoot":"","sources":["../../src/generators/codex-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,qBAAa,cAAe,SAAQ,aAAa;IAC/C,aAAa,IAAI,MAAM;IAIjB,QAAQ,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAkCzE"}
1
+ {"version":3,"file":"codex-generator.d.ts","sourceRoot":"","sources":["../../src/generators/codex-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,qBAAa,cAAe,SAAQ,aAAa;IAC/C,aAAa,IAAI,MAAM;IAIjB,QAAQ,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CA2CzE"}
@@ -1,6 +1,7 @@
1
1
  import path from 'node:path';
2
2
  import { renderTemplate } from '../services/template-service.js';
3
3
  import { BaseGenerator } from './base-generator.js';
4
+ import { renderCapabilityMap } from './claude-generator.js';
4
5
  export class CodexGenerator extends BaseGenerator {
5
6
  getTargetName() {
6
7
  return 'codex';
@@ -24,7 +25,12 @@ export class CodexGenerator extends BaseGenerator {
24
25
  planInvocation: '$planr:plan',
25
26
  shipInvocation: '$planr:ship',
26
27
  }, this.config.templateOverrides);
27
- files.push({ path: targetPath, content, markerName: 'pipeline' });
28
+ const capabilityMap = await renderCapabilityMap('$planr:', false, this.config.templateOverrides);
29
+ files.push({
30
+ path: targetPath,
31
+ content: capabilityMap ? `${content.trimEnd()}\n\n${capabilityMap}` : content,
32
+ markerName: 'pipeline',
33
+ });
28
34
  }
29
35
  return files;
30
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"codex-generator.js","sourceRoot":"","sources":["../../src/generators/codex-generator.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,OAAO,cAAe,SAAQ,aAAa;IAC/C,aAAa;QACX,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,UAA8B;QAC3C,MAAM,QAAQ,GAAG;YACf,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACpC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK;YACxC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC7C,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC/E,MAAM,KAAK,GAAoB,EAAE,CAAC;QAElC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACzB,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;YACzE,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,2BAA2B,EAC3B,EAAE,GAAG,QAAQ,EAAE,sBAAsB,EAAE,EACvC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC9B,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,0CAA0C,EAC1C;gBACE,cAAc,EAAE,aAAa;gBAC7B,cAAc,EAAE,aAAa;gBAC7B,cAAc,EAAE,aAAa;aAC9B,EACD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC9B,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"codex-generator.js","sourceRoot":"","sources":["../../src/generators/codex-generator.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,OAAO,cAAe,SAAQ,aAAa;IAC/C,aAAa;QACX,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,UAA8B;QAC3C,MAAM,QAAQ,GAAG;YACf,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACpC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK;YACxC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC7C,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC/E,MAAM,KAAK,GAAoB,EAAE,CAAC;QAElC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACzB,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;YACzE,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,2BAA2B,EAC3B,EAAE,GAAG,QAAQ,EAAE,sBAAsB,EAAE,EACvC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC9B,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,0CAA0C,EAC1C;gBACE,cAAc,EAAE,aAAa;gBAC7B,cAAc,EAAE,aAAa;gBAC7B,cAAc,EAAE,aAAa;aAC9B,EACD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC9B,CAAC;YACF,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAC7C,SAAS,EACT,KAAK,EACL,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC9B,CAAC;YACF,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,aAAa,EAAE,CAAC,CAAC,CAAC,OAAO;gBAC7E,UAAU,EAAE,UAAU;aACvB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -0,0 +1,58 @@
1
+ export interface CapabilitySkill {
2
+ id: string;
3
+ name: string;
4
+ family: string;
5
+ description: string;
6
+ useWhen: string[];
7
+ notFor: string[];
8
+ deferTo: string[];
9
+ }
10
+ export interface CapabilityAgent {
11
+ id: string;
12
+ description: string;
13
+ }
14
+ /** The inventory generated into `lib/host-packages/capability-map.json` at build time. */
15
+ export interface CapabilityMap {
16
+ kind: 'openplanr-capability-map';
17
+ schemaVersion: string;
18
+ pluginVersion: string;
19
+ families: Array<{
20
+ id: string;
21
+ title: string;
22
+ }>;
23
+ skills: CapabilitySkill[];
24
+ agents: CapabilityAgent[];
25
+ }
26
+ export interface CapabilityMapContext {
27
+ prefix: string;
28
+ families: Array<{
29
+ title: string;
30
+ skills: Array<{
31
+ name: string;
32
+ lead: string;
33
+ useWhen: string;
34
+ notFor: string;
35
+ }>;
36
+ }>;
37
+ agents: Array<{
38
+ id: string;
39
+ summary: string;
40
+ }>;
41
+ }
42
+ /**
43
+ * Read the shipped capability map. `null` only when the package was built without
44
+ * its host packages (a source checkout before `npm run build`); a present but
45
+ * malformed file is an error, not a missing section.
46
+ */
47
+ export declare function readCapabilityMap(): CapabilityMap | null;
48
+ /** The first sentence of a description, used where a full description would repeat the triggers. */
49
+ export declare function leadSentence(text: string): string;
50
+ /**
51
+ * Shape the map for the instruction templates: skills grouped in the map's family
52
+ * order under a host-specific invocation prefix, agents only for hosts that run them.
53
+ */
54
+ export declare function capabilityMapContext(map: CapabilityMap, options: {
55
+ prefix: string;
56
+ includeAgents: boolean;
57
+ }): CapabilityMapContext;
58
+ //# sourceMappingURL=capability-map-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-map-service.d.ts","sourceRoot":"","sources":["../../src/services/capability-map-service.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,0FAA0F;AAC1F,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,0BAA0B,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,KAAK,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAChF,CAAC,CAAC;IACH,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AAaD;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,aAAa,GAAG,IAAI,CAQxD;AAED,oGAAoG;AACpG,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,GAClD,oBAAoB,CAkBtB"}
@@ -0,0 +1,58 @@
1
+ import { existsSync, readFileSync } from 'node:fs';
2
+ import path from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+ function locateCapabilityMap() {
5
+ const here = path.dirname(fileURLToPath(import.meta.url));
6
+ for (const candidate of [
7
+ path.resolve(here, '../../lib/host-packages/capability-map.json'),
8
+ path.resolve(here, '../../../lib/host-packages/capability-map.json'),
9
+ ]) {
10
+ if (existsSync(candidate))
11
+ return candidate;
12
+ }
13
+ return null;
14
+ }
15
+ /**
16
+ * Read the shipped capability map. `null` only when the package was built without
17
+ * its host packages (a source checkout before `npm run build`); a present but
18
+ * malformed file is an error, not a missing section.
19
+ */
20
+ export function readCapabilityMap() {
21
+ const location = locateCapabilityMap();
22
+ if (!location)
23
+ return null;
24
+ const parsed = JSON.parse(readFileSync(location, 'utf8'));
25
+ if (parsed.kind !== 'openplanr-capability-map' || !Array.isArray(parsed.skills)) {
26
+ throw new Error(`Capability map at ${location} is not an openplanr-capability-map document.`);
27
+ }
28
+ return parsed;
29
+ }
30
+ /** The first sentence of a description, used where a full description would repeat the triggers. */
31
+ export function leadSentence(text) {
32
+ const match = /^(.*?[.!?])(?:\s|$)/u.exec(text.trim());
33
+ return match ? match[1] : text.trim();
34
+ }
35
+ /**
36
+ * Shape the map for the instruction templates: skills grouped in the map's family
37
+ * order under a host-specific invocation prefix, agents only for hosts that run them.
38
+ */
39
+ export function capabilityMapContext(map, options) {
40
+ const families = map.families
41
+ .map((family) => ({
42
+ title: family.title,
43
+ skills: map.skills
44
+ .filter((skill) => skill.family === family.id)
45
+ .map((skill) => ({
46
+ name: skill.name,
47
+ lead: leadSentence(skill.description),
48
+ useWhen: skill.useWhen.join('; '),
49
+ notFor: skill.notFor.join('; '),
50
+ })),
51
+ }))
52
+ .filter((family) => family.skills.length > 0);
53
+ const agents = options.includeAgents
54
+ ? map.agents.map((agent) => ({ id: agent.id, summary: leadSentence(agent.description) }))
55
+ : [];
56
+ return { prefix: options.prefix, families, agents };
57
+ }
58
+ //# sourceMappingURL=capability-map-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-map-service.js","sourceRoot":"","sources":["../../src/services/capability-map-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAoCzC,SAAS,mBAAmB;IAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,KAAK,MAAM,SAAS,IAAI;QACtB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,6CAA6C,CAAC;QACjE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,gDAAgD,CAAC;KACrE,EAAE,CAAC;QACF,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IAC9C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IACvC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAA2B,CAAC;IACpF,IAAI,MAAM,CAAC,IAAI,KAAK,0BAA0B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAChF,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,+CAA+C,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,MAAuB,CAAC;AACjC,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,GAAkB,EAClB,OAAmD;IAEnD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ;SAC1B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,GAAG,CAAC,MAAM;aACf,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;aAC7C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACf,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC;YACrC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YACjC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;SAChC,CAAC,CAAC;KACN,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa;QAClC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACzF,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AACtD,CAAC"}
@@ -14,6 +14,12 @@ export interface EcosystemComponents {
14
14
  pipeline: EcosystemComponent;
15
15
  skills: EcosystemComponent;
16
16
  marketplace?: EcosystemComponent;
17
+ /**
18
+ * `registry` when derived from the npm registry document for the CLI (the
19
+ * pipeline is its exact bundled pin and the host plugin ships with it);
20
+ * `manifest` for the legacy `components` tuple manifest with explicit ranges.
21
+ */
22
+ shape?: 'registry' | 'manifest';
17
23
  }
18
24
  /**
19
25
  * Where the compatibility manifest came from for this reconciliation.
@@ -33,6 +39,10 @@ export interface UpgradeReconciliation {
33
39
  };
34
40
  published: EcosystemComponents | null;
35
41
  ecosystemSource: EcosystemSource;
42
+ /** The pipeline package this CLI bundles; the pipeline half when no pipeline plugin exists. */
43
+ bundledPipeline?: string | null;
44
+ /** Legacy host plugins still installed beside the unified plugin the marketplace now targets. */
45
+ legacyPlugins?: string[];
36
46
  }
37
47
  export interface ReconcileOptions {
38
48
  /** Injectable `claude` runner; defaults to the real host command. */
@@ -44,6 +54,16 @@ export interface ReconcileOptions {
44
54
  /** Hard fetch timeout in ms; a hung network must never exceed this. */
45
55
  timeoutMs?: number;
46
56
  }
57
+ /**
58
+ * The published compatible set is the npm registry's `latest` document for the
59
+ * CLI: its version is what a global install lands, and its exact `planr-pipeline`
60
+ * pin is the pipeline it bundles. The unified host plugin ships with the CLI, so
61
+ * no separate manifest describes it. `OPENPLANR_ECOSYSTEM_SOURCE` overrides the
62
+ * location with an `http(s)` URL (a local stub server) or a filesystem path (a
63
+ * fixture); either the registry document or the legacy `components` manifest is
64
+ * accepted there.
65
+ */
66
+ export declare const DEFAULT_ECOSYSTEM_SOURCE = "https://registry.npmjs.org/openplanr/latest";
47
67
  /**
48
68
  * FR3: read the published compatibility manifest, compare it against the real
49
69
  * installed tuple (this CLI's version, plus both host-plugin versions), and
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade-service.d.ts","sourceRoot":"","sources":["../../src/services/upgrade-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrade-service.d.ts","sourceRoot":"","sources":["../../src/services/upgrade-service.ts"],"names":[],"mappings":"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"}
@@ -3,18 +3,20 @@ import { existsSync, readFileSync } from 'node:fs';
3
3
  import { mkdir, readFile, writeFile } from 'node:fs/promises';
4
4
  import path from 'node:path';
5
5
  import { fileURLToPath } from 'node:url';
6
- import { formatClaudePluginOperationCommand, inspectClaudePluginIntegration, OPENPLANR_CLAUDE_MARKETPLACE_SOURCE, } from './claude-plugin-service.js';
6
+ import { formatClaudePluginOperationCommand, inspectClaudePluginIntegration, OPENPLANR_CLAUDE_PLUGIN, } from './claude-plugin-service.js';
7
7
  import { resolvePipelinePackage } from './pipeline-package-service.js';
8
8
  import { readOpenPlanrVersion } from './provenance-service.js';
9
9
  import { classifyComponentDrift, runtimeRoot } from './runtime-manager-service.js';
10
10
  /**
11
- * The published manifest lives at `main` HEAD of the marketplace repository,
12
- * whose closeout sequence guarantees HEAD only reflects a finalized operation.
13
- * `OPENPLANR_ECOSYSTEM_SOURCE` overrides it with an `http(s)` URL (a local stub
14
- * server) or a filesystem path (a fixture), which the packed e2e test uses to
15
- * avoid any real network.
11
+ * The published compatible set is the npm registry's `latest` document for the
12
+ * CLI: its version is what a global install lands, and its exact `planr-pipeline`
13
+ * pin is the pipeline it bundles. The unified host plugin ships with the CLI, so
14
+ * no separate manifest describes it. `OPENPLANR_ECOSYSTEM_SOURCE` overrides the
15
+ * location with an `http(s)` URL (a local stub server) or a filesystem path (a
16
+ * fixture); either the registry document or the legacy `components` manifest is
17
+ * accepted there.
16
18
  */
17
- const DEFAULT_ECOSYSTEM_URL = `https://raw.githubusercontent.com/${OPENPLANR_CLAUDE_MARKETPLACE_SOURCE}/main/ecosystem.json`;
19
+ export const DEFAULT_ECOSYSTEM_SOURCE = 'https://registry.npmjs.org/openplanr/latest';
18
20
  /**
19
21
  * Within the TTL the cached manifest is trusted without a network round-trip.
20
22
  * This is what keeps an otherwise-offline-capable CLI from acquiring a network
@@ -28,32 +30,55 @@ const CACHE_TTL_MS = 15 * 60 * 1000;
28
30
  */
29
31
  const DEFAULT_FETCH_TIMEOUT_MS = 2_000;
30
32
  function ecosystemSourceLocation() {
31
- return process.env.OPENPLANR_ECOSYSTEM_SOURCE?.trim() || DEFAULT_ECOSYSTEM_URL;
33
+ return process.env.OPENPLANR_ECOSYSTEM_SOURCE?.trim() || DEFAULT_ECOSYSTEM_SOURCE;
32
34
  }
33
35
  function ecosystemCachePath() {
34
36
  return path.join(runtimeRoot(), 'ecosystem-cache.json');
35
37
  }
36
- /** Narrow the raw manifest JSON to the compatibility components we reconcile. */
38
+ /** Narrow the raw published JSON to the compatibility components we reconcile. */
37
39
  function parseComponents(text) {
38
40
  try {
39
41
  const data = JSON.parse(text);
40
- const components = data.components;
41
- if (!components?.cli?.version || !components.pipeline?.version || !components.skills?.version) {
42
- return null;
43
- }
44
- return {
45
- cli: { version: components.cli.version, ...pickRange(components.cli) },
46
- pipeline: { version: components.pipeline.version, ...pickRange(components.pipeline) },
47
- skills: { version: components.skills.version, ...pickRange(components.skills) },
48
- ...(components.marketplace?.version
49
- ? { marketplace: { version: components.marketplace.version } }
50
- : {}),
51
- };
42
+ return parseTupleManifest(data) ?? parseRegistryDocument(data);
52
43
  }
53
44
  catch {
54
45
  return null;
55
46
  }
56
47
  }
48
+ /** The legacy tuple manifest: three versioned components with explicit mutual ranges. */
49
+ function parseTupleManifest(data) {
50
+ const components = data.components;
51
+ if (!components?.cli?.version || !components.pipeline?.version || !components.skills?.version) {
52
+ return null;
53
+ }
54
+ return {
55
+ cli: { version: components.cli.version, ...pickRange(components.cli) },
56
+ pipeline: { version: components.pipeline.version, ...pickRange(components.pipeline) },
57
+ skills: { version: components.skills.version, ...pickRange(components.skills) },
58
+ ...(components.marketplace?.version
59
+ ? { marketplace: { version: components.marketplace.version } }
60
+ : {}),
61
+ shape: 'manifest',
62
+ };
63
+ }
64
+ /**
65
+ * The npm registry document for the CLI. The pipeline component is the exact
66
+ * `planr-pipeline` pin the published CLI bundles; the skills component is the
67
+ * host plugin generated from that same CLI version.
68
+ */
69
+ function parseRegistryDocument(data) {
70
+ if (data.name !== 'openplanr' || typeof data.version !== 'string')
71
+ return null;
72
+ const pin = data.optionalDependencies?.['planr-pipeline'] ?? data.dependencies?.['planr-pipeline'];
73
+ if (typeof pin !== 'string' || !stableVersionParts(pin))
74
+ return null;
75
+ return {
76
+ cli: { version: data.version },
77
+ pipeline: { version: pin },
78
+ skills: { version: data.version },
79
+ shape: 'registry',
80
+ };
81
+ }
57
82
  function pickRange(component) {
58
83
  return {
59
84
  ...(component.cliRange ? { cliRange: component.cliRange } : {}),
@@ -214,35 +239,63 @@ function isBehind(installed, published) {
214
239
  */
215
240
  export async function reconcileInstalledTuple(_projectDir, options = {}) {
216
241
  const cliVersion = readOpenPlanrVersion();
217
- const pipelinePackageVersion = resolvePipelinePackage(false)?.version ?? cliVersion;
218
- const inspection = inspectClaudePluginIntegration(pipelinePackageVersion, options.claudeCommandRunner);
219
- const skillsInstalled = inspection.plugins.find((plugin) => plugin.name === 'openplanr')?.installedVersion ?? null;
220
- const pipelineInstalled = inspection.plugins.find((plugin) => plugin.name === 'planr-pipeline')?.installedVersion ?? null;
221
- const installed = { cli: cliVersion, skills: skillsInstalled, pipeline: pipelineInstalled };
242
+ const bundledPipeline = resolvePipelinePackage(false)?.version ?? null;
243
+ const inspection = inspectClaudePluginIntegration(bundledPipeline ?? cliVersion, options.claudeCommandRunner);
244
+ const pluginVersion = (name) => inspection.plugins.find((plugin) => plugin.name === name)?.installedVersion ?? null;
245
+ const installed = {
246
+ cli: cliVersion,
247
+ skills: pluginVersion(OPENPLANR_CLAUDE_PLUGIN) ?? pluginVersion('openplanr'),
248
+ pipeline: pluginVersion('planr-pipeline'),
249
+ };
250
+ const legacyPlugins = inspection.legacyPluginIds;
222
251
  const { components: published, source: ecosystemSource } = await loadEcosystem(options);
223
252
  if (!published) {
224
- return { status: 'unknown', installed, published: null, ecosystemSource };
253
+ return {
254
+ status: 'unknown',
255
+ installed,
256
+ published: null,
257
+ ecosystemSource,
258
+ bundledPipeline,
259
+ legacyPlugins,
260
+ };
225
261
  }
226
262
  // "Behind", not "different". `classifyComponentDrift` documents `cliDrift` as "a CLI
227
263
  // that merely trails an upgrade", so a direction check is what that input was always
228
264
  // meant to carry — an installed component ahead of the registry has nothing to upgrade.
229
265
  const cliDrift = isBehind(installed.cli, published.cli.version);
230
- const componentDrift = cliDrift ||
231
- isBehind(installed.skills, published.skills.version) ||
232
- isBehind(installed.pipeline, published.pipeline.version);
233
- // A real mutual-compatibility violation: an installed component sits outside
234
- // the range its published sibling declares. Absent (uninstalled) plugins are
235
- // not violations that is a different condition from incompatibility.
236
- const incompatibleDrift = violatesRange(installed.pipeline, published.cli.pipelineRange) ||
237
- violatesRange(installed.cli, published.skills.cliRange) ||
238
- violatesRange(installed.cli, published.pipeline.cliRange);
266
+ let componentDrift;
267
+ let incompatibleDrift;
268
+ if (published.shape === 'registry') {
269
+ // The host plugin is judged against the marketplace target the inspection already
270
+ // resolved, and the pipeline against the pin the published CLI bundles. The only
271
+ // incompatibility a registry-described set can have is a leftover legacy plugin.
272
+ const pluginTrailing = inspection.plugins.some((plugin) => plugin.installed && isBehind(plugin.installedVersion ?? null, plugin.expectedVersion));
273
+ componentDrift =
274
+ cliDrift ||
275
+ pluginTrailing ||
276
+ isBehind(installed.pipeline ?? bundledPipeline, published.pipeline.version);
277
+ incompatibleDrift = legacyPlugins.length > 0;
278
+ }
279
+ else {
280
+ componentDrift =
281
+ cliDrift ||
282
+ isBehind(installed.skills, published.skills.version) ||
283
+ isBehind(installed.pipeline, published.pipeline.version);
284
+ // A real mutual-compatibility violation: an installed component sits outside
285
+ // the range its published sibling declares. Absent (uninstalled) plugins are
286
+ // not violations — that is a different condition from incompatibility.
287
+ incompatibleDrift =
288
+ violatesRange(installed.pipeline, published.cli.pipelineRange) ||
289
+ violatesRange(installed.cli, published.skills.cliRange) ||
290
+ violatesRange(installed.cli, published.pipeline.cliRange);
291
+ }
239
292
  const classification = classifyComponentDrift({ cliDrift, componentDrift, incompatibleDrift });
240
293
  const status = classification.status === 'pass'
241
294
  ? 'aligned'
242
295
  : classification.status === 'warn'
243
296
  ? 'upgrade-available'
244
297
  : 'incompatible';
245
- return { status, installed, published, ecosystemSource };
298
+ return { status, installed, published, ecosystemSource, bundledPipeline, legacyPlugins };
246
299
  }
247
300
  /**
248
301
  * The npm-owned half of an upgrade is a single global install. This mirrors
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade-service.js","sourceRoot":"","sources":["../../src/services/upgrade-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrade-service.js","sourceRoot":"","sources":["../../src/services/upgrade-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAGL,kCAAkC,EAClC,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AA0DnF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,6CAA6C,CAAC;AAEtF;;;;GAIG;AACH,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEpC;;;;GAIG;AACH,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAEvC,SAAS,uBAAuB;IAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,EAAE,IAAI,wBAAwB,CAAC;AACpF,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,sBAAsB,CAAC,CAAC;AAC1D,CAAC;AAeD,kFAAkF;AAClF,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAyB,CAAC;QACtD,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,yFAAyF;AACzF,SAAS,kBAAkB,CAAC,IAA0B;IACpD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACnC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;QAC9F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,GAAG,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QACtE,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QACrF,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QAC/E,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO;YACjC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE;YAC9D,CAAC,CAAC,EAAE,CAAC;QACP,KAAK,EAAE,UAAU;KAClB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,IAA0B;IACvD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC/E,MAAM,GAAG,GACP,IAAI,CAAC,oBAAoB,EAAE,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,gBAAgB,CAAC,CAAC;IACzF,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACrE,OAAO;QACL,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;QAC9B,QAAQ,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE;QAC1B,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;QACjC,KAAK,EAAE,UAAU;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,SAA6B;IAI9C,OAAO;QACL,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/E,CAAC;AACJ,CAAC;AAOD,SAAS,SAAS;IAChB,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;IACvC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAuB,CAAC;QACjF,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,UAA+B,EAAE,GAAW;IACpE,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;IACvC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAc,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;IAC1D,MAAM,SAAS,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC9E,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,iBAAiB,CAC9B,QAAgB,EAChB,SAAuB,EACvB,SAAiB;IAEjB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,OAAO,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,KAAgD,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAC5C,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACtB,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,CAAC,KAAK,IAA4B,EAAE;QAClD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1E,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC;YAC9B,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,CAAC;YAAS,CAAC;QACT,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,OAAyB;IAEzB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,IAAI,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,GAAG,YAAY,EAAE,CAAC;QAClD,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC3D,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,wBAAwB,CAAC;IAChE,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACtF,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC/B,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACpD,CAAC;IAED,IAAI,KAAK;QAAE,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IAC1E,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;AACrD,CAAC;AAED,kFAAkF;AAClF,SAAS,kBAAkB,CAAC,OAAe;IACzC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,OAAe,EAAE,KAAa;IACpD,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5D,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;IAClD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,sFAAsF;AACtF,SAAS,aAAa,CAAC,OAAsB,EAAE,KAAyB;IACtE,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACrC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,QAAQ,CAAC,SAAwB,EAAE,SAA6B;IACvE,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACrC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;IAClD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,WAAmB,EACnB,UAA4B,EAAE;IAE9B,MAAM,UAAU,GAAG,oBAAoB,EAAE,CAAC;IAC1C,MAAM,eAAe,GAAG,sBAAsB,CAAC,KAAK,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC;IACvE,MAAM,UAAU,GAAG,8BAA8B,CAC/C,eAAe,IAAI,UAAU,EAC7B,OAAO,CAAC,mBAAmB,CAC5B,CAAC;IACF,MAAM,aAAa,GAAG,CAAC,IAAY,EAAiB,EAAE,CACpD,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,gBAAgB,IAAI,IAAI,CAAC;IACtF,MAAM,SAAS,GAAG;QAChB,GAAG,EAAE,UAAU;QACf,MAAM,EAAE,aAAa,CAAC,uBAAuB,CAAC,IAAI,aAAa,CAAC,WAAW,CAAC;QAC5E,QAAQ,EAAE,aAAa,CAAC,gBAAgB,CAAC;KAC1C,CAAC;IACF,MAAM,aAAa,GAAG,UAAU,CAAC,eAAe,CAAC;IAEjD,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IACxF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,SAAS;YACT,SAAS,EAAE,IAAI;YACf,eAAe;YACf,eAAe;YACf,aAAa;SACd,CAAC;IACJ,CAAC;IAED,qFAAqF;IACrF,qFAAqF;IACrF,wFAAwF;IACxF,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChE,IAAI,cAAuB,CAAC;IAC5B,IAAI,iBAA0B,CAAC;IAC/B,IAAI,SAAS,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACnC,kFAAkF;QAClF,iFAAiF;QACjF,iFAAiF;QACjF,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAC5C,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,gBAAgB,IAAI,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,CACxF,CAAC;QACF,cAAc;YACZ,QAAQ;gBACR,cAAc;gBACd,QAAQ,CAAC,SAAS,CAAC,QAAQ,IAAI,eAAe,EAAE,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9E,iBAAiB,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,cAAc;YACZ,QAAQ;gBACR,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;gBACpD,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC3D,6EAA6E;QAC7E,6EAA6E;QAC7E,uEAAuE;QACvE,iBAAiB;YACf,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;gBAC9D,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACvD,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,cAAc,GAAG,sBAAsB,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC/F,MAAM,MAAM,GACV,cAAc,CAAC,MAAM,KAAK,MAAM;QAC9B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,cAAc,CAAC,MAAM,KAAK,MAAM;YAChC,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,cAAc,CAAC;IAEvB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC;AAC3F,CAAC;AAiBD;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CAAC,IAAc;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;IACvD,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;IAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5E,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1D,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE;QAC7C,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,IAAI;QACjB,KAAK,EAAE,CAAC,QAAQ,IAAI,SAAS;KAC9B,CAAC,CAAC;IACH,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,SAAS,qBAAqB,CAAC,CAAS,EAAE,CAAS;IACjD,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC;IAC9B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAQD;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,cAAqC;IAClE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC;IACxD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,gBAAgB,EAAE,IAAI;YACtB,MAAM,EACJ,2FAA2F;SAC9F,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;IACrC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,gBAAgB,EAAE,IAAI;YACtB,MAAM,EACJ,uFAAuF;SAC1F,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,KAAK,mBAAmB,EAAE,CAAC;QACnC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,gBAAgB,EAAE,MAAM;YACxB,MAAM,EAAE,kDAAkD,SAAS,CAAC,GAAG,OAAO,MAAM,GAAG;SACxF,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,KAAK,cAAc,IAAI,qBAAqB,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAClF,OAAO;YACL,OAAO,EAAE,IAAI;YACb,gBAAgB,EAAE,MAAM;YACxB,MAAM,EAAE,wEAAwE,SAAS,CAAC,GAAG,OAAO,MAAM,GAAG;SAC9G,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,0CAA0C,SAAS,CAAC,GAAG,iCAAiC,MAAM,kEAAkE;SACzK,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE,KAAK;QACd,gBAAgB,EAAE,IAAI;QACtB,MAAM,EAAE,gCAAgC;KACzC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe;IACtB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,KAAK,MAAM,SAAS,IAAI;QACtB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,oBAAoB,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,uBAAuB,CAAC;KAC5C,EAAE,CAAC;QACF,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IAC9C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY,EAAE,OAAe;IAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,OAAO,OAAO,KAAK,MAAM,OAAO,EAAE,IAAI,OAAO,KAAK,OAAO,OAAO,GAAG,CAAC;AACtE,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAAC,KAAe;IAC9C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5E,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,yBAAyB,CAAC,UAAkB,EAAE,UAAkB;IAC9E,MAAM,aAAa,GAAG,eAAe,EAAE,CAAC;IACxC,IAAI,CAAC,aAAa;QAAE,OAAO,EAAE,CAAC;IAC9B,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IACvF,IAAI,UAAU,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,IAAI,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAI,qBAAqB,GAAG,KAAK,CAAC,MAAM,CAAC;IACzC,KAAK,IAAI,KAAK,GAAG,UAAU,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAClE,IAAI,qBAAqB,KAAK,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAChF,qBAAqB,GAAG,KAAK,CAAC;QAChC,CAAC;QACD,IAAI,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;YACrD,QAAQ,GAAG,KAAK,CAAC;YACjB,MAAM;QACR,CAAC;IACH,CAAC;IACD,wEAAwE;IACxE,4CAA4C;IAC5C,IAAI,QAAQ,KAAK,KAAK,CAAC,MAAM;QAAE,QAAQ,GAAG,qBAAqB,CAAC;IAEhE,OAAO,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B,CAAC,UAAmC;IAC7E,MAAM,IAAI,GAAG,CAAC,SAAgC,EAAU,EAAE,CACxD,SAAS,CAAC,IAAI,KAAK,iBAAiB,IAAI,SAAS,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3F,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;AACnG,CAAC;AAuBD;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,mBAAyC;IAC9E,MAAM,eAAe,GAAG,sBAAsB,CAAC,KAAK,CAAC,EAAE,OAAO,IAAI,oBAAoB,EAAE,CAAC;IACzF,MAAM,UAAU,GAAG,8BAA8B,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;IACxF,OAAO,2BAA2B,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC5D,CAAC;AAgCD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAiC;IAEjC,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,IAAI,gBAAgB,CAAC;IAC1D,0EAA0E;IAC1E,0CAA0C;IAC1C,MAAM,eAAe,GAAG,oBAAoB,EAAE,CAAC;IAE/C,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;IACjF,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,2EAA2E;QAC3E,4DAA4D;QAC5D,MAAM,MAAM,GACV,OAAO,CAAC,KAAK,EAAE,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,0BAA0B,OAAO,CAAC,MAAM,EAAE,CAAC;QAChG,OAAO;YACL,EAAE,EAAE,KAAK;YACT,WAAW,EAAE,KAAK;YAClB,gBAAgB,EAAE,oBAAoB,EAAE;YACxC,gBAAgB,EAAE,EAAE;YACpB,kBAAkB,EAAE,EAAE;YACtB,UAAU,EAAE,EAAE;YACd,OAAO,EAAE;gBACP,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,4BAA4B,KAAK,CAAC,gBAAgB,YAAY,MAAM,0BAA0B,eAAe,gBAAgB;aACvI;SACF,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,MAAM,eAAe,GAAG,oBAAoB,EAAE,CAAC;IAC/C,IAAI,eAAe,KAAK,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC/C,4EAA4E;QAC5E,0DAA0D;QAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,eAAe,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,eAAe,GAAG,oBAAoB,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,KAAK,eAAe,CAAC;QAC/F,MAAM,OAAO,GAAG,QAAQ;YACtB,CAAC,CAAC,sCAAsC,eAAe,SAAS,KAAK,CAAC,gBAAgB,mCAAmC,eAAe,iEAAiE,KAAK,CAAC,gBAAgB,GAAG;YAClO,CAAC,CAAC,sCAAsC,eAAe,SAAS,KAAK,CAAC,gBAAgB,qDAAqD,eAAe,qDAAqD,eAAe,KAAK,CAAC;QACtO,OAAO;YACL,EAAE,EAAE,KAAK;YACT,WAAW,EAAE,KAAK;YAClB,gBAAgB,EAAE,eAAe;YACjC,UAAU,EAAE,eAAe;YAC3B,gBAAgB,EAAE,EAAE;YACpB,kBAAkB,EAAE,EAAE;YACtB,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;SACrC,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,wEAAwE;IACxE,0EAA0E;IAC1E,4EAA4E;IAC5E,oCAAoC;IACpC,MAAM,UAAU,GAAG,KAAK,CAAC,eAAe;QACtC,CAAC,CAAC,MAAM,KAAK,CAAC,eAAe,CAAC,eAAe,EAAE,eAAe,EAAE;YAC5D,UAAU,EAAE,KAAK,CAAC,UAAU;SAC7B,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,eAAe,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;IACxF,IAAI,eAAe,EAAE,CAAC;QACpB,4EAA4E;QAC5E,uEAAuE;QACvE,6EAA6E;QAC7E,qEAAqE;QACrE,OAAO;YACL,EAAE,EAAE,KAAK;YACT,WAAW,EAAE,IAAI;YACjB,gBAAgB,EAAE,eAAe;YACjC,gBAAgB,EAAE,EAAE;YACpB,kBAAkB,EAAE,EAAE;YACtB,UAAU;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,uBAAuB,eAAe,sCAAsC,eAAe,CAAC,EAAE,cAAc,eAAe,CAAC,OAAO,+GAA+G;aAC5P;SACF,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,6EAA6E;IAC7E,8EAA8E;IAC9E,8EAA8E;IAC9E,0BAA0B;IAC1B,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IACrF,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAE7E,OAAO;QACL,EAAE,EAAE,IAAI;QACR,WAAW,EAAE,IAAI;QACjB,gBAAgB,EAAE,eAAe;QACjC,gBAAgB;QAChB,kBAAkB;QAClB,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -8,6 +8,10 @@ This project uses OpenPlanr planning context under `{{agilePath}}/`.
8
8
  {{#if pipelineScope}}
9
9
 
10
10
  {{{hostNativeGuidance}}}
11
+ {{#if capabilityMap}}
12
+
13
+ {{{capabilityMap}}}
14
+ {{/if}}
11
15
  {{/if}}
12
16
  {{#if existingEpics}}
13
17