waterplane 0.1.15 → 0.1.17

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.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,29 @@ version — so entries are grouped by the release they shipped in. A fixed secur
5
5
  vulnerability in what ships is listed under a **Security:** bullet of the release that
6
6
  fixed it, with its CVE or GHSA id when one exists.
7
7
 
8
+ ## 0.1.17
9
+
10
+ ### Fixed
11
+
12
+ - **A long build name no longer wraps one word per line in the build sheet.** The params line and the time line of a run row now sit under its name instead of beside it, so the name keeps the full row width.
13
+
14
+ ## 0.1.16
15
+
16
+ ### New
17
+
18
+ - **Exposure watch reads code-scanning alerts.** CodeQL's open alerts on a watched repo now reach the watch, one row for each rule (a rule that fired 13 times is one row). High or critical alerts, and any open over 14 days, raise an alert. A repo with code scanning switched off is never nagged.
19
+ - **The findings-only cut says what it hides.** Over open medium advisories it now gives the number of rows to consider, instead of saying the rest of the checklist is hidden.
20
+
21
+ ### Fixed
22
+
23
+ - The context meter no longer stalls on a long screen row that repeats the word *context*. About 8 KB of it took roughly 10 seconds to read, and it is now linear.
24
+ - The spinner phrase and the tray stats row are read in linear time, so a pathological line can no longer slow the session screen.
25
+ - A front-matter line ending in CRLF is still not read as a key line, and it no longer costs polynomial time.
26
+
27
+ ### Security
28
+
29
+ - The VS Code extension's `follow-redirects` is updated to 1.16.2 (GHSA-mrwp-f3q8-3g9p).
30
+
8
31
  ## 0.1.15
9
32
 
10
33
  ### New
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # waterplane
2
2
 
3
+ [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/16195/badge)](https://www.bestpractices.dev/projects/16195)
4
+
3
5
  <!-- site:intro -->
4
6
  **An IDE, rethought for the phone in the age of agentic coding.** The agent writes the code; what
5
7
  you need in your hand is the steering. waterplane drives the real Claude Code CLI on your own
@@ -196,6 +196,7 @@ export const EXPOSURE_THRESHOLD = {
196
196
  B5: "the workflow token default became write",
197
197
  B6: "the organisation's 2FA requirement changed",
198
198
  B7: "a repo with dependency manifests and no Dependabot config",
199
+ B8: "an open code-scanning security alert (high or critical, or open over 14 days)",
199
200
  C1: "the published npm package no longer verifies",
200
201
  C2: "a release asset or the APK signer does not match",
201
202
  C3: "the Marketplace listing is behind the latest release or unlisted",
@@ -1 +1 @@
1
- {"version":3,"file":"exposure.js","sourceRoot":"","sources":["../src/exposure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exposure.js","sourceRoot":"","sources":["../src/exposure.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,24 @@
39
39
  * so the whole scan is linear.
40
40
  */
41
41
  export declare function stripAnsi(s: string): string;
42
+ /** The phrase the spinner cycles: always a gerund, always ellipsed. Taken as the
43
+ * LAST such word on the line because a partial TUI redraw leaves junk in front
44
+ * of it ("✽Bloviating…", "│ ✻ Vibing…").
45
+ *
46
+ * Every match of `/([A-Za-z][A-Za-z'-]*ing)\s*(?:…|\.\.\.)/g`, group 1 only — as
47
+ * a scan, because that regex re-read a long word from each of its letters
48
+ * (CodeQL `js/polynomial-redos`). With `objects`, every match of the object
49
+ * form below. */
50
+ export declare function gerundPhrases(s: string, objects?: boolean): string[];
51
+ /**
52
+ * The stats shape: what `/(?:^|\s)\d+(?:\.\d+)?\s*[smh](?:\s+\d+\s*[sm])*\s+·\s+[↓↑]\s*[\d.,]+\s*[km]?\s+tokens?\s*$/i`
53
+ * answered, without its quadratic retry from every whitespace (CodeQL
54
+ * `js/polynomial-redos`). Two facts make it a split: the `·` it matched is the
55
+ * line's LAST one (nothing after it may hold another), and the `(?:\s+\d+\s*[sm])*`
56
+ * run never decided anything — its last item alone, after whitespace, is already
57
+ * a first item — so one duration before the `·` is the same test.
58
+ */
59
+ export declare function trayStats(line: string): boolean;
42
60
  export interface WorkingLine {
43
61
  /** "Clauding…" — the TUI's own word for what it is doing. */
44
62
  phrase: string;
@@ -87,8 +87,64 @@ const DUR_RE = /^(?:\d+(?:\.\d+)?\s*(?:ms|s|m|h)\s*)+$/i;
87
87
  const HINT_RE = /\b(?:esc|ctrl\+|shift\+|tab)\b/i;
88
88
  /** The phrase the spinner cycles: always a gerund, always ellipsed. Taken as the
89
89
  * LAST such word on the line because a partial TUI redraw leaves junk in front
90
- * of it ("✽Bloviating…", "│ ✻ Vibing…"). */
91
- const PHRASE_RE = /([A-Za-z][A-Za-z'-]*ing)\s*(?:…|\.\.\.)/g;
90
+ * of it ("✽Bloviating…", "│ ✻ Vibing…").
91
+ *
92
+ * Every match of `/([A-Za-z][A-Za-z'-]*ing)\s*(?:…|\.\.\.)/g`, group 1 only — as
93
+ * a scan, because that regex re-read a long word from each of its letters
94
+ * (CodeQL `js/polynomial-redos`). With `objects`, every match of the object
95
+ * form below. */
96
+ export function gerundPhrases(s, objects = false) {
97
+ const out = [];
98
+ const isWord = (c) => c !== undefined && /[A-Za-z'-]/.test(c);
99
+ const isLetter = (c) => c !== undefined && /[A-Za-z]/.test(c);
100
+ const isSpace = (c) => c !== undefined && /\s/.test(c);
101
+ const wordEnd = (at) => { while (isWord(s[at]))
102
+ at++; return at; };
103
+ /** Index just past `\s*(?:…|\.\.\.)` at `at`, or -1. */
104
+ const ellipsis = (at) => {
105
+ while (isSpace(s[at]))
106
+ at++;
107
+ return s[at] === "…" ? at + 1 : s.startsWith("...", at) ? at + 3 : -1;
108
+ };
109
+ let i = 0;
110
+ while (i < s.length) {
111
+ if (!isWord(s[i])) {
112
+ i++;
113
+ continue;
114
+ }
115
+ // A run of word characters: a match can only start at its first letter and
116
+ // its gerund can only end where the run does — what follows is never a word
117
+ // character.
118
+ const end = wordEnd(i);
119
+ let start = i;
120
+ while (start < end && !isLetter(s[start]))
121
+ start++;
122
+ let next = -1;
123
+ let to = end;
124
+ if (end - start >= 4 && s.endsWith("ing", end)) {
125
+ if (!objects)
126
+ next = ellipsis(end);
127
+ else {
128
+ for (let n = 0; n < 3 && next < 0; n++) {
129
+ let k = to;
130
+ while (isSpace(s[k]))
131
+ k++;
132
+ if (k === to || !isLetter(s[k]))
133
+ break;
134
+ to = wordEnd(k);
135
+ next = ellipsis(to);
136
+ }
137
+ }
138
+ }
139
+ if (next < 0) {
140
+ i = end;
141
+ continue;
142
+ }
143
+ out.push(s.slice(start, to));
144
+ i = next;
145
+ }
146
+ return out;
147
+ }
92
148
  /**
93
149
  * The same shape with an OBJECT between the gerund and the ellipsis —
94
150
  * "Compacting conversation… (35s)", which is what `/compact` prints for however
@@ -100,8 +156,10 @@ const PHRASE_RE = /([A-Za-z][A-Za-z'-]*ing)\s*(?:…|\.\.\.)/g;
100
156
  * inherited CL…" would read as "working on: saving is off" — which is this app
101
157
  * inventing an activity, the failure `workingLine`'s doc names. A measured
102
158
  * parenthetical is what a spinner has and a truncated warning does not.
159
+ *
160
+ * Read by `gerundPhrases(s, true)`: every match of
161
+ * `/([A-Za-z][A-Za-z'-]*ing(?:\s+[A-Za-z][A-Za-z'-]*){1,3})\s*(?:…|\.\.\.)/g`.
103
162
  */
104
- const PHRASE_OBJ_RE = /([A-Za-z][A-Za-z'-]*ing(?:\s+[A-Za-z][A-Za-z'-]*){1,3})\s*(?:…|\.\.\.)/g;
105
163
  /**
106
164
  * **The other measured thing, and for the first half-minute it is the ONLY one.**
107
165
  *
@@ -147,7 +205,20 @@ const PROGRESS_RE = /^[▰▱▬█▓░▒⣿⠿\s]*[▰▱▬█▓░▒⣿
147
205
  * tokens") — the spinner always wraps its stats in parentheses.
148
206
  */
149
207
  const TRAY_ROW_RE = /^\s*[◯◉○●◎⏺]\s+[A-Za-z][\w:-]*\s{2,}\S/;
150
- const TRAY_STATS_RE = /(?:^|\s)\d+(?:\.\d+)?\s*[smh](?:\s+\d+\s*[sm])*\s+·\s+[↓↑]\s*[\d.,]+\s*[km]?\s+tokens?\s*$/i;
208
+ /**
209
+ * The stats shape: what `/(?:^|\s)\d+(?:\.\d+)?\s*[smh](?:\s+\d+\s*[sm])*\s+·\s+[↓↑]\s*[\d.,]+\s*[km]?\s+tokens?\s*$/i`
210
+ * answered, without its quadratic retry from every whitespace (CodeQL
211
+ * `js/polynomial-redos`). Two facts make it a split: the `·` it matched is the
212
+ * line's LAST one (nothing after it may hold another), and the `(?:\s+\d+\s*[sm])*`
213
+ * run never decided anything — its last item alone, after whitespace, is already
214
+ * a first item — so one duration before the `·` is the same test.
215
+ */
216
+ export function trayStats(line) {
217
+ const dot = line.lastIndexOf("·");
218
+ return dot >= 0
219
+ && /(?:^|\s)\d+(?:\.\d+)?\s*[smh]\s+$/i.test(line.slice(0, dot))
220
+ && /^\s+[↓↑]\s*[\d.,]+(?:\s*[km])?\s+tokens?\s*$/i.test(line.slice(dot + 1));
221
+ }
151
222
  /**
152
223
  * The CLI's working line, recovered from recent PTY bytes.
153
224
  *
@@ -167,7 +238,7 @@ export function workingLine(tail) {
167
238
  let weak = null;
168
239
  for (let i = lines.length - 1; i >= 0; i--) {
169
240
  // A background agent's tray row is the AGENT working, not the turn.
170
- if (TRAY_ROW_RE.test(lines[i] ?? "") || TRAY_STATS_RE.test(lines[i] ?? ""))
241
+ if (TRAY_ROW_RE.test(lines[i] ?? "") || trayStats(lines[i] ?? ""))
171
242
  continue;
172
243
  const line = clean(lines[i]);
173
244
  if (!line)
@@ -199,18 +270,18 @@ export function workingLine(tail) {
199
270
  const pct = PROGRESS_RE.exec(clean(lines[i + 1]))?.[1] ?? PROGRESS_RE.exec(line.slice(line.search(/[▰▱▬█▓░▒⣿⠿]/) < 0 ? line.length : line.search(/[▰▱▬█▓░▒⣿⠿]/)))?.[1] ?? null;
200
271
  if (pct)
201
272
  extra.push(`${pct}%`);
202
- const phrases = [...head.matchAll(PHRASE_RE)];
273
+ const phrases = gerundPhrases(head);
203
274
  // The gerund-with-an-object form is read ONLY off a line that also carries
204
275
  // something MEASURED — a parenthetical with a duration or a token count, or
205
- // the progress row above. See `PHRASE_OBJ_RE` for why it is never read on
276
+ // the progress row above. See the object form's doc for why it is never read on
206
277
  // its own. It is how `/compact` announces itself, and `/compact` fires no
207
278
  // hook at all, so this line is the only thing that says the CLI is busy for
208
279
  // the minutes it runs.
209
- const objs = phrases.length || !(elapsed || tokens || pct) ? [] : [...head.matchAll(PHRASE_OBJ_RE)];
280
+ const objs = phrases.length || !(elapsed || tokens || pct) ? [] : gerundPhrases(head, true);
210
281
  const hit = phrases[phrases.length - 1] ?? objs[objs.length - 1];
211
282
  if (!hit)
212
283
  continue;
213
- const phrase = `${hit[1]}…`;
284
+ const phrase = `${hit}…`;
214
285
  if (!elapsed && !tokens && !pct) {
215
286
  // A gerund with nothing measured behind it — the first repaint of a turn,
216
287
  // or a redraw that split the line. Worth showing if nothing better turns
@@ -1 +1 @@
1
- {"version":3,"file":"working.js","sourceRoot":"","sources":["../src/working.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"working.js","sourceRoot":"","sources":["../src/working.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,11 @@
1
+ /**
2
+ * A top-level `key: value` line as `[key, value]`, the value untrimmed; null when the line is not
3
+ * one. Answers what `/^(KEY)[ \t]*:(?:[ \t]+(.*))?[ \t]*$/` did (its value only ever read trimmed),
4
+ * but that regex was quadratic on a long tab run ending in a line terminator (CodeQL
5
+ * `js/polynomial-redos`). Same refusals: something other than a space or tab right after the `:`,
6
+ * and any character `.` would not cross — so a CRLF line still is not a key line.
7
+ */
8
+ export declare function keyLine(line: string): [string, string] | null;
1
9
  /**
2
10
  * A short sentence naming the first frontmatter key whose value is not strict YAML, and why;
3
11
  * null when the file has no frontmatter or nothing in it trips these rules.
@@ -14,8 +14,26 @@
14
14
  * except a quote that never closes on its own line. Null means "nothing found", never "valid".
15
15
  */
16
16
  import { frontmatterLines } from "./contextweight.js";
17
- /** A top-level key: bare (`name`), or quoted. The value is everything after `:` and whitespace. */
18
- const KEY_LINE = /^([A-Za-z0-9_][\w.-]*|"[^"]*"|'[^']*')[ \t]*:(?:[ \t]+(.*))?[ \t]*$/;
17
+ /** A top-level key, bare (`name`) or quoted, up to and including its `:`. */
18
+ const KEY_HEAD = /^([A-Za-z0-9_][\w.-]*|"[^"]*"|'[^']*')[ \t]*:/;
19
+ /**
20
+ * A top-level `key: value` line as `[key, value]`, the value untrimmed; null when the line is not
21
+ * one. Answers what `/^(KEY)[ \t]*:(?:[ \t]+(.*))?[ \t]*$/` did (its value only ever read trimmed),
22
+ * but that regex was quadratic on a long tab run ending in a line terminator (CodeQL
23
+ * `js/polynomial-redos`). Same refusals: something other than a space or tab right after the `:`,
24
+ * and any character `.` would not cross — so a CRLF line still is not a key line.
25
+ */
26
+ export function keyLine(line) {
27
+ const m = KEY_HEAD.exec(line);
28
+ if (!m)
29
+ return null;
30
+ const rest = line.slice(m[0].length);
31
+ if (rest && rest[0] !== " " && rest[0] !== "\t")
32
+ return null;
33
+ if (/[\n\r\u2028\u2029]/.test(rest))
34
+ return null;
35
+ return [m[1], rest];
36
+ }
19
37
  /** Characters that may not START a plain YAML scalar. */
20
38
  const INDICATOR = /^[-?:,\]}#&*!%@`]/;
21
39
  /** Index just past the closing quote of a quoted scalar starting at 0, or -1 when it never closes. */
@@ -66,14 +84,14 @@ export function frontmatterYamlProblem(text) {
66
84
  }
67
85
  continue;
68
86
  }
69
- const m = KEY_LINE.exec(line);
87
+ const m = keyLine(line);
70
88
  if (!m) {
71
89
  key = null;
72
90
  plain = false;
73
91
  continue;
74
92
  }
75
- key = m[1].replace(/^["']|["']$/g, "");
76
- const v = (m[2] ?? "").trim();
93
+ key = m[0].replace(/^["']|["']$/g, "");
94
+ const v = m[1].trim();
77
95
  plain = false;
78
96
  if (!v)
79
97
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"yamlfront.js","sourceRoot":"","sources":["../src/yamlfront.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yamlfront.js","sourceRoot":"","sources":["../src/yamlfront.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "waterplane",
3
- "version": "0.1.15",
3
+ "version": "0.1.17",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "waterplane",
9
- "version": "0.1.15",
9
+ "version": "0.1.17",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@xterm/headless": "5.5.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "waterplane",
3
- "version": "0.1.15",
3
+ "version": "0.1.17",
4
4
  "type": "module",
5
5
  "description": "waterplane — phone-native remote control for Claude Code on your PC",
6
6
  "license": "MIT",
@@ -54,7 +54,16 @@ function onMeterRow(text, at) {
54
54
  * Deliberately not built from `PCT_RES`/`RATIO_RE`: a gate derived from the
55
55
  * matchers it is meant to check on can never disagree with them.
56
56
  */
57
- const METER_GATE_RE = /[^\n]*\bcontext\b[^\n]*\b(?:left|remaining|free|window|used|auto-?compact)\b[^\n]*/gi;
57
+ // Two anchored tests per row, never one `[^\n]*context[^\n]*\b(?:…)\b[^\n]*` sweep over the text:
58
+ // that form is retried from every column of a row that fails it — cubic, ~1.3 s on one 4 KB row of
59
+ // "context " words (found by packages/host/test/fuzz.test.js). Same rows pass: the word `context`,
60
+ // then one of these words later on the same row.
61
+ const METER_GATE_WORD_RE = /\bcontext\b/i;
62
+ const METER_GATE_TAIL_RE = /\b(?:left|remaining|free|window|used|auto-?compact)\b/i;
63
+ function onGateRow(line) {
64
+ const m = METER_GATE_WORD_RE.exec(line);
65
+ return !!m && METER_GATE_TAIL_RE.test(line.slice(m.index + m[0].length));
66
+ }
58
67
  /**
59
68
  * The words alone are not enough: the agent's own prose talks about "the
60
69
  * Context window" and "/compact" all day, and every such line passed the gate
@@ -76,11 +85,12 @@ function isConversationRow(row) {
76
85
  /** The last context-indicator row in the text, or null when there is none.
77
86
  * Last, because a repaint-based TUI leaves older frames above the fresh one. */
78
87
  export function contextMeterRow(text) {
79
- const re = new RegExp(METER_GATE_RE.source, METER_GATE_RE.flags);
80
88
  let hit = null;
81
- for (let m = re.exec(text); m; m = re.exec(text)) {
82
- const row = m[0].trim();
83
- if (row && METER_FIGURE_RE.test(row) && !isConversationRow(m[0]))
89
+ for (const line of text.split("\n")) {
90
+ if (!onGateRow(line))
91
+ continue;
92
+ const row = line.trim();
93
+ if (row && METER_FIGURE_RE.test(row) && !isConversationRow(line))
84
94
  hit = row;
85
95
  }
86
96
  return hit;
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{$l as e,B as t,Cc as n,G as r,Gl as i,H as a,Hi as o,Ii as s,J as c,Lc as l,Ln as u,Na as d,Nn as f,Pa as p,Rc as m,T as h,Ui as g,Ul as _,V as v,Vi as ee,Wl as y,Xc as b,Xl as x,Y as te,Yr as ne,Z as re,Zl as S,el as C,es as ie,gc as ae,hu as oe,jn as se,ll as w,lr as ce,qc as T,rs as le,si as E,sl as D,uc as O,vc as ue,xc as de,xo as fe,zc as k}from"./shared-PjlyyA4P.js";var pe={snippets:O(`snippets`),headerCmds:O(`headerCmds`),fanoutPresets:O(`fanout.presets`),toolbar:O(`toolbar`),launch:O(`launch`),launchAsk:O(`launchAsk`),spendWarn:O(`spendWarn`),pad:O(`pad`),hiddenRepos:O(`hiddenRepos`),enterSends:O(`enterSends`),dictateTerms:O(`dictate.terms`),autoSend:O(`autoSend`),updatesAutoCheck:O(`updates.autoCheck`),serialSessions:O(`serialSessions`),confirmQueue:O(`confirmQueue`),confirmClose:O(`confirmClose`),readerTools:O(`readerTools`),annKnobs:O(`annKnobs`),annTools:O(`annTools`),annPrompt:O(`annPrompt`),hints:O(`hints`),repoColors:O(`repoColors`),installAllow:O(`installAllow`),closeWhenDone:O(`backlog.closeWhenDone`),localSessions:O(`local.maxSessions`),agentWindowWarn:O(`agentWindowWarn`),agentWarn:O(`agentWarn`),deviceId:O(`deviceId`),deviceName:O(`deviceName`),pluginList:O(`pluginList`),hostBase:O(`hostBase`),hosts:O(`hosts`),hostActive:O(`hostActive`),hostSwitch:O(`hostSwitch`),hostSwitchFailed:O(`hostSwitchFailed`),hostsGone:O(`hostsGone`),deviceToken:O(`deviceToken`),passive:O(`passive`),lanIdentity:O(`lanIdentity`),dataSaver:O(`dataSaver`),bgFresh:O(`bgFresh`),uploadScale:O(`uploadScale`),upKbps:O(`upKbps`),netlog:O(`netlog`),netTraffic:O(`nettraffic`),netSync:O(`netsync`),netPulse:O(`netPulse`),localRtBar:O(`localRtBar`),unfoldToEnd:O(`unfoldToEnd`),repoSort:O(`repoSort`),sessionTabs:O(`sessionTabs`),sessionTabsCount:O(`sessionTabs.count`),sessionTabsOrder:O(`sessionTabs.order`),sessionTabsLimit:O(`sessionTabs.limit`),tabOpens:O(`sessionTabs.opens`),tabFiles:O(`sessionTabs.files`),sessionTabsSync:O(`sessionTabs.sync`),tabsSaverAsked:O(`sessionTabs.saverAsked`),tabOrderShared:O(`tabsShared.order`),tabOpensShared:O(`tabsShared.opens`),localRt:O(`localrt`)},me={sessionOrder:O(`sessionOrder`),collapsedRepos:O(`collapsedRepos`),toolbarOpen:O(`toolbarOpen`),hostBoots:O(`hostBoots`),readMode:O(`readMode`),cliMode:O(`cliMode`),termCostOpen:O(`termCostOpen`),sendMemory:O(`sendMemory`),slotAskOff:O(`slotAskOff`),launchLast:O(`launchLast`),wheelHidden:O(`wheelHidden`),typingRoom:O(`typingRoom`),hintChip:O(`hintChip`),termCornerPos:O(`termCornerPos`),wideSideW:O(`wideSideW`),wideBesideW:O(`wideBesideW`),widePanelW:O(`widePanelW`),sessChromeH:O(`sessChromeH`),closeKbOnSend:O(`closeKbOnSend`),shortcutCard:O(`shortcutCard`),busySend:O(`busySend`),btwToCli:O(`btwToCli`),theme:O(`theme`),themeOverlay:O(`themeOverlay`),themeOverlayCss:O(`themeOverlayCss`),textScale:O(`textScale`),iconScale:O(`iconScale`),termZoom:O(`termZoom`),readerZoom:O(`readerZoom`),scrollZoom:O(`scrollZoom`),gitZoom:O(`gitZoom`),gitExplainFoci:O(`gitExplainFoci`),gitExplainNote:O(`gitExplainNote`),gitExplainLast:O(`gitExplainLast`),textDumpWrap:O(`textDumpWrap`),closeCustomH:O(`closeCustomH`),schedPctLeft:O(`schedPctLeft`),schedLeadMin:O(`schedLeadMin`),closeBy:O(`closeBy`),closeKeepStar:O(`closeKeepStar`),backlogRepo:O(`backlogRepo`),backlogDraft:O(`backlogDraft`),backlogShowArchived:O(`backlogShowArchived`),backlogSortRun:O(`backlogSortRun`),fanoutText:O(`fanout.text`),fanoutSel:O(`fanout.sel`),fanoutModel:O(`fanout.model`),collageGap:O(`collageGap`),collageLabels:O(`collageLabels`),usage:O(`usage`),notifSeen:O(`notifSeen`),notifInfoNote:O(`notifInfoNote`),whatsNewSeen:O(`whatsNewSeen`),toastLog:O(`toastLog`),hostedAck:O(`hostedAck`),costNoticed:O(`costNoticed`),agentNoticed:O(`agentNoticed`),spendNoticed:O(`spendNoticed`),dismissInsecure:O(`dismissInsecure`),dismissPhoneSetup:O(`dismissPhoneSetup`),codeFolderLater:O(`codeFolderLater`),dismissedSelfUpdate:O(`dismissedSelfUpdate`),updatesReceiptSeen:O(`updatesReceiptSeen`),dismissedUpdate:O(`dismissedUpdate`),annHintHidden:O(`annHintHidden`),stowed:O(`stowed`),stowTold:O(`stowTold`),toldNoticed:O(`toldNoticed`),lastForcedReload:O(`lastForcedReload`),webUpdateStaged:O(`webUpdate.staged`),webUpdateAuto:O(`webUpdate.auto`),webUpdateApply:O(`webUpdate.apply`),webUpdateApplyTries:O(`webUpdate.applyTries`),webUpdateRecoverySeen:O(`webUpdate.recoverySeen`),webUpdateSnooze:O(`webUpdate.snooze`),routeLast:O(`route.last`),routeResume:O(`route.resume`),headerViews:O(`headerViews`),brandMigrated:h,brandStores:O(`brand.stores`),demo:O(`demo`),demoReturn:O(`demo.return`),demoTour:O(`demo.tour`)},he={outbox:O(`outbox`),compose:O(`compose`),composeDrafts:O(`compose.drafts`),composeOutbox:O(`compose.outbox`),composeSheets:O(`compose.sheets`),deadUploads:O(`deadUploads`),dictations:O(`dictations`),dictateLang:O(`dictate.lang`),dictateLangs:O(`dictate.langs`),giveups:O(`giveups`),giveupsMigrated:O(`giveups.migrated`),activityDismissed:O(`activity.dismissed`),activityConfirmedDone:O(`activity.confirmedDone`),padRescue:O(`padRescue`),padRescueMigrated:O(`padRescue.migrated`),pendingStars:O(`pendingStars`),pendingFollowUps:O(`pendingFollowUps`),pullState:O(`pull.state`),pullAuto:O(`pull.auto`),pullBrowserAsk:O(`pull.browserask`),pullAutoSave:O(`pull.autosave`),snapSessions:O(`snap.sessions`),snapRepos:O(`snap.repos`),snapReposAt:O(`snapReposAt`),snapRecent:O(`snap.recent`),snapClosed:O(`snap.closed`),snapBacklog:O(`snap.backlog`),snapHistory:O(`snap.history`),snapBuilds:O(`snap.builds`),snapCapture:O(`snap.capture`),snapSchedules:O(`snap.schedules`),snapCliHealth:O(`snap.clihealth`),snapAt:O(`snap.at`),slashCache:O(`slashCache`),fileMtimes:O(`fileMtimes`),artMarks:O(`artMarks`),fileRemarks:O(`fileRemarks`),newImages:O(`newimg`),syncTs:O(`syncTs`),cmdHistory:O(`cmdHistory`)},A={healthAxis:O(`healthAxis`),...pe,...he,...me},ge=O(`demoworld.`),_e=O(`trSeen.`),ve=e=>`${_e}${e}`,ye=O(`ext.`),be=(e,t)=>`${ye}${e}.${t}`,xe=O(`demo.snap.`),Se=e=>`${xe}${e}`,Ce={snippets:`host`,headerCmds:`host`,fanoutPresets:`host`,toolbar:`host`,launch:`host`,launchAsk:`host`,spendWarn:`host`,pad:`host`,hiddenRepos:`host`,enterSends:`host`,dictateTerms:`host`,autoSend:`host`,updatesAutoCheck:`host`,serialSessions:`host`,confirmQueue:`host`,confirmClose:`host`,readerTools:`host`,annKnobs:`host`,annTools:`host`,annPrompt:`device`,hints:`host`,repoColors:`host`,installAllow:`host`,closeWhenDone:`host`,localSessions:`host`,agentWarn:`host`,agentWindowWarn:`host`,syncTs:`host`,healthAxis:`device`,deviceId:`device`,deviceName:`device`,hostBase:`device`,hosts:`device`,hostActive:`device`,hostSwitch:`device`,hostSwitchFailed:`device`,hostsGone:`device`,deviceToken:`host`,lanIdentity:`host`,passive:`host`,pluginList:`host`,dataSaver:`device`,bgFresh:`device`,uploadScale:`device`,netPulse:`device`,localRtBar:`device`,unfoldToEnd:`device`,repoSort:`device`,upKbps:`host`,netlog:`host`,netTraffic:`host`,netSync:`host`,localRt:`host`,sessionTabs:`device`,sessionTabsCount:`device`,sessionTabsOrder:`device`,sessionTabsLimit:`device`,tabOpens:`host`,tabFiles:`host`,sessionTabsSync:`device`,tabsSaverAsked:`device`,tabOrderShared:`host`,tabOpensShared:`host`,outbox:`host`,compose:`host`,composeDrafts:`host`,composeOutbox:`host`,composeSheets:`host`,deadUploads:`host`,dictations:`host`,pendingStars:`host`,pendingFollowUps:`host`,backlogDraft:`host`,dictateLang:`device`,dictateLangs:`device`,fanoutText:`host`,fanoutSel:`host`,fanoutModel:`host`,backlogRepo:`host`,backlogShowArchived:`host`,backlogSortRun:`host`,giveups:`device`,giveupsMigrated:`device`,padRescue:`device`,padRescueMigrated:`device`,activityDismissed:`host`,activityConfirmedDone:`host`,pullState:`host`,pullAuto:`host`,pullBrowserAsk:`host`,pullAutoSave:`host`,snapSessions:`host`,snapRepos:`host`,snapReposAt:`host`,snapRecent:`host`,snapClosed:`host`,snapBacklog:`host`,snapHistory:`host`,snapBuilds:`host`,snapCapture:`host`,snapSchedules:`host`,snapCliHealth:`host`,snapAt:`host`,themeOverlay:`host`,themeOverlayCss:`host`,slashCache:`host`,fileMtimes:`host`,artMarks:`host`,fileRemarks:`host`,newImages:`host`,cmdHistory:`host`,usage:`host`,notifSeen:`host`,costNoticed:`host`,agentNoticed:`host`,spendNoticed:`host`,sessionOrder:`host`,collapsedRepos:`host`,sendMemory:`host`,slotAskOff:`host`,launchLast:`host`,wheelHidden:`host`,toolbarOpen:`device`,readMode:`device`,cliMode:`device`,termCostOpen:`device`,typingRoom:`device`,hintChip:`device`,termCornerPos:`device`,wideSideW:`device`,wideBesideW:`device`,widePanelW:`device`,sessChromeH:`device`,closeKbOnSend:`device`,shortcutCard:`device`,busySend:`device`,btwToCli:`device`,theme:`device`,textScale:`device`,iconScale:`device`,termZoom:`device`,readerZoom:`device`,scrollZoom:`device`,gitZoom:`device`,gitExplainFoci:`device`,gitExplainNote:`device`,gitExplainLast:`device`,textDumpWrap:`device`,closeCustomH:`device`,schedPctLeft:`device`,schedLeadMin:`device`,closeBy:`device`,closeKeepStar:`device`,collageGap:`device`,collageLabels:`device`,toastLog:`device`,hostedAck:`device`,notifInfoNote:`device`,whatsNewSeen:`device`,dismissInsecure:`device`,dismissPhoneSetup:`device`,codeFolderLater:`device`,dismissedUpdate:`device`,dismissedSelfUpdate:`host`,updatesReceiptSeen:`host`,annHintHidden:`device`,stowed:`device`,stowTold:`device`,toldNoticed:`device`,hostBoots:`device`,lastForcedReload:`device`,webUpdateRecoverySeen:`device`,webUpdateStaged:`host`,webUpdateAuto:`host`,webUpdateApply:`host`,webUpdateApplyTries:`host`,webUpdateSnooze:`host`,routeLast:`host`,routeResume:`host`,headerViews:`host`,brandMigrated:`device`,brandStores:`device`,demo:`device`,demoReturn:`device`,demoTour:`device`},we=new Set(Object.keys(Ce).filter(e=>Ce[e]===`device`).map(e=>A[e]));function Te(e){return we.has(e)}new Set(s);function Ee(e){try{return localStorage.getItem(e)}catch{return null}}function De(e,t){try{localStorage.setItem(e,t)}catch{}}function Oe(e){try{localStorage.removeItem(e)}catch{}}function ke(e,t){try{let n=localStorage.getItem(e);if(n===null||n===``)return t;let r=JSON.parse(n);return r===null?t:r}catch{return t}}function Ae(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}function je(e,t=!1){let n=Ee(e);return n===null?t:n===`1`||n===`true`}function Me(e,t){De(e,t?`1`:`0`)}function Ne(e,t){let n=Ee(e);if(n===null||n===``)return t;let r=Number(n);return Number.isFinite(r)?r:t}var Pe=()=>Ee(A.healthAxis)===`commits`?`commits`:`weeks`,Fe=e=>De(A.healthAxis,e===`commits`?`commits`:`weeks`),Ie=`demo`,Le=`ws://demo.invalid/ws`,Re=/^[a-z0-9][a-z0-9-]{0,39}$/;function ze(){let e=null;try{e=new URLSearchParams(globalThis.location?.search??``).get(Ie)}catch{}return e||=Ee(A.demo),e&&Re.test(e)?e:null}var Be=null,Ve=null;function He(){return Be!==null}function Ue(){return Be}function We(){return Ve}function Ge(e,t=null){Be=e,Ve=e?null:t}function Ke(e){if(!Re.test(e))throw Error(`not a demo scenario id: ${e}`);try{globalThis.sessionStorage?.removeItem(Se(e))}catch{}Oe(A.demoTour),De(A.demo,e),Je(Ye(location.href,e))}function qe(){let e=Be??ze();try{e&&globalThis.sessionStorage?.removeItem(Se(e))}catch{}Oe(A.demoTour),Oe(A.demo),Je(Ye(location.href,null))}function Je(e,t=location){e===t.href?t.reload():t.replace(e)}function Ye(e,t){let n=new URL(e);return t?n.searchParams.set(Ie,t):n.searchParams.delete(Ie),n.toString()}var Xe=`${`/`.replace(/\/$/,``)}/demo/media`,Ze=/^\/api\/repos\/([^/?#]+)\/artifact$/,Qe=/^\/api\/repos\/([^/?#]+)\/inbox\/([^/?#]+)$/,$e=new Map;function et(e,t,n){$e.set(`${e}/${t}`,n)}var tt=`.claude/inbox/`;function nt(e){return e.startsWith(`.`)?`dot-${e.slice(1)}`:e}function rt(e){return e.split(`/`).map(nt).join(`/`)}function it(e){let t=e.split(`/`).filter(e=>e!==``&&e!==`.`);return!t.length||t.some(e=>e===`..`)?null:t.map(e=>encodeURIComponent(nt(e))).join(`/`)}function at(e){if(!e.startsWith(`/api/`))return e;let t;try{t=new URL(e,`http://demo.invalid`)}catch{return e}if(t.searchParams.has(`stat`))return e;let n=Ze.exec(t.pathname);if(n){let r=t.searchParams.get(`path`)??``,i=r.startsWith(tt)?$e.get(`${n[1]}/${r.slice(14)}`):void 0;if(i)return i;let a=it(r);return a?`${Xe}/${n[1]}/${a}`:e}let r=Qe.exec(t.pathname);if(r){let t=$e.get(`${r[1]}/${decodeURIComponent(r[2])}`);if(t)return t;let n=it(decodeURIComponent(r[2]));return n?`${Xe}/${r[1]}/${rt(`.claude/inbox`)}/${n}`:e}return e}function ot(e,t,n){let r=e=>n.has(e)?e:t+e,i=()=>{let n=[];for(let r=0;r<e.length;r++){let i=e.key(r);i!==null&&i.startsWith(t)&&n.push(i.slice(t.length))}return n};return{get length(){return i().length},key:e=>i()[e]??null,getItem:t=>e.getItem(r(String(t))),setItem:(t,n)=>e.setItem(r(String(t)),String(n)),removeItem:t=>e.removeItem(r(String(t))),clear:()=>{for(let n of i())e.removeItem(t+n)}}}function st(e){if(e||typeof window>`u`||!ze())return!1;try{let e=window.localStorage,t=ot(e,ge,new Set([A.demo]));return Object.defineProperty(window,"localStorage",{configurable:!0,get:()=>t}),!0}catch{return!1}}var ct=new Map;function lt(e,t){t?ct.set(e,t):ct.delete(e)}function ut(){return[...ct.values()]}var dt=new Map;function ft(e,t){dt.set(e,t),lt(e,t.listed)}function pt(e=globalThis.location?.href??``){if(mt===null)try{mt=new URL(e).searchParams.has(`demoPlugins`)}catch{mt=!1}return mt}var mt=null;function ht(){return[...dt].flatMap(([e,t])=>t.pushes().map(([t,n])=>({plugin:e,event:t,data:n})))}function gt(e,t,n){if(!He())return;let r=dt.get(e);if(!r?.always&&!pt())return;let i=r?.calls[t];return i?i(n):void 0}var _t=e=>e.model;function vt(e,t){return e.minted=(e.minted??0)+1,`${t}-${e.minted}`}function yt(e,t){if(typeof t!=`string`||!t)return!1;let n=(e.repos??[]).map(e=>e&&typeof e==`object`?e.worktreePath:void 0).filter(e=>typeof e==`string`&&!!e);return!n.length||n.some(e=>t===e||t.startsWith(e.endsWith(`/`)?e:`${e}/`))}var bt=`That folder is not one of the demo's repos — pick one from the list.`;function xt(e){let t=[];for(let n of e){let e=n.codePointAt(0)??0;e<128?t.push(e):e<2048?t.push(192|e>>6,128|e&63):e<65536?t.push(224|e>>12,128|e>>6&63,128|e&63):t.push(240|e>>18,128|e>>12&63,128|e>>6&63,128|e&63)}return t}var St=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`;function Ct(e){let t=``;for(let n=0;n<e.length;n+=3){let r=e[n],i=e[n+1],a=e[n+2];t+=St[r>>2]+St[(r&3)<<4|(i??0)>>4],t+=i===void 0?`=`:St[(i&15)<<2|(a??0)>>6],t+=a===void 0?`=`:St[a&63]}return t}var wt=`budget not set: it needs a unit and an amount above zero (a percent at most 100)`,Tt=`budget not set: that session is not open`;function Et(e,t){let r=t.budget;if(!r)return!1;let i=n(r.cfg,t.contextSpark,r.cal??null,e.now(),t.running);t.budget={cfg:r.cfg,verdict:i,...r.cal?{cal:r.cal}:{}};let a=e.m.budgetTripped??={};return i.state===`over`&&!a[t.id]?(a[t.id]=!0,Ot(e,t),!0):(i.state===`ok`&&delete a[t.id],!1)}function Dt(e,t,r){let i=r===null?null:ae(r);if(r!==null&&!i)return wt;let a=(e.m.sessions??[]).find(e=>e.id===t);if(!a)return Tt;let o=a.budget?.cfg??null;if(JSON.stringify(o)!==JSON.stringify(i)){let r=!o||!i||o.unit!==i.unit||o.max!==i.max;i?a.budget={cfg:i,verdict:n(i,null,null,e.now())}:delete a.budget,r&&e.m.budgetTripped&&delete e.m.budgetTripped[t]}return Et(e,a),e.broadcast({t:`session.updated`,session:a}),null}function Ot(e,t){let n=t.budget;if(!n)return;let r=n.cfg.interrupt?`No Esc was sent: the demo has no running claude to interrupt.`:`No Esc was sent: this budget is set not to interrupt.`,i=e.m.notifications??=[];i.unshift({id:vt(e.m,`n`),ts:e.now(),kind:`limit`,title:`Session budget hit · ${t.title}`,body:`${de(n.verdict)}. Further sends to it are held until you raise or clear the budget. ${r}`,sessionId:t.id}),e.broadcast({t:`notification.list`,items:i})}var kt=e=>new Date(e).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}),At=e=>{let t=Math.max(0,Math.round(e/6e4));return t>=60?`${Math.floor(t/60)}h ${t%60}m`:`${t}m`},jt=e=>({blocked:!1,blockedSince:0,resetAt:null,nextAttemptAt:null,attempts:0,weekly:!1,autoContinue:e,autoContinueOverride:null,queuePos:null,resuming:!1,first:!1}),Mt=e=>e.m.limitConfig?.enabled??!1;function Nt(e,t,n,r,i){let a=e.m.decisions??=[];a.unshift({id:vt(e.m,`d`),ts:e.now(),sessionId:t.id,sessionTitle:t.title,source:`limit`,phase:n,question:r,options:[],choice:null,rationale:i,outcome:`limit`}),e.broadcast({t:`decisions.log`,entries:a.slice(0,200)})}function Pt(e,t,n,r){let i=e.m.notifications??=[];i.unshift({id:vt(e.m,`n`),ts:e.now(),kind:`limit`,title:n,body:r,sessionId:t.id}),e.broadcast({t:`notification.list`,items:i})}function Ft(e,t,n){let r=e.now(),i=Mt(e);t.limit={blocked:!0,blockedSince:r,resetAt:n,nextAttemptAt:i?n:null,attempts:0,weekly:!1,autoContinue:i,autoContinueOverride:null,queuePos:i?1:null,resuming:!1,first:!1},t.turnActive=!1,t.idle=!0,t.idleSince=r,delete t.turnStartedAt,e.broadcast({t:`session.updated`,session:t});let a=i?`auto-continue after the reset (~${kt(n)})`:`auto-continue is off — resume manually`;return Nt(e,t,`blocked`,`Session stopped at the Claude usage limit.`,a.charAt(0).toUpperCase()+a.slice(1)+`.`),Pt(e,t,`Usage limit · ${t.title}`,a),i}function It(e,t){let n=t.limit;if(!n?.blocked)return`notBlocked`;let r=e.now();Nt(e,t,`attempt`,`Auto-continue attempt 1 — typing "continue" into the session.`,``);let i=n.blockedSince?r-n.blockedSince:0;t.limit=jt(n.autoContinue),Object.assign(t,{turnActive:!0,turnStartedAt:r,idle:!1,lastTurnAt:r}),delete t.idleSince,e.broadcast({t:`session.updated`,session:t});let a=i?` · blocked ${At(i)}`:``;return Nt(e,t,`resumed`,`Usage limit lifted — session resumed.`,`1 attempt${a}`),Pt(e,t,`Session resumed · ${t.title}`,`usage limit lifted after 1 attempt${a} — work continues`),`continued`}var Lt=`\x1B[38;2;215;119;87m`,Rt=`\x1B[0m`,zt=`\x1B[1m`,Bt=`\x1B[38;5;246m`,j=(e,t=`Opus 5.5`)=>`\r
1
+ import{$l as e,B as t,Cc as n,G as r,Gl as i,H as a,Hi as o,Ii as s,J as c,Lc as l,Ln as u,Na as d,Nn as f,Pa as p,Rc as m,T as h,Ui as g,Ul as _,V as v,Vi as ee,Wl as y,Xc as b,Xl as x,Y as te,Yr as ne,Z as re,Zl as S,el as C,es as ie,gc as ae,hu as oe,jn as se,ll as w,lr as ce,qc as T,rs as le,si as E,sl as D,uc as O,vc as ue,xc as de,xo as fe,zc as k}from"./shared-DjRRLGfw.js";var pe={snippets:O(`snippets`),headerCmds:O(`headerCmds`),fanoutPresets:O(`fanout.presets`),toolbar:O(`toolbar`),launch:O(`launch`),launchAsk:O(`launchAsk`),spendWarn:O(`spendWarn`),pad:O(`pad`),hiddenRepos:O(`hiddenRepos`),enterSends:O(`enterSends`),dictateTerms:O(`dictate.terms`),autoSend:O(`autoSend`),updatesAutoCheck:O(`updates.autoCheck`),serialSessions:O(`serialSessions`),confirmQueue:O(`confirmQueue`),confirmClose:O(`confirmClose`),readerTools:O(`readerTools`),annKnobs:O(`annKnobs`),annTools:O(`annTools`),annPrompt:O(`annPrompt`),hints:O(`hints`),repoColors:O(`repoColors`),installAllow:O(`installAllow`),closeWhenDone:O(`backlog.closeWhenDone`),localSessions:O(`local.maxSessions`),agentWindowWarn:O(`agentWindowWarn`),agentWarn:O(`agentWarn`),deviceId:O(`deviceId`),deviceName:O(`deviceName`),pluginList:O(`pluginList`),hostBase:O(`hostBase`),hosts:O(`hosts`),hostActive:O(`hostActive`),hostSwitch:O(`hostSwitch`),hostSwitchFailed:O(`hostSwitchFailed`),hostsGone:O(`hostsGone`),deviceToken:O(`deviceToken`),passive:O(`passive`),lanIdentity:O(`lanIdentity`),dataSaver:O(`dataSaver`),bgFresh:O(`bgFresh`),uploadScale:O(`uploadScale`),upKbps:O(`upKbps`),netlog:O(`netlog`),netTraffic:O(`nettraffic`),netSync:O(`netsync`),netPulse:O(`netPulse`),localRtBar:O(`localRtBar`),unfoldToEnd:O(`unfoldToEnd`),repoSort:O(`repoSort`),sessionTabs:O(`sessionTabs`),sessionTabsCount:O(`sessionTabs.count`),sessionTabsOrder:O(`sessionTabs.order`),sessionTabsLimit:O(`sessionTabs.limit`),tabOpens:O(`sessionTabs.opens`),tabFiles:O(`sessionTabs.files`),sessionTabsSync:O(`sessionTabs.sync`),tabsSaverAsked:O(`sessionTabs.saverAsked`),tabOrderShared:O(`tabsShared.order`),tabOpensShared:O(`tabsShared.opens`),localRt:O(`localrt`)},me={sessionOrder:O(`sessionOrder`),collapsedRepos:O(`collapsedRepos`),toolbarOpen:O(`toolbarOpen`),hostBoots:O(`hostBoots`),readMode:O(`readMode`),cliMode:O(`cliMode`),termCostOpen:O(`termCostOpen`),sendMemory:O(`sendMemory`),slotAskOff:O(`slotAskOff`),launchLast:O(`launchLast`),wheelHidden:O(`wheelHidden`),typingRoom:O(`typingRoom`),hintChip:O(`hintChip`),termCornerPos:O(`termCornerPos`),wideSideW:O(`wideSideW`),wideBesideW:O(`wideBesideW`),widePanelW:O(`widePanelW`),sessChromeH:O(`sessChromeH`),closeKbOnSend:O(`closeKbOnSend`),shortcutCard:O(`shortcutCard`),busySend:O(`busySend`),btwToCli:O(`btwToCli`),theme:O(`theme`),themeOverlay:O(`themeOverlay`),themeOverlayCss:O(`themeOverlayCss`),textScale:O(`textScale`),iconScale:O(`iconScale`),termZoom:O(`termZoom`),readerZoom:O(`readerZoom`),scrollZoom:O(`scrollZoom`),gitZoom:O(`gitZoom`),gitExplainFoci:O(`gitExplainFoci`),gitExplainNote:O(`gitExplainNote`),gitExplainLast:O(`gitExplainLast`),textDumpWrap:O(`textDumpWrap`),closeCustomH:O(`closeCustomH`),schedPctLeft:O(`schedPctLeft`),schedLeadMin:O(`schedLeadMin`),closeBy:O(`closeBy`),closeKeepStar:O(`closeKeepStar`),backlogRepo:O(`backlogRepo`),backlogDraft:O(`backlogDraft`),backlogShowArchived:O(`backlogShowArchived`),backlogSortRun:O(`backlogSortRun`),fanoutText:O(`fanout.text`),fanoutSel:O(`fanout.sel`),fanoutModel:O(`fanout.model`),collageGap:O(`collageGap`),collageLabels:O(`collageLabels`),usage:O(`usage`),notifSeen:O(`notifSeen`),notifInfoNote:O(`notifInfoNote`),whatsNewSeen:O(`whatsNewSeen`),toastLog:O(`toastLog`),hostedAck:O(`hostedAck`),costNoticed:O(`costNoticed`),agentNoticed:O(`agentNoticed`),spendNoticed:O(`spendNoticed`),dismissInsecure:O(`dismissInsecure`),dismissPhoneSetup:O(`dismissPhoneSetup`),codeFolderLater:O(`codeFolderLater`),dismissedSelfUpdate:O(`dismissedSelfUpdate`),updatesReceiptSeen:O(`updatesReceiptSeen`),dismissedUpdate:O(`dismissedUpdate`),annHintHidden:O(`annHintHidden`),stowed:O(`stowed`),stowTold:O(`stowTold`),toldNoticed:O(`toldNoticed`),lastForcedReload:O(`lastForcedReload`),webUpdateStaged:O(`webUpdate.staged`),webUpdateAuto:O(`webUpdate.auto`),webUpdateApply:O(`webUpdate.apply`),webUpdateApplyTries:O(`webUpdate.applyTries`),webUpdateRecoverySeen:O(`webUpdate.recoverySeen`),webUpdateSnooze:O(`webUpdate.snooze`),routeLast:O(`route.last`),routeResume:O(`route.resume`),headerViews:O(`headerViews`),brandMigrated:h,brandStores:O(`brand.stores`),demo:O(`demo`),demoReturn:O(`demo.return`),demoTour:O(`demo.tour`)},he={outbox:O(`outbox`),compose:O(`compose`),composeDrafts:O(`compose.drafts`),composeOutbox:O(`compose.outbox`),composeSheets:O(`compose.sheets`),deadUploads:O(`deadUploads`),dictations:O(`dictations`),dictateLang:O(`dictate.lang`),dictateLangs:O(`dictate.langs`),giveups:O(`giveups`),giveupsMigrated:O(`giveups.migrated`),activityDismissed:O(`activity.dismissed`),activityConfirmedDone:O(`activity.confirmedDone`),padRescue:O(`padRescue`),padRescueMigrated:O(`padRescue.migrated`),pendingStars:O(`pendingStars`),pendingFollowUps:O(`pendingFollowUps`),pullState:O(`pull.state`),pullAuto:O(`pull.auto`),pullBrowserAsk:O(`pull.browserask`),pullAutoSave:O(`pull.autosave`),snapSessions:O(`snap.sessions`),snapRepos:O(`snap.repos`),snapReposAt:O(`snapReposAt`),snapRecent:O(`snap.recent`),snapClosed:O(`snap.closed`),snapBacklog:O(`snap.backlog`),snapHistory:O(`snap.history`),snapBuilds:O(`snap.builds`),snapCapture:O(`snap.capture`),snapSchedules:O(`snap.schedules`),snapCliHealth:O(`snap.clihealth`),snapAt:O(`snap.at`),slashCache:O(`slashCache`),fileMtimes:O(`fileMtimes`),artMarks:O(`artMarks`),fileRemarks:O(`fileRemarks`),newImages:O(`newimg`),syncTs:O(`syncTs`),cmdHistory:O(`cmdHistory`)},A={healthAxis:O(`healthAxis`),...pe,...he,...me},ge=O(`demoworld.`),_e=O(`trSeen.`),ve=e=>`${_e}${e}`,ye=O(`ext.`),be=(e,t)=>`${ye}${e}.${t}`,xe=O(`demo.snap.`),Se=e=>`${xe}${e}`,Ce={snippets:`host`,headerCmds:`host`,fanoutPresets:`host`,toolbar:`host`,launch:`host`,launchAsk:`host`,spendWarn:`host`,pad:`host`,hiddenRepos:`host`,enterSends:`host`,dictateTerms:`host`,autoSend:`host`,updatesAutoCheck:`host`,serialSessions:`host`,confirmQueue:`host`,confirmClose:`host`,readerTools:`host`,annKnobs:`host`,annTools:`host`,annPrompt:`device`,hints:`host`,repoColors:`host`,installAllow:`host`,closeWhenDone:`host`,localSessions:`host`,agentWarn:`host`,agentWindowWarn:`host`,syncTs:`host`,healthAxis:`device`,deviceId:`device`,deviceName:`device`,hostBase:`device`,hosts:`device`,hostActive:`device`,hostSwitch:`device`,hostSwitchFailed:`device`,hostsGone:`device`,deviceToken:`host`,lanIdentity:`host`,passive:`host`,pluginList:`host`,dataSaver:`device`,bgFresh:`device`,uploadScale:`device`,netPulse:`device`,localRtBar:`device`,unfoldToEnd:`device`,repoSort:`device`,upKbps:`host`,netlog:`host`,netTraffic:`host`,netSync:`host`,localRt:`host`,sessionTabs:`device`,sessionTabsCount:`device`,sessionTabsOrder:`device`,sessionTabsLimit:`device`,tabOpens:`host`,tabFiles:`host`,sessionTabsSync:`device`,tabsSaverAsked:`device`,tabOrderShared:`host`,tabOpensShared:`host`,outbox:`host`,compose:`host`,composeDrafts:`host`,composeOutbox:`host`,composeSheets:`host`,deadUploads:`host`,dictations:`host`,pendingStars:`host`,pendingFollowUps:`host`,backlogDraft:`host`,dictateLang:`device`,dictateLangs:`device`,fanoutText:`host`,fanoutSel:`host`,fanoutModel:`host`,backlogRepo:`host`,backlogShowArchived:`host`,backlogSortRun:`host`,giveups:`device`,giveupsMigrated:`device`,padRescue:`device`,padRescueMigrated:`device`,activityDismissed:`host`,activityConfirmedDone:`host`,pullState:`host`,pullAuto:`host`,pullBrowserAsk:`host`,pullAutoSave:`host`,snapSessions:`host`,snapRepos:`host`,snapReposAt:`host`,snapRecent:`host`,snapClosed:`host`,snapBacklog:`host`,snapHistory:`host`,snapBuilds:`host`,snapCapture:`host`,snapSchedules:`host`,snapCliHealth:`host`,snapAt:`host`,themeOverlay:`host`,themeOverlayCss:`host`,slashCache:`host`,fileMtimes:`host`,artMarks:`host`,fileRemarks:`host`,newImages:`host`,cmdHistory:`host`,usage:`host`,notifSeen:`host`,costNoticed:`host`,agentNoticed:`host`,spendNoticed:`host`,sessionOrder:`host`,collapsedRepos:`host`,sendMemory:`host`,slotAskOff:`host`,launchLast:`host`,wheelHidden:`host`,toolbarOpen:`device`,readMode:`device`,cliMode:`device`,termCostOpen:`device`,typingRoom:`device`,hintChip:`device`,termCornerPos:`device`,wideSideW:`device`,wideBesideW:`device`,widePanelW:`device`,sessChromeH:`device`,closeKbOnSend:`device`,shortcutCard:`device`,busySend:`device`,btwToCli:`device`,theme:`device`,textScale:`device`,iconScale:`device`,termZoom:`device`,readerZoom:`device`,scrollZoom:`device`,gitZoom:`device`,gitExplainFoci:`device`,gitExplainNote:`device`,gitExplainLast:`device`,textDumpWrap:`device`,closeCustomH:`device`,schedPctLeft:`device`,schedLeadMin:`device`,closeBy:`device`,closeKeepStar:`device`,collageGap:`device`,collageLabels:`device`,toastLog:`device`,hostedAck:`device`,notifInfoNote:`device`,whatsNewSeen:`device`,dismissInsecure:`device`,dismissPhoneSetup:`device`,codeFolderLater:`device`,dismissedUpdate:`device`,dismissedSelfUpdate:`host`,updatesReceiptSeen:`host`,annHintHidden:`device`,stowed:`device`,stowTold:`device`,toldNoticed:`device`,hostBoots:`device`,lastForcedReload:`device`,webUpdateRecoverySeen:`device`,webUpdateStaged:`host`,webUpdateAuto:`host`,webUpdateApply:`host`,webUpdateApplyTries:`host`,webUpdateSnooze:`host`,routeLast:`host`,routeResume:`host`,headerViews:`host`,brandMigrated:`device`,brandStores:`device`,demo:`device`,demoReturn:`device`,demoTour:`device`},we=new Set(Object.keys(Ce).filter(e=>Ce[e]===`device`).map(e=>A[e]));function Te(e){return we.has(e)}new Set(s);function Ee(e){try{return localStorage.getItem(e)}catch{return null}}function De(e,t){try{localStorage.setItem(e,t)}catch{}}function Oe(e){try{localStorage.removeItem(e)}catch{}}function ke(e,t){try{let n=localStorage.getItem(e);if(n===null||n===``)return t;let r=JSON.parse(n);return r===null?t:r}catch{return t}}function Ae(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}function je(e,t=!1){let n=Ee(e);return n===null?t:n===`1`||n===`true`}function Me(e,t){De(e,t?`1`:`0`)}function Ne(e,t){let n=Ee(e);if(n===null||n===``)return t;let r=Number(n);return Number.isFinite(r)?r:t}var Pe=()=>Ee(A.healthAxis)===`commits`?`commits`:`weeks`,Fe=e=>De(A.healthAxis,e===`commits`?`commits`:`weeks`),Ie=`demo`,Le=`ws://demo.invalid/ws`,Re=/^[a-z0-9][a-z0-9-]{0,39}$/;function ze(){let e=null;try{e=new URLSearchParams(globalThis.location?.search??``).get(Ie)}catch{}return e||=Ee(A.demo),e&&Re.test(e)?e:null}var Be=null,Ve=null;function He(){return Be!==null}function Ue(){return Be}function We(){return Ve}function Ge(e,t=null){Be=e,Ve=e?null:t}function Ke(e){if(!Re.test(e))throw Error(`not a demo scenario id: ${e}`);try{globalThis.sessionStorage?.removeItem(Se(e))}catch{}Oe(A.demoTour),De(A.demo,e),Je(Ye(location.href,e))}function qe(){let e=Be??ze();try{e&&globalThis.sessionStorage?.removeItem(Se(e))}catch{}Oe(A.demoTour),Oe(A.demo),Je(Ye(location.href,null))}function Je(e,t=location){e===t.href?t.reload():t.replace(e)}function Ye(e,t){let n=new URL(e);return t?n.searchParams.set(Ie,t):n.searchParams.delete(Ie),n.toString()}var Xe=`${`/`.replace(/\/$/,``)}/demo/media`,Ze=/^\/api\/repos\/([^/?#]+)\/artifact$/,Qe=/^\/api\/repos\/([^/?#]+)\/inbox\/([^/?#]+)$/,$e=new Map;function et(e,t,n){$e.set(`${e}/${t}`,n)}var tt=`.claude/inbox/`;function nt(e){return e.startsWith(`.`)?`dot-${e.slice(1)}`:e}function rt(e){return e.split(`/`).map(nt).join(`/`)}function it(e){let t=e.split(`/`).filter(e=>e!==``&&e!==`.`);return!t.length||t.some(e=>e===`..`)?null:t.map(e=>encodeURIComponent(nt(e))).join(`/`)}function at(e){if(!e.startsWith(`/api/`))return e;let t;try{t=new URL(e,`http://demo.invalid`)}catch{return e}if(t.searchParams.has(`stat`))return e;let n=Ze.exec(t.pathname);if(n){let r=t.searchParams.get(`path`)??``,i=r.startsWith(tt)?$e.get(`${n[1]}/${r.slice(14)}`):void 0;if(i)return i;let a=it(r);return a?`${Xe}/${n[1]}/${a}`:e}let r=Qe.exec(t.pathname);if(r){let t=$e.get(`${r[1]}/${decodeURIComponent(r[2])}`);if(t)return t;let n=it(decodeURIComponent(r[2]));return n?`${Xe}/${r[1]}/${rt(`.claude/inbox`)}/${n}`:e}return e}function ot(e,t,n){let r=e=>n.has(e)?e:t+e,i=()=>{let n=[];for(let r=0;r<e.length;r++){let i=e.key(r);i!==null&&i.startsWith(t)&&n.push(i.slice(t.length))}return n};return{get length(){return i().length},key:e=>i()[e]??null,getItem:t=>e.getItem(r(String(t))),setItem:(t,n)=>e.setItem(r(String(t)),String(n)),removeItem:t=>e.removeItem(r(String(t))),clear:()=>{for(let n of i())e.removeItem(t+n)}}}function st(e){if(e||typeof window>`u`||!ze())return!1;try{let e=window.localStorage,t=ot(e,ge,new Set([A.demo]));return Object.defineProperty(window,"localStorage",{configurable:!0,get:()=>t}),!0}catch{return!1}}var ct=new Map;function lt(e,t){t?ct.set(e,t):ct.delete(e)}function ut(){return[...ct.values()]}var dt=new Map;function ft(e,t){dt.set(e,t),lt(e,t.listed)}function pt(e=globalThis.location?.href??``){if(mt===null)try{mt=new URL(e).searchParams.has(`demoPlugins`)}catch{mt=!1}return mt}var mt=null;function ht(){return[...dt].flatMap(([e,t])=>t.pushes().map(([t,n])=>({plugin:e,event:t,data:n})))}function gt(e,t,n){if(!He())return;let r=dt.get(e);if(!r?.always&&!pt())return;let i=r?.calls[t];return i?i(n):void 0}var _t=e=>e.model;function vt(e,t){return e.minted=(e.minted??0)+1,`${t}-${e.minted}`}function yt(e,t){if(typeof t!=`string`||!t)return!1;let n=(e.repos??[]).map(e=>e&&typeof e==`object`?e.worktreePath:void 0).filter(e=>typeof e==`string`&&!!e);return!n.length||n.some(e=>t===e||t.startsWith(e.endsWith(`/`)?e:`${e}/`))}var bt=`That folder is not one of the demo's repos — pick one from the list.`;function xt(e){let t=[];for(let n of e){let e=n.codePointAt(0)??0;e<128?t.push(e):e<2048?t.push(192|e>>6,128|e&63):e<65536?t.push(224|e>>12,128|e>>6&63,128|e&63):t.push(240|e>>18,128|e>>12&63,128|e>>6&63,128|e&63)}return t}var St=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`;function Ct(e){let t=``;for(let n=0;n<e.length;n+=3){let r=e[n],i=e[n+1],a=e[n+2];t+=St[r>>2]+St[(r&3)<<4|(i??0)>>4],t+=i===void 0?`=`:St[(i&15)<<2|(a??0)>>6],t+=a===void 0?`=`:St[a&63]}return t}var wt=`budget not set: it needs a unit and an amount above zero (a percent at most 100)`,Tt=`budget not set: that session is not open`;function Et(e,t){let r=t.budget;if(!r)return!1;let i=n(r.cfg,t.contextSpark,r.cal??null,e.now(),t.running);t.budget={cfg:r.cfg,verdict:i,...r.cal?{cal:r.cal}:{}};let a=e.m.budgetTripped??={};return i.state===`over`&&!a[t.id]?(a[t.id]=!0,Ot(e,t),!0):(i.state===`ok`&&delete a[t.id],!1)}function Dt(e,t,r){let i=r===null?null:ae(r);if(r!==null&&!i)return wt;let a=(e.m.sessions??[]).find(e=>e.id===t);if(!a)return Tt;let o=a.budget?.cfg??null;if(JSON.stringify(o)!==JSON.stringify(i)){let r=!o||!i||o.unit!==i.unit||o.max!==i.max;i?a.budget={cfg:i,verdict:n(i,null,null,e.now())}:delete a.budget,r&&e.m.budgetTripped&&delete e.m.budgetTripped[t]}return Et(e,a),e.broadcast({t:`session.updated`,session:a}),null}function Ot(e,t){let n=t.budget;if(!n)return;let r=n.cfg.interrupt?`No Esc was sent: the demo has no running claude to interrupt.`:`No Esc was sent: this budget is set not to interrupt.`,i=e.m.notifications??=[];i.unshift({id:vt(e.m,`n`),ts:e.now(),kind:`limit`,title:`Session budget hit · ${t.title}`,body:`${de(n.verdict)}. Further sends to it are held until you raise or clear the budget. ${r}`,sessionId:t.id}),e.broadcast({t:`notification.list`,items:i})}var kt=e=>new Date(e).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}),At=e=>{let t=Math.max(0,Math.round(e/6e4));return t>=60?`${Math.floor(t/60)}h ${t%60}m`:`${t}m`},jt=e=>({blocked:!1,blockedSince:0,resetAt:null,nextAttemptAt:null,attempts:0,weekly:!1,autoContinue:e,autoContinueOverride:null,queuePos:null,resuming:!1,first:!1}),Mt=e=>e.m.limitConfig?.enabled??!1;function Nt(e,t,n,r,i){let a=e.m.decisions??=[];a.unshift({id:vt(e.m,`d`),ts:e.now(),sessionId:t.id,sessionTitle:t.title,source:`limit`,phase:n,question:r,options:[],choice:null,rationale:i,outcome:`limit`}),e.broadcast({t:`decisions.log`,entries:a.slice(0,200)})}function Pt(e,t,n,r){let i=e.m.notifications??=[];i.unshift({id:vt(e.m,`n`),ts:e.now(),kind:`limit`,title:n,body:r,sessionId:t.id}),e.broadcast({t:`notification.list`,items:i})}function Ft(e,t,n){let r=e.now(),i=Mt(e);t.limit={blocked:!0,blockedSince:r,resetAt:n,nextAttemptAt:i?n:null,attempts:0,weekly:!1,autoContinue:i,autoContinueOverride:null,queuePos:i?1:null,resuming:!1,first:!1},t.turnActive=!1,t.idle=!0,t.idleSince=r,delete t.turnStartedAt,e.broadcast({t:`session.updated`,session:t});let a=i?`auto-continue after the reset (~${kt(n)})`:`auto-continue is off — resume manually`;return Nt(e,t,`blocked`,`Session stopped at the Claude usage limit.`,a.charAt(0).toUpperCase()+a.slice(1)+`.`),Pt(e,t,`Usage limit · ${t.title}`,a),i}function It(e,t){let n=t.limit;if(!n?.blocked)return`notBlocked`;let r=e.now();Nt(e,t,`attempt`,`Auto-continue attempt 1 — typing "continue" into the session.`,``);let i=n.blockedSince?r-n.blockedSince:0;t.limit=jt(n.autoContinue),Object.assign(t,{turnActive:!0,turnStartedAt:r,idle:!1,lastTurnAt:r}),delete t.idleSince,e.broadcast({t:`session.updated`,session:t});let a=i?` · blocked ${At(i)}`:``;return Nt(e,t,`resumed`,`Usage limit lifted — session resumed.`,`1 attempt${a}`),Pt(e,t,`Session resumed · ${t.title}`,`usage limit lifted after 1 attempt${a} — work continues`),`continued`}var Lt=`\x1B[38;2;215;119;87m`,Rt=`\x1B[0m`,zt=`\x1B[1m`,Bt=`\x1B[38;5;246m`,j=(e,t=`Opus 5.5`)=>`\r
2
2
  \r
3
3
  \r
4
4
  ${Lt} ▐▛███▛█${Rt} ${zt}Claude Code${Rt} ${Bt}v2.1.292${Rt}\r\n${Lt}▝▜██████▀${Rt} ${Bt}${t} · Claude Max${Rt}\r\n${Lt} ▝▝ ▝▝ ${Rt} ${Bt}${e}${Rt}\r\n\r\n`,Vt=j(`{cwd}`),M=`\x1B[`,Ht=/\x1b\[[0-9;?]*[A-Za-z]/g,Ut=`${M}0m`,Wt=`${M}38;5;246m`,Gt=`${M}38;5;244m`,Kt=`${M}38;2;215;119;87m`,qt=`${M}38;5;114m`,Jt=`${M}48;5;237m`,Yt=e=>[...e.replace(Ht,``)].length;function Xt(e,t,n){if(!Number.isFinite(t)||Yt(e)<=t)return[e];let r=e.match(/\x1b\[[0-9;?]*[A-Za-z]|\s+|[^\s\x1b]+/g)??[],i=[],a=``,o=0,s=``,c=` `.repeat(n),l=()=>{i.push(a+Ut),a=c+s,o=n};for(let e of r){if(e.startsWith(`\x1B`)){a+=e,s=e===Ut||e===`${M}m`?``:s+e;continue}if(/^\s+$/.test(e)){if(o+e.length>t){l();continue}(o>n||i.length===0)&&(a+=e,o+=e.length);continue}let r=[...e];for(o+r.length>t&&o>n&&(a=a.replace(/\s+$/,``),l());o+r.length>t;){let e=Math.max(1,t-o);a+=r.slice(0,e).join(``),r=r.slice(e),l()}a+=r.join(``),o+=r.length}return a.trim()&&i.push(a),i}function Zt(e){let t=e.replace(Ht,``),n=/^(?:\x1b\[[0-9;]*m)*>(?:\x1b\[[0-9;]*m)* (.*)$/.exec(e);if(n)return{text:`${Jt}${Wt}❯ ${M}38;5;255m${n[1]}${Ut}`,hang:2,block:!0};if(t.startsWith(`● `)){let t=/^(?:\x1b\[[0-9;]*m)*● ([A-Z][A-Za-z]*)(?:\x1b\[[0-9;]*m)*\((.*)$/.exec(e);return t?{text:`${qt}⏺${Ut} ${M}1m${t[1]}${Ut}(${t[2]}`,hang:2,block:!0}:{text:e.replace(`● `,`⏺ `),hang:2,block:!0}}return t.startsWith(` ⎿`)?{text:e.replace(/\x1b\[2m/g,Wt),hang:5,block:!1}:{text:e,hang:0,block:!1}}function Qt(e,t,n){let r=e.replace(/\r\n?/g,`