jouzu 0.1.1 → 0.1.3

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 (93) hide show
  1. package/README.md +8 -6
  2. package/dist/args.d.ts +1 -0
  3. package/dist/args.d.ts.map +1 -1
  4. package/dist/args.js +10 -6
  5. package/dist/args.js.map +1 -1
  6. package/dist/cli.js +19 -3
  7. package/dist/cli.js.map +1 -1
  8. package/dist/doctor.d.ts +29 -0
  9. package/dist/doctor.d.ts.map +1 -1
  10. package/dist/doctor.js +140 -87
  11. package/dist/doctor.js.map +1 -1
  12. package/dist/help.d.ts +3 -0
  13. package/dist/help.d.ts.map +1 -0
  14. package/dist/help.js +43 -0
  15. package/dist/help.js.map +1 -0
  16. package/dist/keybindings.d.ts.map +1 -1
  17. package/dist/keybindings.js +7 -25
  18. package/dist/keybindings.js.map +1 -1
  19. package/dist/metadata.d.ts +11 -0
  20. package/dist/metadata.d.ts.map +1 -1
  21. package/dist/metadata.js +54 -0
  22. package/dist/metadata.js.map +1 -1
  23. package/dist/model-picker-ranking.d.ts +37 -0
  24. package/dist/model-picker-ranking.d.ts.map +1 -0
  25. package/dist/model-picker-ranking.js +151 -0
  26. package/dist/model-picker-ranking.js.map +1 -0
  27. package/dist/model-picker-state.d.ts +61 -0
  28. package/dist/model-picker-state.d.ts.map +1 -0
  29. package/dist/model-picker-state.js +299 -0
  30. package/dist/model-picker-state.js.map +1 -0
  31. package/dist/model-picker.d.ts +71 -0
  32. package/dist/model-picker.d.ts.map +1 -0
  33. package/dist/model-picker.js +563 -0
  34. package/dist/model-picker.js.map +1 -0
  35. package/dist/palette.d.ts +36 -0
  36. package/dist/palette.d.ts.map +1 -0
  37. package/dist/palette.js +69 -0
  38. package/dist/palette.js.map +1 -0
  39. package/dist/pi.lock.json +7 -6
  40. package/dist/presentation.d.ts +4 -1
  41. package/dist/presentation.d.ts.map +1 -1
  42. package/dist/presentation.js +30 -31
  43. package/dist/presentation.js.map +1 -1
  44. package/dist/private-fs.d.ts +14 -0
  45. package/dist/private-fs.d.ts.map +1 -1
  46. package/dist/private-fs.js +35 -2
  47. package/dist/private-fs.js.map +1 -1
  48. package/dist/profile-choice.d.ts.map +1 -1
  49. package/dist/profile-choice.js +4 -20
  50. package/dist/profile-choice.js.map +1 -1
  51. package/dist/profile-manager.d.ts.map +1 -1
  52. package/dist/profile-manager.js +4 -22
  53. package/dist/profile-manager.js.map +1 -1
  54. package/dist/session-ui/THIRD_PARTY_NOTICES.md +30 -0
  55. package/dist/session-ui/color.js +76 -0
  56. package/dist/session-ui/color.js.map +1 -0
  57. package/dist/session-ui/contracts.js +4 -0
  58. package/dist/session-ui/contracts.js.map +1 -0
  59. package/dist/session-ui/controller.js +116 -0
  60. package/dist/session-ui/controller.js.map +1 -0
  61. package/dist/session-ui/extension.js +81 -0
  62. package/dist/session-ui/extension.js.map +1 -0
  63. package/dist/session-ui/identity.js +9 -0
  64. package/dist/session-ui/identity.js.map +1 -0
  65. package/dist/session-ui/index.js +15 -0
  66. package/dist/session-ui/index.js.map +1 -0
  67. package/dist/session-ui/layout.js +138 -0
  68. package/dist/session-ui/layout.js.map +1 -0
  69. package/dist/session-ui/prompt-frame.js +168 -0
  70. package/dist/session-ui/prompt-frame.js.map +1 -0
  71. package/dist/session-ui/session-line.js +82 -0
  72. package/dist/session-ui/session-line.js.map +1 -0
  73. package/dist/session-ui/snapshot.js +68 -0
  74. package/dist/session-ui/snapshot.js.map +1 -0
  75. package/dist/session-ui/sources/command.js +2 -0
  76. package/dist/session-ui/sources/command.js.map +1 -0
  77. package/dist/session-ui/sources/git.js +79 -0
  78. package/dist/session-ui/sources/git.js.map +1 -0
  79. package/dist/session-ui/sources/runtime.js +95 -0
  80. package/dist/session-ui/sources/runtime.js.map +1 -0
  81. package/dist/session-ui/status-bar.js +265 -0
  82. package/dist/session-ui/status-bar.js.map +1 -0
  83. package/dist/session-ui/styles.js +91 -0
  84. package/dist/session-ui/styles.js.map +1 -0
  85. package/dist/terminal-layout.d.ts +2 -0
  86. package/dist/terminal-layout.d.ts.map +1 -0
  87. package/dist/terminal-layout.js +2 -0
  88. package/dist/terminal-layout.js.map +1 -0
  89. package/dist/updater.d.ts +1 -0
  90. package/dist/updater.d.ts.map +1 -1
  91. package/dist/updater.js +18 -23
  92. package/dist/updater.js.map +1 -1
  93. package/package.json +5 -3
@@ -0,0 +1,265 @@
1
+ import { fitTerminalText, padTerminalText, sanitizeTerminalText, terminalTextWidth } from "./layout.js";
2
+ function compactCount(value) {
3
+ if (value >= 1_000_000)
4
+ return `${Math.round(value / 100_000) / 10}m`;
5
+ if (value >= 10_000)
6
+ return `${Math.round(value / 1000)}k`;
7
+ if (value >= 1000)
8
+ return `${Math.round(value / 100) / 10}k`;
9
+ return String(value);
10
+ }
11
+ function gitFlags(snapshot) {
12
+ const git = snapshot.git.value;
13
+ if (!git)
14
+ return "";
15
+ const states = [
16
+ git.conflicted > 0 ? "=" : "",
17
+ git.stashed > 0 ? "$" : "",
18
+ git.deleted > 0 ? "✘" : "",
19
+ git.renamed > 0 ? "»" : "",
20
+ git.modified > 0 ? "!" : "",
21
+ git.typeChanged > 0 ? "T" : "",
22
+ git.staged > 0 ? "+" : "",
23
+ git.untracked > 0 ? "?" : "",
24
+ ].join("");
25
+ const relation = git.ahead > 0 && git.behind > 0 ? "⇕" : git.ahead > 0 ? "↑" : git.behind > 0 ? "↓" : "";
26
+ return `${states}${relation}`;
27
+ }
28
+ function runtimeStyle(id) {
29
+ switch (id) {
30
+ case "node":
31
+ return "status.runtime.node";
32
+ case "deno":
33
+ return "status.runtime.deno";
34
+ case "bun":
35
+ return "status.runtime.bun";
36
+ case "python":
37
+ return "status.runtime.python";
38
+ case "java":
39
+ return "status.runtime.java";
40
+ case "rust":
41
+ return "status.runtime.rust";
42
+ case "ruby":
43
+ return "status.runtime.ruby";
44
+ case "go":
45
+ return "status.runtime.go";
46
+ case "lua":
47
+ return "status.runtime.lua";
48
+ case "php":
49
+ return "status.runtime.php";
50
+ default:
51
+ return "status.runtime.default";
52
+ }
53
+ }
54
+ export function buildStatusBarSegments(snapshot) {
55
+ const segments = [];
56
+ if (snapshot.git.status === "error" || snapshot.runtime.status === "error") {
57
+ segments.push({
58
+ id: "health",
59
+ side: "left",
60
+ order: 0,
61
+ priority: 1000,
62
+ style: "status.health",
63
+ value: "! status",
64
+ compactValue: "!",
65
+ required: true,
66
+ });
67
+ }
68
+ segments.push({
69
+ id: "workspace",
70
+ side: "left",
71
+ order: 10,
72
+ priority: 700,
73
+ style: "status.workspace",
74
+ value: snapshot.workspace.label,
75
+ });
76
+ if (snapshot.git.value) {
77
+ const flags = gitFlags(snapshot);
78
+ const branch = sanitizeTerminalText(snapshot.git.value.branch ?? "detached");
79
+ const changes = flags ? ` [${flags}]` : "";
80
+ segments.push({
81
+ id: "git",
82
+ side: "left",
83
+ order: 20,
84
+ priority: 650,
85
+ style: "status.git.branch",
86
+ value: `${branch}${changes}`,
87
+ fragments: [
88
+ { value: branch, style: "status.git.branch" },
89
+ ...(changes ? [{ value: changes, style: "status.git.changes" }] : []),
90
+ ],
91
+ compactValue: flags ? `[${flags}]` : branch,
92
+ compactFragments: flags
93
+ ? [{ value: `[${flags}]`, style: "status.git.changes" }]
94
+ : [{ value: branch, style: "status.git.branch" }],
95
+ });
96
+ }
97
+ if (snapshot.runtime.value) {
98
+ const runtime = snapshot.runtime.value;
99
+ segments.push({
100
+ id: "runtime",
101
+ side: "left",
102
+ order: 30,
103
+ priority: 300,
104
+ style: runtimeStyle(runtime.id),
105
+ value: `${runtime.id}${runtime.version ? ` ${runtime.version}` : ""}`,
106
+ compactValue: runtime.id,
107
+ });
108
+ }
109
+ const context = snapshot.context.value;
110
+ const percent = context?.percent;
111
+ segments.push({
112
+ id: "context",
113
+ side: "right",
114
+ order: 10,
115
+ priority: 900,
116
+ style: percent !== undefined && percent >= 90
117
+ ? "status.context.error"
118
+ : percent !== undefined && percent >= 70
119
+ ? "status.context.warning"
120
+ : "status.context.normal",
121
+ value: context ? `${percent === undefined ? "?" : Math.round(percent)}%/${compactCount(context.window)}` : "ctx ?",
122
+ compactValue: context ? `${percent === undefined ? "?" : Math.round(percent)}%` : "?",
123
+ required: true,
124
+ });
125
+ if (snapshot.usage.value) {
126
+ const usage = snapshot.usage.value;
127
+ const tokenValue = `↑${compactCount(usage.inputTokens)} ↓${compactCount(usage.outputTokens)}`;
128
+ const compactTokenValue = `↑${compactCount(usage.inputTokens)}`;
129
+ const unknown = usage.unknownMessageCount > 0 ? " ?" : "";
130
+ segments.push({
131
+ id: "tokens",
132
+ side: "right",
133
+ order: 20,
134
+ priority: 500,
135
+ style: "status.tokens",
136
+ value: `${tokenValue}${unknown}`,
137
+ fragments: [
138
+ { value: tokenValue, style: "status.tokens" },
139
+ ...(unknown ? [{ value: unknown, style: "status.unknown" }] : []),
140
+ ],
141
+ compactValue: `${compactTokenValue}${unknown}`,
142
+ compactFragments: [
143
+ { value: compactTokenValue, style: "status.tokens" },
144
+ ...(unknown ? [{ value: unknown, style: "status.unknown" }] : []),
145
+ ],
146
+ });
147
+ }
148
+ return segments;
149
+ }
150
+ function preparedWidth(segments, separator) {
151
+ const active = segments.filter((segment) => !segment.removed);
152
+ return active.reduce((total, segment, index) => {
153
+ const value = segment.compact ? (segment.compactValue ?? segment.value) : segment.value;
154
+ return total + terminalTextWidth(value) + (index > 0 ? terminalTextWidth(separator) : 0);
155
+ }, 0);
156
+ }
157
+ function sanitizeFragments(fragments, value) {
158
+ if (!fragments)
159
+ return undefined;
160
+ const safe = fragments.map((fragment) => ({ ...fragment, value: sanitizeTerminalText(fragment.value) }));
161
+ return safe.map((fragment) => fragment.value).join("") === value ? safe : undefined;
162
+ }
163
+ function renderPreparedSegment(segment, styles) {
164
+ const value = segment.compact ? (segment.compactValue ?? segment.value) : segment.value;
165
+ const fragments = segment.compact ? segment.compactFragments : segment.fragments;
166
+ if (!fragments)
167
+ return styles.apply(segment.style, value);
168
+ return fragments.map((fragment) => styles.apply(fragment.style, fragment.value)).join("");
169
+ }
170
+ export function renderStatusBarSegments(segments, width, styles) {
171
+ if (width <= 0)
172
+ return "";
173
+ const prepared = segments.map((segment) => {
174
+ const { value: rawValue, compactValue: rawCompactValue, fragments: rawFragments, compactFragments: rawCompactFragments, ...rest } = segment;
175
+ const value = sanitizeTerminalText(rawValue);
176
+ const compactValue = rawCompactValue === undefined ? undefined : sanitizeTerminalText(rawCompactValue);
177
+ const fragments = sanitizeFragments(rawFragments, value);
178
+ const compactFragments = compactValue === undefined ? undefined : sanitizeFragments(rawCompactFragments, compactValue);
179
+ return {
180
+ ...rest,
181
+ value,
182
+ ...(compactValue !== undefined ? { compactValue } : {}),
183
+ ...(fragments ? { fragments } : {}),
184
+ ...(compactFragments ? { compactFragments } : {}),
185
+ compact: false,
186
+ removed: false,
187
+ };
188
+ });
189
+ const leftSeparator = " · ";
190
+ const rightSeparator = " | ";
191
+ const totalWidth = () => {
192
+ const left = preparedWidth(prepared.filter((segment) => segment.side === "left"), leftSeparator);
193
+ const right = preparedWidth(prepared.filter((segment) => segment.side === "right"), rightSeparator);
194
+ return left + right + (left > 0 && right > 0 ? 1 : 0);
195
+ };
196
+ while (totalWidth() > width) {
197
+ const compactable = prepared
198
+ .filter((segment) => !segment.removed &&
199
+ !segment.compact &&
200
+ segment.compactValue !== undefined &&
201
+ terminalTextWidth(segment.compactValue) < terminalTextWidth(segment.value))
202
+ .sort((left, right) => left.priority - right.priority)[0];
203
+ if (compactable) {
204
+ compactable.compact = true;
205
+ continue;
206
+ }
207
+ const removable = prepared
208
+ .filter((segment) => !segment.removed && !segment.required)
209
+ .sort((left, right) => left.priority - right.priority)[0];
210
+ if (removable) {
211
+ removable.removed = true;
212
+ continue;
213
+ }
214
+ break;
215
+ }
216
+ if (totalWidth() > width) {
217
+ const protectedSegment = prepared
218
+ .filter((segment) => !segment.removed && segment.required)
219
+ .sort((left, right) => right.priority - left.priority)[0];
220
+ if (!protectedSegment)
221
+ return " ".repeat(width);
222
+ const rendered = fitTerminalText(renderPreparedSegment(protectedSegment, styles), width);
223
+ return padTerminalText(rendered, width, {
224
+ alignment: protectedSegment.side === "right" ? "right" : "left",
225
+ });
226
+ }
227
+ const renderSide = (side, separator) => {
228
+ const active = prepared
229
+ .filter((segment) => segment.side === side && !segment.removed)
230
+ .sort((left, right) => left.order - right.order);
231
+ return active
232
+ .map((segment) => renderPreparedSegment(segment, styles))
233
+ .join(styles.apply("status.separator", separator));
234
+ };
235
+ const left = renderSide("left", leftSeparator);
236
+ const right = renderSide("right", rightSeparator);
237
+ if (!left)
238
+ return padTerminalText(right, width, { alignment: "right" });
239
+ if (!right)
240
+ return padTerminalText(left, width);
241
+ return `${left}${" ".repeat(width - terminalTextWidth(left) - terminalTextWidth(right))}${right}`;
242
+ }
243
+ export function renderStatusBar(snapshot, width, styles) {
244
+ return renderStatusBarSegments(buildStatusBarSegments(snapshot), width, styles);
245
+ }
246
+ export class StatusBarComponent {
247
+ styles;
248
+ snapshot;
249
+ unsubscribe;
250
+ constructor(controller, styles, requestRender) {
251
+ this.styles = styles;
252
+ this.unsubscribe = controller.subscribe((snapshot) => {
253
+ this.snapshot = snapshot;
254
+ requestRender();
255
+ });
256
+ }
257
+ render(width) {
258
+ return [this.snapshot ? renderStatusBar(this.snapshot, width, this.styles) : ""];
259
+ }
260
+ invalidate() { }
261
+ dispose() {
262
+ this.unsubscribe();
263
+ }
264
+ }
265
+ //# sourceMappingURL=status-bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-bar.js","sourceRoot":"","sources":["../src/status-bar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import { detectTerminalColorMode, renderTerminalRgb } from "./color.js";
2
+ const theme = (value) => Object.freeze({ source: "theme", value });
3
+ const rgb = (red, green, blue) => Object.freeze({ source: "rgb", red, green, blue });
4
+ /** Jouzu brand accents, shared by the prompt rail and the Palette so one capability policy covers both. */
5
+ const BRAND_BLUE = rgb(103, 232, 249);
6
+ const BRAND_PINK = rgb(244, 114, 182);
7
+ /** Jouzu-owned semantic roles with defaults matched to the retained Session UI baseline. */
8
+ export const DEFAULT_SESSION_UI_STYLE_SCHEME = Object.freeze({
9
+ "prompt.border": theme("borderMuted"),
10
+ "prompt.rail": BRAND_BLUE,
11
+ "session.hint.text": theme("text"),
12
+ "session.hint.muted": theme("muted"),
13
+ "session.hint.accent": theme("accent"),
14
+ "session.hint.success": theme("success"),
15
+ "session.hint.warning": theme("warning"),
16
+ "session.hint.error": theme("error"),
17
+ "session.provider": theme("dim"),
18
+ "session.model": theme("mdCode"),
19
+ "status.text": theme("text"),
20
+ "status.muted": theme("muted"),
21
+ "status.accent": theme("accent"),
22
+ "status.success": theme("success"),
23
+ "status.warning": theme("warning"),
24
+ "status.error": theme("error"),
25
+ "status.workspace": rgb(215, 215, 255),
26
+ "status.git.branch": theme("syntaxKeyword"),
27
+ "status.git.changes": theme("error"),
28
+ "status.runtime.default": theme("text"),
29
+ "status.runtime.node": theme("success"),
30
+ "status.runtime.deno": theme("syntaxType"),
31
+ "status.runtime.bun": theme("warning"),
32
+ "status.runtime.python": theme("warning"),
33
+ "status.runtime.java": theme("warning"),
34
+ "status.runtime.rust": theme("error"),
35
+ "status.runtime.ruby": theme("error"),
36
+ "status.runtime.go": theme("syntaxType"),
37
+ "status.runtime.lua": theme("accent"),
38
+ "status.runtime.php": theme("accent"),
39
+ "status.context.normal": rgb(250, 204, 21),
40
+ "status.context.warning": theme("warning"),
41
+ "status.context.error": theme("error"),
42
+ "status.tokens": rgb(255, 175, 215),
43
+ "status.separator": theme("borderMuted"),
44
+ "status.health": theme("error"),
45
+ "status.unknown": theme("warning"),
46
+ "palette.border": theme("borderAccent"),
47
+ "palette.title": theme("accent"),
48
+ "palette.count": theme("muted"),
49
+ "palette.marker": BRAND_BLUE,
50
+ "palette.identity": theme("text"),
51
+ "palette.identity.selected": BRAND_BLUE,
52
+ "palette.favorite": theme("warning"),
53
+ "palette.default": theme("success"),
54
+ "palette.unavailable": theme("error"),
55
+ "palette.context.small": theme("warning"),
56
+ "palette.section": theme("muted"),
57
+ "palette.section.current": BRAND_PINK,
58
+ "palette.detail": BRAND_BLUE,
59
+ "palette.tab.active": theme("accent"),
60
+ "palette.empty": theme("muted"),
61
+ "palette.message.error": theme("error"),
62
+ "palette.message.info": theme("muted"),
63
+ "palette.hint": theme("dim"),
64
+ });
65
+ function themeSupportsColor(themeValue) {
66
+ const probe = "jouzu-color-probe";
67
+ return themeValue.fg("accent", probe) !== probe;
68
+ }
69
+ export function createSessionUiStyles(themeValue, options = {}) {
70
+ const env = options.env ?? process.env;
71
+ const colorEnabled = options.colorEnabled ?? (env.NO_COLOR === undefined && env.TERM !== "dumb" && themeSupportsColor(themeValue));
72
+ const detectedMode = detectTerminalColorMode({
73
+ env,
74
+ ...(options.colorDepth !== undefined ? { colorDepth: options.colorDepth } : {}),
75
+ ...(options.stdoutIsTTY !== undefined ? { stdoutIsTTY: options.stdoutIsTTY } : {}),
76
+ });
77
+ const colorMode = options.colorMode ?? (options.colorEnabled === true && detectedMode === "none" ? "truecolor" : detectedMode);
78
+ const scheme = options.scheme ?? DEFAULT_SESSION_UI_STYLE_SCHEME;
79
+ return Object.freeze({
80
+ scheme,
81
+ apply(role, value) {
82
+ if (!colorEnabled || value.length === 0)
83
+ return value;
84
+ const color = scheme[role];
85
+ if (color.source === "theme")
86
+ return themeValue.fg(color.value, value);
87
+ return renderTerminalRgb(value, color, colorMode);
88
+ },
89
+ });
90
+ }
91
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAA0B,MAAM,YAAY,CAAC;AAmEhG,MAAM,KAAK,GAAG,CAAC,KAAiB,EAAkB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AAC/F,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,IAAY,EAAkB,EAAE,CACxE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAEpD,2GAA2G;AAC3G,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACtC,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEtC,4FAA4F;AAC5F,MAAM,CAAC,MAAM,+BAA+B,GAAyB,MAAM,CAAC,MAAM,CAAC;IAClF,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,aAAa,EAAE,UAAU;IACzB,mBAAmB,EAAE,KAAK,CAAC,MAAM,CAAC;IAClC,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC;IACpC,qBAAqB,EAAE,KAAK,CAAC,QAAQ,CAAC;IACtC,sBAAsB,EAAE,KAAK,CAAC,SAAS,CAAC;IACxC,sBAAsB,EAAE,KAAK,CAAC,SAAS,CAAC;IACxC,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC;IACpC,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC;IAChC,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC;IAChC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC;IAC5B,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC;IAC9B,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC;IAChC,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC;IAC9B,kBAAkB,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACtC,mBAAmB,EAAE,KAAK,CAAC,eAAe,CAAC;IAC3C,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC;IACpC,wBAAwB,EAAE,KAAK,CAAC,MAAM,CAAC;IACvC,qBAAqB,EAAE,KAAK,CAAC,SAAS,CAAC;IACvC,qBAAqB,EAAE,KAAK,CAAC,YAAY,CAAC;IAC1C,oBAAoB,EAAE,KAAK,CAAC,SAAS,CAAC;IACtC,uBAAuB,EAAE,KAAK,CAAC,SAAS,CAAC;IACzC,qBAAqB,EAAE,KAAK,CAAC,SAAS,CAAC;IACvC,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC;IACrC,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC;IACrC,mBAAmB,EAAE,KAAK,CAAC,YAAY,CAAC;IACxC,oBAAoB,EAAE,KAAK,CAAC,QAAQ,CAAC;IACrC,oBAAoB,EAAE,KAAK,CAAC,QAAQ,CAAC;IACrC,uBAAuB,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;IAC1C,wBAAwB,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1C,sBAAsB,EAAE,KAAK,CAAC,OAAO,CAAC;IACtC,eAAe,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnC,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAAC;IACxC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC;IAC/B,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,gBAAgB,EAAE,KAAK,CAAC,cAAc,CAAC;IACvC,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC;IAChC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC;IAC/B,gBAAgB,EAAE,UAAU;IAC5B,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAAC;IACjC,2BAA2B,EAAE,UAAU;IACvC,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC;IACpC,iBAAiB,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC;IACrC,uBAAuB,EAAE,KAAK,CAAC,SAAS,CAAC;IACzC,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC;IACjC,yBAAyB,EAAE,UAAU;IACrC,gBAAgB,EAAE,UAAU;IAC5B,oBAAoB,EAAE,KAAK,CAAC,QAAQ,CAAC;IACrC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC;IAC/B,uBAAuB,EAAE,KAAK,CAAC,OAAO,CAAC;IACvC,sBAAsB,EAAE,KAAK,CAAC,OAAO,CAAC;IACtC,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC;CAC5B,CAAC,CAAC;AAgBH,SAAS,kBAAkB,CAAC,UAA6B;IACxD,MAAM,KAAK,GAAG,mBAAmB,CAAC;IAClC,OAAO,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,KAAK,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,qBAAqB,CACpC,UAA6B,EAC7B,UAAiC,EAAE;IAEnC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,YAAY,GACjB,OAAO,CAAC,YAAY,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/G,MAAM,YAAY,GAAG,uBAAuB,CAAC;QAC5C,GAAG;QACH,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClF,CAAC,CAAC;IACH,MAAM,SAAS,GACd,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAC9G,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,+BAA+B,CAAC;IACjE,OAAO,MAAM,CAAC,MAAM,CAAC;QACpB,MAAM;QACN,KAAK,CAAC,IAAwB,EAAE,KAAa;YAC5C,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACtD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO;gBAAE,OAAO,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACvE,OAAO,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACnD,CAAC;KACD,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { detectTerminalColorMode, fillTerminalColumns, fitTerminalText, padTerminalText, remainingTerminalColumns, renderTerminalFrameBorder, renderTerminalFrameRow, renderTerminalFrameTitle, renderTerminalRgb, rgbToAnsi16, rgbToAnsi256, sanitizeTerminalText, type TerminalColorMode, type TerminalFrameBorderOptions, type TerminalFrameOptions, type TerminalFrameTitleOptions, type TerminalTextAlignment, type TerminalTextStyle, terminalTextWidth, } from "./session-ui/index.js";
2
+ //# sourceMappingURL=terminal-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-layout.d.ts","sourceRoot":"","sources":["../src/terminal-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,iBAAiB,GACjB,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { detectTerminalColorMode, fillTerminalColumns, fitTerminalText, padTerminalText, remainingTerminalColumns, renderTerminalFrameBorder, renderTerminalFrameRow, renderTerminalFrameTitle, renderTerminalRgb, rgbToAnsi16, rgbToAnsi256, sanitizeTerminalText, terminalTextWidth, } from "./session-ui/index.js";
2
+ //# sourceMappingURL=terminal-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-layout.js","sourceRoot":"","sources":["../src/terminal-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,oBAAoB,EAOpB,iBAAiB,GACjB,MAAM,uBAAuB,CAAC"}
package/dist/updater.d.ts CHANGED
@@ -97,6 +97,7 @@ export declare class JouzuUpdater {
97
97
  private createDownloadDirectory;
98
98
  private pack;
99
99
  private installTarball;
100
+ private restoreTarball;
100
101
  apply(checkResult?: UpdateCheckResult): {
101
102
  changed: boolean;
102
103
  version: string;
@@ -1 +1 @@
1
- {"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../src/updater.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../src/updater.ts"],"names":[],"mappings":"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"}
package/dist/updater.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { spawnSync } from "node:child_process";
2
2
  import { createHash, randomUUID } from "node:crypto";
3
- import { closeSync, existsSync, fsyncSync, lstatSync, openSync, readFileSync, realpathSync, renameSync, rmdirSync, rmSync, unlinkSync, writeFileSync, } from "node:fs";
3
+ import { existsSync, lstatSync, readFileSync, realpathSync, rmdirSync, unlinkSync } from "node:fs";
4
4
  import { dirname, join, posix, resolve, win32 } from "node:path";
5
5
  import { fileURLToPath } from "node:url";
6
- import { ensurePrivateDirectory, validatePrivateDirectory } from "./private-fs.js";
6
+ import { ensurePrivateDirectory, validatePrivateDirectory, writeFilePrivateAtomic } from "./private-fs.js";
7
7
  import { acquireStateLock, STATE_LOCK_STALE_MS } from "./state-lock.js";
8
8
  const PI_PACKAGE = "@earendil-works/pi-coding-agent";
9
9
  const UPDATE_STATE_FIELDS = new Set([
@@ -177,26 +177,8 @@ export function readUpdateState(path, currentVersion) {
177
177
  parseSemver(value.previousVersion);
178
178
  return value;
179
179
  }
180
- function atomicWrite(path, content) {
181
- ensurePrivateDirectory(dirname(path));
182
- const temporary = join(dirname(path), `.${randomUUID()}.tmp`);
183
- let descriptor;
184
- try {
185
- descriptor = openSync(temporary, "wx", 0o600);
186
- writeFileSync(descriptor, content);
187
- fsyncSync(descriptor);
188
- closeSync(descriptor);
189
- descriptor = undefined;
190
- renameSync(temporary, path);
191
- }
192
- finally {
193
- if (descriptor !== undefined)
194
- closeSync(descriptor);
195
- rmSync(temporary, { force: true });
196
- }
197
- }
198
180
  function writeUpdateState(path, state) {
199
- atomicWrite(path, `${JSON.stringify(state, null, 2)}\n`);
181
+ writeFilePrivateAtomic(path, `${JSON.stringify(state, null, 2)}\n`);
200
182
  }
201
183
  function envFlagIsTrue(value) {
202
184
  return value !== undefined && ["1", "true", "yes", "on"].includes(value.toLowerCase());
@@ -505,6 +487,20 @@ export class JouzuUpdater {
505
487
  installTarball(path) {
506
488
  requireCommandSuccess(this.runNpm(["install", "--global", path, "--ignore-scripts", "--no-audit", "--no-fund", "--loglevel=error"], 300_000), "install");
507
489
  }
490
+ restoreTarball(path, expectedVersion) {
491
+ let failure;
492
+ for (let attempt = 0; attempt < 2; attempt += 1) {
493
+ try {
494
+ this.installTarball(path);
495
+ this.verifyInstalled(expectedVersion);
496
+ return;
497
+ }
498
+ catch (error) {
499
+ failure = error;
500
+ }
501
+ }
502
+ throw failure;
503
+ }
508
504
  apply(checkResult) {
509
505
  if (this.installChannel() !== "global-npm") {
510
506
  throw new UpdateError("automatic installation is available only for a real global npm install; update this source, local, or npx invocation through its owning channel", "unsupported-install-channel");
@@ -547,8 +543,7 @@ export class JouzuUpdater {
547
543
  this.report(`Jouzu ${check.version} failed verification; restoring ${this.currentVersion}…`);
548
544
  try {
549
545
  verifyFileIntegrity(backup.path, backup.integrity);
550
- this.installTarball(backup.path);
551
- this.verifyInstalled(this.currentVersion);
546
+ this.restoreTarball(backup.path, this.currentVersion);
552
547
  }
553
548
  catch {
554
549
  throw new UpdateError("Jouzu update and automatic rollback both failed; reinstall the previous Jouzu version with npm", "rollback-failed", { fatal: true });
@@ -1 +1 @@
1
- {"version":3,"file":"updater.js","sourceRoot":"","sources":["../src/updater.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updater.js","sourceRoot":"","sources":["../src/updater.ts"],"names":[],"mappings":"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"}