@dendelion/paper-camp 0.19.0 → 0.21.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 (100) hide show
  1. package/README.md +34 -0
  2. package/dist/app/assets/index-BK4XPXt_.js +4 -0
  3. package/dist/app/assets/index-BK4XPXt_.js.map +1 -0
  4. package/dist/app/assets/index-BZnU3b_x.js +2 -0
  5. package/dist/app/assets/index-BZnU3b_x.js.map +1 -0
  6. package/dist/app/assets/index-BxQBW2Oi.js +2 -0
  7. package/dist/app/assets/index-BxQBW2Oi.js.map +1 -0
  8. package/dist/app/assets/index-COEivZHG.js +6 -0
  9. package/dist/app/assets/index-COEivZHG.js.map +1 -0
  10. package/dist/app/assets/index-COQOoPiS.js +2 -0
  11. package/dist/app/assets/{index-B6251tL6.js.map → index-COQOoPiS.js.map} +1 -1
  12. package/dist/app/assets/index-DIlqYxon.js +7 -0
  13. package/dist/app/assets/index-DIlqYxon.js.map +1 -0
  14. package/dist/app/assets/index-VXeQcBh1.js +2 -0
  15. package/dist/app/assets/index-VXeQcBh1.js.map +1 -0
  16. package/dist/app/assets/{index-nuVVSVma.js → index-vgBxkLmQ.js} +2 -2
  17. package/dist/app/assets/index-vgBxkLmQ.js.map +1 -0
  18. package/dist/app/assets/main-DEUaro51.css +1 -0
  19. package/dist/app/assets/main-s2b5XHSS.js +425 -0
  20. package/dist/app/assets/main-s2b5XHSS.js.map +1 -0
  21. package/dist/app/assets/sidebar-section-4MxZoa3M.js +2 -0
  22. package/dist/app/assets/sidebar-section-4MxZoa3M.js.map +1 -0
  23. package/dist/app/index.html +6 -6
  24. package/dist/app/toolbar.js +13828 -5485
  25. package/dist/app/toolbar.js.map +1 -1
  26. package/dist/chunks/{phase-progress.CwSKAAZ-.js → phase-progress.DimXpZFz.js} +1909 -1746
  27. package/dist/chunks/phase-progress.DimXpZFz.js.map +1 -0
  28. package/dist/cli/index.js +6765 -6293
  29. package/dist/cli/index.js.map +1 -1
  30. package/dist/core/corpus-format.d.ts +25 -0
  31. package/dist/core/corpus-format.d.ts.map +1 -0
  32. package/dist/core/corpus-format.test.d.ts +2 -0
  33. package/dist/core/corpus-format.test.d.ts.map +1 -0
  34. package/dist/core/doctor/checks/metadata.d.ts.map +1 -1
  35. package/dist/core/doctor/rules.d.ts +6 -1
  36. package/dist/core/doctor/rules.d.ts.map +1 -1
  37. package/dist/core/entity-view.d.ts +6 -0
  38. package/dist/core/entity-view.d.ts.map +1 -0
  39. package/dist/core/git-log.d.ts +2 -0
  40. package/dist/core/git-log.d.ts.map +1 -1
  41. package/dist/core/git-pr/pr-lookup.d.ts +6 -1
  42. package/dist/core/git-pr/pr-lookup.d.ts.map +1 -1
  43. package/dist/core/git-pr/pr.d.ts +10 -0
  44. package/dist/core/git-pr/pr.d.ts.map +1 -1
  45. package/dist/core/index.js +102 -99
  46. package/dist/core/issues.d.ts +50 -0
  47. package/dist/core/issues.d.ts.map +1 -0
  48. package/dist/core/issues.test.d.ts +2 -0
  49. package/dist/core/issues.test.d.ts.map +1 -0
  50. package/dist/core/parse/parser.d.ts.map +1 -1
  51. package/dist/core/parse/schemas.d.ts +19 -4
  52. package/dist/core/parse/schemas.d.ts.map +1 -1
  53. package/dist/core/phase-run.d.ts +1 -0
  54. package/dist/core/phase-run.d.ts.map +1 -1
  55. package/dist/core/readers.d.ts +11 -5
  56. package/dist/core/readers.d.ts.map +1 -1
  57. package/dist/core/release-notes.d.ts +2 -0
  58. package/dist/core/release-notes.d.ts.map +1 -1
  59. package/dist/core/roadmap.d.ts +21 -0
  60. package/dist/core/roadmap.d.ts.map +1 -1
  61. package/dist/core/run-order.d.ts +2 -1
  62. package/dist/core/run-order.d.ts.map +1 -1
  63. package/dist/core/scaffold/scaffold.d.ts +1 -2
  64. package/dist/core/scaffold/scaffold.d.ts.map +1 -1
  65. package/dist/core/scaffold/templates.d.ts +1 -1
  66. package/dist/core/scaffold/templates.d.ts.map +1 -1
  67. package/dist/core/sections.d.ts.map +1 -1
  68. package/dist/core/serialize/entity-file.d.ts +79 -0
  69. package/dist/core/serialize/entity-file.d.ts.map +1 -0
  70. package/dist/core/serialize/index.d.ts +1 -0
  71. package/dist/core/serialize/index.d.ts.map +1 -1
  72. package/dist/core/serialize/serializer.d.ts +1 -74
  73. package/dist/core/serialize/serializer.d.ts.map +1 -1
  74. package/dist/core/stats.d.ts +2 -0
  75. package/dist/core/stats.d.ts.map +1 -1
  76. package/dist/core/status/status.d.ts +25 -4
  77. package/dist/core/status/status.d.ts.map +1 -1
  78. package/dist/types/index.d.ts +86 -8
  79. package/dist/types/index.d.ts.map +1 -1
  80. package/dist/types/index.js +16 -15
  81. package/dist/types/index.js.map +1 -1
  82. package/package.json +3 -3
  83. package/dist/app/assets/index-B6251tL6.js +0 -2
  84. package/dist/app/assets/index-BNoowtMI.js +0 -7
  85. package/dist/app/assets/index-BNoowtMI.js.map +0 -1
  86. package/dist/app/assets/index-D2iIIpI1.js +0 -4
  87. package/dist/app/assets/index-D2iIIpI1.js.map +0 -1
  88. package/dist/app/assets/index-D5j1njQR.js +0 -2
  89. package/dist/app/assets/index-D5j1njQR.js.map +0 -1
  90. package/dist/app/assets/index-DLkUANCR.js +0 -2
  91. package/dist/app/assets/index-DLkUANCR.js.map +0 -1
  92. package/dist/app/assets/index-nuVVSVma.js.map +0 -1
  93. package/dist/app/assets/index-s6CVH54G.js +0 -6
  94. package/dist/app/assets/index-s6CVH54G.js.map +0 -1
  95. package/dist/app/assets/main--EStESJz.js +0 -217
  96. package/dist/app/assets/main--EStESJz.js.map +0 -1
  97. package/dist/app/assets/main-CAJuC1Pz.css +0 -1
  98. package/dist/app/assets/sidebar-section-DTU8Naqm.js +0 -2
  99. package/dist/app/assets/sidebar-section-DTU8Naqm.js.map +0 -1
  100. package/dist/chunks/phase-progress.CwSKAAZ-.js.map +0 -1
@@ -0,0 +1,25 @@
1
+ /**
2
+ * The corpus's on-disk schema version, stored in papercamp/config.json's `version`
3
+ * field. Bumped only when the frontmatter/config shape changes, not on every package
4
+ * release. Distinct from the npm package version.
5
+ */
6
+ export declare const CORPUS_FORMAT_VERSION = 1;
7
+ export declare class CorpusTooNewError extends Error {
8
+ constructor(corpusVersion: number);
9
+ }
10
+ /**
11
+ * Refuses only a corpus declaring a format newer than this paper-camp's, since writing
12
+ * it back would silently drop fields this version can't preserve. Older/unstamped is fine.
13
+ */
14
+ export declare function assertCorpusWritable(configPath: string): Promise<void>;
15
+ export interface CorpusFormatBump {
16
+ from: number | null;
17
+ to: number;
18
+ }
19
+ /**
20
+ * Explicit, reviewable counterpart to assertCorpusWritable: stamps config.json with the
21
+ * current format version as an ordinary file change for `git diff`, never run implicitly
22
+ * on load. No-op (returns null) if the corpus is already current or ahead.
23
+ */
24
+ export declare function bumpCorpusFormat(configPath: string): Promise<CorpusFormatBump | null>;
25
+ //# sourceMappingURL=corpus-format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"corpus-format.d.ts","sourceRoot":"","sources":["../../src/core/corpus-format.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,aAAa,EAAE,MAAM;CAMlC;AAsBD;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK5E;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAQ3F"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=corpus-format.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"corpus-format.test.d.ts","sourceRoot":"","sources":["../../src/core/corpus-format.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../../src/core/doctor/checks/metadata.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,WAAW,CAAC;AA6I/D,eAAO,MAAM,cAAc,EAAE,WAAW,EAKvC,CAAC"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../../src/core/doctor/checks/metadata.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,WAAW,CAAC;AA0J/D,eAAO,MAAM,cAAc,EAAE,WAAW,EAMvC,CAAC"}
@@ -10,7 +10,7 @@ export declare const DOCTOR_RULES: readonly [{
10
10
  readonly id: "frontmatter-schema";
11
11
  readonly category: "metadata";
12
12
  readonly severity: "error";
13
- readonly summary: "Frontmatter fails entityFrontmatterSchema — missing required field, unknown key, bad enum, malformed date, or a violated note/status refinement.";
13
+ readonly summary: "Frontmatter fails entityFrontmatterSchema — missing required field, bad enum, malformed date, or a violated note/status refinement.";
14
14
  }, {
15
15
  readonly id: "filename-id-mismatch";
16
16
  readonly category: "metadata";
@@ -26,6 +26,11 @@ export declare const DOCTOR_RULES: readonly [{
26
26
  readonly category: "metadata";
27
27
  readonly severity: "error";
28
28
  readonly summary: "An entity id is greater than or equal to config.nextId.idea, so the next mint collides with an existing file.";
29
+ }, {
30
+ readonly id: "corpus-format-too-new";
31
+ readonly category: "metadata";
32
+ readonly severity: "error";
33
+ readonly summary: "config.version is newer than the format this paper-camp understands; reads stay tolerant but writes are refused until it upgrades.";
29
34
  }, {
30
35
  readonly id: "phases-list-split";
31
36
  readonly category: "structural";
@@ -1 +1 @@
1
- {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../../src/core/doctor/rules.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,SAAS,CAAC;AAEjD,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,YAAY,CAAC;AAEvD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqDiB,CAAC;AAE3C,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AAE/D,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,YAAY,EAAE,UAAU,CAE3B,CAAC"}
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../../src/core/doctor/rules.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,SAAS,CAAC;AAEjD,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,YAAY,CAAC;AAEvD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4DiB,CAAC;AAE3C,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AAE/D,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,YAAY,EAAE,UAAU,CAE3B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { EntityEntry, IdeaEntry, PlanEntry, PrInfo } from '../types/index';
2
+ /** Status is derived via deriveStatus, not read from `e.status` — that field stays the
3
+ * raw stored override so round-tripping an EntityEntry back to disk never persists a derived value. */
4
+ export declare function entityToPlan(e: EntityEntry, pr?: PrInfo, prLookupResolved?: boolean, hasMainActivity?: boolean): PlanEntry;
5
+ export declare function entityToIdea(e: EntityEntry): IdeaEntry;
6
+ //# sourceMappingURL=entity-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-view.d.ts","sourceRoot":"","sources":["../../src/core/entity-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EAET,SAAS,EAET,MAAM,EACP,MAAM,gBAAgB,CAAC;AASxB;uGACuG;AACvG,wBAAgB,YAAY,CAC1B,CAAC,EAAE,WAAW,EACd,EAAE,CAAC,EAAE,MAAM,EACX,gBAAgB,UAAQ,EACxB,eAAe,UAAQ,GACtB,SAAS,CA+BX;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,WAAW,GAAG,SAAS,CAYtD"}
@@ -1,6 +1,8 @@
1
1
  export declare const COMMIT_SHA_RE: RegExp;
2
2
  export declare function runGit(root: string, args: string[]): Promise<string>;
3
3
  export declare function resolveDefaultBranch(root: string): Promise<string>;
4
+ /** Matches a release-please line, a raw commit subject, or (for pre-squash history)
5
+ * a merge commit's own source-branch name, since those predate the `(IDEA-N)` convention. */
4
6
  export declare function resolveIdFromCommitMessage(message: string): string | null;
5
7
  export declare function resolveIdsWithMainActivity(root: string): Promise<Set<string>>;
6
8
  //# sourceMappingURL=git-log.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"git-log.d.ts","sourceRoot":"","sources":["../../src/core/git-log.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,QAAsB,CAAC;AAIjD,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAUpE;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGxE;AAOD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQzE;AAED,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CASnF"}
1
+ {"version":3,"file":"git-log.d.ts","sourceRoot":"","sources":["../../src/core/git-log.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,QAAsB,CAAC;AAIjD,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAUpE;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGxE;AAED;6FAC6F;AAC7F,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQzE;AAED,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CASnF"}
@@ -44,5 +44,10 @@ export declare function resolvePrsByEntity(root: string, ttlMs?: number): Promis
44
44
  /** Reads the timestamp of the last successful GitHub fetch without triggering one
45
45
  * — falls back to the on-disk map if nothing's cached in memory yet. */
46
46
  export declare function getPrMapFetchedAt(root: string): Promise<number | null>;
47
- export declare function clearPrCache(): void;
47
+ /** Zeroing rather than removing the persisted `fetchedAt` (both in memory and on
48
+ * disk) means the next read for `root` fails its TTL check and fetches live,
49
+ * while the map itself survives as the fallback if that fetch errors. Called
50
+ * with no `root`, it drops the whole in-memory cache instead — used by tests to
51
+ * simulate a process restart, where the persisted file must stay untouched. */
52
+ export declare function clearPrCache(root?: string): Promise<void>;
48
53
  //# sourceMappingURL=pr-lookup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pr-lookup.d.ts","sourceRoot":"","sources":["../../../src/core/git-pr/pr-lookup.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAkB,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAuF9E,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC/B,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAChC,MAAM,GAAG,IAAI,CAKf;AA2BD;;;2BAG2B;AAC3B,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAK9F;AA+HD,sEAAsE;AACtE,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAkB/F;AAgBD,+GAA+G;AAC/G,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAK1F;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAKlB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,iBAAiB,CAAC;IACjD,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED;mFACmF;AACnF,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAuBD;qEACqE;AACrE,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,gBAAgB,CAAC,CAQ3B;AAED;;yEAEyE;AACzE,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,gBAAgB,CAAC,CAO3B;AAgDD;wEACwE;AACxE,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,KAAK,SAAkB,GACtB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CA2B1C;AAED;wEACwE;AACxE,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAU5E;AAED,wBAAgB,YAAY,IAAI,IAAI,CAEnC"}
1
+ {"version":3,"file":"pr-lookup.d.ts","sourceRoot":"","sources":["../../../src/core/git-pr/pr-lookup.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAkB,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAuF9E,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC/B,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAChC,MAAM,GAAG,IAAI,CAKf;AA2BD;;;2BAG2B;AAC3B,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAK9F;AA+HD,sEAAsE;AACtE,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAkB/F;AAgBD,+GAA+G;AAC/G,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAK1F;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAKlB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,iBAAiB,CAAC;IACjD,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED;mFACmF;AACnF,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAuBD;qEACqE;AACrE,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,gBAAgB,CAAC,CAQ3B;AAED;;yEAEyE;AACzE,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,gBAAgB,CAAC,CAO3B;AA+CD;wEACwE;AACxE,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,KAAK,SAAkB,GACtB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CA2B1C;AAED;wEACwE;AACxE,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAU5E;AAED;;;;+EAI+E;AAC/E,wBAAsB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB/D"}
@@ -26,6 +26,16 @@ export declare function syncPrTitleToPr(root: string, ref: string): Promise<'upd
26
26
  * resolves to a plan, the title must match that plan's title exactly — a
27
27
  * conventional but unrelated title (stale or hand-edited) is still invalid. */
28
28
  export declare function validatePrTitle(root: string, ref: string): Promise<'valid' | 'invalid' | 'no-pr'>;
29
+ /** Squash is the only merge method the repo allows (see `merge-policy.ts`), and the
30
+ * squash commit title is configured to inherit the PR title verbatim — the same
31
+ * title `validatePrTitle` already requires to match the idea exactly. No merge
32
+ * message/title flag is passed here for that reason. */
33
+ export declare function squashMergePr(root: string, ref: string): Promise<{
34
+ ok: true;
35
+ } | {
36
+ ok: false;
37
+ message: string;
38
+ }>;
29
39
  export declare function syncPrReadinessToPr(root: string, ref: string): Promise<'ready' | 'closed' | 'unchanged' | 'unresolved'>;
30
40
  interface AuditSummary {
31
41
  audited: string;
@@ -1 +1 @@
1
- {"version":3,"file":"pr.d.ts","sourceRoot":"","sources":["../../../src/core/git-pr/pr.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,UAAU,EAEf,KAAK,SAAS,EACf,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAmDrB;;uCAEuC;AACvC,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,QAAQ,SAAoB,GAC3B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAqB7B;AAaD,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AA0BD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAKxC;AAMD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAOlF;AAeD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC,CAUjD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,EAAE,CAOvF;AAyDD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC,CAoBjD;AAED;+DAC+D;AAC/D,wBAAgB,cAAc,CAC5B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAClD,MAAM,CAIR;AAID,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAG5D;AAcD,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC,CAUjD;AAED;;;;+EAI+E;AAC/E,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC,CASxC;AA0BD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC,CAgB1D;AAKD,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,CAkBjG;AA2CD,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC,CAoC7D"}
1
+ {"version":3,"file":"pr.d.ts","sourceRoot":"","sources":["../../../src/core/git-pr/pr.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,UAAU,EAEf,KAAK,SAAS,EACf,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAmDrB;;uCAEuC;AACvC,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,QAAQ,SAAoB,GAC3B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAqB7B;AAaD,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AA0BD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAKxC;AAMD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAOlF;AAeD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC,CAUjD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,EAAE,CAOvF;AAyDD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC,CAoBjD;AAED;+DAC+D;AAC/D,wBAAgB,cAAc,CAC5B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAClD,MAAM,CAIR;AAID,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAG5D;AAcD,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC,CAUjD;AAED;;;;+EAI+E;AAC/E,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC,CASxC;AAED;;;wDAGwD;AACxD,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAsBxD;AA0BD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC,CAgB1D;AAKD,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,CAkBjG;AA2CD,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC,CAoC7D"}
@@ -1,132 +1,135 @@
1
- import { A as s, C as r, a as t, b as n, D as o, c as i, d, e as l, M as c, P as m, f as S, g as E, S as P, h as T, i as p, j as R, k as C, l as h, m as v, n as I, o as _, p as y, q as F, r as g, s as f, t as A, u as N, v as L, w as O, x as D, y as u, z as M, B as k, E as b, F as G, G as w, H as U, I as H, J as x, K as B, L as j, N as K, O as X, Q as z, R as Q, T as V, U as W, V as Y, W as q, X as J, Y as Z, Z as $, _ as aa, $ as ea, a0 as sa, a1 as ra, a2 as ta, a3 as na, a4 as oa, a5 as ia, a6 as da, a7 as la, a8 as ca, a9 as ma, aa as Sa, ab as Ea, ac as Pa, ad as Ta, ae as pa, af as Ra, ag as Ca, ah as ha, ai as va, aj as Ia, ak as _a, al as ya, am as Fa, an as ga, ao as fa, ap as Aa, aq as Na, ar as La, as as Oa, at as Da, au as ua, av as Ma, aw as ka, ax as ba, ay as Ga, az as wa, aA as Ua, aB as Ha, aC as xa, aD as Ba, aE as ja, aF as Ka, aG as Xa, aH as za, aI as Qa, aJ as Va, aK as Wa, aL as Ya, aM as qa, aN as Ja, aO as Za, aP as $a, aQ as ae, aR as ee, aS as se, aT as re, aU as te, aV as ne, aW as oe, aX as ie, aY as de, aZ as le, a_ as ce, a$ as me } from "../chunks/phase-progress.CwSKAAZ-.js";
2
- import { AGENT_IDS as Ee, AGENT_LABELS as Pe, AGENT_OPTIONS as Te, DEFAULT_AGENTS as pe, PLAN_KINDS as Re, PLAN_STATUSES as Ce, TOOLBAR_SEGMENT_IDS as he, agentConfigsEqual as ve, coerceAgentConfig as Ie } from "../types/index.js";
1
+ import { A as s, C as r, a as t, b as n, D as o, c as i, d, e as l, M as c, P as m, f as S, g as E, S as P, h as T, i as p, j as R, k as h, l as C, m as I, n as v, o as _, p as y, q as g, r as F, s as A, t as N, u as f, v as L, w as O, x as D, y as u, z as M, B as k, E as b, F as G, G as w, H, I as U, J as K, K as B, L as x, N as j, O as X, Q as q, R as z, T as Q, U as V, V as W, W as Y, X as J, Y as Z, Z as $, _ as aa, $ as ea, a0 as sa, a1 as ra, a2 as ta, a3 as na, a4 as oa, a5 as ia, a6 as da, a7 as la, a8 as ca, a9 as ma, aa as Sa, ab as Ea, ac as Pa, ad as Ta, ae as pa, af as Ra, ag as ha, ah as Ca, ai as Ia, aj as va, ak as _a, al as ya, am as ga, an as Fa, ao as Aa, ap as Na, aq as fa, ar as La, as as Oa, at as Da, au as ua, av as Ma, aw as ka, ax as ba, ay as Ga, az as wa, aA as Ha, aB as Ua, aC as Ka, aD as Ba, aE as xa, aF as ja, aG as Xa, aH as qa, aI as za, aJ as Qa, aK as Va, aL as Wa, aM as Ya, aN as Ja, aO as Za, aP as $a, aQ as ae, aR as ee, aS as se, aT as re, aU as te, aV as ne, aW as oe, aX as ie, aY as de, aZ as le, a_ as ce, a$ as me, b0 as Se, b1 as Ee } from "../chunks/phase-progress.DimXpZFz.js";
2
+ import { AGENT_IDS as Te, AGENT_LABELS as pe, AGENT_OPTIONS as Re, DEFAULT_AGENTS as he, PAIRING_TOKEN_HEADER as Ce, PLAN_KINDS as Ie, PLAN_STATUSES as ve, TOOLBAR_SEGMENT_IDS as _e, agentConfigsEqual as ye, coerceAgentConfig as ge } from "../types/index.js";
3
3
  export {
4
- Ee as AGENT_IDS,
5
- Pe as AGENT_LABELS,
6
- Te as AGENT_OPTIONS,
4
+ Te as AGENT_IDS,
5
+ pe as AGENT_LABELS,
6
+ Re as AGENT_OPTIONS,
7
7
  s as AlreadyInitializedError,
8
8
  r as CLAUDE_SETTINGS_JSON,
9
9
  t as COMMIT_SCOPES,
10
10
  n as COMMIT_SHA_RE,
11
- pe as DEFAULT_AGENTS,
11
+ he as DEFAULT_AGENTS,
12
12
  o as DOCTOR_CHECKS,
13
13
  i as DOCTOR_FIXERS,
14
14
  d as DOCTOR_RULES,
15
15
  l as DOCTOR_RULES_BY_ID,
16
16
  c as MAX_TITLE_LENGTH,
17
+ Ce as PAIRING_TOKEN_HEADER,
17
18
  m as PAPER_CAMP_VERSION,
18
19
  S as PHASE_MAX_FRACTION,
19
20
  E as PHASE_STALL_MS,
20
- Re as PLAN_KINDS,
21
- Ce as PLAN_STATUSES,
21
+ Ie as PLAN_KINDS,
22
+ ve as PLAN_STATUSES,
22
23
  P as SKILL_MD_CONTENT,
23
24
  T as SUGGESTION_ENTRY_RE,
24
- he as TOOLBAR_SEGMENT_IDS,
25
+ _e as TOOLBAR_SEGMENT_IDS,
25
26
  p as addRoadmapCandidate,
26
27
  R as addRoadmapItem,
27
- C as advanceAnchor,
28
- h as agentConfigSchema,
29
- ve as agentConfigsEqual,
30
- v as agentThreadMessage,
31
- I as applyEnvEntries,
28
+ h as advanceAnchor,
29
+ C as agentConfigSchema,
30
+ ye as agentConfigsEqual,
31
+ I as agentThreadMessage,
32
+ v as applyEnvEntries,
32
33
  _ as archiveEntityFile,
33
34
  y as assignEntityId,
34
- F as assignPlanId,
35
- g as branchName,
36
- f as classifyAnchor,
37
- A as clearPrCache,
38
- Ie as coerceAgentConfig,
39
- N as collectDoctorContext,
40
- L as collectParkedQuestions,
41
- O as computePlanContentHash,
42
- D as computePrTitle,
43
- u as createPrReview,
44
- M as dateString,
45
- k as derivePrLabels,
46
- b as deriveRoadmapEvents,
47
- G as deriveSubjectVocabulary,
48
- w as describeFindings,
35
+ g as assignPlanId,
36
+ F as assignTicketId,
37
+ A as branchName,
38
+ N as classifyAnchor,
39
+ f as clearPrCache,
40
+ ge as coerceAgentConfig,
41
+ L as collectDoctorContext,
42
+ O as collectParkedQuestions,
43
+ D as computePlanContentHash,
44
+ u as computePrTitle,
45
+ M as createPrReview,
46
+ k as dateString,
47
+ b as derivePrLabels,
48
+ G as deriveRoadmapEvents,
49
+ w as deriveSubjectVocabulary,
50
+ H as describeFindings,
49
51
  U as deskCheckSchema,
50
- H as deskCiSchema,
51
- x as deskConfigSchema,
52
- B as deskServiceSchema,
52
+ K as deskCiSchema,
53
+ B as deskConfigSchema,
54
+ x as deskServiceSchema,
53
55
  j as dispatchPrReview,
54
- K as ensureSubject,
55
- X as entityFrontmatterSchema,
56
- z as entityToIdea,
57
- Q as entityToPlan,
58
- V as fetchPrDiff,
59
- W as fetchUnresolvedThreads,
60
- Y as findArchivableIdeas,
61
- q as findConsistencyIssues,
62
- J as findReleaseLineForId,
63
- Z as findingSeverity,
64
- $ as formatEntitiesIndex,
65
- aa as formatEntityFile,
66
- ea as formatIdeaFile,
67
- sa as formatPlanEntry,
68
- ra as formatPlanFile,
69
- ta as formatPlans,
70
- na as formatReleaseNotesMarkdown,
71
- oa as getPrMapFetchedAt,
72
- ia as ideaFrontmatterSchema,
73
- da as initProject,
74
- la as isConventionalPrTitle,
75
- ca as isPhaseStalled,
76
- ma as linkRoadmapItem,
77
- Sa as medianSegmentMs,
78
- Ea as paperCampConfigSchema,
79
- Pa as parseEntityFile,
80
- Ta as parseEnv,
81
- pa as parseFrontmatter,
82
- Ra as parseIdeaFile,
56
+ X as ensureSubject,
57
+ q as entityFrontmatterKnownKeys,
58
+ z as entityFrontmatterSchema,
59
+ Q as entityToIdea,
60
+ V as entityToPlan,
61
+ W as fetchPrDiff,
62
+ Y as fetchUnresolvedThreads,
63
+ J as findArchivableIdeas,
64
+ Z as findConsistencyIssues,
65
+ $ as findReleaseLineForId,
66
+ aa as findingSeverity,
67
+ ea as formatEntityFile,
68
+ sa as formatIdeaFile,
69
+ ra as formatPlanEntry,
70
+ ta as formatPlanFile,
71
+ na as formatPlans,
72
+ oa as formatReleaseNotesMarkdown,
73
+ ia as getPrMapFetchedAt,
74
+ da as ideaFrontmatterSchema,
75
+ la as initProject,
76
+ ca as isConventionalPrTitle,
77
+ ma as isPhaseStalled,
78
+ Sa as linkRoadmapItem,
79
+ Ea as medianSegmentMs,
80
+ Pa as paperCampConfigSchema,
81
+ Ta as parseEntityFile,
82
+ pa as parseEnv,
83
+ Ra as parseFrontmatter,
84
+ ha as parseIdeaFile,
83
85
  Ca as parseIdeas,
84
- ha as parseNotificationLog,
86
+ Ia as parseNotificationLog,
85
87
  va as parsePlanFile,
86
- Ia as parsePlans,
87
- _a as parseRawEntries,
88
- ya as parseRoadmap,
88
+ _a as parsePlans,
89
+ ya as parseRawEntries,
90
+ ga as parseRoadmap,
89
91
  Fa as parseSuggestions,
90
- ga as parseTaskLog,
91
- fa as phaseFraction,
92
- Aa as planDoctorFixes,
93
- Na as planFieldsSchema,
94
- La as planFrontmatterSchema,
95
- Oa as readEntities,
96
- Da as readEntitiesWithDerivedStatus,
97
- ua as readFileMaybe,
98
- Ma as readNoteEntries,
99
- ka as readParkedQuestions,
100
- ba as readWorkEntries,
101
- Ga as removeRoadmapItem,
102
- wa as removeSuggestionLine,
92
+ Aa as parseTaskLog,
93
+ Na as phaseFraction,
94
+ fa as planDoctorFixes,
95
+ La as planFieldsSchema,
96
+ Oa as planFrontmatterSchema,
97
+ Da as readEntities,
98
+ ua as readEntitiesWithDerivedStatus,
99
+ Ma as readFileMaybe,
100
+ ka as readNoteEntries,
101
+ ba as readParkedQuestions,
102
+ Ga as readWorkEntries,
103
+ wa as removeRoadmapItem,
104
+ Ha as removeSuggestionLine,
103
105
  Ua as renderConsistencyComment,
104
- Ha as renderPlanPhasesIntoBody,
105
- xa as replyToReviewThread,
106
- Ba as reportFindings,
106
+ Ka as renderPlanPhasesIntoBody,
107
+ Ba as replyToReviewThread,
108
+ xa as reportFindings,
107
109
  ja as resolveEntityIdForCommit,
108
- Ka as resolveEntityTrail,
109
- Xa as resolveIdFromCommitMessage,
110
+ Xa as resolveEntityTrail,
111
+ qa as resolveIdFromCommitMessage,
110
112
  za as resolveIdeasForRelease,
111
113
  Qa as resolvePlanForPrRef,
112
114
  Va as resolvePrimaryScope,
113
115
  Wa as resolvePrsByEntity,
114
116
  Ya as resolveReleaseNotes,
115
- qa as resolveReleaseRanges,
116
- Ja as resolveReviewThread,
117
- Za as resolveRoadmap,
118
- $a as runDoctor,
119
- ae as runDoctorChecks,
120
- ee as scoutReviewFooter,
121
- se as serializeFrontmatter,
122
- re as sortFindings,
123
- te as storedNotificationSchema,
124
- ne as syncConsistencyCommentToPr,
125
- oe as syncPlanPhasesToPr,
126
- ie as syncPrLabelsToPr,
127
- de as syncPrReadinessToPr,
128
- le as syncPrTitleToPr,
129
- ce as todayDateString,
130
- me as validatePrTitle
117
+ Ja as resolveReleaseRanges,
118
+ Za as resolveReviewThread,
119
+ $a as resolveRoadmap,
120
+ ae as runDoctor,
121
+ ee as runDoctorChecks,
122
+ se as scoutReviewFooter,
123
+ re as serializeFrontmatter,
124
+ te as sortFindings,
125
+ ne as squashMergePr,
126
+ oe as storedNotificationSchema,
127
+ ie as syncConsistencyCommentToPr,
128
+ de as syncPlanPhasesToPr,
129
+ le as syncPrLabelsToPr,
130
+ ce as syncPrReadinessToPr,
131
+ me as syncPrTitleToPr,
132
+ Se as todayDateString,
133
+ Ee as validatePrTitle
131
134
  };
132
135
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,50 @@
1
+ import { DeskCheckState, EntityStatus, GitSyncFailure, Issue, PhaseItem, PrInfo, TaskLogEntry, ThreadMessage } from '../types/index';
2
+ /** A failed agent run (`outcome: 'error'` in tasks.log), keyed by the plan it ran
3
+ * against so a repeat failure on the same plan continues one issue. Runs with no
4
+ * `planId` (e.g. a batch task) key off their own task id instead. */
5
+ export declare function collectAgentRunIssues(taskLog: TaskLogEntry[]): Issue[];
6
+ /** A red project check (Quality/Tests/Consistency — Docs keeps its own browse flow
7
+ * and is excluded, same carve-out as `buildCheckFixes`), keyed by check name. */
8
+ export declare function collectCheckIssues(checks: DeskCheckState[]): Issue[];
9
+ /** A PR review that requested changes, keyed by PR number + head sha so a fresh
10
+ * push that gets re-reviewed continues the same issue rather than a new one. */
11
+ export declare function collectPrReviewIssues(entities: {
12
+ id: string;
13
+ title: string;
14
+ pr?: PrInfo;
15
+ }[]): Issue[];
16
+ /** A git rebase/sync failure on the currently checked-out branch, keyed by branch +
17
+ * the ref it failed to reconcile against so a repeat failure of the same rebase
18
+ * continues one issue. */
19
+ export declare function collectSyncIssues(failure: GitSyncFailure | undefined, branch: string, entity?: {
20
+ id: string;
21
+ title: string;
22
+ }): Issue[];
23
+ /** Reconciles freshly-collected issues (every one currently detected as failing, so
24
+ * always 'open') against the existing set, keyed by `id`. A repeat failure of the
25
+ * same thing replaces that issue's title/reason/output in place, preserving its
26
+ * position and its thread. An existing issue absent from `fresh` has stopped
27
+ * failing, so it closes — unless it was promoted to a fix entity that hasn't
28
+ * shipped yet (`fixEntityStatus` reports its status), which keeps it open until
29
+ * that entity reaches 'done'. Closure is derived here, never a mark-read button. */
30
+ export declare function reconcileIssues(existing: Issue[], fresh: Issue[], fixEntityStatus?: (fixId: string) => EntityStatus | undefined): Issue[];
31
+ /** A spawned fix/idea entity from Promote (IDEA-192 phase 6) stamps `issueSource`;
32
+ * an open parent instead gets a `source: 'issue'` item appended to its inline Fixes list. */
33
+ type PromotionTarget = {
34
+ id?: string;
35
+ status?: EntityStatus;
36
+ issueSource?: string;
37
+ fixes?: PhaseItem[];
38
+ };
39
+ /** Matches every issue against the corpus for a prior Promote (IDEA-192 phase 6),
40
+ * re-derived from disk on every read since issues carry no store of their own —
41
+ * the promotion survives a reload because git holds it, not a stored issue. Once
42
+ * matched, an issue whose target has shipped (`status: 'done'`) closes, even if
43
+ * its original source is still detected as failing. */
44
+ export declare function applyPromotions(issues: Issue[], entities: PromotionTarget[]): Issue[];
45
+ /** "Fix it here" (IDEA-192) launches an `issue-fix` task carrying the issue's id;
46
+ * this reconstructs that issue's thread from every tasks.log entry carrying it,
47
+ * oldest first, so a repeat fix attempt reads as a continuation, not a fresh mystery. */
48
+ export declare function issueThreadFromTaskLog(issue: Issue, taskLog: TaskLogEntry[]): ThreadMessage[];
49
+ export {};
50
+ //# sourceMappingURL=issues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../src/core/issues.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,cAAc,EACd,KAAK,EACL,SAAS,EACT,MAAM,EACN,YAAY,EACZ,aAAa,EACd,MAAM,gBAAgB,CAAC;AAKxB;;qEAEqE;AACrE,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,CAkBtE;AAED;iFACiF;AACjF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,KAAK,EAAE,CAcpE;AAED;gFACgF;AAChF,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GACrD,KAAK,EAAE,CAkBT;AAED;;0BAE0B;AAC1B,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,cAAc,GAAG,SAAS,EACnC,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrC,KAAK,EAAE,CAmBT;AAED;;;;;;oFAMoF;AACpF,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,KAAK,EAAE,EACjB,KAAK,EAAE,KAAK,EAAE,EACd,eAAe,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,YAAY,GAAG,SAA2B,GAC7E,KAAK,EAAE,CAaT;AAED;6FAC6F;AAC7F,KAAK,eAAe,GAAG;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;CACrB,CAAC;AAEF;;;;uDAIuD;AACvD,wBAAgB,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,KAAK,EAAE,CAarF;AAED;;yFAEyF;AACzF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,aAAa,EAAE,CAe7F"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=issues.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issues.test.d.ts","sourceRoot":"","sources":["../../src/core/issues.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/core/parse/parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,SAAS,EAIT,WAAW,EACX,YAAY,EAEZ,SAAS,EACT,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,YAAY,EACb,MAAM,mBAAmB,CAAC;AA8E3B,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE,CAoC5D;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,CAuCnE;AAID,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GACnB;IAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,EAAE,CAAA;CAAE,CAyC5D;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,CAwDzE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,CAoCrE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,CAuBrE;AAMD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,CAYxD;AAED,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,EAAE,EAClB,iBAAiB,GAAE,MAAM,EAAO,GAC/B,gBAAgB,EAAE,CAsCpB;AAED,uLAAuL;AACvL,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,EAAE,CAUxD;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAWtE;AAED,eAAO,MAAM,mBAAmB,QAAkD,CAAC;AAGnF,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE,CASpE"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/core/parse/parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,SAAS,EAIT,WAAW,EACX,YAAY,EAEZ,SAAS,EACT,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,YAAY,EACb,MAAM,mBAAmB,CAAC;AA8E3B,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE,CAoC5D;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,CAuCnE;AAID,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GACnB;IAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,EAAE,CAAA;CAAE,CAyC5D;AAYD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,CA6DzE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,CAoCrE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,CAuBrE;AAMD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,CAYxD;AAED,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,EAAE,EAClB,iBAAiB,GAAE,MAAM,EAAO,GAC/B,gBAAgB,EAAE,CAsCpB;AAED,uLAAuL;AACvL,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,EAAE,CAUxD;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAWtE;AAED,eAAO,MAAM,mBAAmB,QAAkD,CAAC;AAGnF,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE,CASpE"}
@@ -34,6 +34,10 @@ export declare const planFieldsSchema: z.ZodObject<{
34
34
  updated: z.ZodOptional<z.ZodString>;
35
35
  tags: z.ZodOptional<z.ZodString>;
36
36
  }, z.core.$strip>;
37
+ /**
38
+ * YAML frontmatter schema for the per-file plan format (`---`-delimited YAML plus a
39
+ * markdown body). Field-based schemas above exist only until that format fully migrates.
40
+ */
37
41
  export declare const planFrontmatterSchema: z.ZodObject<{
38
42
  id: z.ZodString;
39
43
  title: z.ZodString;
@@ -62,7 +66,7 @@ export declare const planFrontmatterSchema: z.ZodObject<{
62
66
  audited: z.ZodOptional<z.ZodString>;
63
67
  'audited-hash': z.ZodOptional<z.ZodString>;
64
68
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
65
- }, z.core.$strip>;
69
+ }, z.core.$loose>;
66
70
  export declare const ideaFrontmatterSchema: z.ZodObject<{
67
71
  id: z.ZodString;
68
72
  title: z.ZodString;
@@ -75,7 +79,12 @@ export declare const ideaFrontmatterSchema: z.ZodObject<{
75
79
  dropped: "dropped";
76
80
  open: "open";
77
81
  }>>;
78
- }, z.core.$strip>;
82
+ }, z.core.$loose>;
83
+ /**
84
+ * Frontmatter keys the schema above assigns explicit meaning to; everything else parses
85
+ * through untouched so an older paper-camp can carry a newer field instead of dropping it.
86
+ */
87
+ export declare const entityFrontmatterKnownKeys: ReadonlySet<string>;
79
88
  export declare const entityFrontmatterSchema: z.ZodObject<{
80
89
  id: z.ZodString;
81
90
  title: z.ZodString;
@@ -87,7 +96,10 @@ export declare const entityFrontmatterSchema: z.ZodObject<{
87
96
  refactor: "refactor";
88
97
  }>>;
89
98
  kind: z.ZodOptional<z.ZodEnum<{
99
+ fix: "fix";
90
100
  note: "note";
101
+ board: "board";
102
+ ticket: "ticket";
91
103
  }>>;
92
104
  status: z.ZodOptional<z.ZodEnum<{
93
105
  idea: "idea";
@@ -108,9 +120,11 @@ export declare const entityFrontmatterSchema: z.ZodObject<{
108
120
  'audited-hash': z.ZodOptional<z.ZodString>;
109
121
  released: z.ZodOptional<z.ZodString>;
110
122
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
123
+ idea: z.ZodOptional<z.ZodString>;
111
124
  subject: z.ZodOptional<z.ZodString>;
112
125
  order: z.ZodOptional<z.ZodNumber>;
113
- }, z.core.$strip>;
126
+ issueSource: z.ZodOptional<z.ZodString>;
127
+ }, z.core.$loose>;
114
128
  export declare const deskServiceSchema: z.ZodObject<{
115
129
  name: z.ZodString;
116
130
  cmd: z.ZodString;
@@ -144,11 +158,12 @@ export declare const deskConfigSchema: z.ZodObject<{
144
158
  }, z.core.$strip>>;
145
159
  }, z.core.$strip>;
146
160
  export declare const paperCampConfigSchema: z.ZodObject<{
147
- version: z.ZodString;
161
+ version: z.ZodNumber;
148
162
  projectName: z.ZodString;
149
163
  initializedAt: z.ZodString;
150
164
  nextId: z.ZodOptional<z.ZodObject<{
151
165
  idea: z.ZodOptional<z.ZodNumber>;
166
+ ticket: z.ZodOptional<z.ZodNumber>;
152
167
  feat: z.ZodOptional<z.ZodNumber>;
153
168
  fix: z.ZodOptional<z.ZodNumber>;
154
169
  chore: z.ZodOptional<z.ZodNumber>;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/core/parse/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,iBAAiB;;;;;;;kBAO7B,CAAC;AAEF,eAAO,MAAM,UAAU,aAAiE,CAAC;AAIzF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;iBAS3B,CAAC;AAKH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmBhC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;iBAgB9B,CAAC;AAIL,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8DhC,CAAC;AAEL,eAAO,MAAM,iBAAiB;;;;;iBAK5B,CAAC;AAEH,eAAO,MAAM,eAAe;;;iBAG1B,CAAC;AAEH,eAAO,MAAM,YAAY;;;;iBAIvB,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;iBAI3B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4BhC,CAAC;AAIH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;iBASnC,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/core/parse/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,iBAAiB;;;;;;;kBAO7B,CAAC;AAEF,eAAO,MAAM,UAAU,aAAiE,CAAC;AAIzF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;iBAS3B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuBlB,CAAC;AAEjB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;iBAiB9B,CAAC;AAmEL;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,MAAM,CAE1D,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAsBhC,CAAC;AAEL,eAAO,MAAM,iBAAiB;;;;;iBAK5B,CAAC;AAEH,eAAO,MAAM,eAAe;;;iBAG1B,CAAC;AAEH,eAAO,MAAM,YAAY;;;;iBAIvB,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;iBAI3B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgChC,CAAC;AAIH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;iBASnC,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -2,6 +2,7 @@ import { PhaseRun, RunUsage, TaskLogEntry } from '../types/index';
2
2
  export declare function formatDuration(ms: number): string;
3
3
  export declare function formatTokens(n: number): string;
4
4
  export declare function shortModel(model: string): string;
5
+ export declare function formatRunSummary(run: PhaseRun): string;
5
6
  export declare function formatRunLine(run: PhaseRun): string;
6
7
  export declare function parseRunLine(value: string): PhaseRun | undefined;
7
8
  export declare function mergeRun(prev: PhaseRun | undefined, usage: RunUsage): PhaseRun;
@@ -1 +1 @@
1
- {"version":3,"file":"phase-run.d.ts","sourceRoot":"","sources":["../../src/core/phase-run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AASvE,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAQjD;AAWD,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAI9C;AAYD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKhD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,CASnD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAwBhE;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,EAAE,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAQ9E;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAuBlF"}
1
+ {"version":3,"file":"phase-run.d.ts","sourceRoot":"","sources":["../../src/core/phase-run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AASvE,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAQjD;AAWD,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAI9C;AAYD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKhD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,CAEtD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,CASnD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAwBhE;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,EAAE,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAQ9E;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAuBlF"}
@@ -1,11 +1,17 @@
1
- import { ArchivableIdea, EntityEntry, IdeaEntry, ParseResult, PlanEntry, PrInfo } from '../types/index';
1
+ import { ArchivableIdea, EntityEntry, IdeaEntry, ParseResult, PlanEntry } from '../types/index';
2
+ export { entityToIdea, entityToPlan } from './entity-view';
2
3
  export declare function readEntities(ideasDir: string): Promise<ParseResult<EntityEntry> & {
3
4
  fileCount: number;
4
5
  }>;
5
- export declare function entityToPlan(e: EntityEntry, pr?: PrInfo, prLookupResolved?: boolean, hasMainActivity?: boolean): PlanEntry;
6
- export declare function entityToIdea(e: EntityEntry): IdeaEntry;
6
+ /** One `gh` PR listing resolves every entity's PR (cached); the result is a shallow copy
7
+ * that never touches disk, so it's safe to feed back into entityToPlan/deriveStatus elsewhere. */
7
8
  export declare function readEntitiesWithDerivedStatus(ideasDir: string): Promise<ParseResult<EntityEntry>>;
8
- export declare function readWorkEntries(ideasDir: string, ttlMs?: number): Promise<ParseResult<PlanEntry>>;
9
- export declare function findArchivableIdeas(ideasDir: string): Promise<ArchivableIdea[]>;
9
+ export declare function readWorkEntries(ideasDir: string, ttlMs?: number): Promise<ParseResult<PlanEntry> & {
10
+ resolved: boolean;
11
+ }>;
12
+ export declare function findArchivableIdeas(ideasDir: string): Promise<{
13
+ entries: ArchivableIdea[];
14
+ resolved: boolean;
15
+ }>;
10
16
  export declare function readNoteEntries(ideasDir: string): Promise<ParseResult<IdeaEntry>>;
11
17
  //# sourceMappingURL=readers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"readers.d.ts","sourceRoot":"","sources":["../../src/core/readers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,SAAS,EAET,WAAW,EAEX,SAAS,EAET,MAAM,EACP,MAAM,gBAAgB,CAAC;AAoCxB,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CA8B3D;AAKD,wBAAgB,YAAY,CAC1B,CAAC,EAAE,WAAW,EACd,EAAE,CAAC,EAAE,MAAM,EACX,gBAAgB,UAAQ,EACxB,eAAe,UAAQ,GACtB,SAAS,CA2BX;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,WAAW,GAAG,SAAS,CAYtD;AAeD,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAOnC;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAWjC;AAID,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAMrF;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAMvF"}
1
+ {"version":3,"file":"readers.d.ts","sourceRoot":"","sources":["../../src/core/readers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,SAAS,EACT,WAAW,EAEX,SAAS,EACV,MAAM,gBAAgB,CAAC;AAQxB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAyB3D,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAmC3D;AAYD;kGACkG;AAClG,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAcnC;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,CAkBzD;AAID,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,cAAc,EAAE,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,CAS3D;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAMvF"}
@@ -1,4 +1,6 @@
1
1
  import { ReleaseNoteSection } from '../types/index';
2
+ /** One row per idea rather than per commit: dedupes a fix-up commit into the idea's
3
+ * initial row and swaps in the idea's title, so a release reads as shipped ideas, not raw commits. */
2
4
  export declare function resolveReleaseNotes(root: string, version: string): Promise<ReleaseNoteSection[] | null>;
3
5
  export declare function formatReleaseNotesMarkdown(version: string, sections: ReleaseNoteSection[]): string;
4
6
  //# sourceMappingURL=release-notes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"release-notes.d.ts","sourceRoot":"","sources":["../../src/core/release-notes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA+B,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAiBtF,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,CAwBtC;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,kBAAkB,EAAE,GAC7B,MAAM,CASR"}
1
+ {"version":3,"file":"release-notes.d.ts","sourceRoot":"","sources":["../../src/core/release-notes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA+B,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AActF;sGACsG;AACtG,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,CAwBtC;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,kBAAkB,EAAE,GAC7B,MAAM,CASR"}