@dendelion/paper-camp 0.15.0 → 0.17.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 (77) hide show
  1. package/dist/app/assets/index-6xeWffZg.js +2 -0
  2. package/dist/app/assets/{index-Bo0V9-3F.js.map → index-6xeWffZg.js.map} +1 -1
  3. package/dist/app/assets/{index-BTyua-6D.js → index-B_yczIPZ.js} +2 -2
  4. package/dist/app/assets/{index-BTyua-6D.js.map → index-B_yczIPZ.js.map} +1 -1
  5. package/dist/app/assets/index-CASIH0vL.js +2 -0
  6. package/dist/app/assets/index-CASIH0vL.js.map +1 -0
  7. package/dist/app/assets/{index-2ahHj0hk.js → index-CYxk5mrY.js} +2 -2
  8. package/dist/app/assets/{index-2ahHj0hk.js.map → index-CYxk5mrY.js.map} +1 -1
  9. package/dist/app/assets/index-CjPmPsf0.js +4 -0
  10. package/dist/app/assets/index-CjPmPsf0.js.map +1 -0
  11. package/dist/app/assets/{index-Cz9HEIaO.js → index-CnD1dVCC.js} +2 -2
  12. package/dist/app/assets/{index-Cz9HEIaO.js.map → index-CnD1dVCC.js.map} +1 -1
  13. package/dist/app/assets/{index-BSp1FE97.js → index-DLgVuxp-.js} +2 -2
  14. package/dist/app/assets/{index-BSp1FE97.js.map → index-DLgVuxp-.js.map} +1 -1
  15. package/dist/app/assets/main-DR2ma6V-.js +207 -0
  16. package/dist/app/assets/main-DR2ma6V-.js.map +1 -0
  17. package/dist/app/assets/main-Ll-lvqgh.css +1 -0
  18. package/dist/app/assets/{sidebar-section-BHLbvk_X.js → sidebar-section-DKgV3XAx.js} +2 -2
  19. package/dist/app/assets/{sidebar-section-BHLbvk_X.js.map → sidebar-section-DKgV3XAx.js.map} +1 -1
  20. package/dist/app/index.html +2 -2
  21. package/dist/app/toolbar.js +4356 -4183
  22. package/dist/app/toolbar.js.map +1 -1
  23. package/dist/chunks/{parked-questions.BoAnCnQA.js → phase-progress.DsBJvd_o.js} +1204 -1052
  24. package/dist/chunks/phase-progress.DsBJvd_o.js.map +1 -0
  25. package/dist/cli/index.js +7800 -7632
  26. package/dist/cli/index.js.map +1 -1
  27. package/dist/core/git-log.d.ts +6 -0
  28. package/dist/core/git-log.d.ts.map +1 -0
  29. package/dist/core/git-log.test.d.ts +2 -0
  30. package/dist/core/git-log.test.d.ts.map +1 -0
  31. package/dist/core/git-pr/branch.d.ts.map +1 -1
  32. package/dist/core/index.d.ts +1 -0
  33. package/dist/core/index.d.ts.map +1 -1
  34. package/dist/core/index.js +101 -93
  35. package/dist/core/parse/parser.d.ts +1 -0
  36. package/dist/core/parse/parser.d.ts.map +1 -1
  37. package/dist/core/phase-progress.d.ts +16 -0
  38. package/dist/core/phase-progress.d.ts.map +1 -0
  39. package/dist/core/phase-progress.test.d.ts +2 -0
  40. package/dist/core/phase-progress.test.d.ts.map +1 -0
  41. package/dist/core/phase-run.d.ts +17 -0
  42. package/dist/core/phase-run.d.ts.map +1 -0
  43. package/dist/core/phase-run.test.d.ts +2 -0
  44. package/dist/core/phase-run.test.d.ts.map +1 -0
  45. package/dist/core/rate-limit.d.ts +4 -0
  46. package/dist/core/rate-limit.d.ts.map +1 -0
  47. package/dist/core/rate-limit.test.d.ts +2 -0
  48. package/dist/core/rate-limit.test.d.ts.map +1 -0
  49. package/dist/core/readers.d.ts +1 -1
  50. package/dist/core/readers.d.ts.map +1 -1
  51. package/dist/core/sections.d.ts.map +1 -1
  52. package/dist/core/stats.d.ts +5 -1
  53. package/dist/core/stats.d.ts.map +1 -1
  54. package/dist/core/status/status.d.ts +1 -1
  55. package/dist/core/status/status.d.ts.map +1 -1
  56. package/dist/core/trail.d.ts +2 -2
  57. package/dist/core/trail.d.ts.map +1 -1
  58. package/dist/types/index.d.ts +61 -2
  59. package/dist/types/index.d.ts.map +1 -1
  60. package/dist/types/index.js +8 -8
  61. package/dist/types/index.js.map +1 -1
  62. package/dist/vite/index.d.ts +1 -1
  63. package/dist/vite/index.d.ts.map +1 -1
  64. package/dist/vite/index.js +49 -30
  65. package/dist/vite/index.js.map +1 -1
  66. package/dist/vite/proxy.d.ts +3 -1
  67. package/dist/vite/proxy.d.ts.map +1 -1
  68. package/package.json +3 -2
  69. package/dist/app/assets/index-Bi4fur5H.js +0 -4
  70. package/dist/app/assets/index-Bi4fur5H.js.map +0 -1
  71. package/dist/app/assets/index-Bo0V9-3F.js +0 -2
  72. package/dist/app/assets/index-DKjtMMrA.js +0 -2
  73. package/dist/app/assets/index-DKjtMMrA.js.map +0 -1
  74. package/dist/app/assets/main-BW24wv9K.js +0 -207
  75. package/dist/app/assets/main-BW24wv9K.js.map +0 -1
  76. package/dist/app/assets/main-C-ynmROL.css +0 -1
  77. package/dist/chunks/parked-questions.BoAnCnQA.js.map +0 -1
@@ -0,0 +1,6 @@
1
+ export declare const COMMIT_SHA_RE: RegExp;
2
+ export declare function runGit(root: string, args: string[]): Promise<string>;
3
+ export declare function resolveDefaultBranch(root: string): Promise<string>;
4
+ export declare function resolveIdFromCommitMessage(message: string): string | null;
5
+ export declare function resolveIdsWithMainActivity(root: string): Promise<Set<string>>;
6
+ //# sourceMappingURL=git-log.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=git-log.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-log.test.d.ts","sourceRoot":"","sources":["../../src/core/git-log.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"branch.d.ts","sourceRoot":"","sources":["../../../src/core/git-pr/branch.ts"],"names":[],"mappings":"AAAA;wFACwF;AACxF,wBAAgB,UAAU,CACxB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,KAAK,EAAE,MAAM,GACZ,MAAM,GAAG,SAAS,CAQpB"}
1
+ {"version":3,"file":"branch.d.ts","sourceRoot":"","sources":["../../../src/core/git-pr/branch.ts"],"names":[],"mappings":"AAAA;wFACwF;AACxF,wBAAgB,UAAU,CACxB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,KAAK,EAAE,MAAM,GACZ,MAAM,GAAG,SAAS,CAcpB"}
@@ -8,5 +8,6 @@ export * from './release-notes';
8
8
  export * from './roadmap';
9
9
  export * from './trail';
10
10
  export * from './parked-questions';
11
+ export * from './phase-progress';
11
12
  export * from '../types/index';
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC"}
@@ -1,100 +1,108 @@
1
- import { A as s, C as r, a as t, b as n, P as o, S as i, c as l, d, e as m, f as P, g as E, h as T, i as S, j as c, k as p, l as v, m as y, n as I, o as R, p as C, q as h, r as F, s as N, t as g, u as _, v as f, w as A, x as L, y as u, z as M, B as O, D as b, E as D, F as G, G as k, H as w, I as U, J as j, K as B, L as x, M as z, N as H, O as K, Q, R as V, T as W, U as q, V as J, W as Y, X, 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 la, a7 as da, a8 as ma, a9 as Pa, aa as Ea, ab as Ta, ac as Sa, ad as ca, ae as pa, af as va, ag as ya, ah as Ia, ai as Ra, aj as Ca, ak as ha, al as Fa, am as Na, an as ga, ao as _a, ap as fa, aq as Aa, ar as La, as as ua, at as Ma, au as Oa, av as ba, aw as Da } from "../chunks/parked-questions.BoAnCnQA.js";
2
- import { AGENT_IDS as ka, AGENT_LABELS as wa, AGENT_OPTIONS as Ua, DEFAULT_AGENTS as ja, PLAN_KINDS as Ba, PLAN_STATUSES as xa, TOOLBAR_SEGMENT_IDS as za, coerceAgentConfig as Ha } from "../types/index.js";
1
+ import { A as s, C as r, a as t, b as n, M as o, P as i, c as l, d, S as m, e as E, f as P, g as T, h as S, i as c, j as p, k as y, l as I, m as v, n as A, o as R, p as _, q as h, r as C, s as F, t as N, u as g, v as f, w as L, x as M, y as u, z as O, B as b, D, E as G, F as k, G as w, H as B, I as H, J as U, K as j, L as x, N as z, O as K, Q, R as V, T as W, U as X, V as q, W as J, X as Y, 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 la, a7 as da, a8 as ma, a9 as Ea, aa as Pa, ab as Ta, ac as Sa, ad as ca, ae as pa, af as ya, ag as Ia, ah as va, ai as Aa, aj as Ra, ak as _a, al as ha, am as Ca, an as Fa, ao as Na, ap as ga, aq as fa, ar as La, as as Ma, at as ua, au as Oa, av as ba, aw as Da, ax as Ga, ay as ka, az as wa, aA as Ba, aB as Ha, aC as Ua, aD as ja, aE as xa } from "../chunks/phase-progress.DsBJvd_o.js";
2
+ import { AGENT_IDS as Ka, AGENT_LABELS as Qa, AGENT_OPTIONS as Va, DEFAULT_AGENTS as Wa, PLAN_KINDS as Xa, PLAN_STATUSES as qa, TOOLBAR_SEGMENT_IDS as Ja, coerceAgentConfig as Ya } from "../types/index.js";
3
3
  export {
4
- ka as AGENT_IDS,
5
- wa as AGENT_LABELS,
6
- Ua as AGENT_OPTIONS,
4
+ Ka as AGENT_IDS,
5
+ Qa as AGENT_LABELS,
6
+ Va 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
- ja as DEFAULT_AGENTS,
12
- o as PAPER_CAMP_VERSION,
13
- Ba as PLAN_KINDS,
14
- xa as PLAN_STATUSES,
15
- i as SKILL_MD_CONTENT,
16
- l as SUGGESTION_ENTRY_RE,
17
- za as TOOLBAR_SEGMENT_IDS,
18
- d as addRoadmapCandidate,
19
- m as addRoadmapItem,
20
- P as agentConfigSchema,
21
- E as agentThreadMessage,
22
- T as applyEnvEntries,
23
- S as archiveEntityFile,
24
- c as assignEntityId,
25
- p as assignPlanId,
26
- v as branchName,
27
- y as clearPrCache,
28
- Ha as coerceAgentConfig,
29
- I as collectParkedQuestions,
30
- R as computePlanContentHash,
31
- C as computePrTitle,
32
- h as dateString,
33
- F as derivePrLabels,
34
- N as deriveRoadmapEvents,
35
- g as deriveSubjectVocabulary,
36
- _ as ensureSubject,
37
- f as entityFrontmatterSchema,
38
- A as entityToIdea,
39
- L as entityToPlan,
40
- u as fetchUnresolvedThreads,
41
- M as findArchivableIdeas,
42
- O as findConsistencyIssues,
43
- b as findReleaseLineForId,
44
- D as formatEntitiesIndex,
45
- G as formatEntityFile,
46
- k as formatIdeaFile,
47
- w as formatPlanEntry,
48
- U as formatPlanFile,
49
- j as formatPlans,
50
- B as formatReleaseNotesMarkdown,
51
- x as ideaFrontmatterSchema,
52
- z as initProject,
53
- H as isConventionalPrTitle,
54
- K as linkRoadmapItem,
55
- Q as paperCampConfigSchema,
56
- V as parseEntityFile,
57
- W as parseEnv,
58
- q as parseFrontmatter,
59
- J as parseIdeaFile,
60
- Y as parseIdeas,
61
- X as parsePlanFile,
62
- Z as parsePlans,
63
- $ as parseRawEntries,
64
- aa as parseRoadmap,
65
- ea as parseSuggestions,
66
- sa as parseTaskLog,
67
- ra as planFieldsSchema,
68
- ta as planFrontmatterSchema,
69
- na as readEntities,
70
- oa as readEntitiesWithDerivedStatus,
71
- ia as readFileMaybe,
72
- la as readNoteEntries,
73
- da as readParkedQuestions,
74
- ma as readWorkEntries,
75
- Pa as removeRoadmapItem,
76
- Ea as removeSuggestionLine,
77
- Ta as renderConsistencyComment,
78
- Sa as renderPlanPhasesIntoBody,
79
- ca as replyToReviewThread,
80
- pa as resolveEntityIdForCommit,
81
- va as resolveEntityTrail,
82
- ya as resolveIdFromCommitMessage,
83
- Ia as resolveIdeasForRelease,
84
- Ra as resolvePlanForPrRef,
85
- Ca as resolvePrimaryScope,
86
- ha as resolvePrsByEntity,
87
- Fa as resolveReleaseNotes,
88
- Na as resolveReleaseRanges,
89
- ga as resolveReviewThread,
90
- _a as resolveRoadmap,
91
- fa as serializeFrontmatter,
92
- Aa as syncConsistencyCommentToPr,
93
- La as syncPlanPhasesToPr,
94
- ua as syncPrLabelsToPr,
95
- Ma as syncPrReadinessToPr,
96
- Oa as syncPrTitleToPr,
97
- ba as todayDateString,
98
- Da as validatePrTitle
11
+ Wa as DEFAULT_AGENTS,
12
+ o as MAX_TITLE_LENGTH,
13
+ i as PAPER_CAMP_VERSION,
14
+ l as PHASE_MAX_FRACTION,
15
+ d as PHASE_STALL_MS,
16
+ Xa as PLAN_KINDS,
17
+ qa as PLAN_STATUSES,
18
+ m as SKILL_MD_CONTENT,
19
+ E as SUGGESTION_ENTRY_RE,
20
+ Ja as TOOLBAR_SEGMENT_IDS,
21
+ P as addRoadmapCandidate,
22
+ T as addRoadmapItem,
23
+ S as advanceAnchor,
24
+ c as agentConfigSchema,
25
+ p as agentThreadMessage,
26
+ y as applyEnvEntries,
27
+ I as archiveEntityFile,
28
+ v as assignEntityId,
29
+ A as assignPlanId,
30
+ R as branchName,
31
+ _ as classifyAnchor,
32
+ h as clearPrCache,
33
+ Ya as coerceAgentConfig,
34
+ C as collectParkedQuestions,
35
+ F as computePlanContentHash,
36
+ N as computePrTitle,
37
+ g as dateString,
38
+ f as derivePrLabels,
39
+ L as deriveRoadmapEvents,
40
+ M as deriveSubjectVocabulary,
41
+ u as ensureSubject,
42
+ O as entityFrontmatterSchema,
43
+ b as entityToIdea,
44
+ D as entityToPlan,
45
+ G as fetchUnresolvedThreads,
46
+ k as findArchivableIdeas,
47
+ w as findConsistencyIssues,
48
+ B as findReleaseLineForId,
49
+ H as formatEntitiesIndex,
50
+ U as formatEntityFile,
51
+ j as formatIdeaFile,
52
+ x as formatPlanEntry,
53
+ z as formatPlanFile,
54
+ K as formatPlans,
55
+ Q as formatReleaseNotesMarkdown,
56
+ V as ideaFrontmatterSchema,
57
+ W as initProject,
58
+ X as isConventionalPrTitle,
59
+ q as isPhaseStalled,
60
+ J as linkRoadmapItem,
61
+ Y as medianSegmentMs,
62
+ Z as paperCampConfigSchema,
63
+ $ as parseEntityFile,
64
+ aa as parseEnv,
65
+ ea as parseFrontmatter,
66
+ sa as parseIdeaFile,
67
+ ra as parseIdeas,
68
+ ta as parsePlanFile,
69
+ na as parsePlans,
70
+ oa as parseRawEntries,
71
+ ia as parseRoadmap,
72
+ la as parseSuggestions,
73
+ da as parseTaskLog,
74
+ ma as phaseFraction,
75
+ Ea as planFieldsSchema,
76
+ Pa as planFrontmatterSchema,
77
+ Ta as readEntities,
78
+ Sa as readEntitiesWithDerivedStatus,
79
+ ca as readFileMaybe,
80
+ pa as readNoteEntries,
81
+ ya as readParkedQuestions,
82
+ Ia as readWorkEntries,
83
+ va as removeRoadmapItem,
84
+ Aa as removeSuggestionLine,
85
+ Ra as renderConsistencyComment,
86
+ _a as renderPlanPhasesIntoBody,
87
+ ha as replyToReviewThread,
88
+ Ca as resolveEntityIdForCommit,
89
+ Fa as resolveEntityTrail,
90
+ Na as resolveIdFromCommitMessage,
91
+ ga as resolveIdeasForRelease,
92
+ fa as resolvePlanForPrRef,
93
+ La as resolvePrimaryScope,
94
+ Ma as resolvePrsByEntity,
95
+ ua as resolveReleaseNotes,
96
+ Oa as resolveReleaseRanges,
97
+ ba as resolveReviewThread,
98
+ Da as resolveRoadmap,
99
+ Ga as serializeFrontmatter,
100
+ ka as syncConsistencyCommentToPr,
101
+ wa as syncPlanPhasesToPr,
102
+ Ba as syncPrLabelsToPr,
103
+ Ha as syncPrReadinessToPr,
104
+ Ua as syncPrTitleToPr,
105
+ ja as todayDateString,
106
+ xa as validatePrTitle
99
107
  };
100
108
  //# sourceMappingURL=index.js.map
@@ -11,6 +11,7 @@ export declare function parseEntityFile(content: string): ParseResult<EntityEntr
11
11
  export declare function parsePlanFile(content: string): ParseResult<PlanEntry>;
12
12
  export declare function parseIdeaFile(content: string): ParseResult<IdeaEntry>;
13
13
  export declare function parseIdeas(markdown: string): IdeaEntry[];
14
+ export declare const MAX_TITLE_LENGTH = 40;
14
15
  export declare function findConsistencyIssues(plans: PlanEntry[], subjectVocabulary?: string[]): ConsistencyIssue[];
15
16
  /** tasks.log is JSON Lines — one TaskLogEntry per line. Skip lines that fail to parse rather than fail the whole read (a truncated last line from a crash shouldn't hide the rest). */
16
17
  export declare function parseTaskLog(raw: string): TaskLogEntry[];
@@ -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,eAAe,EACf,YAAY,EACb,MAAM,mBAAmB,CAAC;AA6E3B,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,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,EAAE,EAClB,iBAAiB,GAAE,MAAM,EAAO,GAC/B,gBAAgB,EAAE,CAmBpB;AAED,uLAAuL;AACvL,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,EAAE,CAUxD;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,eAAe,EACf,YAAY,EACb,MAAM,mBAAmB,CAAC;AA6E3B,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,eAAO,MAAM,mBAAmB,QAAkD,CAAC;AAGnF,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE,CASpE"}
@@ -0,0 +1,16 @@
1
+ import { PhaseMilestone, TaskLogEntry } from '../types/index';
2
+ export declare const PHASE_MAX_FRACTION = 0.95;
3
+ export declare const PHASE_STALL_MS = 30000;
4
+ export declare function classifyAnchor(tool: string, input: Record<string, unknown> | undefined): PhaseMilestone | null;
5
+ export declare function advanceAnchor(current: PhaseMilestone | undefined, next: PhaseMilestone): PhaseMilestone;
6
+ export declare function isPhaseStalled(lastStreamAt: number | undefined, now: number): boolean;
7
+ export declare function medianSegmentMs(entries: TaskLogEntry[]): Partial<Record<PhaseMilestone, number>>;
8
+ export interface PhaseFractionInput {
9
+ anchor: PhaseMilestone | undefined;
10
+ anchorEnteredAt: number | undefined;
11
+ lastStreamAt: number | undefined;
12
+ now: number;
13
+ medians?: Partial<Record<PhaseMilestone, number>>;
14
+ }
15
+ export declare function phaseFraction({ anchor, anchorEnteredAt, lastStreamAt, now, medians, }: PhaseFractionInput): number;
16
+ //# sourceMappingURL=phase-progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phase-progress.d.ts","sourceRoot":"","sources":["../../src/core/phase-progress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnE,eAAO,MAAM,kBAAkB,OAAO,CAAC;AACvC,eAAO,MAAM,cAAc,QAAS,CAAC;AAqBrC,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACzC,cAAc,GAAG,IAAI,CAavB;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,cAAc,GAAG,SAAS,EACnC,IAAI,EAAE,cAAc,GACnB,cAAc,CAGhB;AAED,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAGrF;AAQD,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAahG;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IACnC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;CACnD;AAED,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,eAAe,EACf,YAAY,EACZ,GAAG,EACH,OAAO,GACR,EAAE,kBAAkB,GAAG,MAAM,CAW7B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=phase-progress.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phase-progress.test.d.ts","sourceRoot":"","sources":["../../src/core/phase-progress.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import { PhaseRun, RunUsage, TaskLogEntry } from '../types/index';
2
+ export declare function formatDuration(ms: number): string;
3
+ export declare function formatTokens(n: number): string;
4
+ export declare function shortModel(model: string): string;
5
+ export declare function formatRunLine(run: PhaseRun): string;
6
+ export declare function parseRunLine(value: string): PhaseRun | undefined;
7
+ export declare function mergeRun(prev: PhaseRun | undefined, usage: RunUsage): PhaseRun;
8
+ export interface UsageRollup {
9
+ runs: number;
10
+ durationMs: number;
11
+ inputTokens: number;
12
+ outputTokens: number;
13
+ cacheCreationTokens: number;
14
+ cacheReadTokens: number;
15
+ }
16
+ export declare function rollupUsage(taskRuns: TaskLogEntry[], planId?: string): UsageRollup;
17
+ //# sourceMappingURL=phase-run.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=phase-run.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phase-run.test.d.ts","sourceRoot":"","sources":["../../src/core/phase-run.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export type CapacityLevel = 'allowed' | 'warning' | 'rejected';
2
+ export declare function capacityLevel(status: string): CapacityLevel;
3
+ export declare function resetsAtMs(resetsAt: number): number;
4
+ //# sourceMappingURL=rate-limit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../../src/core/rate-limit.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAE/D,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAI3D;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEnD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=rate-limit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limit.test.d.ts","sourceRoot":"","sources":["../../src/core/rate-limit.test.ts"],"names":[],"mappings":""}
@@ -2,7 +2,7 @@ import { ArchivableIdea, EntityEntry, IdeaEntry, ParseResult, PlanEntry, PrInfo
2
2
  export declare function readEntities(ideasDir: string): Promise<ParseResult<EntityEntry> & {
3
3
  fileCount: number;
4
4
  }>;
5
- export declare function entityToPlan(e: EntityEntry, pr?: PrInfo, prLookupResolved?: boolean): PlanEntry;
5
+ export declare function entityToPlan(e: EntityEntry, pr?: PrInfo, prLookupResolved?: boolean, hasMainActivity?: boolean): PlanEntry;
6
6
  export declare function entityToIdea(e: EntityEntry): IdeaEntry;
7
7
  export declare function readEntitiesWithDerivedStatus(ideasDir: string): Promise<ParseResult<EntityEntry>>;
8
8
  export declare function readWorkEntries(ideasDir: string): Promise<ParseResult<PlanEntry>>;
@@ -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;AAmCxB,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,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,gBAAgB,UAAQ,GAAG,SAAS,CA2B7F;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,WAAW,GAAG,SAAS,CAYtD;AAWD,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAOnC;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAQvF;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,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,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAQvF;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 +1 @@
1
- {"version":3,"file":"sections.d.ts","sourceRoot":"","sources":["../../src/core/sections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EAGV,SAAS,EACT,aAAa,EAEd,MAAM,gBAAgB,CAAC;AAExB,QAAA,MAAM,cAAc,QAAe,CAAC;AA2GpC;;;;;4EAK4E;AAC5E,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;IACnE,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;CACzC;AAED,eAAO,MAAM,cAAc,EAAE,UAAU,CAAC,SAAS,CAIhD,CAAC;AAEF;8EAC8E;AAC9E,eAAO,MAAM,aAAa,EAAE,UAAU,CAAC,SAAS,CAI/C,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,UAAU,CAAC,QAAQ,CAI5C,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,UAAU,CAAC,QAAQ,CAIvD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,UAAU,CAAC,UAAU,CAIhD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,UAAU,CAAC,QAAQ,CAI/C,CAAC;AA8BF,eAAO,MAAM,cAAc,EAAE,UAAU,CAAC,aAAa,CAIpD,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"sections.d.ts","sourceRoot":"","sources":["../../src/core/sections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EAGV,SAAS,EACT,aAAa,EAEd,MAAM,gBAAgB,CAAC;AAGxB,QAAA,MAAM,cAAc,QAAe,CAAC;AAmHpC;;;;;4EAK4E;AAC5E,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;IACnE,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;CACzC;AAED,eAAO,MAAM,cAAc,EAAE,UAAU,CAAC,SAAS,CAIhD,CAAC;AAEF;8EAC8E;AAC9E,eAAO,MAAM,aAAa,EAAE,UAAU,CAAC,SAAS,CAI/C,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,UAAU,CAAC,QAAQ,CAI5C,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,UAAU,CAAC,QAAQ,CAIvD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,UAAU,CAAC,UAAU,CAIhD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,UAAU,CAAC,QAAQ,CAI/C,CAAC;AA8BF,eAAO,MAAM,cAAc,EAAE,UAAU,CAAC,aAAa,CAIpD,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { EntityEntry, EntityStatus, ProjectStats, TaskLogEntry, TasksPerWeek } from '../types/index';
1
+ import { CapacityStat, EntityEntry, EntityStatus, IdeaCost, ProjectStats, TaskLogEntry, TasksPerWeek, UsagePerWeek } from '../types/index';
2
2
  export declare function countEntitiesByStatus(entities: EntityEntry[]): Partial<Record<EntityStatus, number>>;
3
3
  export declare function countThreadNotes(entities: EntityEntry[]): {
4
4
  openQuestions: number;
@@ -6,5 +6,9 @@ export declare function countThreadNotes(entities: EntityEntry[]): {
6
6
  };
7
7
  export declare function isoWeekKey(dateStr: string): string;
8
8
  export declare function tasksPerWeek(entries: TaskLogEntry[]): TasksPerWeek[];
9
+ export declare function usagePerWeek(entries: TaskLogEntry[]): UsagePerWeek[];
10
+ export declare function medianPhaseDurationMs(entries: TaskLogEntry[]): number | null;
11
+ export declare function latestCapacity(entries: TaskLogEntry[]): CapacityStat | null;
12
+ export declare function mostExpensiveIdeas(entries: TaskLogEntry[], limit?: number): IdeaCost[];
9
13
  export declare function computeProjectStats(root: string): Promise<ProjectStats>;
10
14
  //# sourceMappingURL=stats.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/core/stats.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACb,MAAM,gBAAgB,CAAC;AAoExB,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,WAAW,EAAE,GACtB,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAOvC;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG;IACzD,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAUA;AAKD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAOlD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CASpE;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAoB7E"}
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/core/stats.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,YAAY,EAEZ,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,YAAY,EAEZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACb,MAAM,gBAAgB,CAAC;AAoExB,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,WAAW,EAAE,GACtB,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAOvC;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG;IACzD,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAUA;AAKD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAOlD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CASpE;AAqBD,wBAAgB,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAoBpE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,GAAG,IAAI,CAa5E;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,YAAY,GAAG,IAAI,CAa3E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,SAAI,GAAG,QAAQ,EAAE,CAsBjF;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAyB7E"}
@@ -8,6 +8,6 @@ export interface StatusDerivationInput {
8
8
  export interface ArchivabilityInput extends StatusDerivationInput {
9
9
  archived?: boolean;
10
10
  }
11
- export declare function deriveStatus(entity: StatusDerivationInput, pr: PrInfo | undefined, prLookupResolved: boolean): EntityStatus | undefined;
11
+ export declare function deriveStatus(entity: StatusDerivationInput, pr: PrInfo | undefined, prLookupResolved: boolean, hasMainActivity?: boolean): EntityStatus | undefined;
12
12
  export declare function isArchivable(entity: ArchivabilityInput, pr: PrInfo | undefined): boolean;
13
13
  //# sourceMappingURL=status.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/core/status/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEzE,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAUD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,qBAAqB,EAC7B,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,gBAAgB,EAAE,OAAO,GACxB,YAAY,GAAG,SAAS,CAgB1B;AAID,wBAAgB,YAAY,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAIxF"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/core/status/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEzE,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAUD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,qBAAqB,EAC7B,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,gBAAgB,EAAE,OAAO,EACzB,eAAe,UAAQ,GACtB,YAAY,GAAG,SAAS,CAoB1B;AAID,wBAAgB,YAAY,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAIxF"}
@@ -1,12 +1,12 @@
1
1
  import { ProvenanceTrail } from '../types/index';
2
+ import { COMMIT_SHA_RE, resolveIdFromCommitMessage } from './git-log';
3
+ export { COMMIT_SHA_RE, resolveIdFromCommitMessage };
2
4
  export declare function readFileMaybe(path: string): Promise<string>;
3
5
  export declare function findReleaseLineForId(changelog: string, id: string): string | undefined;
4
- export declare function resolveIdFromCommitMessage(message: string): string | null;
5
6
  export declare function resolveReleaseRanges(changelog: string): {
6
7
  version: string;
7
8
  range: string;
8
9
  }[];
9
- export declare const COMMIT_SHA_RE: RegExp;
10
10
  export declare function resolveEntityIdForCommit(root: string, sha: string): Promise<string | null>;
11
11
  export declare function resolveIdeasForRelease(root: string, range: string): Promise<Map<string, string[]>>;
12
12
  export declare function resolveEntityTrail(root: string, id: string): Promise<ProvenanceTrail>;
@@ -1 +1 @@
1
- {"version":3,"file":"trail.d.ts","sourceRoot":"","sources":["../../src/core/trail.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAMtD,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMjE;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKtF;AASD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQzE;AAMD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAM5F;AAaD,eAAO,MAAM,aAAa,QAAsB,CAAC;AA+CjD,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAUhG;AAID,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAiBhC;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAgC3F"}
1
+ {"version":3,"file":"trail.d.ts","sourceRoot":"","sources":["../../src/core/trail.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EACL,aAAa,EAEb,0BAA0B,EAG3B,MAAM,WAAW,CAAC;AAMnB,OAAO,EAAE,aAAa,EAAE,0BAA0B,EAAE,CAAC;AAErD,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMjE;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKtF;AAMD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAM5F;AAuCD,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAUhG;AAID,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAiBhC;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAiC3F"}
@@ -9,12 +9,21 @@ export declare const PLAN_KINDS: PlanKind[];
9
9
  export declare const AGENT_IDS: readonly ["claude-code", "opencode"];
10
10
  export type AgentId = (typeof AGENT_IDS)[number];
11
11
  export declare const AGENT_LABELS: Record<AgentId, string>;
12
+ export interface PhaseRun {
13
+ durationMs: number;
14
+ inputTokens: number;
15
+ outputTokens: number;
16
+ model?: string;
17
+ attempts: number;
18
+ }
12
19
  export interface PhaseItem {
13
20
  done: boolean;
14
21
  text: string;
15
22
  description?: string;
16
23
  source?: 'review';
24
+ run?: PhaseRun;
17
25
  }
26
+ export type PhaseMilestone = 'implement' | 'verify' | 'checkbox';
18
27
  /** A body section anchor is `body` for now — the whole prose block is the only
19
28
  * body section a plan/entity has until later phases break it into sub-sections. */
20
29
  export type MarginNoteAnchor = {
@@ -179,7 +188,7 @@ export interface ParkedQuestion {
179
188
  date?: string;
180
189
  ageDays: number;
181
190
  }
182
- export type ConsistencyIssueKind = 'orphan-subject';
191
+ export type ConsistencyIssueKind = 'orphan-subject' | 'title-style';
183
192
  export interface ConsistencyIssue {
184
193
  kind: ConsistencyIssueKind;
185
194
  section: 'plans';
@@ -197,6 +206,24 @@ export interface TasksPerWeek {
197
206
  week: string;
198
207
  count: number;
199
208
  }
209
+ export interface UsagePerWeek {
210
+ /** ISO week, e.g. "2026-W05". */
211
+ week: string;
212
+ agentMinutes: number;
213
+ inputTokens: number;
214
+ outputTokens: number;
215
+ }
216
+ export interface IdeaCost {
217
+ planId: string;
218
+ planTitle: string;
219
+ inputTokens: number;
220
+ outputTokens: number;
221
+ durationMs: number;
222
+ }
223
+ export interface CapacityStat {
224
+ snapshot: RateLimitSnapshot;
225
+ capturedAt: string;
226
+ }
200
227
  export interface ProjectStats {
201
228
  generatedAt: string;
202
229
  comments: CommentStats;
@@ -207,6 +234,10 @@ export interface ProjectStats {
207
234
  openQuestions: number;
208
235
  decisions: number;
209
236
  tasksPerWeek: TasksPerWeek[];
237
+ usagePerWeek: UsagePerWeek[];
238
+ medianPhaseDurationMs: number | null;
239
+ mostExpensiveIdeas: IdeaCost[];
240
+ capacity: CapacityStat | null;
210
241
  }
211
242
  export type IdeaKind = 'idea' | 'note';
212
243
  export type IdeaStatus = 'open' | 'done' | 'dropped';
@@ -345,7 +376,7 @@ export interface DefaultAgentsMap {
345
376
  }
346
377
  export declare const DEFAULT_AGENTS: DefaultAgentsMap;
347
378
  /** Toolbar segments, left to right (IDEA-128/IDEA-133); trimmed per project via `IntegrationConfig.toolbar.segments`. */
348
- export declare const TOOLBAR_SEGMENT_IDS: readonly ["capture", "focus", "scout", "desk"];
379
+ export declare const TOOLBAR_SEGMENT_IDS: readonly ["focus", "scout", "desk"];
349
380
  export type ToolbarSegmentId = (typeof TOOLBAR_SEGMENT_IDS)[number];
350
381
  export interface IntegrationToolbarConfig {
351
382
  enabled?: boolean;
@@ -499,6 +530,30 @@ export interface TaskLogEntry {
499
530
  endedAt: string;
500
531
  outcome: 'done' | 'error' | 'superseded';
501
532
  reason?: string;
533
+ usage?: RunUsage;
534
+ phaseRuns?: PhaseRunRecord[];
535
+ rateLimit?: RateLimitSnapshot;
536
+ }
537
+ export interface RunUsage {
538
+ durationMs: number;
539
+ numTurns: number;
540
+ model?: string;
541
+ inputTokens: number;
542
+ outputTokens: number;
543
+ cacheCreationTokens: number;
544
+ cacheReadTokens: number;
545
+ costUsd: number;
546
+ }
547
+ export interface RateLimitSnapshot {
548
+ status: string;
549
+ rateLimitType?: string;
550
+ resetsAt?: number;
551
+ overage?: boolean;
552
+ }
553
+ export interface PhaseRunRecord {
554
+ kind: 'phase' | 'fix';
555
+ index: number;
556
+ usage: RunUsage;
502
557
  }
503
558
  export interface TrailHop<T> {
504
559
  reached: boolean;
@@ -537,11 +592,15 @@ export interface AgentTaskState {
537
592
  ideaId?: string;
538
593
  agentId: AgentId;
539
594
  lines: string[];
595
+ phaseAnchor?: PhaseMilestone;
596
+ anchorEnteredAt?: number;
597
+ lastStreamAt?: number;
540
598
  suggestedCommit?: {
541
599
  title: string;
542
600
  message: string;
543
601
  };
544
602
  errorKind?: 'auth' | 'question';
603
+ rateLimit?: RateLimitSnapshot;
545
604
  }
546
605
  export interface OverlapVerdict {
547
606
  verdict: 'existing' | 'extend' | 'new';