zelari-code 1.15.0 → 1.17.1

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 (58) hide show
  1. package/README.md +3 -1
  2. package/dist/cli/app.js +8 -1
  3. package/dist/cli/app.js.map +1 -1
  4. package/dist/cli/components/StatusBar.js +5 -1
  5. package/dist/cli/components/StatusBar.js.map +1 -1
  6. package/dist/cli/councilDispatcher.js +3 -0
  7. package/dist/cli/councilDispatcher.js.map +1 -1
  8. package/dist/cli/hooks/chatStats.js +36 -11
  9. package/dist/cli/hooks/chatStats.js.map +1 -1
  10. package/dist/cli/hooks/conversationContext.js +5 -2
  11. package/dist/cli/hooks/conversationContext.js.map +1 -1
  12. package/dist/cli/hooks/historyCompaction.js +8 -1
  13. package/dist/cli/hooks/historyCompaction.js.map +1 -1
  14. package/dist/cli/hooks/useChatTurn.js +254 -60
  15. package/dist/cli/hooks/useChatTurn.js.map +1 -1
  16. package/dist/cli/hooks/useSlashDispatch.js +42 -0
  17. package/dist/cli/hooks/useSlashDispatch.js.map +1 -1
  18. package/dist/cli/main.bundled.js +2509 -845
  19. package/dist/cli/main.bundled.js.map +4 -4
  20. package/dist/cli/main.js +47 -0
  21. package/dist/cli/main.js.map +1 -1
  22. package/dist/cli/mcp/mcpManager.js +11 -1
  23. package/dist/cli/mcp/mcpManager.js.map +1 -1
  24. package/dist/cli/mcp/mcpPresets.js +77 -0
  25. package/dist/cli/mcp/mcpPresets.js.map +1 -0
  26. package/dist/cli/memory/fileBackend.js +11 -2
  27. package/dist/cli/memory/fileBackend.js.map +1 -1
  28. package/dist/cli/runHeadless.js +79 -4
  29. package/dist/cli/runHeadless.js.map +1 -1
  30. package/dist/cli/slashCommands.js +54 -1
  31. package/dist/cli/slashCommands.js.map +1 -1
  32. package/dist/cli/slashHandlers/cache.js +35 -0
  33. package/dist/cli/slashHandlers/cache.js.map +1 -0
  34. package/dist/cli/slashHandlers/state.js +97 -0
  35. package/dist/cli/slashHandlers/state.js.map +1 -0
  36. package/dist/cli/state/commitHelpers.js +73 -0
  37. package/dist/cli/state/commitHelpers.js.map +1 -0
  38. package/dist/cli/state/fileStateStore.js +262 -0
  39. package/dist/cli/state/fileStateStore.js.map +1 -0
  40. package/dist/cli/state/loadDurableContext.js +42 -0
  41. package/dist/cli/state/loadDurableContext.js.map +1 -0
  42. package/dist/cli/state/promptCacheStats.js +56 -0
  43. package/dist/cli/state/promptCacheStats.js.map +1 -0
  44. package/dist/cli/state/restoreState.js +70 -0
  45. package/dist/cli/state/restoreState.js.map +1 -0
  46. package/dist/cli/toolRegistry.js +8 -0
  47. package/dist/cli/toolRegistry.js.map +1 -1
  48. package/dist/cli/tools/askUser.js +71 -0
  49. package/dist/cli/tools/askUser.js.map +1 -0
  50. package/dist/cli/utils/doctor.js +19 -0
  51. package/dist/cli/utils/doctor.js.map +1 -1
  52. package/dist/cli/workspace/composeContext.js +216 -0
  53. package/dist/cli/workspace/composeContext.js.map +1 -0
  54. package/dist/cli/workspace/workspaceSummary.js +58 -31
  55. package/dist/cli/workspace/workspaceSummary.js.map +1 -1
  56. package/dist/cli/zelariMission.js +127 -17
  57. package/dist/cli/zelariMission.js.map +1 -1
  58. package/package.json +2 -2
@@ -0,0 +1,216 @@
1
+ /**
2
+ * composeProjectContext — single pipeline for agent / council / zelari / headless.
3
+ *
4
+ * Separates product truth (tree, package.json) from design vault ops (plan task
5
+ * list) and never mislabels plan text as "RAG". Caps each section so council
6
+ * design dumps cannot saturate the system prompt.
7
+ */
8
+ import { existsSync, readdirSync, readFileSync } from "node:fs";
9
+ import { join } from "node:path";
10
+ import { envNumber } from "../utils/envNumber.js";
11
+ import { loadProjectInstructions } from "./projectInstructions.js";
12
+ import { resolveWorkspaceRoot } from "./paths.js";
13
+ import { buildPlanSummary, buildWorkspaceSummary, buildZelariReadHint, EPISTEMIC_BANNER, } from "./workspaceSummary.js";
14
+ import { buildLessonsSummary } from "./buildLessonsSummary.js";
15
+ function cap(text, max, label) {
16
+ if (!text || text.length <= max)
17
+ return { text: text || "", truncated: false };
18
+ return {
19
+ text: text.slice(0, max) +
20
+ `\n\n… [truncated ${label}; ${text.length} chars → use tools to read full files]`,
21
+ truncated: true,
22
+ };
23
+ }
24
+ function buildDesignIndex(projectRoot, maxChars) {
25
+ const root = resolveWorkspaceRoot(projectRoot);
26
+ if (!existsSync(root))
27
+ return "";
28
+ const lines = [
29
+ "# Design vault index (.zelari/) — HYPOTHESES only",
30
+ "Full design docs are NOT product source of truth. Open with list_files / read_file / searchDocuments if needed.",
31
+ ];
32
+ const docsDir = join(root, "docs");
33
+ if (existsSync(docsDir)) {
34
+ try {
35
+ const docs = readdirSync(docsDir)
36
+ .filter((n) => n.endsWith(".md"))
37
+ .slice(0, 12);
38
+ if (docs.length > 0) {
39
+ lines.push("", "## docs/ (titles only)");
40
+ for (const d of docs)
41
+ lines.push(`- .zelari/docs/${d}`);
42
+ if (readdirSync(docsDir).filter((n) => n.endsWith(".md")).length > 12) {
43
+ lines.push("- … (more under .zelari/docs/)");
44
+ }
45
+ }
46
+ }
47
+ catch {
48
+ /* ignore */
49
+ }
50
+ }
51
+ for (const name of ["risks.md", "plan.json", "nfr-spec.json"]) {
52
+ if (existsSync(join(root, name))) {
53
+ lines.push(`- .zelari/${name} present`);
54
+ }
55
+ }
56
+ const decisionsDir = join(root, "decisions");
57
+ if (existsSync(decisionsDir)) {
58
+ try {
59
+ const n = readdirSync(decisionsDir).filter((f) => f.endsWith(".md")).length;
60
+ if (n > 0)
61
+ lines.push(`- .zelari/decisions/ (${n} ADR file(s) — treat proposed as non-binding)`);
62
+ }
63
+ catch {
64
+ /* ignore */
65
+ }
66
+ }
67
+ const raw = lines.join("\n");
68
+ return cap(raw, maxChars, "design-index").text;
69
+ }
70
+ /**
71
+ * Compose project context for any dispatch path.
72
+ * Note: durable state auto-load is sync-best-effort via a cached file read;
73
+ * callers that already materialize async should pass `durableState` explicitly.
74
+ */
75
+ export function composeProjectContext(input) {
76
+ const cwd = input.cwd ?? process.cwd();
77
+ const warnings = [];
78
+ const workspaceMax = envNumber(process.env.ZELARI_CTX_WORKSPACE_CHARS, {
79
+ default: 3500,
80
+ min: 500,
81
+ });
82
+ const planMax = envNumber(process.env.ZELARI_CTX_PLAN_CHARS, {
83
+ default: 2800,
84
+ min: 400,
85
+ });
86
+ const designIndexMax = envNumber(process.env.ZELARI_CTX_DESIGN_INDEX_CHARS, {
87
+ default: 800,
88
+ min: 200,
89
+ });
90
+ const memoryMax = envNumber(process.env.ZELARI_CTX_MEMORY_CHARS, {
91
+ default: 2000,
92
+ min: 200,
93
+ });
94
+ const agentsMax = envNumber(process.env.ZELARI_CTX_AGENTS_CHARS, {
95
+ default: 6000,
96
+ min: 500,
97
+ });
98
+ const wsRaw = buildWorkspaceSummary(cwd, { maxEntries: 24, maxChars: workspaceMax });
99
+ const planRaw = buildPlanSummary(cwd, {
100
+ userMessage: input.userMessage,
101
+ maxChars: planMax,
102
+ });
103
+ const hint = buildZelariReadHint(cwd);
104
+ const designIndex = input.mode === "agent"
105
+ ? buildDesignIndex(cwd, designIndexMax)
106
+ : // Council already writes design; still give a short index, not full docs.
107
+ buildDesignIndex(cwd, designIndexMax);
108
+ const includeLessons = input.includeLessons ??
109
+ (input.mode === "council" || input.mode === "zelari");
110
+ const lessons = includeLessons
111
+ ? buildLessonsSummary(cwd, input.userMessage ?? "")
112
+ : null;
113
+ const instr = loadProjectInstructions(cwd, agentsMax);
114
+ if (instr.truncated) {
115
+ warnings.push(`[context] AGENTS/project instructions truncated to ${agentsMax} chars.`);
116
+ }
117
+ const parts = [EPISTEMIC_BANNER, wsRaw];
118
+ if (hint)
119
+ parts.push(hint);
120
+ if (planRaw) {
121
+ parts.push(planRaw);
122
+ }
123
+ if (designIndex)
124
+ parts.push(designIndex);
125
+ if (lessons)
126
+ parts.push(lessons);
127
+ if (input.historySnippet?.trim())
128
+ parts.push(input.historySnippet.trim());
129
+ let workspaceContext = parts.filter(Boolean).join("\n\n");
130
+ const totalCap = envNumber(process.env.ZELARI_CTX_TOTAL_CHARS, {
131
+ default: 12_000,
132
+ min: 2000,
133
+ });
134
+ const totalCapped = cap(workspaceContext, totalCap, "workspaceContext");
135
+ workspaceContext = totalCapped.text;
136
+ if (totalCapped.truncated) {
137
+ warnings.push(`[context] workspaceContext truncated to ${totalCap} chars (design vault demoted; use tools for detail).`);
138
+ }
139
+ const durableMax = envNumber(process.env.ZELARI_CTX_DURABLE_CHARS, {
140
+ default: 3000,
141
+ min: 200,
142
+ });
143
+ // Default: inject durable HEAD for all modes when state is enabled, unless
144
+ // caller passes includeDurableState: false (e.g. already merged elsewhere).
145
+ const wantDurable = input.includeDurableState ??
146
+ (process.env.ZELARI_STATE !== "0" &&
147
+ (input.mode === "council" ||
148
+ input.mode === "zelari" ||
149
+ input.mode === "agent"));
150
+ let durableRaw = input.durableState?.trim() ?? "";
151
+ // Sync fallback only when async loadDurableContext was not used upstream.
152
+ if (!durableRaw && wantDurable) {
153
+ durableRaw = readDurableHeadSync(cwd);
154
+ }
155
+ const ragParts = [];
156
+ if (durableRaw) {
157
+ const d = cap(durableRaw, durableMax, "durable-state");
158
+ ragParts.push(d.text);
159
+ if (d.truncated) {
160
+ warnings.push(`[context] durable state truncated to ${durableMax} chars.`);
161
+ }
162
+ }
163
+ if (input.memoryHits?.trim()) {
164
+ const m = cap(input.memoryHits.trim(), memoryMax, "memory");
165
+ ragParts.push(m.text);
166
+ if (m.truncated)
167
+ warnings.push(`[context] memory RAG truncated to ${memoryMax} chars.`);
168
+ }
169
+ const ragContext = ragParts.join("\n\n");
170
+ return {
171
+ projectInstructions: instr.content,
172
+ workspaceContext,
173
+ ragContext,
174
+ warnings,
175
+ };
176
+ }
177
+ /**
178
+ * Sync best-effort read of durable HEAD materialization.
179
+ * Avoids making composeProjectContext async (many call sites).
180
+ */
181
+ function readDurableHeadSync(projectRoot) {
182
+ try {
183
+ const headPath = join(projectRoot, ".zelari", "state", "HEAD.json");
184
+ if (!existsSync(headPath))
185
+ return "";
186
+ const head = JSON.parse(readFileSync(headPath, "utf8"));
187
+ if (!head?.id)
188
+ return "";
189
+ const metaPath = join(projectRoot, ".zelari", "state", "commits", `${head.id}.json`);
190
+ if (!existsSync(metaPath))
191
+ return "";
192
+ const meta = JSON.parse(readFileSync(metaPath, "utf8"));
193
+ const discPath = meta.artifactDir
194
+ ? join(projectRoot, ".zelari", "state", meta.artifactDir, "discoveries.json")
195
+ : join(projectRoot, ".zelari", "state", "artifacts", head.id, "discoveries.json");
196
+ let discoveries = [];
197
+ if (existsSync(discPath)) {
198
+ discoveries = JSON.parse(readFileSync(discPath, "utf8"));
199
+ }
200
+ const reusable = discoveries.filter((d) => d.reusable !== false);
201
+ const lines = [
202
+ `# Durable State (commit ${meta.id ?? head.id}${meta.layer ? `, layer ${meta.layer}` : ""})`,
203
+ `label: ${meta.label ?? ""}`,
204
+ `verification: ran=${meta.verification?.ran ?? "?"} ok=${meta.verification?.ok ?? "?"}`,
205
+ ];
206
+ for (const d of reusable.slice(0, 24)) {
207
+ const pathHint = d.paths?.length ? ` — ${d.paths.join(", ")}` : "";
208
+ lines.push(`- [${d.kind ?? "note"}] ${d.summary ?? ""}${pathHint}`);
209
+ }
210
+ return lines.join("\n");
211
+ }
212
+ catch {
213
+ return "";
214
+ }
215
+ }
216
+ //# sourceMappingURL=composeContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composeContext.js","sourceRoot":"","sources":["../../../src/cli/workspace/composeContext.ts"],"names":[],"mappings":"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"}
@@ -17,20 +17,28 @@ import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
17
17
  import { join, relative } from "node:path";
18
18
  import { classifyTaskScope, extractTaskScope, loadNfrSpec, } from "@zelari/core/council";
19
19
  import { projectName, resolveWorkspaceRoot } from "./paths.js";
20
+ /** Injected whenever plan/design vault context is present. */
21
+ export const EPISTEMIC_BANNER = [
22
+ "# EPISTEMIC RULES (harness)",
23
+ "- **Product source of truth** = real project files (source tree, package.json, README), not `.zelari/docs`.",
24
+ "- Artifacts under `.zelari/` (plan, docs, risks, ADR) are **UNVERIFIED DESIGN HYPOTHESES** until implemented and verified on disk.",
25
+ "- Prefer read_file / list_files on the product tree over treating council docs as law.",
26
+ "- Do not invent paths, stack, or features that package.json / the tree contradict.",
27
+ ].join("\n");
20
28
  /**
21
29
  * Build a markdown workspace summary for the council system prompt.
22
30
  *
23
31
  * @param projectRoot defaults to process.cwd()
24
32
  */
25
33
  export function buildWorkspaceSummary(projectRoot = process.cwd(), options = {}) {
26
- const { maxEntries = 30 } = options;
34
+ const { maxEntries = 30, maxChars = 3500, maxDeps = 24, maxScripts = 16 } = options;
27
35
  const name = safeProjectName(projectRoot);
28
36
  const parts = [
29
37
  `# Project: ${name}`,
30
38
  `Working directory: ${projectRoot}`,
31
39
  ];
32
40
  // Tech stack from package.json (if present).
33
- const stack = readTechStack(projectRoot);
41
+ const stack = readTechStack(projectRoot, maxDeps);
34
42
  if (stack) {
35
43
  parts.push("", "## Tech stack (from package.json)", stack);
36
44
  }
@@ -40,11 +48,17 @@ export function buildWorkspaceSummary(projectRoot = process.cwd(), options = {})
40
48
  parts.push("", "## Top-level files & directories", tree.join("\n"));
41
49
  }
42
50
  // Build scripts (if present) — tells the council how to run/test/build.
43
- const scripts = readBuildScripts(projectRoot);
51
+ const scripts = readBuildScripts(projectRoot, maxScripts);
44
52
  if (scripts) {
45
53
  parts.push("", "## npm scripts", scripts);
46
54
  }
47
- return parts.join("\n");
55
+ let out = parts.join("\n");
56
+ if (out.length > maxChars) {
57
+ out =
58
+ out.slice(0, maxChars) +
59
+ `\n\n… [workspace summary truncated at ${maxChars} chars]`;
60
+ }
61
+ return out;
48
62
  }
49
63
  /** Max tasks listed individually in the plan summary (rest is counted). */
50
64
  const PLAN_SUMMARY_MAX_TASKS = 15;
@@ -81,8 +95,10 @@ export function buildPlanSummary(projectRoot = process.cwd(), options) {
81
95
  const milestones = Array.isArray(plan.milestones) ? plan.milestones : [];
82
96
  if (phases.length === 0 && tasks.length === 0 && milestones.length === 0)
83
97
  return null;
98
+ const maxChars = options?.maxChars ?? 2800;
84
99
  const parts = [
85
- "# Project Plan (created by /council lives in .zelari/)",
100
+ "# Plan ops (DRAFT — .zelari/plan.json)",
101
+ "_This is operational task list from design, not product law. Ground every change in the real source tree._",
86
102
  ];
87
103
  // Open (pending/in_progress/blocked) tasks first; done tasks are counted only.
88
104
  const open = tasks.filter((t) => t.status !== "done");
@@ -141,9 +157,9 @@ export function buildPlanSummary(projectRoot = process.cwd(), options) {
141
157
  }
142
158
  for (const phase of [...phases].sort((a, b) => (a.order ?? 0) - (b.order ?? 0))) {
143
159
  const phaseTasks = scopedOpen.filter((t) => t.phaseId === phase.id);
160
+ // Ops only: phase name — do NOT inject free-text phase descriptions
161
+ // (they re-saturate context with design prose).
144
162
  parts.push("", `## ${phase.order ?? "?"}. ${phase.name ?? phase.id}`);
145
- if (phase.description)
146
- parts.push(phase.description);
147
163
  for (const t of phaseTasks.slice(0, PLAN_SUMMARY_MAX_TASKS)) {
148
164
  parts.push(formatTaskLine(t));
149
165
  }
@@ -167,15 +183,19 @@ export function buildPlanSummary(projectRoot = process.cwd(), options) {
167
183
  parts.push(`- ${m.name ?? m.id}${m.targetVersion ? ` (target: ${m.targetVersion})` : ""}`);
168
184
  }
169
185
  }
170
- // v0.7.4: point the agent at ONE concrete task so "implement the plan"
171
- // starts immediately instead of asking the user which task to pick.
172
- // First in_progress wins (finish what's started); else highest priority.
186
+ // Suggested next task (hypothesis) not a hard mandate.
173
187
  const next = pickNextTask(scopedOpen.length > 0 ? scopedOpen : open);
174
188
  if (next) {
175
- parts.push("", "**Next task to work on:**", `- ${next.name ?? next.id} (${next.status ?? "pending"}/${next.priority ?? "medium"}) → .zelari/plan-tasks/${next.id}.md`);
189
+ parts.push("", "**Suggested next task (hypothesis verify against product tree):**", `- ${next.name ?? next.id} (${next.status ?? "pending"}/${next.priority ?? "medium"}) → .zelari/plan-tasks/${next.id}.md`);
190
+ }
191
+ parts.push("", `${tasks.length} task(s) total — ${open.length} open, ${done} done.`, "If implementing: ground fileRefs in the real tree first; work one task; do not treat design docs as shipped features.");
192
+ let out = parts.join("\n");
193
+ if (out.length > maxChars) {
194
+ out =
195
+ out.slice(0, maxChars) +
196
+ `\n\n… [plan ops truncated at ${maxChars} chars — read .zelari/plan.json for full list]`;
176
197
  }
177
- parts.push("", `${tasks.length} task(s) total — ${open.length} open, ${done} done.`, "When asked to implement the plan (or a task), read the task file(s) above with read_file first, then work ONE task at a time.");
178
- return parts.join("\n");
198
+ return out;
179
199
  }
180
200
  /** Priority rank for next-task selection (higher = more urgent). */
181
201
  const PRIORITY_RANK = {
@@ -205,9 +225,9 @@ export function buildZelariReadHint(projectRoot = process.cwd()) {
205
225
  if (!existsSync(planPath))
206
226
  return "";
207
227
  return [
208
- "# Council workspace detected (.zelari/)",
209
- "This project has a council workspace: .zelari/plan.json holds the plan (phases, tasks, milestones) and .zelari/plan-tasks/ holds one detail file per task.",
210
- "Before working on the plan, use list_files on .zelari/ and read_file on .zelari/plan.json (and the relevant task files) to load the current state.",
228
+ "# Council workspace detected (.zelari/) — DRAFT vault",
229
+ "`.zelari/plan.json` and `.zelari/docs/` hold **design hypotheses**, not verified product state.",
230
+ "Product truth is the source tree + package.json. Use list_files/read_file on product paths first; open `.zelari/` only when you need plan task details.",
211
231
  ].join("\n");
212
232
  }
213
233
  function safeProjectName(root) {
@@ -229,31 +249,38 @@ function readPackageJson(projectRoot) {
229
249
  return null;
230
250
  }
231
251
  }
232
- /** Markdown bullet list of runtime + dev deps. */
233
- function readTechStack(projectRoot) {
252
+ /** Markdown bullet list of runtime + dev deps (capped). */
253
+ function readTechStack(projectRoot, maxDeps = 24) {
234
254
  const pkg = readPackageJson(projectRoot);
235
255
  if (!pkg)
236
256
  return null;
237
- const fmt = (entries) => entries && Object.keys(entries).length > 0
238
- ? Object.entries(entries)
239
- .sort(([a], [b]) => a.localeCompare(b))
240
- .map(([k, v]) => `- ${k} \`${v}\``)
241
- .join("\n")
242
- : "_none_";
257
+ const fmt = (entries) => {
258
+ if (!entries || Object.keys(entries).length === 0)
259
+ return "_none_";
260
+ const all = Object.entries(entries).sort(([a], [b]) => a.localeCompare(b));
261
+ const slice = all.slice(0, maxDeps);
262
+ const lines = slice.map(([k, v]) => `- ${k} \`${v}\``);
263
+ if (all.length > maxDeps) {
264
+ lines.push(`- … (+${all.length - maxDeps} more deps omitted)`);
265
+ }
266
+ return lines.join("\n");
267
+ };
243
268
  return `**Runtime:**\n${fmt(pkg.dependencies)}\n\n**Dev:**\n${fmt(pkg.devDependencies)}`;
244
269
  }
245
- /** Markdown bullet list of npm scripts (name: command). */
246
- function readBuildScripts(projectRoot) {
270
+ /** Markdown bullet list of npm scripts (name: command), capped. */
271
+ function readBuildScripts(projectRoot, maxScripts = 16) {
247
272
  const pkg = readPackageJson(projectRoot);
248
273
  if (!pkg?.scripts)
249
274
  return null;
250
- const entries = Object.entries(pkg.scripts);
275
+ const entries = Object.entries(pkg.scripts).sort(([a], [b]) => a.localeCompare(b));
251
276
  if (entries.length === 0)
252
277
  return null;
253
- return entries
254
- .sort(([a], [b]) => a.localeCompare(b))
255
- .map(([k, v]) => `- \`${k}\`: ${v}`)
256
- .join("\n");
278
+ const slice = entries.slice(0, maxScripts);
279
+ const lines = slice.map(([k, v]) => `- \`${k}\`: ${v}`);
280
+ if (entries.length > maxScripts) {
281
+ lines.push(`- … (+${entries.length - maxScripts} more scripts omitted)`);
282
+ }
283
+ return lines.join("\n");
257
284
  }
258
285
  /** Shallow listing of top-level entries + one level of subdirectories. */
259
286
  function listShallow(projectRoot, maxEntries) {
@@ -1 +1 @@
1
- {"version":3,"file":"workspaceSummary.js","sourceRoot":"","sources":["../../../src/cli/workspace/workspaceSummary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspaceSummary.js","sourceRoot":"","sources":["../../../src/cli/workspace/workspaceSummary.ts"],"names":[],"mappings":"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"}