dsh-better-display 0.1.1 → 0.2.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 (169) hide show
  1. package/CHANGELOG.md +177 -4
  2. package/README.en.md +17 -3
  3. package/README.md +17 -3
  4. package/lib/client.js +42319 -41533
  5. package/lib/client.js.map +1 -1
  6. package/lib/dsh-better-display.js +51 -55
  7. package/lib/types/client/Blocks.d.ts +4 -1
  8. package/lib/types/client/Blocks.d.ts.map +1 -1
  9. package/lib/types/client/Blocks.js +11 -4
  10. package/lib/types/client/Blocks.js.map +1 -1
  11. package/lib/types/client/ChoreographedFlow.d.ts.map +1 -1
  12. package/lib/types/client/ChoreographedFlow.js +68 -20
  13. package/lib/types/client/ChoreographedFlow.js.map +1 -1
  14. package/lib/types/client/ClosedProcessSummary.d.ts.map +1 -1
  15. package/lib/types/client/ClosedProcessSummary.js +3 -2
  16. package/lib/types/client/ClosedProcessSummary.js.map +1 -1
  17. package/lib/types/client/DiffPanel.d.ts +13 -0
  18. package/lib/types/client/DiffPanel.d.ts.map +1 -0
  19. package/lib/types/client/DiffPanel.js +115 -0
  20. package/lib/types/client/DiffPanel.js.map +1 -0
  21. package/lib/types/client/Reader.d.ts.map +1 -1
  22. package/lib/types/client/Reader.js +88 -54
  23. package/lib/types/client/Reader.js.map +1 -1
  24. package/lib/types/client/ReasoningCard.d.ts.map +1 -1
  25. package/lib/types/client/ReasoningCard.js +29 -8
  26. package/lib/types/client/ReasoningCard.js.map +1 -1
  27. package/lib/types/client/SettingsSection.d.ts +35 -0
  28. package/lib/types/client/SettingsSection.d.ts.map +1 -0
  29. package/lib/types/client/SettingsSection.js +62 -0
  30. package/lib/types/client/SettingsSection.js.map +1 -0
  31. package/lib/types/client/StickyLane.d.ts.map +1 -1
  32. package/lib/types/client/StickyLane.js +16 -5
  33. package/lib/types/client/StickyLane.js.map +1 -1
  34. package/lib/types/client/ToolActivity.d.ts.map +1 -1
  35. package/lib/types/client/ToolActivity.js +53 -5
  36. package/lib/types/client/ToolActivity.js.map +1 -1
  37. package/lib/types/client/WaitClock.d.ts +16 -0
  38. package/lib/types/client/WaitClock.d.ts.map +1 -0
  39. package/lib/types/client/WaitClock.js +29 -0
  40. package/lib/types/client/WaitClock.js.map +1 -0
  41. package/lib/types/client/WaitingClock.d.ts +15 -0
  42. package/lib/types/client/WaitingClock.d.ts.map +1 -0
  43. package/lib/types/client/WaitingClock.js +30 -0
  44. package/lib/types/client/WaitingClock.js.map +1 -0
  45. package/lib/types/client/WaitingStatus.d.ts.map +1 -1
  46. package/lib/types/client/WaitingStatus.js +4 -14
  47. package/lib/types/client/WaitingStatus.js.map +1 -1
  48. package/lib/types/client/fold-choreography.d.ts +12 -0
  49. package/lib/types/client/fold-choreography.d.ts.map +1 -1
  50. package/lib/types/client/fold-choreography.js +18 -1
  51. package/lib/types/client/fold-choreography.js.map +1 -1
  52. package/lib/types/client/fold-intensity.d.ts +9 -0
  53. package/lib/types/client/fold-intensity.d.ts.map +1 -0
  54. package/lib/types/client/fold-intensity.js +25 -0
  55. package/lib/types/client/fold-intensity.js.map +1 -0
  56. package/lib/types/client/index.d.ts.map +1 -1
  57. package/lib/types/client/index.js +68 -16
  58. package/lib/types/client/index.js.map +1 -1
  59. package/lib/types/client/live-turn.d.ts.map +1 -1
  60. package/lib/types/client/live-turn.js +46 -0
  61. package/lib/types/client/live-turn.js.map +1 -1
  62. package/lib/types/client/motion.d.ts.map +1 -1
  63. package/lib/types/client/motion.js +89 -12
  64. package/lib/types/client/motion.js.map +1 -1
  65. package/lib/types/client/open-file.d.ts +6 -1
  66. package/lib/types/client/open-file.d.ts.map +1 -0
  67. package/lib/types/client/open-file.js +71 -0
  68. package/lib/types/client/open-file.js.map +1 -0
  69. package/lib/types/client/pending-submission.d.ts +28 -0
  70. package/lib/types/client/pending-submission.d.ts.map +1 -0
  71. package/lib/types/client/pending-submission.js +28 -0
  72. package/lib/types/client/pending-submission.js.map +1 -0
  73. package/lib/types/client/reasoning-follow.d.ts +5 -1
  74. package/lib/types/client/reasoning-follow.d.ts.map +1 -1
  75. package/lib/types/client/reasoning-follow.js +13 -4
  76. package/lib/types/client/reasoning-follow.js.map +1 -1
  77. package/lib/types/client/resource-address.d.ts +3 -0
  78. package/lib/types/client/resource-address.d.ts.map +1 -0
  79. package/lib/types/client/resource-address.js +33 -0
  80. package/lib/types/client/resource-address.js.map +1 -0
  81. package/lib/types/client/settings-copy.d.ts +3 -2
  82. package/lib/types/client/settings-copy.d.ts.map +1 -0
  83. package/lib/types/client/settings-copy.js +49 -0
  84. package/lib/types/client/settings-copy.js.map +1 -0
  85. package/lib/types/client/settings-slots.d.ts +7 -0
  86. package/lib/types/client/settings-slots.d.ts.map +1 -0
  87. package/lib/types/client/settings-slots.js +2 -0
  88. package/lib/types/client/settings-slots.js.map +1 -0
  89. package/lib/types/client/settings.d.ts +4 -0
  90. package/lib/types/client/settings.d.ts.map +1 -0
  91. package/lib/types/client/settings.js +60 -0
  92. package/lib/types/client/settings.js.map +1 -0
  93. package/lib/types/client/skill-status.d.ts +25 -0
  94. package/lib/types/client/skill-status.d.ts.map +1 -0
  95. package/lib/types/client/skill-status.js +44 -0
  96. package/lib/types/client/skill-status.js.map +1 -0
  97. package/lib/types/client/store.d.ts +14 -0
  98. package/lib/types/client/store.d.ts.map +1 -1
  99. package/lib/types/client/store.js +23 -2
  100. package/lib/types/client/store.js.map +1 -1
  101. package/lib/types/client/stream-buffer.d.ts +11 -3
  102. package/lib/types/client/stream-buffer.d.ts.map +1 -1
  103. package/lib/types/client/stream-buffer.js +39 -2
  104. package/lib/types/client/stream-buffer.js.map +1 -1
  105. package/lib/types/client/streaming.d.ts.map +1 -1
  106. package/lib/types/client/streaming.js +9 -2
  107. package/lib/types/client/streaming.js.map +1 -1
  108. package/lib/types/client/tool-activity.d.ts +46 -0
  109. package/lib/types/client/tool-activity.d.ts.map +1 -1
  110. package/lib/types/client/tool-activity.js +116 -0
  111. package/lib/types/client/tool-activity.js.map +1 -1
  112. package/lib/types/client/types.d.ts +15 -2
  113. package/lib/types/client/types.d.ts.map +1 -1
  114. package/lib/types/client/waiting-clock.d.ts +34 -2
  115. package/lib/types/client/waiting-clock.d.ts.map +1 -1
  116. package/lib/types/client/waiting-clock.js +62 -6
  117. package/lib/types/client/waiting-clock.js.map +1 -1
  118. package/lib/types/client/word-timeline.d.ts +4 -0
  119. package/lib/types/client/word-timeline.d.ts.map +1 -1
  120. package/lib/types/client/word-timeline.js +21 -2
  121. package/lib/types/client/word-timeline.js.map +1 -1
  122. package/lib/types/dsh-better-display.d.ts.map +1 -1
  123. package/lib/types/dsh-better-display.js +42 -2
  124. package/lib/types/dsh-better-display.js.map +1 -1
  125. package/lib/types/skill-roots.d.ts +22 -0
  126. package/lib/types/skill-roots.d.ts.map +1 -0
  127. package/lib/types/skill-roots.js +126 -0
  128. package/lib/types/skill-roots.js.map +1 -0
  129. package/lib/types/skill-status.d.ts +36 -0
  130. package/lib/types/skill-status.d.ts.map +1 -0
  131. package/lib/types/skill-status.js +51 -0
  132. package/lib/types/skill-status.js.map +1 -0
  133. package/package.json +1 -1
  134. package/src/client/Blocks.tsx +11 -4
  135. package/src/client/ChoreographedFlow.tsx +68 -18
  136. package/src/client/ClosedProcessSummary.tsx +6 -2
  137. package/src/client/DiffPanel.tsx +124 -0
  138. package/src/client/Reader.module.css +319 -6
  139. package/src/client/Reader.tsx +78 -42
  140. package/src/client/ReasoningCard.tsx +27 -6
  141. package/src/client/SettingsSection.module.css +37 -0
  142. package/src/client/SettingsSection.tsx +64 -6
  143. package/src/client/StickyLane.tsx +13 -3
  144. package/src/client/ToolActivity.tsx +70 -5
  145. package/src/client/WaitClock.tsx +33 -0
  146. package/src/client/WaitingStatus.tsx +6 -15
  147. package/src/client/fold-choreography.ts +18 -1
  148. package/src/client/fold-intensity.ts +28 -0
  149. package/src/client/index.tsx +28 -2
  150. package/src/client/live-turn.ts +43 -0
  151. package/src/client/motion.tsx +80 -15
  152. package/src/client/reasoning-follow.ts +20 -4
  153. package/src/client/settings-copy.ts +21 -0
  154. package/src/client/store.ts +40 -2
  155. package/src/client/stream-buffer.ts +38 -2
  156. package/src/client/streaming.tsx +9 -1
  157. package/src/client/tool-activity.ts +139 -0
  158. package/src/client/types.ts +18 -3
  159. package/src/client/waiting-clock.ts +64 -6
  160. package/src/client/word-timeline.ts +19 -2
  161. package/tests/fold-choreography.test.ts +16 -0
  162. package/tests/fold-intensity.test.ts +94 -0
  163. package/tests/footer-precedence.test.ts +129 -0
  164. package/tests/open-file.test.ts +11 -0
  165. package/tests/stock-install.test.ts +8 -0
  166. package/tests/stream-buffer.test.ts +8 -3
  167. package/tests/tool-diff.test.ts +57 -0
  168. package/tests/waiting-clock.test.ts +78 -19
  169. package/tests/word-timeline.test.ts +14 -4
@@ -5,34 +5,43 @@ import { homedir } from "node:os";
5
5
  import { dirname, isAbsolute, join, resolve } from "node:path";
6
6
  import { fileURLToPath } from "node:url";
7
7
  //#region src/skill-status.ts
8
+ /** Shared generative-mcpapps identity. Plugin-tree presence is not installation. */
8
9
  const GENERATIVE_MCPAPPS_SKILL = "generative-mcpapps";
10
+ /** Conventional relative roots only. Never expand $HOME or dump host `root.path`. */
11
+ const CONVENTIONAL_SKILL_ROOTS = [".dsh/skills", ".agents/skills"];
9
12
  function skillNameMatches(name) {
10
- return typeof name === "string" && name === GENERATIVE_MCPAPPS_SKILL;
13
+ return typeof name === "string" && name === "generative-mcpapps";
11
14
  }
12
15
  function skillListIncludes(entries) {
13
16
  return Array.isArray(entries) && entries.some((entry) => skillNameMatches(entry?.name));
14
17
  }
18
+ /** Directory bundle `name/SKILL.md` or flat `name.md` at a scanned root. */
15
19
  function skillRootEntryMatches(entryName) {
16
- return entryName === GENERATIVE_MCPAPPS_SKILL || entryName === `${GENERATIVE_MCPAPPS_SKILL}.md`;
20
+ return entryName === "generative-mcpapps" || entryName === `generative-mcpapps.md`;
17
21
  }
18
22
  function skillsFromListResult(result) {
19
23
  if (Array.isArray(result)) return result;
20
24
  if (result === null || typeof result !== "object") return [];
21
- if (result.ok === false) return [];
22
- if (Array.isArray(result.skills)) return result.skills;
23
- if (result.value && typeof result.value === "object") {
24
- if (Array.isArray(result.value.skills)) return result.value.skills;
25
- if (Array.isArray(result.value)) return result.value;
25
+ const record = result;
26
+ if (record.ok === false) return [];
27
+ if (Array.isArray(record.skills)) return record.skills;
28
+ if (record.value && typeof record.value === "object") {
29
+ const value = record.value;
30
+ if (Array.isArray(value.skills)) return value.skills;
31
+ if (Array.isArray(record.value)) return record.value;
26
32
  }
27
33
  return [];
28
34
  }
29
- const CONVENTIONAL_SKILL_ROOTS = [".dsh/skills", ".agents/skills"];
30
35
  function publicSkillRoots() {
31
36
  return CONVENTIONAL_SKILL_ROOTS.map((path) => ({
32
37
  source: "conventional",
33
38
  path
34
39
  }));
35
40
  }
41
+ /**
42
+ * Strip host home / pack absolutes before anything user-facing (HTTP or Settings).
43
+ * Detection still uses the raw scan; this is the public face.
44
+ */
36
45
  function toPublicSkillStatus(status) {
37
46
  return {
38
47
  name: status.name,
@@ -48,39 +57,33 @@ function expandHomePath(path, home = homedir()) {
48
57
  if (path.startsWith("~/") || path.startsWith("~\\")) return join(home, path.slice(2));
49
58
  return path;
50
59
  }
60
+ /** `$DSH_HOME` or `~/.dsh`, matching official `resolveDshHome`. */
51
61
  function resolveDshHome(env = process.env, home = homedir()) {
52
62
  const fromEnv = env.DSH_HOME;
53
- const selected = fromEnv !== undefined && fromEnv.trim().length > 0 ? fromEnv : join(home, ".dsh");
54
- return resolve(expandHomePath(selected, home));
63
+ return resolve(expandHomePath(fromEnv !== void 0 && fromEnv.trim().length > 0 ? fromEnv : join(home, ".dsh"), home));
55
64
  }
65
+ /** `$DSH_AGENTS_HOME` or `~/.agents`. */
56
66
  function resolveAgentsHome(env = process.env, home = homedir()) {
57
67
  const fromEnv = env.DSH_AGENTS_HOME;
58
- const selected = fromEnv !== undefined && fromEnv.trim().length > 0 ? fromEnv : join(home, ".agents");
59
- return resolve(expandHomePath(selected, home));
68
+ return resolve(expandHomePath(fromEnv !== void 0 && fromEnv.trim().length > 0 ? fromEnv : join(home, ".agents"), home));
60
69
  }
61
70
  function userSkillRoots(env = process.env, home = homedir()) {
62
- return [
63
- {
64
- source: "user-dsh",
65
- path: join(resolveDshHome(env, home), "skills")
66
- },
67
- {
68
- source: "user-agents",
69
- path: join(resolveAgentsHome(env, home), "skills")
70
- }
71
- ];
71
+ return [{
72
+ source: "user-dsh",
73
+ path: join(resolveDshHome(env, home), "skills")
74
+ }, {
75
+ source: "user-agents",
76
+ path: join(resolveAgentsHome(env, home), "skills")
77
+ }];
72
78
  }
73
79
  function projectSkillRoots(projectRoot) {
74
- return [
75
- {
76
- source: "project-dsh",
77
- path: join(projectRoot, ".dsh", "skills")
78
- },
79
- {
80
- source: "project-agents",
81
- path: join(projectRoot, ".agents", "skills")
82
- }
83
- ];
80
+ return [{
81
+ source: "project-dsh",
82
+ path: join(projectRoot, ".dsh", "skills")
83
+ }, {
84
+ source: "project-agents",
85
+ path: join(projectRoot, ".agents", "skills")
86
+ }];
84
87
  }
85
88
  async function findProjectRoot(cwd) {
86
89
  let current = resolve(cwd);
@@ -101,33 +104,29 @@ async function rootHasGenerativeMcpapps(rootPath) {
101
104
  for (const entry of entries) {
102
105
  if (entry.name === ".system") continue;
103
106
  if (!skillRootEntryMatches(entry.name)) continue;
104
- if (entry.isDirectory()) {
105
- try {
106
- await access(join(rootPath, entry.name, "SKILL.md"));
107
- return true;
108
- } catch {
109
- continue;
110
- }
107
+ if (entry.isDirectory()) try {
108
+ await access(join(rootPath, entry.name, "SKILL.md"));
109
+ return true;
110
+ } catch {
111
+ continue;
111
112
  }
112
113
  if (entry.isFile()) return true;
113
114
  }
114
115
  return false;
115
116
  }
117
+ /** Resolve the plugin-shipped pack. This path is never treated as a skill root. */
116
118
  function pluginSkillPackPath(moduleUrl = import.meta.url) {
117
119
  const here = dirname(fileURLToPath(moduleUrl));
118
- const candidates = [
120
+ return [
119
121
  join(here, "../skills", GENERATIVE_MCPAPPS_SKILL),
120
122
  join(here, "../../skills", GENERATIVE_MCPAPPS_SKILL),
121
123
  join(here, "skills", GENERATIVE_MCPAPPS_SKILL)
122
- ];
123
- return candidates.find((path) => existsSync(join(path, "SKILL.md")));
124
+ ].find((path) => existsSync(join(path, "SKILL.md")));
124
125
  }
125
126
  async function scanGenerativeMcpappsStatus(options = {}) {
126
- const env = options.env ?? process.env;
127
- const home = options.home ?? homedir();
128
- const roots = [...userSkillRoots(env, home)];
129
- const cwd = typeof options.cwd === "string" && options.cwd.trim().length > 0 ? isAbsolute(options.cwd) ? options.cwd : resolve(options.cwd) : undefined;
130
- if (cwd !== undefined) roots.unshift(...projectSkillRoots(await findProjectRoot(cwd)));
127
+ const roots = [...userSkillRoots(options.env ?? process.env, options.home ?? homedir())];
128
+ const cwd = typeof options.cwd === "string" && options.cwd.trim().length > 0 ? isAbsolute(options.cwd) ? options.cwd : resolve(options.cwd) : void 0;
129
+ if (cwd !== void 0) roots.unshift(...projectSkillRoots(await findProjectRoot(cwd)));
131
130
  const inspected = [];
132
131
  let rootHit = false;
133
132
  for (const root of roots) {
@@ -151,7 +150,7 @@ async function scanGenerativeMcpappsStatus(options = {}) {
151
150
  installed: listHit || rootHit,
152
151
  via,
153
152
  roots: inspected,
154
- ...packPath !== undefined ? { packPath } : {}
153
+ ...packPath !== void 0 ? { packPath } : {}
155
154
  };
156
155
  }
157
156
  //#endregion
@@ -165,7 +164,7 @@ function writeJson(res, status, body) {
165
164
  }
166
165
  function skillLister(ctx) {
167
166
  const skills = ctx.get?.("skills");
168
- if (typeof skills?.list !== "function") return;
167
+ if (typeof skills?.list !== "function") return void 0;
169
168
  return async () => skillsFromListResult(await skills.list({}));
170
169
  }
171
170
  function apply(ctx) {
@@ -231,13 +230,10 @@ function apply(ctx) {
231
230
  return;
232
231
  }
233
232
  try {
234
- const url = new URL(req.url ?? "", "http://127.0.0.1");
235
- const cwd = url.searchParams.get("cwd") ?? undefined;
236
- const status = await scanGenerativeMcpappsStatus({
237
- cwd,
233
+ writeJson(res, 200, toPublicSkillStatus(await scanGenerativeMcpappsStatus({
234
+ cwd: new URL(req.url ?? "", "http://127.0.0.1").searchParams.get("cwd") ?? void 0,
238
235
  listSkills: skillLister(ctx)
239
- });
240
- writeJson(res, 200, toPublicSkillStatus(status));
236
+ })));
241
237
  } catch (err) {
242
238
  writeJson(res, 500, {
243
239
  ok: false,
@@ -7,12 +7,15 @@ export declare class BlockBoundary extends Component<{
7
7
  children: ReactNode;
8
8
  }, {
9
9
  failed: boolean;
10
+ detail: string;
10
11
  }> {
11
12
  state: {
12
13
  failed: boolean;
14
+ detail: string;
13
15
  };
14
- static getDerivedStateFromError(): {
16
+ static getDerivedStateFromError(error: unknown): {
15
17
  failed: boolean;
18
+ detail: string;
16
19
  };
17
20
  render(): string | number | boolean | Iterable<ReactNode> | import("react").JSX.Element | null | undefined;
18
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Blocks.d.ts","sourceRoot":"","sources":["../../../src/client/Blocks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgE,MAAM,OAAO,CAAC;AAChG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAKtG,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAOrE,qBAAa,aAAc,SAAQ,SAAS,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EAAE;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;IACxF,KAAK;;MAAqB;IAC1B,MAAM,CAAC,wBAAwB;;;IAC/B,MAAM;CAGP;AAED,eAAO,MAAM,UAAU,kEAAuD;IAC5E,UAAU,EAAE,kBAAkB,CAAC;IAAC,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;CAC1E,iCAwCC,CAAC;AAEH,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,GAAG,cAAc,EAAE,CAMnF;AAED,KAAK,gBAAgB,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AA+C1F,eAAO,MAAM,MAAM,gLAA+L,gBAAgB,GAAG,gBAAgB,GAAG;IACtP,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAC;CACvH,iCAQC,CAAC;AAyBH,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAAE,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAA;CAAE,sCAgCxJ;AAED,wBAAgB,kBAAkB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,sCAajF"}
1
+ {"version":3,"file":"Blocks.d.ts","sourceRoot":"","sources":["../../../src/client/Blocks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgE,MAAM,OAAO,CAAC;AAChG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAKtG,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAOrE,qBAAa,aAAc,SAAQ,SAAS,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;IACxG,KAAK;;;MAAiC;IAGtC,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO;;;;IAI9C,MAAM;CAKP;AAED,eAAO,MAAM,UAAU,kEAAuD;IAC5E,UAAU,EAAE,kBAAkB,CAAC;IAAC,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;CAC1E,iCAwCC,CAAC;AAEH,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,GAAG,cAAc,EAAE,CAMnF;AAED,KAAK,gBAAgB,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AA+C1F,eAAO,MAAM,MAAM,gLAA+L,gBAAgB,GAAG,gBAAgB,GAAG;IACtP,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAC;CACvH,iCAQC,CAAC;AAyBH,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAAE,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAA;CAAE,sCAgCxJ;AAED,wBAAgB,kBAAkB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,sCAajF"}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Component, Fragment, memo, useEffect, useLayoutEffect, useRef, useState } from 'react';
3
3
  import { JsonBlock, MarkdownText, writeClipboard } from '@deepseek-ai/dsh-client-ui-primitives';
4
4
  import { ComposerFillContext, McpAppFrame } from './McpAppFrame.js';
@@ -9,10 +9,17 @@ import { MotionMarkdown, MotionPlainText } from './word-motion.js';
9
9
  import css from './Reader.module.css';
10
10
  const IMAGE_TYPES = new Set(['image/png', 'image/jpeg', 'image/webp', 'image/gif']);
11
11
  export class BlockBoundary extends Component {
12
- state = { failed: false };
13
- static getDerivedStateFromError() { return { failed: true }; }
12
+ state = { failed: false, detail: '' };
13
+ // Temporary diagnostic: surface the reason inline so a recurrence is reportable
14
+ // without a console. Remove once the reported block crash is identified.
15
+ static getDerivedStateFromError(error) {
16
+ const err = error;
17
+ return { failed: true, detail: String(err?.message ?? error).slice(0, 160) };
18
+ }
14
19
  render() {
15
- return this.state.failed ? _jsx("div", { className: css.notice, children: "\u6B64\u5185\u5BB9\u6682\u65F6\u65E0\u6CD5\u5728\u9605\u8BFB\u9875\u663E\u793A\uFF1B\u539F\u5BF9\u8BDD\u4E2D\u7684\u8BB0\u5F55\u672A\u53D7\u5F71\u54CD\u3002" }) : this.props.children;
20
+ return this.state.failed
21
+ ? _jsxs("div", { className: css.notice, children: ["\u6B64\u5185\u5BB9\u6682\u65F6\u65E0\u6CD5\u5728\u9605\u8BFB\u9875\u663E\u793A\uFF1B\u539F\u5BF9\u8BDD\u4E2D\u7684\u8BB0\u5F55\u672A\u53D7\u5F71\u54CD\u3002", _jsxs("span", { "data-reader-block-error": true, style: { opacity: .65 }, children: ["\uFF08", this.state.detail, "\uFF09"] })] })
22
+ : this.props.children;
16
23
  }
17
24
  }
18
25
  export const ImageBlock = memo(function ImageBlock({ attachment, loadImage }) {
@@ -1 +1 @@
1
- {"version":3,"file":"Blocks.js","sourceRoot":"","sources":["../../../src/client/Blocks.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Blocks.js","sourceRoot":"","sources":["../../../src/client/Blocks.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChoreographedFlow.d.ts","sourceRoot":"","sources":["../../../src/client/ChoreographedFlow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAS7D,wFAAwF;AACxF,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,SAAS,CAI9C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAAE,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,CAAC;AAgD3F,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE;IACrH,KAAK,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAC7E,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAAC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7F,WAAW,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,KAAK,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;CAC9F,+BA6GA"}
1
+ {"version":3,"file":"ChoreographedFlow.d.ts","sourceRoot":"","sources":["../../../src/client/ChoreographedFlow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAU7D,wFAAwF;AACxF,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,SAAS,CAI9C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAAE,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,CAAC;AA0E3F,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE;IACrH,KAAK,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAC7E,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAAC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7F,WAAW,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,KAAK,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;CAC9F,+BAoIA"}
@@ -1,8 +1,9 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { createContext, useContext, useEffect, useLayoutEffect, useRef, useState } from 'react';
3
3
  import { collapseRows, containsNewUser, flowRows, FOLD_TIMING, retiringKeys } from './fold-choreography.js';
4
4
  import { Disclosure } from './motion.js';
5
5
  import { FoldSummaryText } from './LiveFold.js';
6
+ import { DiffStat } from './DiffPanel.js';
6
7
  import { StreamMotionContext } from './streaming.js';
7
8
  import css from './Reader.module.css';
8
9
  const FlowSnapshot = createContext(null);
@@ -16,7 +17,7 @@ export const useFlowChat = selector => {
16
17
  const idle = (frame) => ({ phase: 'idle', shown: frame, target: frame, retiring: [], beforeKeys: new Set() });
17
18
  function Summary({ item, open, onChange, motion }) {
18
19
  const button = useRef(null);
19
- return _jsx("div", { "data-reader-live-fold": true, "data-expanded": open, "data-reader-live-fold-summary": item.summary, children: _jsx(Disclosure, { open: open, onChange: onChange, buttonRef: button, ariaLabel: "\u6B64\u524D\u6B65\u9AA4", label: _jsx(FoldSummaryText, { summary: item.summary, motion: motion }) }) });
20
+ return _jsx("div", { "data-reader-live-fold": true, "data-expanded": open, "data-reader-live-fold-summary": item.summary, children: _jsxs("div", { className: css.summaryRow, children: [_jsx(Disclosure, { open: open, onChange: onChange, buttonRef: button, ariaLabel: "\u6B64\u524D\u6B65\u9AA4", label: _jsx(FoldSummaryText, { summary: item.summary, motion: motion }) }), _jsx(DiffStat, { steps: item.steps, label: item.summary })] }) });
20
21
  }
21
22
  /** Manual disclosure shares the measured-size path; children survive until finish. */
22
23
  function FlowCell({ hidden, instant, motion, rowKey, children, summary = false }) {
@@ -46,9 +47,33 @@ function FlowCell({ hidden, instant, motion, rowKey, children, summary = false }
46
47
  released = true;
47
48
  el.dispatchEvent(new CustomEvent('reader-layout-end', { bubbles: true }));
48
49
  } };
49
- animation.onfinish = () => { setPresent(!hidden); animation.cancel(); release(); };
50
- return () => { animation.cancel(); release(); };
51
- }, [hidden, instant, motion]);
50
+ // Do NOT cancel here. `fill: 'both'` is what currently holds the cell at its
51
+ // collapsed size; cancelling on finish drops that fill before React has
52
+ // committed the removal, so the cell snaps back to full height for one frame
53
+ // — the flash before it disappears. The state change alone retires it; the
54
+ // cleanup below cancels the animation once that has actually rendered.
55
+ let settled = false;
56
+ const settle = () => {
57
+ if (settled)
58
+ return;
59
+ settled = true;
60
+ setPresent(!hidden);
61
+ release();
62
+ };
63
+ animation.onfinish = settle;
64
+ // \`fill: 'both'\` pins the opening keyframe for the whole run, so if this
65
+ // animation never advances the cell stays at height 0 and opacity 0: the row is
66
+ // in the DOM but reads as "clicked it and nothing happened". A cancelled
67
+ // animation, or one inside a subtree the compositor skips, never fires
68
+ // onfinish. Fall back to the state change on a deadline; the cleanup then
69
+ // cancels the animation and drops the fill.
70
+ const deadline = window.setTimeout(settle, 220 + 240);
71
+ return () => { window.clearTimeout(deadline); animation.cancel(); release(); };
72
+ // `present` is a dependency so that committing it re-runs this effect: the
73
+ // cleanup then cancels the finished animation *after* the removal has been
74
+ // applied, which is the only moment the fill can be dropped safely. Without
75
+ // it the animation was never cancelled at all and every folded cell kept one.
76
+ }, [hidden, instant, motion, present]);
52
77
  return _jsx("div", { ref: ref, className: css.flowCell, "data-flow-key": rowKey, "data-flow-summary": summary || undefined, hidden: hidden && !present, "aria-hidden": hidden || undefined, ...(hidden ? { inert: '' } : {}), children: present && _jsx("div", { className: css.flowCellInner, children: children }) });
53
78
  }
54
79
  export function ChoreographedFlow({ frame, motion, enabled, urgent, open, onOpenChange, processOpen, renderStep, id }) {
@@ -97,14 +122,26 @@ export function ChoreographedFlow({ frame, motion, enabled, urgent, open, onOpen
97
122
  ], { duration: FOLD_TIMING.collapse, easing: 'cubic-bezier(.4,0,.2,1)', fill: 'both' }));
98
123
  }
99
124
  let cancelled = false;
100
- Promise.all(animations.map(animation => animation.finished)).then(() => {
101
- if (cancelled)
125
+ // Coalesce everything received during shrink, once. No animation restarts.
126
+ // Idempotent and phase-checked: the promise and the deadline race, and
127
+ // whichever arrives first wins while the other becomes a no-op.
128
+ let advanced = false;
129
+ const advance = () => {
130
+ if (cancelled || advanced)
102
131
  return;
103
- // Coalesce everything received during shrink, once. No animation restarts.
104
- setState(current => ({ ...current, phase: 'count', target: latest.current }));
105
- }).catch(() => { });
132
+ advanced = true;
133
+ setState(current => current.phase === 'collapse' ? { ...current, phase: 'count', target: latest.current } : current);
134
+ };
135
+ // `finished` rejects when an animation is cancelled and can stay pending when a
136
+ // compositor never runs it to completion, so the promise alone cannot be the only
137
+ // way out of this phase. Without a deadline a stalled phase would hold the frame
138
+ // source at `shown` and keep the reveal paused, which reads as a frozen turn
139
+ // until the view remounts.
140
+ const deadline = window.setTimeout(advance, FOLD_TIMING.collapse + FOLD_TIMING.watchdogSlack);
141
+ Promise.all(animations.map(animation => animation.finished)).then(advance, advance);
106
142
  return () => {
107
143
  cancelled = true;
144
+ window.clearTimeout(deadline);
108
145
  animations.forEach(animation => animation.cancel());
109
146
  el.dispatchEvent(new CustomEvent('reader-layout-end', { bubbles: true }));
110
147
  };
@@ -113,6 +150,21 @@ export function ChoreographedFlow({ frame, motion, enabled, urgent, open, onOpen
113
150
  if (state.phase !== 'count' && state.phase !== 'settle' && state.phase !== 'reveal')
114
151
  return;
115
152
  const phase = state.phase;
153
+ let done = false;
154
+ const finish = () => {
155
+ if (done)
156
+ return;
157
+ done = true;
158
+ setState(current => {
159
+ if (current.phase !== phase)
160
+ return current;
161
+ if (phase === 'count')
162
+ return { ...current, phase: 'settle' };
163
+ if (phase === 'settle')
164
+ return { ...current, phase: 'reveal' };
165
+ return idle(current.target);
166
+ });
167
+ };
116
168
  // Count visible presentation time, not a timer that can expire before a
117
169
  // busy browser paints. Each attention phase must get actual rendered frames.
118
170
  let elapsed = 0;
@@ -126,18 +178,14 @@ export function ChoreographedFlow({ frame, motion, enabled, urgent, open, onOpen
126
178
  raf = requestAnimationFrame(tick);
127
179
  return;
128
180
  }
129
- setState(current => {
130
- if (current.phase !== phase)
131
- return current;
132
- if (phase === 'count')
133
- return { ...current, phase: 'settle' };
134
- if (phase === 'settle')
135
- return { ...current, phase: 'reveal' };
136
- return idle(current.target);
137
- });
181
+ finish();
138
182
  };
139
183
  raf = requestAnimationFrame(tick);
140
- return () => cancelAnimationFrame(raf);
184
+ // A hidden tab gets no frames at all, so the frame counter above would never
185
+ // reach its budget and the phase would hold forever. The wall-clock deadline
186
+ // advances it anyway; a non-idle phase is what freezes the turn.
187
+ const deadline = window.setTimeout(finish, FOLD_TIMING[phase] + FOLD_TIMING.watchdogSlack);
188
+ return () => { window.clearTimeout(deadline); cancelAnimationFrame(raf); };
141
189
  }, [state.phase]);
142
190
  useLayoutEffect(() => {
143
191
  if (state.phase !== 'reveal' || !root.current)
@@ -1 +1 @@
1
- {"version":3,"file":"ChoreographedFlow.js","sourceRoot":"","sources":["../../../src/client/ChoreographedFlow.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChoreographedFlow.js","sourceRoot":"","sources":["../../../src/client/ChoreographedFlow.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ClosedProcessSummary.d.ts","sourceRoot":"","sources":["../../../src/client/ClosedProcessSummary.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IACxE,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;CACjG,sCAQA"}
1
+ {"version":3,"file":"ClosedProcessSummary.d.ts","sourceRoot":"","sources":["../../../src/client/ClosedProcessSummary.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IACxE,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;CACjG,sCAWA"}
@@ -1,15 +1,16 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useRef } from 'react';
3
3
  import css from './Reader.module.css';
4
4
  import { Disclosure } from './motion.js';
5
5
  import { FoldSummaryText } from './LiveFold.js';
6
6
  import { foldSummary } from './live-turn.js';
7
+ import { DiffStat } from './DiffPanel.js';
7
8
  /** Keep process counts discoverable after the live-fold presentation retires. */
8
9
  export function ClosedProcessSummary({ steps, open, onChange, controls }) {
9
10
  const button = useRef(null);
10
11
  if (!steps.length)
11
12
  return null;
12
13
  const summary = foldSummary(steps);
13
- return _jsx("div", { className: css.closedProcessSummary, "data-reader-closed-summary": summary, children: _jsx(Disclosure, { open: open, onChange: onChange, controls: controls, buttonRef: button, ariaLabel: "\u672C\u8F6E\u8FC7\u7A0B\u8BE6\u60C5", label: _jsx(FoldSummaryText, { summary: summary, motion: false }) }) });
14
+ return _jsx("div", { className: css.closedProcessSummary, "data-reader-closed-summary": summary, children: _jsxs("div", { className: css.summaryRow, children: [_jsx(Disclosure, { open: open, onChange: onChange, controls: controls, buttonRef: button, ariaLabel: "\u672C\u8F6E\u8FC7\u7A0B\u8BE6\u60C5", label: _jsx(FoldSummaryText, { summary: summary, motion: false }) }), _jsx(DiffStat, { steps: steps, label: summary })] }) });
14
15
  }
15
16
  //# sourceMappingURL=ClosedProcessSummary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClosedProcessSummary.js","sourceRoot":"","sources":["../../../src/client/ClosedProcessSummary.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,GAAG,MAAM,qBAAqB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,iFAAiF;AACjF,MAAM,UAAU,oBAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAErE;IACC,MAAM,MAAM,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,cAAK,SAAS,EAAE,GAAG,CAAC,oBAAoB,gCAA8B,OAAO,YAClF,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAC,sCAAQ,EACnG,KAAK,EAAE,KAAC,eAAe,IAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,GAAI,GAAI,GAC7D,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"ClosedProcessSummary.js","sourceRoot":"","sources":["../../../src/client/ClosedProcessSummary.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,GAAG,MAAM,qBAAqB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,iFAAiF;AACjF,MAAM,UAAU,oBAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAErE;IACC,MAAM,MAAM,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,cAAK,SAAS,EAAE,GAAG,CAAC,oBAAoB,gCAA8B,OAAO,YAClF,eAAK,SAAS,EAAE,GAAG,CAAC,UAAU,aAC5B,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAC,sCAAQ,EACnG,KAAK,EAAE,KAAC,eAAe,IAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,GAAI,GAAI,EACjE,KAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAI,IACtC,GACF,CAAC;AACT,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { LiveStep } from './live-turn.js';
2
+ /**
3
+ * Line counts for everything a folded run of steps changed.
4
+ *
5
+ * A run that touched no files renders nothing, so an ordinary process digest is
6
+ * unchanged. Clicking the counts opens the same diff surface the official tool
7
+ * row uses — one file at a time, red removed / green added, expandable.
8
+ */
9
+ export declare function DiffStat({ steps, label }: {
10
+ steps: readonly LiveStep[];
11
+ label: string;
12
+ }): import("react").JSX.Element | null;
13
+ //# sourceMappingURL=DiffPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiffPanel.d.ts","sourceRoot":"","sources":["../../../src/client/DiffPanel.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAuE/C;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,sCAsCvF"}