@songsid/agend 2.3.3-beta.8 → 2.3.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 (50) hide show
  1. package/dist/backend/claude-code.js +17 -0
  2. package/dist/backend/claude-code.js.map +1 -1
  3. package/dist/backend/codex.d.ts +15 -0
  4. package/dist/backend/codex.js +67 -18
  5. package/dist/backend/codex.js.map +1 -1
  6. package/dist/backend/types.d.ts +7 -0
  7. package/dist/backend/types.js.map +1 -1
  8. package/dist/channel/adapters/discord.js +60 -17
  9. package/dist/channel/adapters/discord.js.map +1 -1
  10. package/dist/daemon.d.ts +17 -0
  11. package/dist/daemon.js +85 -9
  12. package/dist/daemon.js.map +1 -1
  13. package/dist/fleet-manager.d.ts +31 -0
  14. package/dist/fleet-manager.js +106 -12
  15. package/dist/fleet-manager.js.map +1 -1
  16. package/dist/instance-lifecycle.d.ts +13 -0
  17. package/dist/instance-lifecycle.js +30 -6
  18. package/dist/instance-lifecycle.js.map +1 -1
  19. package/dist/locale.js +10 -2
  20. package/dist/locale.js.map +1 -1
  21. package/dist/parked-notices.d.ts +87 -0
  22. package/dist/parked-notices.js +194 -0
  23. package/dist/parked-notices.js.map +1 -0
  24. package/dist/public-link-progress.d.ts +5 -2
  25. package/dist/public-link-progress.js +4 -3
  26. package/dist/public-link-progress.js.map +1 -1
  27. package/dist/public-web-link.d.ts +10 -0
  28. package/dist/public-web-link.js +24 -5
  29. package/dist/public-web-link.js.map +1 -1
  30. package/dist/settings-api.d.ts +10 -0
  31. package/dist/settings-api.js +41 -0
  32. package/dist/settings-api.js.map +1 -1
  33. package/dist/tunnel/cloudflared.d.ts +5 -0
  34. package/dist/tunnel/cloudflared.js +32 -1
  35. package/dist/tunnel/cloudflared.js.map +1 -1
  36. package/dist/tunnel/named-diagnostics.d.ts +2 -1
  37. package/dist/tunnel/named-diagnostics.js +4 -1
  38. package/dist/tunnel/named-diagnostics.js.map +1 -1
  39. package/dist/tunnel/named-link-test.d.ts +90 -0
  40. package/dist/tunnel/named-link-test.js +270 -0
  41. package/dist/tunnel/named-link-test.js.map +1 -0
  42. package/dist/tunnel/purpose-lane.d.ts +3 -1
  43. package/dist/tunnel/purpose-lane.js +2 -0
  44. package/dist/tunnel/purpose-lane.js.map +1 -1
  45. package/dist/ui/panel-settings.js +5 -3
  46. package/dist/ui/settings-named-test.js +144 -0
  47. package/dist/ui/settings-strings.js +6 -6
  48. package/dist/ui/shared/app.css +7 -0
  49. package/dist/ui/shared/web-authorize.js +2 -2
  50. package/package.json +1 -1
@@ -0,0 +1,194 @@
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ import { atomicWriteFileSync } from "./atomic-write.js";
3
+ export const PARKED_NOTICE_LEDGER_FILE = "parked-notices.json";
4
+ /** Between attempts to retire a notice whose delete (and resolved edit) failed. */
5
+ export const PARKED_NOTICE_RETRY_INTERVAL_MS = 5 * 60_000;
6
+ /** Attempts before a notice is given up on — counted across restarts. */
7
+ export const PARKED_NOTICE_MAX_ATTEMPTS = 4;
8
+ const keyOf = (instanceName, place) => `${instanceName}\0${place}`;
9
+ export class ParkedNotices {
10
+ deps;
11
+ /** The live notice per instance and place. */
12
+ live = new Map();
13
+ /** What each live notice says now (memory only: after a restart the sweep retires every row anyway). */
14
+ shown = new WeakMap();
15
+ /** Notices being retired whose last attempt failed, awaiting their retry. */
16
+ retiring = new Set();
17
+ retryTimers = new Map();
18
+ /** Per place: every show/resolve runs after the previous one, so a resolve never races the post it must take back. */
19
+ chains = new Map();
20
+ disposed = false;
21
+ /** What the previous process left in the ledger, read before this one writes anything; the sweep retires these. */
22
+ previous;
23
+ /**
24
+ * Reads the ledger at once: a dialog reported early in a slow boot must not overwrite the previous process's rows
25
+ * before the sweep has read them (nor may the sweep then take this process's fresh notices for orphans).
26
+ */
27
+ constructor(deps) {
28
+ this.deps = deps;
29
+ let rows = [];
30
+ try {
31
+ if (existsSync(deps.file)) {
32
+ const parsed = JSON.parse(readFileSync(deps.file, "utf-8"));
33
+ rows = Array.isArray(parsed) ? parsed.filter(isRow) : [];
34
+ }
35
+ }
36
+ catch (err) {
37
+ deps.logger.warn({ err }, "Parked-dialog notice ledger unreadable — dropping it");
38
+ }
39
+ this.previous = rows;
40
+ // Held in the retiring set until the sweep settles each one, so every write meanwhile still lists them.
41
+ for (const row of rows)
42
+ this.retiring.add(row);
43
+ }
44
+ /**
45
+ * Show the notice for `instanceName` in `place`: edit the live one in place, else post one. A re-report that says
46
+ * what the live notice already says touches nothing (an edit would only cost the Telegram link entities the post
47
+ * carried). An edit that fails (the message was deleted by hand, or is too old to edit) posts a fresh one and
48
+ * retires the old.
49
+ */
50
+ show(instanceName, place, text) {
51
+ return this.serial(keyOf(instanceName, place), async () => {
52
+ const key = keyOf(instanceName, place);
53
+ const current = this.live.get(key);
54
+ if (current && this.shown.get(current) === text)
55
+ return;
56
+ if (current) {
57
+ const adapter = this.deps.adapterFor(current.adapterId);
58
+ try {
59
+ if (!adapter)
60
+ throw new Error("adapter gone");
61
+ await adapter.editMessage(current.chatId, current.messageId, this.deps.render(current, text), current.threadId);
62
+ this.shown.set(current, text);
63
+ return;
64
+ }
65
+ catch (err) {
66
+ this.deps.logger.debug({ err, instanceName, place }, "Parked-dialog notice edit failed — posting a fresh one");
67
+ this.live.delete(key);
68
+ void this.retire(current);
69
+ }
70
+ }
71
+ let posted;
72
+ try {
73
+ posted = await this.deps.post(instanceName, place, text);
74
+ }
75
+ catch (err) {
76
+ this.deps.logger.warn({ err, instanceName, place }, "Failed to post parked-dialog notice");
77
+ return;
78
+ }
79
+ if (!posted)
80
+ return;
81
+ const row = { instanceName, place, ...posted };
82
+ this.live.set(key, row);
83
+ this.shown.set(row, text);
84
+ this.persist();
85
+ });
86
+ }
87
+ /** The dialog is resolved (gone, answered) or the instance stopped/restarted: take its notices back. */
88
+ resolve(instanceName) {
89
+ const places = ["topic", "general"];
90
+ return Promise.all(places.map(place => this.serial(keyOf(instanceName, place), async () => {
91
+ const key = keyOf(instanceName, place);
92
+ const row = this.live.get(key);
93
+ if (!row)
94
+ return;
95
+ this.live.delete(key);
96
+ await this.retire(row);
97
+ }))).then(() => undefined);
98
+ }
99
+ /** Whether `instanceName` has a live notice (in any place). */
100
+ hasLive(instanceName) {
101
+ return this.live.has(keyOf(instanceName, "topic")) || this.live.has(keyOf(instanceName, "general"));
102
+ }
103
+ /**
104
+ * Retire every notice the previous process left — only those: nothing it posted can still be live from this
105
+ * process's point of view (the daemons start with fresh state and re-report a dialog that is still there), while
106
+ * whatever this process has posted meanwhile stays live. Run once adapters are up; a second call does nothing.
107
+ */
108
+ async sweep() {
109
+ const rows = this.previous.splice(0);
110
+ this.persist();
111
+ await Promise.all(rows.map(row => this.retire(row)));
112
+ }
113
+ /** Stop retry timers (fleet shutdown). Rows still being retired stay in the ledger for the next process. */
114
+ dispose() {
115
+ this.disposed = true;
116
+ for (const timer of this.retryTimers.values())
117
+ clearTimeout(timer);
118
+ this.retryTimers.clear();
119
+ }
120
+ /** Delete the row's message; an adapter that cannot delete (or whose delete fails) gets the resolved edit instead. */
121
+ async retire(row) {
122
+ this.retiring.add(row);
123
+ this.persist();
124
+ const adapter = this.deps.adapterFor(row.adapterId);
125
+ let done = false;
126
+ let lastErr = new Error("adapter gone");
127
+ if (adapter) {
128
+ if (adapter.deleteMessage) {
129
+ try {
130
+ await adapter.deleteMessage(row.chatId, row.messageId, row.threadId);
131
+ done = true;
132
+ }
133
+ catch (err) {
134
+ lastErr = err;
135
+ }
136
+ }
137
+ if (!done) {
138
+ try {
139
+ await adapter.editMessage(row.chatId, row.messageId, this.deps.resolvedText(), row.threadId);
140
+ done = true;
141
+ }
142
+ catch (err) {
143
+ lastErr = err;
144
+ }
145
+ }
146
+ }
147
+ if (done) {
148
+ this.retiring.delete(row);
149
+ this.persist();
150
+ return;
151
+ }
152
+ row.attempts = (row.attempts ?? 0) + 1;
153
+ if (row.attempts >= PARKED_NOTICE_MAX_ATTEMPTS) {
154
+ this.retiring.delete(row);
155
+ this.persist();
156
+ this.deps.logger.warn({ err: lastErr, instanceName: row.instanceName, place: row.place, messageId: row.messageId }, `Parked-dialog notice could not be retired after ${PARKED_NOTICE_MAX_ATTEMPTS} attempts — giving up`);
157
+ return;
158
+ }
159
+ this.persist();
160
+ this.deps.logger.warn({ err: lastErr, instanceName: row.instanceName, place: row.place, attempt: row.attempts }, "Parked-dialog notice could not be retired — will retry");
161
+ if (this.disposed)
162
+ return;
163
+ const timer = setTimeout(() => { this.retryTimers.delete(row); void this.retire(row); }, PARKED_NOTICE_RETRY_INTERVAL_MS);
164
+ timer.unref?.();
165
+ this.retryTimers.set(row, timer);
166
+ }
167
+ serial(key, step) {
168
+ const next = (this.chains.get(key) ?? Promise.resolve()).then(step, step);
169
+ const settled = next.catch(err => { this.deps.logger.warn({ err }, "Parked-dialog notice step failed"); });
170
+ this.chains.set(key, settled);
171
+ void settled.then(() => { if (this.chains.get(key) === settled)
172
+ this.chains.delete(key); });
173
+ return settled;
174
+ }
175
+ persist() {
176
+ try {
177
+ // Atomic: a torn ledger is dropped by the sweep, which would orphan exactly the notices it exists to retire.
178
+ atomicWriteFileSync(this.deps.file, JSON.stringify([...this.live.values(), ...this.retiring]), { mode: 0o600 });
179
+ }
180
+ catch (err) {
181
+ this.deps.logger.debug({ err }, "Parked-dialog notice ledger write failed");
182
+ }
183
+ }
184
+ }
185
+ function isRow(v) {
186
+ if (!v || typeof v !== "object")
187
+ return false;
188
+ const r = v;
189
+ return typeof r.instanceName === "string" && (r.place === "topic" || r.place === "general")
190
+ && typeof r.adapterId === "string" && typeof r.chatId === "string" && typeof r.messageId === "string"
191
+ && (r.threadId === undefined || typeof r.threadId === "string")
192
+ && (r.attempts === undefined || typeof r.attempts === "number");
193
+ }
194
+ //# sourceMappingURL=parked-notices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parked-notices.js","sourceRoot":"","sources":["../src/parked-notices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AA6CxD,MAAM,CAAC,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AAC/D,mFAAmF;AACnF,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,GAAG,MAAM,CAAC;AAC1D,yEAAyE;AACzE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAE5C,MAAM,KAAK,GAAG,CAAC,YAAoB,EAAE,KAAwB,EAAE,EAAE,CAAC,GAAG,YAAY,KAAK,KAAK,EAAE,CAAC;AAE9F,MAAM,OAAO,aAAa;IAmBK,IAAI;IAlBjC,8CAA8C;IAC7B,IAAI,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC3D,wGAAwG;IACvF,KAAK,GAAG,IAAI,OAAO,EAA2B,CAAC;IAChE,6EAA6E;IAC5D,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IACtC,WAAW,GAAG,IAAI,GAAG,EAAkD,CAAC;IACzF,sHAAsH;IACrG,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IACnD,QAAQ,GAAG,KAAK,CAAC;IAEzB,mHAAmH;IAClG,QAAQ,CAAoB;IAE7C;;;OAGG;IACH,YAA6B,IAAsB;oBAAtB,IAAI;QAC/B,IAAI,IAAI,GAAsB,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,sDAAsD,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,wGAAwG;QACxG,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,YAAoB,EAAE,KAAwB,EAAE,IAAY;QAC/D,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI;gBAAE,OAAO;YACxD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACxD,IAAI,CAAC;oBACH,IAAI,CAAC,OAAO;wBAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;oBAC9C,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAChH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBAC9B,OAAO;gBACT,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,wDAAwD,CAAC,CAAC;oBAC/G,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACtB,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YACD,IAAI,MAAqD,CAAC;YAC1D,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,qCAAqC,CAAC,CAAC;gBAC3F,OAAO;YACT,CAAC;YACD,IAAI,CAAC,MAAM;gBAAE,OAAO;YACpB,MAAM,GAAG,GAAoB,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wGAAwG;IACxG,OAAO,CAAC,YAAoB;QAC1B,MAAM,MAAM,GAAwB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACzD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE;YACxF,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YACvC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,CAAC,GAAG;gBAAE,OAAO;YACjB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED,+DAA+D;IAC/D,OAAO,CAAC,YAAoB;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;IACtG,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,4GAA4G;IAC5G,OAAO;QACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,sHAAsH;IAC9G,KAAK,CAAC,MAAM,CAAC,GAAoB;QACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAI,OAAO,GAAY,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QACjD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACrE,IAAI,GAAG,IAAI,CAAC;gBACd,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBAAC,OAAO,GAAG,GAAG,CAAC;gBAAC,CAAC;YAClC,CAAC;YACD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC7F,IAAI,GAAG,IAAI,CAAC;gBACd,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBAAC,OAAO,GAAG,GAAG,CAAC;gBAAC,CAAC;YAClC,CAAC;QACH,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QACD,GAAG,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,GAAG,CAAC,QAAQ,IAAI,0BAA0B,EAAE,CAAC;YAC/C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,EAChH,mDAAmD,0BAA0B,uBAAuB,CAAC,CAAC;YACxG,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,EAC7G,wDAAwD,CAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,+BAA+B,CAAC,CAAC;QAC1H,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAChB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAEO,MAAM,CAAC,GAAW,EAAE,IAAyB;QACnD,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,kCAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3G,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9B,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO;YAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,OAAO;QACb,IAAI,CAAC;YACH,6GAA6G;YAC7G,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAClH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,0CAA0C,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;CACF;AAED,SAAS,KAAK,CAAC,CAAU;IACvB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,OAAO,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC;WACtF,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;WAClG,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;WAC5D,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AACpE,CAAC"}
@@ -1,5 +1,6 @@
1
1
  /**
2
- * What opening a temporary public link is doing, step by step, for the message the admin clicked on.
2
+ * What opening the public link is doing, step by step, for the message the admin clicked on: a temporary one (a quick
3
+ * tunnel), or the admin's own permanent hostname (a named tunnel, `web.public_link.hostname`; its title says so).
3
4
  *
4
5
  * ① check cloudflared ② download it ③ verify it — only when AgEnD's pinned copy must be fetched
5
6
  * ④ start the tunnel ⑤ wait for the public address ⑥ deliver the link privately
@@ -34,6 +35,8 @@ export interface PublicLinkProgress {
34
35
  readonly step: PublicLinkStep;
35
36
  readonly reason: PublicLinkFailure;
36
37
  };
38
+ /** The admin's own permanent hostname (named tunnel), not a temporary link: the title says so (never the hostname). */
39
+ readonly named?: true;
37
40
  }
38
41
  /** The install's and the tunnel's error kinds, folded into the reasons a user is shown. */
39
42
  export declare function failureOf(kind: CloudflaredInstallErrorKind | string | undefined): PublicLinkFailure;
@@ -42,7 +45,7 @@ export declare class PublicLinkProgressTracker {
42
45
  private readonly now;
43
46
  private readonly emit;
44
47
  private state;
45
- constructor(now: () => number, emit: (p: PublicLinkProgress) => void);
48
+ constructor(now: () => number, emit: (p: PublicLinkProgress) => void, named?: boolean);
46
49
  get snapshot(): PublicLinkProgress;
47
50
  private set;
48
51
  /** Ends the running step (if any) and begins `step`. A step already begun is not begun again. */
@@ -24,6 +24,7 @@ export function failureOf(kind) {
24
24
  case "named-hostname-mismatch":
25
25
  case "named-origin-unreachable":
26
26
  case "named-connection-failed":
27
+ case "named-self-unreachable":
27
28
  case "rate-limited":
28
29
  case "provisioning-failed":
29
30
  return kind;
@@ -42,11 +43,11 @@ export class PublicLinkProgressTracker {
42
43
  now;
43
44
  emit;
44
45
  state;
45
- constructor(now, emit) {
46
+ constructor(now, emit, named = false) {
46
47
  this.now = now;
47
48
  this.emit = emit;
48
49
  const at = now();
49
- this.state = { startedAt: at, steps: [{ step: "check", startedAt: at }], install: "checking" };
50
+ this.state = { startedAt: at, steps: [{ step: "check", startedAt: at }], install: "checking", ...(named ? { named: true } : {}) };
50
51
  }
51
52
  get snapshot() { return this.state; }
52
53
  set(next) { this.state = next; this.emit(next); }
@@ -99,7 +100,7 @@ export function renderPublicLinkProgress(p, now, outcome) {
99
100
  const shown = STEPS.filter(step => p.install === "download" || !["download", "verify"].includes(step))
100
101
  .filter(step => p.install !== "installed" || step !== "check");
101
102
  const end = Math.max(...p.steps.map(s => s.endedAt ?? now));
102
- const lines = [t("dashboard.progress.title", seconds((outcome !== undefined || p.failed ? end : now) - p.startedAt))];
103
+ const lines = [t(p.named ? "dashboard.progress.title_named" : "dashboard.progress.title", seconds((outcome !== undefined || p.failed ? end : now) - p.startedAt))];
103
104
  for (const step of shown) {
104
105
  const begun = p.steps.find(s => s.step === step);
105
106
  const label = `${NUMBERS[step]} ${stepLabel(step, p)}`;
@@ -1 +1 @@
1
- {"version":3,"file":"public-link-progress.js","sourceRoot":"","sources":["../src/public-link-progress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public-link-progress.js","sourceRoot":"","sources":["../src/public-link-progress.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAC;AAIhC,MAAM,KAAK,GAA8B,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACzG,MAAM,OAAO,GAAmC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AAyBpI,2FAA2F;AAC3F,MAAM,UAAU,SAAS,CAAC,IAAsD;IAC9E,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,sBAAsB,CAAC;QAAC,KAAK,iBAAiB,CAAC;QAAC,KAAK,mBAAmB,CAAC;QAAC,KAAK,gBAAgB,CAAC;QAAC,KAAK,WAAW,CAAC;QACvH,KAAK,YAAY;YACf,OAAO,IAAI,CAAC;QACd,KAAK,gBAAgB,CAAC;QAAC,KAAK,uBAAuB,CAAC;QAAC,KAAK,cAAc,CAAC;QAAC,KAAK,eAAe;YAC5F,OAAO,cAAc,CAAC;QACxB,mGAAmG;QACnG,KAAK,SAAS;YACZ,OAAO,YAAY,CAAC;QACtB,KAAK,mBAAmB,CAAC;QAAC,KAAK,qBAAqB,CAAC;QAAC,KAAK,yBAAyB,CAAC;QAAC,KAAK,0BAA0B,CAAC;QAAC,KAAK,yBAAyB,CAAC;QACtJ,KAAK,wBAAwB,CAAC;QAC9B,KAAK,cAAc,CAAC;QAAC,KAAK,qBAAqB;YAC7C,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,gBAAgB,CAAC;QAC1B,KAAK,SAAS;YACZ,OAAO,aAAa,CAAC;QACvB,KAAK,kBAAkB;YACrB,OAAO,aAAa,CAAC;QACvB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,MAAM,OAAO,yBAAyB;IAEP,GAAG;IAAiC,IAAI;IAD7D,KAAK,CAAqB;IAClC,YAA6B,GAAiB,EAAmB,IAAqC,EAAE,KAAK,GAAG,KAAK;mBAAxF,GAAG;oBAAiC,IAAI;QACnE,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC7I,CAAC;IACD,IAAI,QAAQ,KAAyB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,GAAG,CAAC,IAAwB,IAAU,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnF,iGAAiG;IACjG,KAAK,CAAC,IAAoB,EAAE,KAAK,GAA0E,EAAE;QAC3G,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM;gBAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACvJ,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7F,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,cAAc,CAAC,QAAiB,EAAE,OAAe;QAC/C,IAAI,QAAQ;YAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;;YAClE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,UAAU,CAAC,QAAgB,EAAE,KAAoB,EAAE,QAA4B;QAC7E,MAAM,QAAQ,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACxE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO,EAAE,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClG,+GAA+G;YAC/G,+GAA+G;YAC/G,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3H,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,mCAAmC;IACnC,QAAQ;QACN,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrH,CAAC;IACD,IAAI,CAAC,MAAyB;QAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO;QAC9B,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;QAC/G,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7J,CAAC;CACF;AAED,SAAS,OAAO,CAAC,EAAU,IAAY,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnF,SAAS,SAAS,CAAC,KAAa,IAAY,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAExF,oHAAoH;AACpH,MAAM,UAAU,wBAAwB,CAAC,CAAqB,EAAE,GAAW,EAAE,OAAgB;IAC3F,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,UAAU,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACnG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,KAAK,OAAO,CAAC,CAAC;IACjE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACnK,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QACpD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,KAAK,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,4BAA4B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;aACjJ,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,4BAA4B,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;;YACrG,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,4BAA4B,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,SAAS,CAAC,IAAoB,EAAE,CAAqB;IAC5D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAmC,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC;QAC5H,KAAK,UAAU,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;YACrB,IAAI,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC,6BAA6B,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC/G,IAAI,CAAC,CAAC,QAAQ;gBAAE,OAAO,CAAC,CAAC,sCAAsC,EAAE,MAAM,EAAE,CAAC,CAAC,+BAA+B,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACzH,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,gCAAgC,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAmC,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClK,CAAC;QACD;YACE,OAAO,CAAC,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,sBAAsB;IAQJ,IAAI;IAPzB,MAAM,GAA0B,IAAI,CAAC;IACrC,QAAQ,GAAkB,IAAI,CAAC;IAC/B,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACtC,QAAQ,GAAyB,IAAI,CAAC;IACtC,KAAK,GAAyC,IAAI,CAAC;IACnD,MAAM,GAAG,KAAK,CAAC;IACf,QAAQ,GAAG,CAAC,CAAC;IACrB,YAA6B,IAM5B;oBAN4B,IAAI;IAM7B,CAAC;IACL,MAAM,CAAC,MAAoB;QACzB,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IACO,IAAI;QACV,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACzE,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACxE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CACvC,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,EAC5B,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAClG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IACO,GAAG,CAAC,EAAU;QACpB,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,IAAI,CAAC,KAAK;YAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IACvB,CAAC;IACD,qEAAqE;IACrE,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;CACF"}
@@ -111,6 +111,16 @@ export declare class PublicWebLink {
111
111
  /** The wall-clock end of this link (null: no expiry, or not the link open now): a session made over it ends by then. */
112
112
  endOf(exposureId: string): number | null;
113
113
  /** `noExpiry`: an open link without an expiry (no expiresAt / remainingSeconds then). */
114
+ /**
115
+ * #2906: the open named link's page marker, only while it runs on exactly these values (the fixed address's Test
116
+ * connection then checks this link as it is, starting nothing beside it). Null otherwise.
117
+ */
118
+ liveNamedMarker(values: {
119
+ hostname: string;
120
+ port: number;
121
+ token: string;
122
+ protocol: string;
123
+ }): string | null;
114
124
  status(): {
115
125
  state: string;
116
126
  expiresAt?: number;
@@ -121,8 +121,8 @@ export function logDetail(text) {
121
121
  * The refusal when the one tunnel is someone else's. #1525: drawn on ④, not ① — the refusal short-circuits before any
122
122
  * install work, so ① renders ✅·0s while the lease-held sentence on ④ carries the truth.
123
123
  */
124
- function leaseHeldProgress(now) {
125
- const refused = new PublicLinkProgressTracker(now, () => { });
124
+ function leaseHeldProgress(now, web) {
125
+ const refused = new PublicLinkProgressTracker(now, () => { }, publicLinkNamedHostname(web));
126
126
  refused.begin("tunnel");
127
127
  refused.fail("lease-held");
128
128
  return refused.snapshot;
@@ -166,6 +166,25 @@ export class PublicWebLink {
166
166
  return e && e.id === exposureId ? e.expiresAt : null;
167
167
  }
168
168
  /** `noExpiry`: an open link without an expiry (no expiresAt / remainingSeconds then). */
169
+ /**
170
+ * #2906: the open named link's page marker, only while it runs on exactly these values (the fixed address's Test
171
+ * connection then checks this link as it is, starting nothing beside it). Null otherwise.
172
+ */
173
+ liveNamedMarker(values) {
174
+ const e = this.entry;
175
+ if (!e || e.phase !== "open" || !e.gateway || !this.current(e))
176
+ return null;
177
+ let named;
178
+ try {
179
+ named = namedPublicLinkSettings(this.deps.web());
180
+ }
181
+ catch {
182
+ return null;
183
+ }
184
+ // #2907 review: the protocol too — a test of other values (QUIC against an open http2 link) is not this link's.
185
+ return named && named.hostname === values.hostname && named.port === values.port && named.token === values.token
186
+ && publicLinkSettings(this.deps.web()).protocol === values.protocol ? e.gateway.readinessMarker : null;
187
+ }
169
188
  status() {
170
189
  const e = this.entry;
171
190
  if (e && this.now() >= e.deadline && !e.closing)
@@ -199,7 +218,7 @@ export class PublicWebLink {
199
218
  const created = this.create(owner);
200
219
  if (!created) {
201
220
  // The one tunnel is someone else's (a /login link, or one whose cleanup is unconfirmed): say so.
202
- onProgress?.(leaseHeldProgress(this.now));
221
+ onProgress?.(leaseHeldProgress(this.now, this.deps.web()));
203
222
  return false;
204
223
  }
205
224
  e = created;
@@ -280,7 +299,7 @@ export class PublicWebLink {
280
299
  phase: "starting", gateway: null, starting: Promise.resolve(), requests: 0, delivered: false,
281
300
  progress: undefined, watchers: new Set() };
282
301
  e.progress = new PublicLinkProgressTracker(this.now, () => { for (const w of e.watchers)
283
- w(); });
302
+ w(); }, publicLinkNamedHostname(this.deps.web()));
284
303
  this.entry = e;
285
304
  // No expiry: no timer at all (a setTimeout of Infinity would fire at once). Close, policy changes and shutdown end it.
286
305
  const expire = () => {
@@ -313,7 +332,7 @@ export class PublicWebLink {
313
332
  return "failed";
314
333
  const e = this.create(owner, "requested unattended");
315
334
  if (!e) {
316
- onProgress?.(leaseHeldProgress(this.now));
335
+ onProgress?.(leaseHeldProgress(this.now, this.deps.web()));
317
336
  return "failed";
318
337
  }
319
338
  // Nobody is owed a delivery: a request joining it later and failing its own delivery never closes it.
@@ -1 +1 @@
1
- {"version":3,"file":"public-web-link.js","sourceRoot":"","sources":["../src/public-web-link.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public-web-link.js","sourceRoot":"","sources":["../src/public-web-link.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,16 @@ export interface SettingsApiContext extends AppShellContext {
40
40
  queued: boolean;
41
41
  already_running?: boolean;
42
42
  };
43
+ /** #2906: the fixed address's Test connection (closed step codes only; never the token). */
44
+ testNamedLink?(input: {
45
+ hostname: unknown;
46
+ port: unknown;
47
+ protocol: unknown;
48
+ token?: unknown;
49
+ current?: () => boolean;
50
+ }): Promise<import("./tunnel/named-link-test.js").NamedTestResult | {
51
+ busy: true;
52
+ }>;
43
53
  /** #1920 phase 3: Settings → Web sign-ins → Guests. */
44
54
  guestOverview?(): unknown;
45
55
  /** #2667: the ClassicBot rooms' instance names — a guest grant may name one, so a save's validation knows them. */
@@ -346,6 +346,47 @@ export function handleSettingsRequest(req, res, url, ctx) {
346
346
  }
347
347
  return true;
348
348
  }
349
+ // #2906 (the user, 2026-11-01): Settings → Access → Test connection, on the fixed-address values as filled in. Admin
350
+ // only and never over the public link, like the rest of Access; the typed token is read from the body once, used
351
+ // only in the test connector's environment, and never echoed — the answer is closed step codes.
352
+ if (method === "POST" && path === "/api/settings/public-link/test") {
353
+ if (gatewayRequestContext(req)) {
354
+ json(res, 403, { error: "web_settings_not_over_public_link" }, true);
355
+ return true;
356
+ }
357
+ const caller = guestSettingsCaller(req, url, ctx);
358
+ if (!caller) {
359
+ json(res, 403, { error: "An admin sign-in is required" }, true);
360
+ return true;
361
+ }
362
+ if (!ctx.testNamedLink) {
363
+ json(res, 501, { error: "test unavailable" }, true);
364
+ return true;
365
+ }
366
+ // #2907 review: the same admin, still current, after the body's await — and again before anything is started.
367
+ const current = () => guestSettingsCaller(req, url, ctx) === caller;
368
+ readBody(req, 16 * 1024).then(async (buf) => {
369
+ if (!permitWebContinuation(req, res, ctx))
370
+ return;
371
+ if (!current())
372
+ return json(res, 401, { error: "no longer authorized" }, true);
373
+ let body;
374
+ try {
375
+ body = JSON.parse(buf.toString("utf-8") || "{}");
376
+ }
377
+ catch {
378
+ return json(res, 400, { error: "invalid JSON" }, true);
379
+ }
380
+ if (!body || typeof body !== "object" || Array.isArray(body))
381
+ return json(res, 400, { error: "invalid body" }, true);
382
+ const result = await ctx.testNamedLink({ hostname: body.hostname, port: body.origin_port, protocol: body.protocol, token: body.token, current });
383
+ if ("busy" in result)
384
+ return json(res, 409, { error: "test_running" }, true);
385
+ json(res, 200, { steps: result.steps, hostname: result.hostname, port: result.port, ...(result.cleanup ? { cleanup: result.cleanup } : {}) }, true);
386
+ }).catch(() => { if (!res.headersSent)
387
+ json(res, 400, { error: "bad request" }, true); });
388
+ return true;
389
+ }
349
390
  // Generic provider API-key registry. Unlike the legacy connection token
350
391
  // routes, this endpoint accepts a code-owned spec id only; env key, origin,
351
392
  // auth header and verifier are resolved server-side. The body is consumed