@zigrivers/scaffold 3.19.0 → 3.20.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.
@@ -1,6 +1,6 @@
1
1
  import { createRequire } from 'node:module';
2
2
  import { PHASES, PHASE_BY_SLUG } from '../types/frontmatter.js';
3
- import { buildTemplate } from './template.js';
3
+ import { buildTemplate, buildMultiServiceTemplate } from './template.js';
4
4
  const require = createRequire(import.meta.url);
5
5
  const pkg = require('../../package.json');
6
6
  function buildStep(slug, state, metaPrompts) {
@@ -109,4 +109,128 @@ export function generateHtml(data) {
109
109
  const dataJson = JSON.stringify(data, null, 2);
110
110
  return buildTemplate(dataJson, data);
111
111
  }
112
+ function summarizeService(svc) {
113
+ const { name, projectType, state, metaPrompts } = svc;
114
+ const entries = Object.entries(state.steps);
115
+ let completed = 0;
116
+ let skipped = 0;
117
+ let pending = 0;
118
+ let inProgress = 0;
119
+ // Track lowest phase number that has any pending or in_progress step.
120
+ let currentPhaseNumber = null;
121
+ for (const [slug, entry] of entries) {
122
+ switch (entry.status) {
123
+ case 'completed':
124
+ completed++;
125
+ break;
126
+ case 'skipped':
127
+ skipped++;
128
+ break;
129
+ case 'pending':
130
+ pending++;
131
+ break;
132
+ case 'in_progress':
133
+ inProgress++;
134
+ break;
135
+ }
136
+ if (entry.status === 'pending' || entry.status === 'in_progress') {
137
+ const phaseSlug = metaPrompts?.get(slug)?.frontmatter.phase;
138
+ if (phaseSlug && phaseSlug in PHASE_BY_SLUG) {
139
+ const phaseNum = PHASE_BY_SLUG[phaseSlug].number;
140
+ if (currentPhaseNumber === null || phaseNum < currentPhaseNumber) {
141
+ currentPhaseNumber = phaseNum;
142
+ }
143
+ }
144
+ }
145
+ }
146
+ const total = entries.length;
147
+ const percentage = total > 0 ? Math.round(((completed + skipped) / total) * 100) : 0;
148
+ const currentPhaseName = currentPhaseNumber === null
149
+ ? null
150
+ : PHASES.find(p => p.number === currentPhaseNumber)?.displayName ?? null;
151
+ const nextSlug = state.next_eligible?.[0] ?? null;
152
+ let nextSummary = null;
153
+ if (nextSlug) {
154
+ // Match single-service computeNextEligible behavior: summary only, not
155
+ // description fallback. Description already renders in the per-service
156
+ // drill-down; the multi-service card should stay short.
157
+ nextSummary = metaPrompts?.get(nextSlug)?.frontmatter.summary ?? null;
158
+ }
159
+ return {
160
+ name,
161
+ projectType,
162
+ percentage,
163
+ completed,
164
+ skipped,
165
+ pending,
166
+ inProgress,
167
+ total,
168
+ currentPhaseNumber,
169
+ currentPhaseName,
170
+ nextEligibleSlug: nextSlug,
171
+ nextEligibleSummary: nextSummary,
172
+ };
173
+ }
174
+ function buildServicesByPhase(services) {
175
+ return PHASES.map(p => {
176
+ let reached = 0;
177
+ for (const svc of services) {
178
+ let hit = false;
179
+ for (const [slug, entry] of Object.entries(svc.state.steps)) {
180
+ if (entry.status !== 'completed' && entry.status !== 'skipped')
181
+ continue;
182
+ const phaseSlug = svc.metaPrompts?.get(slug)?.frontmatter.phase;
183
+ if (phaseSlug === p.slug) {
184
+ hit = true;
185
+ break;
186
+ }
187
+ }
188
+ if (hit)
189
+ reached++;
190
+ }
191
+ return {
192
+ phaseSlug: p.slug,
193
+ phaseName: p.displayName,
194
+ phaseNumber: p.number,
195
+ reachedCount: reached,
196
+ };
197
+ });
198
+ }
199
+ export function generateMultiServiceDashboardData(opts) {
200
+ const { services: input, methodology } = opts;
201
+ const services = input.map(summarizeService);
202
+ const totalServices = services.length;
203
+ // Compute averagePercentage from RAW ratios, not the per-service rounded
204
+ // percentages, to avoid double-rounding drift (Codex MMR P3). One final
205
+ // Math.round at the end.
206
+ let averagePercentage = 0;
207
+ if (totalServices > 0) {
208
+ let sumRatio = 0;
209
+ for (const s of services) {
210
+ sumRatio += s.total > 0 ? (s.completed + s.skipped) / s.total : 0;
211
+ }
212
+ averagePercentage = Math.round((sumRatio / totalServices) * 100);
213
+ }
214
+ const servicesComplete = services.filter(s => s.total > 0 && s.percentage === 100).length;
215
+ const servicesByPhase = buildServicesByPhase(input);
216
+ return {
217
+ generatedAt: new Date().toISOString(),
218
+ methodology,
219
+ scaffoldVersion: pkg.version,
220
+ services,
221
+ aggregate: {
222
+ totalServices,
223
+ averagePercentage,
224
+ servicesComplete,
225
+ servicesByPhase,
226
+ },
227
+ };
228
+ }
229
+ export function generateMultiServiceHtml(data) {
230
+ // Escape `<` in the embedded JSON payload to prevent `</script>` breakout and
231
+ // keep arbitrary service names (which end up in the JSON block) from being
232
+ // parsed as HTML by the browser.
233
+ const dataJson = JSON.stringify(data, null, 2).replace(/</g, '\\u003c');
234
+ return buildMultiServiceTemplate(dataJson, data);
235
+ }
112
236
  //# sourceMappingURL=generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/dashboard/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/dashboard/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=multi-service.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-service.test.d.ts","sourceRoot":"","sources":["../../src/dashboard/multi-service.test.ts"],"names":[],"mappings":""}