openplanr 1.2.5 → 1.2.7

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 (84) hide show
  1. package/README.md +20 -0
  2. package/dist/cli/commands/context.d.ts +6 -0
  3. package/dist/cli/commands/context.d.ts.map +1 -0
  4. package/dist/cli/commands/context.js +45 -0
  5. package/dist/cli/commands/context.js.map +1 -0
  6. package/dist/cli/commands/export.d.ts.map +1 -1
  7. package/dist/cli/commands/export.js +8 -0
  8. package/dist/cli/commands/export.js.map +1 -1
  9. package/dist/cli/commands/report-linter.d.ts +6 -0
  10. package/dist/cli/commands/report-linter.d.ts.map +1 -0
  11. package/dist/cli/commands/report-linter.js +61 -0
  12. package/dist/cli/commands/report-linter.js.map +1 -0
  13. package/dist/cli/commands/report.d.ts +6 -0
  14. package/dist/cli/commands/report.d.ts.map +1 -0
  15. package/dist/cli/commands/report.js +150 -0
  16. package/dist/cli/commands/report.js.map +1 -0
  17. package/dist/cli/commands/story.d.ts.map +1 -1
  18. package/dist/cli/commands/story.js +31 -0
  19. package/dist/cli/commands/story.js.map +1 -1
  20. package/dist/cli/commands/voice.d.ts +6 -0
  21. package/dist/cli/commands/voice.d.ts.map +1 -0
  22. package/dist/cli/commands/voice.js +64 -0
  23. package/dist/cli/commands/voice.js.map +1 -0
  24. package/dist/cli/index.js +8 -0
  25. package/dist/cli/index.js.map +1 -1
  26. package/dist/models/schema.d.ts +63 -0
  27. package/dist/models/schema.d.ts.map +1 -1
  28. package/dist/models/schema.js +31 -0
  29. package/dist/models/schema.js.map +1 -1
  30. package/dist/models/types.d.ts +160 -0
  31. package/dist/models/types.d.ts.map +1 -1
  32. package/dist/services/context-pack-service.d.ts +12 -0
  33. package/dist/services/context-pack-service.d.ts.map +1 -0
  34. package/dist/services/context-pack-service.js +155 -0
  35. package/dist/services/context-pack-service.js.map +1 -0
  36. package/dist/services/distribution-service.d.ts +18 -0
  37. package/dist/services/distribution-service.d.ts.map +1 -0
  38. package/dist/services/distribution-service.js +104 -0
  39. package/dist/services/distribution-service.js.map +1 -0
  40. package/dist/services/evidence-service.d.ts +17 -0
  41. package/dist/services/evidence-service.d.ts.map +1 -0
  42. package/dist/services/evidence-service.js +85 -0
  43. package/dist/services/evidence-service.js.map +1 -0
  44. package/dist/services/github-service.d.ts +28 -1
  45. package/dist/services/github-service.d.ts.map +1 -1
  46. package/dist/services/github-service.js +95 -0
  47. package/dist/services/github-service.js.map +1 -1
  48. package/dist/services/report-linter-service.d.ts +10 -0
  49. package/dist/services/report-linter-service.d.ts.map +1 -0
  50. package/dist/services/report-linter-service.js +95 -0
  51. package/dist/services/report-linter-service.js.map +1 -0
  52. package/dist/services/report-service.d.ts +37 -0
  53. package/dist/services/report-service.d.ts.map +1 -0
  54. package/dist/services/report-service.js +173 -0
  55. package/dist/services/report-service.js.map +1 -0
  56. package/dist/services/standup-parser.d.ts +21 -0
  57. package/dist/services/standup-parser.d.ts.map +1 -0
  58. package/dist/services/standup-parser.js +104 -0
  59. package/dist/services/standup-parser.js.map +1 -0
  60. package/dist/services/story-standup-service.d.ts +7 -0
  61. package/dist/services/story-standup-service.d.ts.map +1 -0
  62. package/dist/services/story-standup-service.js +27 -0
  63. package/dist/services/story-standup-service.js.map +1 -0
  64. package/dist/services/template-service.d.ts.map +1 -1
  65. package/dist/services/template-service.js +1 -0
  66. package/dist/services/template-service.js.map +1 -1
  67. package/dist/services/voice-service.d.ts +12 -0
  68. package/dist/services/voice-service.d.ts.map +1 -0
  69. package/dist/services/voice-service.js +42 -0
  70. package/dist/services/voice-service.js.map +1 -0
  71. package/dist/templates/export/planning-report.html.hbs +10 -0
  72. package/dist/templates/export/planning-report.md.hbs +11 -0
  73. package/dist/templates/linter/linter-config.json.hbs +13 -0
  74. package/dist/templates/reports/executive.md.hbs +28 -0
  75. package/dist/templates/reports/release-notes.md.hbs +37 -0
  76. package/dist/templates/reports/retrospective.md.hbs +36 -0
  77. package/dist/templates/reports/sprint.md.hbs +91 -0
  78. package/dist/templates/reports/standup.md.hbs +27 -0
  79. package/dist/templates/reports/weekly.md.hbs +42 -0
  80. package/dist/templates/voice/standup.md.hbs +20 -0
  81. package/dist/utils/markdown.d.ts.map +1 -1
  82. package/dist/utils/markdown.js +11 -5
  83. package/dist/utils/markdown.js.map +1 -1
  84. package/package.json +2 -2
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Delivery channels for stakeholder reports (GitHub issue push; Slack webhooks; email stub).
3
+ */
4
+ import { createIssue, ensureLabel } from './github-service.js';
5
+ const SLACK_TEXT_MAX = 12000;
6
+ function truncateForSlack(text) {
7
+ const t = text.trim();
8
+ if (t.length <= SLACK_TEXT_MAX)
9
+ return t;
10
+ return `${t.slice(0, SLACK_TEXT_MAX)}\n\n…(truncated; full report saved locally)`;
11
+ }
12
+ export async function pushReportAsGitHubIssue(args) {
13
+ if (args.dryRun) {
14
+ return {
15
+ channel: 'github_issue',
16
+ ok: true,
17
+ message: 'Dry run: would create GitHub issue with stakeholder report body.',
18
+ };
19
+ }
20
+ try {
21
+ await ensureLabel('planr:report');
22
+ const { url } = await createIssue(args.title, args.body, ['planr:report']);
23
+ return {
24
+ channel: 'github_issue',
25
+ ok: true,
26
+ message: 'Created GitHub issue with report.',
27
+ url,
28
+ };
29
+ }
30
+ catch (err) {
31
+ return {
32
+ channel: 'github_issue',
33
+ ok: false,
34
+ message: err.message,
35
+ };
36
+ }
37
+ }
38
+ export async function pushReportToSlack(config, markdown, args) {
39
+ const url = config.distribution?.slackWebhookUrl;
40
+ if (args?.dryRun) {
41
+ if (!url) {
42
+ return {
43
+ channel: 'slack',
44
+ ok: true,
45
+ message: 'Dry run: no Slack webhook in config (no POST). Add `distribution.slackWebhookUrl` to .planr/config.json, then run without --dry-run to send.',
46
+ };
47
+ }
48
+ return {
49
+ channel: 'slack',
50
+ ok: true,
51
+ message: `Dry run: would POST ~${Math.min(markdown.length, SLACK_TEXT_MAX)} chars to your Slack webhook (no request sent).`,
52
+ };
53
+ }
54
+ if (!url) {
55
+ return {
56
+ channel: 'slack',
57
+ ok: false,
58
+ message: 'Slack is not configured. Set `distribution.slackWebhookUrl` in .planr/config.json (or use --push github).',
59
+ };
60
+ }
61
+ try {
62
+ const payload = { text: truncateForSlack(markdown) };
63
+ const res = await fetch(url, {
64
+ method: 'POST',
65
+ headers: { 'Content-Type': 'application/json' },
66
+ body: JSON.stringify(payload),
67
+ });
68
+ const bodyText = await res.text().catch(() => '');
69
+ if (!res.ok) {
70
+ return {
71
+ channel: 'slack',
72
+ ok: false,
73
+ message: `Slack webhook failed (${res.status}): ${bodyText || res.statusText}. Check the webhook URL and app permissions.`,
74
+ };
75
+ }
76
+ return {
77
+ channel: 'slack',
78
+ ok: true,
79
+ message: 'Posted report to Slack.',
80
+ };
81
+ }
82
+ catch (err) {
83
+ return {
84
+ channel: 'slack',
85
+ ok: false,
86
+ message: `Slack request failed: ${err.message}`,
87
+ };
88
+ }
89
+ }
90
+ export async function pushReportByEmail(_config, _args) {
91
+ if (!_config.distribution?.emailSmtpHost) {
92
+ return {
93
+ channel: 'email',
94
+ ok: false,
95
+ message: 'Email is not configured. Set `distribution.emailSmtpHost` and related fields in .planr/config.json.',
96
+ };
97
+ }
98
+ return {
99
+ channel: 'email',
100
+ ok: false,
101
+ message: 'SMTP delivery is not implemented in this build.',
102
+ };
103
+ }
104
+ //# sourceMappingURL=distribution-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distribution-service.js","sourceRoot":"","sources":["../../src/services/distribution-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Evidence linking and validation for stakeholder reports.
3
+ */
4
+ import type { ClaimValidationResult, EvidenceSummary, ReportEvidenceItem, StakeholderReportType } from '../models/types.js';
5
+ export declare function countEvidenceAnchors(markdown: string): number;
6
+ export interface ValidateClaimsOptions {
7
+ /** Included for forward-compatible per-report tuning; reserved for future use. */
8
+ reportType?: StakeholderReportType;
9
+ }
10
+ export declare function validateClaimsHaveAnchors(markdown: string, minAnchors: number, options?: ValidateClaimsOptions): ClaimValidationResult[];
11
+ export declare function validateRemoteEvidence(items: ReportEvidenceItem[]): Promise<{
12
+ inaccessible: ReportEvidenceItem[];
13
+ repoOk: boolean;
14
+ repoMessage: string;
15
+ }>;
16
+ export declare function summarizeEvidenceItem(item: ReportEvidenceItem): EvidenceSummary;
17
+ //# sourceMappingURL=evidence-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence-service.d.ts","sourceRoot":"","sources":["../../src/services/evidence-service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAM5B,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAI7D;AAED,MAAM,WAAW,qBAAqB;IACpC,kFAAkF;IAClF,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC;AAcD,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,qBAAqB,EAAE,CAkCzB;AAED,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;IACjF,YAAY,EAAE,kBAAkB,EAAE,CAAC;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC,CAeD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,GAAG,eAAe,CAM/E"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Evidence linking and validation for stakeholder reports.
3
+ */
4
+ import { validateRepoAccessible } from './github-service.js';
5
+ const URL_RE = /https?:\/\/[^\s)]+/g;
6
+ const ISSUE_RE = /(?:#|GH-)\d+/gi;
7
+ export function countEvidenceAnchors(markdown) {
8
+ const urls = markdown.match(URL_RE) ?? [];
9
+ const issues = markdown.match(ISSUE_RE) ?? [];
10
+ return urls.length + issues.length;
11
+ }
12
+ function shouldSkipStrictEvidenceSection(heading) {
13
+ return /^\s*evidence\b/i.test(heading);
14
+ }
15
+ /** Template placeholder bullets (italic instructions) are not treated as factual claims. */
16
+ function isPlaceholderClaimBullet(line) {
17
+ const m = line.match(/^\s*[-*]\s+(.+)$/);
18
+ if (!m)
19
+ return false;
20
+ const t = m[1].trim();
21
+ return /^_.+_$/s.test(t);
22
+ }
23
+ export function validateClaimsHaveAnchors(markdown, minAnchors, options) {
24
+ void options?.reportType;
25
+ const sections = markdown.split(/^## /m).slice(1);
26
+ const results = [];
27
+ let idx = 0;
28
+ for (const chunk of sections) {
29
+ idx += 1;
30
+ const lines = chunk.split('\n');
31
+ const heading = lines[0]?.trim() ?? `section-${idx}`;
32
+ if (shouldSkipStrictEvidenceSection(heading)) {
33
+ continue;
34
+ }
35
+ const body = lines.slice(1).join('\n');
36
+ const bullets = body.split('\n').filter((l) => /^\s*[-*]\s+/.test(l));
37
+ for (let j = 0; j < bullets.length; j += 1) {
38
+ const line = bullets[j];
39
+ if (isPlaceholderClaimBullet(line)) {
40
+ continue;
41
+ }
42
+ const n = countEvidenceAnchors(line);
43
+ const claimId = `${heading}:${j}`;
44
+ if (n < minAnchors) {
45
+ results.push({
46
+ claimId,
47
+ ok: false,
48
+ missingReason: 'No link or issue reference found for this bullet; add a PR URL, commit, or #issue.',
49
+ });
50
+ }
51
+ else {
52
+ results.push({ claimId, ok: true });
53
+ }
54
+ }
55
+ }
56
+ return results;
57
+ }
58
+ export async function validateRemoteEvidence(items) {
59
+ const repo = await validateRepoAccessible();
60
+ const inaccessible = [];
61
+ for (const it of items) {
62
+ if (!it.url)
63
+ continue;
64
+ try {
65
+ const u = new URL(it.url);
66
+ if (u.hostname !== 'github.com')
67
+ continue;
68
+ // Lightweight check only — full HTTP HEAD would add dependency noise
69
+ if (!repo.ok)
70
+ inaccessible.push(it);
71
+ }
72
+ catch {
73
+ inaccessible.push(it);
74
+ }
75
+ }
76
+ return { inaccessible, repoOk: repo.ok, repoMessage: repo.message };
77
+ }
78
+ export function summarizeEvidenceItem(item) {
79
+ return {
80
+ evidenceId: item.id,
81
+ title: item.label,
82
+ body: [item.detail, item.url].filter(Boolean).join('\n'),
83
+ };
84
+ }
85
+ //# sourceMappingURL=evidence-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence-service.js","sourceRoot":"","sources":["../../src/services/evidence-service.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * All operations use `gh` so authentication is handled by the user's
6
6
  * existing GitHub CLI session — no extra API tokens needed.
7
7
  */
8
- import type { ArtifactFrontmatter, ArtifactType } from '../models/types.js';
8
+ import type { ArtifactFrontmatter, ArtifactType, GitHubCommitSummary, GitHubPullRequestSummary } from '../models/types.js';
9
9
  export interface GitHubIssue {
10
10
  number: number;
11
11
  title: string;
@@ -94,4 +94,31 @@ export declare function fetchIssueTypes(owner: string, repo: string): Promise<Re
94
94
  * Requires the issue's node ID and the issue type's node ID.
95
95
  */
96
96
  export declare function setIssueType(owner: string, repo: string, issueNumber: number, issueTypeName: string): Promise<void>;
97
+ /**
98
+ * Recent commits on the default branch (best-effort via GitHub API).
99
+ */
100
+ export declare function fetchRecentCommits(args: {
101
+ days: number;
102
+ limit: number;
103
+ }): Promise<{
104
+ commits: GitHubCommitSummary[];
105
+ warning?: string;
106
+ }>;
107
+ /**
108
+ * Recently updated pull requests (all states), filtered client-side by `updated_at`.
109
+ */
110
+ export declare function fetchRecentPullRequests(args: {
111
+ days: number;
112
+ limit: number;
113
+ }): Promise<{
114
+ pullRequests: GitHubPullRequestSummary[];
115
+ warning?: string;
116
+ }>;
117
+ /**
118
+ * Best-effort check that `gh` can read the repo (already implied by verifyGitHubRepo).
119
+ */
120
+ export declare function validateRepoAccessible(): Promise<{
121
+ ok: boolean;
122
+ message: string;
123
+ }>;
97
124
  //# sourceMappingURL=github-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"github-service.d.ts","sourceRoot":"","sources":["../../src/services/github-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github-service.d.ts","sourceRoot":"","sources":["../../src/services/github-service.ts"],"names":[],"mappings":"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"}
@@ -520,4 +520,99 @@ export async function setIssueType(owner, repo, issueNumber, issueTypeName) {
520
520
  // Non-fatal — issue was created, just type wasn't set
521
521
  }
522
522
  }
523
+ // ---------------------------------------------------------------------------
524
+ // Repository activity (stakeholder reports)
525
+ // ---------------------------------------------------------------------------
526
+ function isoDaysAgo(days) {
527
+ const d = new Date();
528
+ d.setUTCDate(d.getUTCDate() - days);
529
+ return d.toISOString();
530
+ }
531
+ /**
532
+ * Recent commits on the default branch (best-effort via GitHub API).
533
+ */
534
+ export async function fetchRecentCommits(args) {
535
+ try {
536
+ await verifyGitHubRepo();
537
+ const since = isoDaysAgo(args.days);
538
+ const perPage = Math.min(args.limit, 100);
539
+ const raw = await gh([
540
+ 'api',
541
+ `repos/{owner}/{repo}/commits?per_page=${perPage}&since=${encodeURIComponent(since)}`,
542
+ ]);
543
+ const parsed = JSON.parse(raw);
544
+ if (!Array.isArray(parsed))
545
+ return { commits: [], warning: 'Unexpected commits response from GitHub.' };
546
+ const commits = parsed.map((c) => ({
547
+ sha: c.sha,
548
+ shortSha: c.sha.slice(0, 7),
549
+ message: (c.commit?.message || '').split('\n')[0].trim(),
550
+ authorLogin: c.author?.login || 'unknown',
551
+ committedDate: c.commit?.author?.date || '',
552
+ url: c.html_url,
553
+ }));
554
+ return { commits };
555
+ }
556
+ catch (err) {
557
+ logger.debug('fetchRecentCommits failed', err);
558
+ return {
559
+ commits: [],
560
+ warning: `Could not load commits: ${err.message}`,
561
+ };
562
+ }
563
+ }
564
+ /**
565
+ * Recently updated pull requests (all states), filtered client-side by `updated_at`.
566
+ */
567
+ export async function fetchRecentPullRequests(args) {
568
+ try {
569
+ await verifyGitHubRepo();
570
+ const sinceMs = Date.now() - args.days * 86_400_000;
571
+ const perPage = Math.min(args.limit, 100);
572
+ const raw = await gh([
573
+ 'api',
574
+ `repos/{owner}/{repo}/pulls?state=all&sort=updated&direction=desc&per_page=${perPage}`,
575
+ ]);
576
+ const parsed = JSON.parse(raw);
577
+ if (!Array.isArray(parsed))
578
+ return { pullRequests: [], warning: 'Unexpected PR response from GitHub.' };
579
+ const pullRequests = [];
580
+ for (const p of parsed) {
581
+ const updated = Date.parse(p.updated_at);
582
+ if (Number.isFinite(updated) && updated < sinceMs)
583
+ break;
584
+ pullRequests.push({
585
+ number: p.number,
586
+ title: p.title,
587
+ state: p.state,
588
+ url: p.html_url,
589
+ authorLogin: p.user?.login || 'unknown',
590
+ updatedAt: p.updated_at,
591
+ mergedAt: p.merged_at,
592
+ });
593
+ if (pullRequests.length >= args.limit)
594
+ break;
595
+ }
596
+ return { pullRequests };
597
+ }
598
+ catch (err) {
599
+ logger.debug('fetchRecentPullRequests failed', err);
600
+ return {
601
+ pullRequests: [],
602
+ warning: `Could not load pull requests: ${err.message}`,
603
+ };
604
+ }
605
+ }
606
+ /**
607
+ * Best-effort check that `gh` can read the repo (already implied by verifyGitHubRepo).
608
+ */
609
+ export async function validateRepoAccessible() {
610
+ try {
611
+ await verifyGitHubRepo();
612
+ return { ok: true, message: 'GitHub repository is reachable.' };
613
+ }
614
+ catch (err) {
615
+ return { ok: false, message: err.message };
616
+ }
617
+ }
523
618
  //# sourceMappingURL=github-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"github-service.js","sourceRoot":"","sources":["../../src/services/github-service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAc1C,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,MAAM,WAAW,GAA2B;IAC1C,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,eAAe;IACxB,KAAK,EAAE,aAAa;IACpB,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,aAAa;CACrB,CAAC;AAEF,MAAM,YAAY,GAA2B;IAC3C,YAAY,EAAE,QAAQ;IACtB,eAAe,EAAE,QAAQ;IACzB,aAAa,EAAE,QAAQ;IACvB,YAAY,EAAE,QAAQ;IACtB,aAAa,EAAE,QAAQ;CACxB,CAAC;AAEF;;;GAGG;AACH,MAAM,sBAAsB,GAA2B;IACrD,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,qBAAqB,GAA2B;IACpD,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,MAAM;CACf,CAAC;AAEF,MAAM,qBAAqB,GAA2B;IACpD,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,MAAM;IACrB,IAAI,EAAE,QAAQ;CACf,CAAC;AAEF,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E,MAAM,kBAAkB,GAAG,yBAAyB,CAAC;AACrD,MAAM,iBAAiB,GAAG,uCAAuC,CAAC;AAElE,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,KAAK,UAAU,WAAW;IACxB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,uCAAuC;YACrC,wBAAwB,kBAAkB,IAAI;YAC9C,4CAA4C;YAC5C,uCAAuC,CAC1C,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,MAAc;IACxC,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;QAClD,MAAM,IAAI,KAAK,CACb,sCAAsC;YACpC,0EAA0E,CAC7E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,EAAE,CAAC,IAAc;IAC9B,MAAM,MAAM,GAAG,MAAM,WAAW,EAAE,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;QACtF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,GAAkC,CAAC;QAClD,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAEnD,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CACb,sCAAsC;gBACpC,0EAA0E,CAC7E,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,6CAA6C;gBAC3C,4EAA4E,CAC/E,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,KAAK,CACb,gDAAgD;gBAC9C,yCAAyC,iBAAiB,EAAE,CAC/D,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,MAAM,CAAI,IAAc;IACrC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAM,CAAC;AACjC,CAAC;AAED,mEAAmE;AACnE,KAAK,UAAU,YAAY,CAAI,OAAe,EAAE,EAAoC;IAClF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC3C,MAAM,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,MAAM,GAAG,MAAM,WAAW,EAAE,CAAC;IACnC,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAA4B;QACvD,MAAM;QACN,MAAM;QACN,QAAQ;QACR,eAAe;KAChB,CAAC,CAAC;IACH,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAa;IAC7C,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,EAAE,CAAC;YACP,OAAO;YACP,QAAQ;YACR,KAAK;YACL,SAAS;YACT,KAAK;YACL,eAAe;YACf,aAAa,KAAK,EAAE;YACpB,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;QACnD,+DAA+D;IACjE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAAkB;IAChD,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACnC,CAAC;AAED,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E,iEAAiE;AACjE,SAAS,QAAQ,CAAC,OAAe;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,wEAAwE;AACxE,SAAS,kBAAkB,CAAC,OAAe;IACzC,OAAO,OAAO,CAAC,OAAO,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,OAAe,EAAE,OAAe;IACtD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,MAAM,OAAO,EAAE,CAAC,CAAC;IACnE,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEzC,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1B,GAAG,GAAG,CAAC,CAAC;YACR,MAAM;QACR,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7E,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC9B,CAAC;AAED,8CAA8C;AAC9C,SAAS,aAAa,CAAC,OAAe,EAAE,OAAe;IACrD,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,+EAA+E;AAC/E,SAAS,kBAAkB,CAAC,IAAyC;IACnE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,wCAAwC,CAAC;IACxD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,KAAK,QAAQ,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrF,OAAO,GAAG,MAAM,GAAG,IAAI,IAAI,CAAC;AAC9B,CAAC;AAED,+EAA+E;AAC/E,SAAS,WAAW,CAAC,UAAkB,EAAE,YAAoB;IAC3D,OAAO;QACL,EAAE;QACF,KAAK;QACL,uBAAuB,UAAU,OAAO,YAAY,gCAAgC;KACrF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,UAAkB,EAAE,QAAgB;IAC7D,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;IAChE,OAAO,GAAG,UAAU,KAAK,OAAO,EAAE,CAAC;AACrC,CAAC;AAED,8EAA8E;AAC9E,8BAA8B;AAC9B,8EAA8E;AAE9E,SAAS,aAAa,CAAC,OAAe,EAAE,WAAgC;IACtE,MAAM,IAAI,GAAG,kBAAkB,CAAC;QAC9B,CAAC,QAAQ,EAAE,WAAW,CAAC,MAA4B,CAAC;QACpD,CAAC,OAAO,EAAE,WAAW,CAAC,OAA6B,CAAC;QACpD,CAAC,SAAS,EAAE,WAAW,CAAC,SAA+B,CAAC;KACzD,CAAC,CAAC;IAEH,IAAI,IAAI,GAAG,OAAO,CAAC;IAEnB,sEAAsE;IACtE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,6CAA6C,EAAE,EAAE,CAAC,CAAC;IAEvE,oEAAoE;IACpE,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEpC,sFAAsF;IACtF,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnE,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,cAAc,CAAC,YAAY,EAAE,6BAA6B,CAAC,CAAC;IAC3F,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,cAAc,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACjF,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,GAAG,cAAc,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;IAErF,sCAAsC;IACtC,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEtF,+CAA+C;IAC/C,IAAI,cAAc,GAAkB,IAAI,CAAC;IACzC,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtE,cAAc,GAAG,wDAAwD,WAAW,cAAc,CAAC;IACrG,CAAC;IAED,8BAA8B;IAC9B,MAAM,KAAK,GAAG;QACZ,IAAI,CAAC,IAAI,EAAE;QACX,YAAY;QACZ,SAAS;QACT,YAAY;QACZ,cAAc;QACd,SAAS,CAAC,IAAI,EAAE,IAAI,IAAI;KACzB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElB,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,aAAa,CAAC,OAAe,EAAE,WAAgC;IACtE,MAAM,IAAI,GAAG,kBAAkB,CAAC;QAC9B,CAAC,QAAQ,EAAE,WAAW,CAAC,MAA4B,CAAC;QACpD,CAAC,OAAO,EAAE,WAAW,CAAC,KAA2B,CAAC;KACnD,CAAC,CAAC;IACH,OAAO,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe,EAAE,WAAgC;IACzE,MAAM,IAAI,GAAG,kBAAkB,CAAC;QAC9B,CAAC,QAAQ,EAAE,WAAW,CAAC,MAA4B,CAAC;QACpD,CAAC,MAAM,EAAE,WAAW,CAAC,MAA4B,CAAC;QAClD,CAAC,OAAO,EAAE,WAAW,CAAC,KAA2B,CAAC;KACnD,CAAC,CAAC;IACH,OAAO,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,cAAc,CAAC,OAAe,EAAE,WAAgC;IACvE,MAAM,IAAI,GAAG,kBAAkB,CAAC;QAC9B,CAAC,QAAQ,EAAE,WAAW,CAAC,MAA4B,CAAC;QACpD,CAAC,SAAS,EAAE,WAAW,CAAC,SAA+B,CAAC;KACzD,CAAC,CAAC;IACH,OAAO,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AACtC,CAAC;AAED,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,GAAW,EACX,UAAkB,EAClB,YAAoB,EACpB,WAAgC;IAEhC,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAEtC,IAAI,IAAY,CAAC;IACjB,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,IAAI,GAAG,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC3C,MAAM;QACR,KAAK,MAAM;YACT,IAAI,GAAG,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC3C,MAAM;QACR,KAAK,SAAS;YACZ,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC9C,MAAM;QACR,KAAK,OAAO;YACV,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC5C,MAAM;QACR;YACE,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,OAAO,GAAG,IAAI,KAAK,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAa,EACb,IAAY,EACZ,MAAgB,EAChB,SAAkB;IAElB,OAAO,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;QAC3C,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC5E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QACrE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,WAAmB,EACnB,IAAuD;IAEvD,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,KAAK;YAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAErD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;gBAC/C,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;gBACvC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;SAAM,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QACjC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,WAAmB;IAChD,OAAO,MAAM,CAAc;QACzB,OAAO;QACP,MAAM;QACN,MAAM,CAAC,WAAW,CAAC;QACnB,QAAQ;QACR,+BAA+B;KAChC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAmC,KAAK,EACxC,KAAK,GAAG,GAAG;IAEX,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpD,OAAO,MAAM,CAAgB;QAC3B,OAAO;QACP,MAAM;QACN,SAAS;QACT,MAAM;QACN,SAAS;QACT,KAAK;QACL,QAAQ;QACR,+BAA+B;QAC/B,SAAS;QACT,MAAM,CAAC,KAAK,CAAC;KACd,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAa;IACjD,oCAAoC;IACpC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,MAAM,CAA2B;YACxD,KAAK;YACL,iCAAiC;SAClC,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,CAAC;YAC3E,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;QACtD,0CAA0C;IAC5C,CAAC;IAED,mBAAmB;IACnB,IAAI,CAAC;QACH,MAAM,EAAE,CAAC;YACP,KAAK;YACL,iCAAiC;YACjC,IAAI;YACJ,SAAS,KAAK,EAAE;YAChB,IAAI;YACJ,YAAY;SACb,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;QACvD,iCAAiC;IACnC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,qBAAqB,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,OAAO,qBAAqB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAA+B;IAC/D,MAAM,UAAU,GAAiC,EAAE,CAAC;IACpD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACxD,UAAU,CAAC,KAAK,CAAC,GAAG,IAAoB,CAAC;IAC3C,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAkB;IACxD,OAAO,sBAAsB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAC9C,CAAC;AAED,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E,qDAAqD;AACrD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkC,CAAC;AAEjE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAa,EACb,IAAY;IAEZ,MAAM,QAAQ,GAAG,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,8BAA8B,KAAK,aAAa,IAAI,sDAAsD,CAAC;QACzH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC;QAC1D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,GAA2B,EAAE,CAAC;YACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;YAC7B,CAAC;YACD,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACpC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAa,EACb,IAAY,EACZ,WAAmB,EACnB,aAAqB;IAErB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,CAAC,KAAK,CACV,eAAe,aAAa,mCAAmC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpG,CAAC;YACF,OAAO;QACT,CAAC;QAED,0BAA0B;QAC1B,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QACnF,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAElD,qBAAqB;QACrB,MAAM,EAAE,CAAC;YACP,KAAK;YACL,SAAS;YACT,IAAI;YACJ,4DAA4D,WAAW,oBAAoB,WAAW,yBAAyB;SAChI,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,6BAA6B,aAAa,SAAS,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;QACpF,sDAAsD;IACxD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"github-service.js","sourceRoot":"","sources":["../../src/services/github-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Quality linter for stakeholder reports — vague language, structure, evidence hints.
3
+ */
4
+ import type { OpenPlanrConfig, ReportLinterConfig, ReportLintResult, StakeholderReportType } from '../models/types.js';
5
+ export declare function mergeLinterConfig(config?: ReportLinterConfig): ReportLinterConfig;
6
+ export declare function validateReportMarkdown(markdown: string, reportType: StakeholderReportType, linter: ReportLinterConfig): ReportLintResult;
7
+ /** Coaching stub for recurring patterns — stateless in OSS build */
8
+ export declare function buildCoachingHistoryKey(_user: string, ruleId: string): string;
9
+ export declare function lintWithProjectConfig(markdown: string, reportType: StakeholderReportType, projectConfig: OpenPlanrConfig): ReportLintResult;
10
+ //# sourceMappingURL=report-linter-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-linter-service.d.ts","sourceRoot":"","sources":["../../src/services/report-linter-service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAGV,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAwB5B,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,kBAAkB,CAKjF;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,qBAAqB,EACjC,MAAM,EAAE,kBAAkB,GACzB,gBAAgB,CAwDlB;AAMD,oEAAoE;AACpE,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,qBAAqB,EACjC,aAAa,EAAE,eAAe,GAC7B,gBAAgB,CAMlB"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Quality linter for stakeholder reports — vague language, structure, evidence hints.
3
+ */
4
+ import { countEvidenceAnchors } from './evidence-service.js';
5
+ const DEFAULT_VAGUE = [
6
+ {
7
+ pattern: '\\b(fixed bugs|worked on stuff|almost done|mostly done|making progress)\\b',
8
+ alternatives: [
9
+ 'Closed #12, #15 — see PR 44',
10
+ 'Completed 3 of 5 stories; remaining: error handling (US-020)',
11
+ 'Implementation 90% complete; remaining: tests and docs',
12
+ ],
13
+ hint: 'Stakeholders need countable outcomes and links, not mood.',
14
+ },
15
+ {
16
+ pattern: '\\b(soon|quickly|later|various|several|things)\\b',
17
+ alternatives: ['by Friday EOD', 'in the next sprint (SPRINT-003)', 'three items: A, B, C'],
18
+ },
19
+ ];
20
+ const DEFAULT_RULES = [
21
+ { id: 'evidence-density', enabled: true, minEvidenceLinks: 1 },
22
+ { id: 'weekly-structure', enabled: true, requireSections: ['Wins', 'Risks', 'Ask'] },
23
+ ];
24
+ export function mergeLinterConfig(config) {
25
+ return {
26
+ rules: config?.rules ?? DEFAULT_RULES,
27
+ vaguePhrases: config?.vaguePhrases ?? DEFAULT_VAGUE,
28
+ };
29
+ }
30
+ export function validateReportMarkdown(markdown, reportType, linter) {
31
+ const findings = [];
32
+ const coaching = [];
33
+ const cfg = mergeLinterConfig(linter);
34
+ for (const rule of cfg.rules) {
35
+ if (!rule.enabled)
36
+ continue;
37
+ if (rule.id === 'weekly-structure' && reportType === 'weekly' && rule.requireSections) {
38
+ for (const h of rule.requireSections) {
39
+ const re = new RegExp(`^##\\s+.*${escapeRe(h)}.*$`, 'im');
40
+ if (!re.test(markdown)) {
41
+ findings.push({
42
+ severity: 'warning',
43
+ ruleId: 'weekly-structure',
44
+ message: `Missing recommended section containing "${h}" (e.g. "## ${h}") for weekly updates.`,
45
+ suggestion: `Add a "## …${h}…" section with 2–4 concrete bullets.`,
46
+ });
47
+ }
48
+ }
49
+ }
50
+ if (rule.id === 'evidence-density' && rule.minEvidenceLinks && rule.minEvidenceLinks > 0) {
51
+ const anchors = countEvidenceAnchors(markdown);
52
+ if (anchors < rule.minEvidenceLinks) {
53
+ findings.push({
54
+ severity: 'warning',
55
+ ruleId: 'evidence-density',
56
+ message: 'Few evidence anchors (URLs or #issues) detected.',
57
+ suggestion: 'Link each major claim to a PR, commit, or planr artifact id.',
58
+ });
59
+ }
60
+ }
61
+ }
62
+ for (const v of cfg.vaguePhrases) {
63
+ const re = new RegExp(v.pattern, 'gi');
64
+ let m = re.exec(markdown);
65
+ while (m) {
66
+ findings.push({
67
+ severity: 'info',
68
+ ruleId: 'vague-language',
69
+ message: `Vague or low-signal phrase: "${m[0]}".`,
70
+ suggestion: v.alternatives[0],
71
+ span: { start: m.index, end: m.index + m[0].length },
72
+ });
73
+ coaching.push({
74
+ ruleId: 'vague-language',
75
+ message: `Try: ${v.alternatives.slice(0, 2).join(' · ')}`,
76
+ educational: v.hint,
77
+ });
78
+ m = re.exec(markdown);
79
+ }
80
+ }
81
+ const errors = findings.filter((f) => f.severity === 'error');
82
+ const ok = errors.length === 0;
83
+ return { ok, findings, coaching };
84
+ }
85
+ function escapeRe(s) {
86
+ return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
87
+ }
88
+ /** Coaching stub for recurring patterns — stateless in OSS build */
89
+ export function buildCoachingHistoryKey(_user, ruleId) {
90
+ return ruleId;
91
+ }
92
+ export function lintWithProjectConfig(markdown, reportType, projectConfig) {
93
+ return validateReportMarkdown(markdown, reportType, mergeLinterConfig(projectConfig.reportLinter));
94
+ }
95
+ //# sourceMappingURL=report-linter-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-linter-service.js","sourceRoot":"","sources":["../../src/services/report-linter-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Stakeholder report generation from context packs and Handlebars templates.
3
+ */
4
+ import type { OpenPlanrConfig, StakeholderReportContext, StakeholderReportFormat, StakeholderReportType } from '../models/types.js';
5
+ import { type BuildContextOptions } from './context-pack-service.js';
6
+ export declare function resolveReportTemplate(reportType: StakeholderReportType): string;
7
+ export declare function generateStakeholderReportMarkdown(context: StakeholderReportContext, config: OpenPlanrConfig): Promise<string>;
8
+ /**
9
+ * Remove the first Markdown H1 line (and following blank lines) so HTML export does not
10
+ * duplicate the document title: wrapHtmlDocument() already injects a single <h1>.
11
+ */
12
+ export declare function stripLeadingMarkdownH1(md: string): string;
13
+ /** Minimal markdown → HTML for reports (headings, lists, links, paragraphs). */
14
+ export declare function markdownToBasicHtml(md: string): string;
15
+ export declare function formatStakeholderReportOutput(context: StakeholderReportContext, config: OpenPlanrConfig, format: StakeholderReportFormat): Promise<{
16
+ markdown: string;
17
+ html?: string;
18
+ }>;
19
+ export declare function generateStakeholderReport(projectDir: string, config: OpenPlanrConfig, opts: BuildContextOptions & {
20
+ format: StakeholderReportFormat;
21
+ }): Promise<{
22
+ markdown: string;
23
+ html?: string;
24
+ context: StakeholderReportContext;
25
+ }>;
26
+ export declare function writeReportOutputs(args: {
27
+ projectDir: string;
28
+ config: OpenPlanrConfig;
29
+ baseName: string;
30
+ markdown: string;
31
+ html?: string;
32
+ outputDir?: string;
33
+ }): Promise<{
34
+ mdPath?: string;
35
+ htmlPath?: string;
36
+ }>;
37
+ //# sourceMappingURL=report-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-service.d.ts","sourceRoot":"","sources":["../../src/services/report-service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,KAAK,mBAAmB,EAAiC,MAAM,2BAA2B,CAAC;AAYpG,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,qBAAqB,GAAG,MAAM,CAE/E;AAED,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,wBAAwB,EACjC,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,MAAM,CAAC,CAcjB;AA8CD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAQzD;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAyCtD;AAeD,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,wBAAwB,EACjC,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAS9C;AAED,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,mBAAmB,GAAG;IAAE,MAAM,EAAE,uBAAuB,CAAA;CAAE,GAC9D,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,wBAAwB,CAAA;CAAE,CAAC,CAIjF;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAclD"}