instar 1.3.1669 → 1.3.1671

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 (125) hide show
  1. package/dist/commands/init.d.ts +6 -3
  2. package/dist/commands/init.d.ts.map +1 -1
  3. package/dist/commands/init.js +9 -6
  4. package/dist/commands/init.js.map +1 -1
  5. package/dist/commands/server.d.ts.map +1 -1
  6. package/dist/commands/server.js +41 -17
  7. package/dist/commands/server.js.map +1 -1
  8. package/dist/core/BackupManager.d.ts.map +1 -1
  9. package/dist/core/BackupManager.js +6 -0
  10. package/dist/core/BackupManager.js.map +1 -1
  11. package/dist/core/ClassReviewReplicatedStore.d.ts +13 -1
  12. package/dist/core/ClassReviewReplicatedStore.d.ts.map +1 -1
  13. package/dist/core/ClassReviewReplicatedStore.js +16 -0
  14. package/dist/core/ClassReviewReplicatedStore.js.map +1 -1
  15. package/dist/core/CodexLifecycleProductionComposition.d.ts +1 -1
  16. package/dist/core/CodexLifecycleProductionComposition.d.ts.map +1 -1
  17. package/dist/core/FileClassifier.d.ts.map +1 -1
  18. package/dist/core/FileClassifier.js +4 -0
  19. package/dist/core/FileClassifier.js.map +1 -1
  20. package/dist/core/PostUpdateMigrator.d.ts +29 -7
  21. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  22. package/dist/core/PostUpdateMigrator.js +127 -24
  23. package/dist/core/PostUpdateMigrator.js.map +1 -1
  24. package/dist/core/ReplicatedPeerStreamReader.d.ts +3 -0
  25. package/dist/core/ReplicatedPeerStreamReader.d.ts.map +1 -1
  26. package/dist/core/ReplicatedPeerStreamReader.js +35 -2
  27. package/dist/core/ReplicatedPeerStreamReader.js.map +1 -1
  28. package/dist/core/SlackReplyRelayInstaller.d.ts.map +1 -1
  29. package/dist/core/SlackReplyRelayInstaller.js +5 -0
  30. package/dist/core/SlackReplyRelayInstaller.js.map +1 -1
  31. package/dist/core/WriteDomainRegistry.d.ts.map +1 -1
  32. package/dist/core/WriteDomainRegistry.js +7 -0
  33. package/dist/core/WriteDomainRegistry.js.map +1 -1
  34. package/dist/core/linuxBrowserProvision.d.ts +93 -0
  35. package/dist/core/linuxBrowserProvision.d.ts.map +1 -0
  36. package/dist/core/linuxBrowserProvision.js +254 -0
  37. package/dist/core/linuxBrowserProvision.js.map +1 -0
  38. package/dist/core/rebalanceProof.d.ts.map +1 -1
  39. package/dist/core/rebalanceProof.js +3 -1
  40. package/dist/core/rebalanceProof.js.map +1 -1
  41. package/dist/data/builtinSkillContent.d.ts +7 -2
  42. package/dist/data/builtinSkillContent.d.ts.map +1 -1
  43. package/dist/data/builtinSkillContent.js +34 -12
  44. package/dist/data/builtinSkillContent.js.map +1 -1
  45. package/dist/data/standards-guard-index.json +1 -1
  46. package/dist/data/standards-guard-index.meta.json +2 -2
  47. package/dist/data/standards-registry.meta.json +1 -1
  48. package/dist/messaging/slack/SlackAdapter.d.ts +1 -0
  49. package/dist/messaging/slack/SlackAdapter.d.ts.map +1 -1
  50. package/dist/messaging/slack/SlackAdapter.js +2 -0
  51. package/dist/messaging/slack/SlackAdapter.js.map +1 -1
  52. package/dist/messaging/slack/SlackMrkdwnFormatter.d.ts +1 -1
  53. package/dist/messaging/slack/SlackMrkdwnFormatter.d.ts.map +1 -1
  54. package/dist/messaging/slack/SlackMrkdwnFormatter.js +36 -5
  55. package/dist/messaging/slack/SlackMrkdwnFormatter.js.map +1 -1
  56. package/dist/messaging/slack/threadHistoryLabel.d.ts +1 -1
  57. package/dist/messaging/slack/threadHistoryLabel.d.ts.map +1 -1
  58. package/dist/messaging/slack/threadHistoryLabel.js +3 -1
  59. package/dist/messaging/slack/threadHistoryLabel.js.map +1 -1
  60. package/dist/messaging/telegram-origin/OriginCodexModelCanary.d.ts.map +1 -1
  61. package/dist/messaging/telegram-origin/OriginCodexModelCanary.js +5 -1
  62. package/dist/messaging/telegram-origin/OriginCodexModelCanary.js.map +1 -1
  63. package/dist/native/InstarWedgeCanary.app/Contents/MacOS/InstarWedgeCanary +0 -0
  64. package/dist/native/instar-desktop-host +0 -0
  65. package/dist/recommended/offerPrerequisites.d.ts.map +1 -1
  66. package/dist/recommended/offerPrerequisites.js +3 -0
  67. package/dist/recommended/offerPrerequisites.js.map +1 -1
  68. package/dist/scaffold/templates.d.ts.map +1 -1
  69. package/dist/scaffold/templates.js +4 -0
  70. package/dist/scaffold/templates.js.map +1 -1
  71. package/dist/server/CapabilityIndex.d.ts.map +1 -1
  72. package/dist/server/CapabilityIndex.js +24 -1
  73. package/dist/server/CapabilityIndex.js.map +1 -1
  74. package/dist/server/SecretDrop.d.ts +19 -0
  75. package/dist/server/SecretDrop.d.ts.map +1 -1
  76. package/dist/server/SecretDrop.js +4 -0
  77. package/dist/server/SecretDrop.js.map +1 -1
  78. package/dist/server/fileRoutes.d.ts.map +1 -1
  79. package/dist/server/fileRoutes.js +6 -0
  80. package/dist/server/fileRoutes.js.map +1 -1
  81. package/dist/server/mobileConsolePagesRoutes.d.ts +60 -0
  82. package/dist/server/mobileConsolePagesRoutes.d.ts.map +1 -0
  83. package/dist/server/mobileConsolePagesRoutes.js +473 -0
  84. package/dist/server/mobileConsolePagesRoutes.js.map +1 -0
  85. package/dist/server/mobilePairingRoutes.d.ts.map +1 -1
  86. package/dist/server/mobilePairingRoutes.js +8 -0
  87. package/dist/server/mobilePairingRoutes.js.map +1 -1
  88. package/dist/server/routes.d.ts +1 -0
  89. package/dist/server/routes.d.ts.map +1 -1
  90. package/dist/server/routes.js +90 -14
  91. package/dist/server/routes.js.map +1 -1
  92. package/dist/testing/selfActionRegistry.d.ts.map +1 -1
  93. package/dist/testing/selfActionRegistry.js +31 -0
  94. package/dist/testing/selfActionRegistry.js.map +1 -1
  95. package/package.json +1 -1
  96. package/scripts/blocking-decision-surfaces-baseline.json +29 -9
  97. package/scripts/lint-blocking-decisions-declared.mjs +1 -1
  98. package/src/data/builtin-manifest.json +66 -66
  99. package/src/data/builtinSkillContent.ts +35 -12
  100. package/src/data/standards-guard-index.json +1 -1
  101. package/src/data/standards-guard-index.meta.json +2 -2
  102. package/src/data/standards-registry.meta.json +1 -1
  103. package/src/data/state-coherence-registry.json +18 -0
  104. package/src/scaffold/templates.ts +4 -0
  105. package/src/templates/scripts/browser/chrome-close.sh +1 -1
  106. package/src/templates/scripts/browser/chrome-js.sh +1 -1
  107. package/src/templates/scripts/browser/chrome-launch.sh +1 -1
  108. package/src/templates/scripts/browser/chrome-mainworld.sh +1 -1
  109. package/src/templates/scripts/browser/chrome-renew.sh +1 -1
  110. package/src/templates/scripts/browser/chrome-unsaved.sh +1 -1
  111. package/src/templates/scripts/browser/ndrive.sh +1 -1
  112. package/src/templates/scripts/browser/x-drive.py +1594 -0
  113. package/src/templates/scripts/browser/xdrive-provision.sh +87 -0
  114. package/src/templates/scripts/browser/xdrive.sh +120 -0
  115. package/src/templates/scripts/secret-drop-retrieve.mjs +60 -7
  116. package/src/templates/scripts/slack-reply.sh +17 -1
  117. package/upgrades/1.3.1670.md +27 -0
  118. package/upgrades/1.3.1671.md +42 -0
  119. package/upgrades/proof-accepts-queued.eli16.md +20 -0
  120. package/upgrades/side-effects/codex-canary-0166.md +14 -0
  121. package/upgrades/side-effects/mobile-native-console-pages.md +24 -0
  122. package/upgrades/side-effects/normal-chrome-linux.md +84 -0
  123. package/upgrades/side-effects/peer-stream-read-cache.md +14 -0
  124. package/upgrades/side-effects/proof-accepts-queued.md +11 -0
  125. package/upgrades/side-effects/slack-native-reference-repair.md +74 -0
@@ -0,0 +1,254 @@
1
+ /**
2
+ * Installs what the Linux Chrome driver needs, at the agent's own boot (ACT-138).
3
+ *
4
+ * xdrive.sh never installs anything. This module decides, from stored values and measured machine
5
+ * facts, whether to start the detached runner (xdrive-provision.sh), which does the work and records
6
+ * the result. It adds packages and gates nothing: on any false fact or failure the agent still boots
7
+ * and reports what is missing. Spec: docs/specs/normal-chrome-linux.md, "Installing on a fresh agent".
8
+ */
9
+ import { execFile, spawn } from 'node:child_process';
10
+ import fs from 'node:fs';
11
+ import os from 'node:os';
12
+ import path from 'node:path';
13
+ import { SafeFsExecutor } from './SafeFsExecutor.js';
14
+ import { isWslHost } from './wslPlatform.js';
15
+ export const PROVISION_RETRY_MS = [60 * 60_000, 6 * 60 * 60_000, 24 * 60 * 60_000];
16
+ export const CHROME_UPGRADE_INTERVAL_MS = 24 * 60 * 60_000;
17
+ export const MIN_FREE_BYTES = 3 * 1024 ** 3;
18
+ /** After this many automatic attempts it stops; only an operator's yes (POST /browser/linux/install) tries again. */
19
+ export const MAX_INSTALL_ATTEMPTS = 6;
20
+ function stateFolder(stateDir) {
21
+ return path.join(stateDir, 'state', 'xdrive');
22
+ }
23
+ function readJson(file) {
24
+ try {
25
+ return JSON.parse(fs.readFileSync(file, 'utf8'));
26
+ }
27
+ catch {
28
+ // @silent-fallback-ok: a missing or partial state file means "nothing recorded".
29
+ return null;
30
+ }
31
+ }
32
+ /** Written once, by markNewAgent, for an agent born on this release or later. */
33
+ export function markBrowserAutoInstall(stateDir) {
34
+ const folder = stateFolder(stateDir);
35
+ fs.mkdirSync(folder, { recursive: true, mode: 0o700 });
36
+ fs.writeFileSync(path.join(folder, 'auto-install.json'), JSON.stringify({ browserAutoInstall: true }), { mode: 0o600 });
37
+ }
38
+ /** The who-gets-it rule. An explicit config value always wins; a throwaway agent never installs. */
39
+ export function wantsAutoInstall(stateDir, configured, throwaway) {
40
+ if (throwaway)
41
+ return false;
42
+ if (configured !== undefined)
43
+ return configured;
44
+ return readJson(path.join(stateFolder(stateDir), 'auto-install.json'))?.browserAutoInstall === true;
45
+ }
46
+ /** Why this machine cannot be installed automatically, or null when it can. */
47
+ export function machineBlocker(facts) {
48
+ if (facts.arch !== 'x64')
49
+ return 'arch: Google publishes no Chrome for Linux on this processor';
50
+ if (!/^ID=ubuntu$/m.test(facts.osRelease) || !/^VERSION_ID="?24\.04"?$/m.test(facts.osRelease))
51
+ return 'os: automatic install is measured on Ubuntu 24.04 only';
52
+ if (!facts.hasApt)
53
+ return 'os: no apt-get';
54
+ if (!facts.sudoWorks)
55
+ return 'sudo: this user has no passwordless sudo';
56
+ if (facts.freeBytes < MIN_FREE_BYTES)
57
+ return 'disk: less than 3 GB free';
58
+ return null;
59
+ }
60
+ export function retryDelayMs(attempts) {
61
+ return PROVISION_RETRY_MS[Math.min(Math.max(attempts, 1), PROVISION_RETRY_MS.length) - 1];
62
+ }
63
+ /** Everything the boot call decides, as a pure function of what it read. */
64
+ export function decideProvision(input) {
65
+ const { wanted, depsPresent, bindings, facts, record, backoff, now } = input;
66
+ if (facts.platform !== 'linux' || facts.wsl)
67
+ return { action: 'none', reason: 'not Linux' };
68
+ if (!wanted)
69
+ return { action: 'none', reason: 'not wanted on this agent' };
70
+ if (depsPresent) {
71
+ const last = record?.upgradedAt ? Date.parse(record.upgradedAt) : 0;
72
+ const due = now - (Number.isFinite(last) ? last : 0) >= CHROME_UPGRADE_INTERVAL_MS;
73
+ if (due && bindings === 0 && facts.sudoWorks && facts.hasApt)
74
+ return { action: 'upgrade' };
75
+ return { action: 'none', reason: 'ready' };
76
+ }
77
+ const blocker = machineBlocker(facts);
78
+ if (blocker)
79
+ return { action: 'skip', reason: blocker };
80
+ if (!input.bypassBackoff && backoff && backoff.attempts >= MAX_INSTALL_ATTEMPTS) {
81
+ return { action: 'none', reason: 'stopped retrying' };
82
+ }
83
+ if (!input.bypassBackoff && backoff && backoff.attempts > 0 && now - backoff.lastAt < retryDelayMs(backoff.attempts)) {
84
+ return { action: 'none', reason: 'waiting to retry' };
85
+ }
86
+ return { action: 'install' };
87
+ }
88
+ function run(command, args) {
89
+ return new Promise((resolve) => {
90
+ execFile(command, args, { timeout: 15_000 }, (error, stdout) => resolve({ ok: !error, stdout: String(stdout) }));
91
+ });
92
+ }
93
+ async function readMachineFacts(stateDir) {
94
+ let osRelease = '';
95
+ try {
96
+ osRelease = fs.readFileSync('/etc/os-release', 'utf8');
97
+ }
98
+ catch {
99
+ // @silent-fallback-ok: an unreadable os-release reads as "not the measured OS".
100
+ }
101
+ let freeBytes = 0;
102
+ try {
103
+ const info = fs.statfsSync(stateDir);
104
+ freeBytes = Number(info.bavail) * Number(info.bsize);
105
+ }
106
+ catch {
107
+ // @silent-fallback-ok: unknown free space reads as too little, so nothing installs.
108
+ }
109
+ return {
110
+ platform: process.platform,
111
+ wsl: isWslHost(),
112
+ arch: os.arch(),
113
+ osRelease,
114
+ hasApt: (await run('which', ['apt-get'])).ok,
115
+ sudoWorks: (await run('sudo', ['-n', 'true'])).ok,
116
+ freeBytes,
117
+ };
118
+ }
119
+ function writeRecord(stateDir, status, extra = {}) {
120
+ const folder = stateFolder(stateDir);
121
+ fs.mkdirSync(folder, { recursive: true, mode: 0o700 });
122
+ const file = path.join(folder, 'provision.json');
123
+ const tmp = `${file}.${process.pid}.tmp`;
124
+ fs.writeFileSync(tmp, JSON.stringify({ status, at: new Date().toISOString(), ...extra }), { mode: 0o600 });
125
+ fs.renameSync(tmp, file);
126
+ }
127
+ function startDetachedRunner(projectDir, mode) {
128
+ /* @self-action-controller: linux-browser-install-retry */
129
+ const script = path.join(projectDir, '.instar', 'scripts', 'browser', 'xdrive-provision.sh');
130
+ const args = ['-n', '19', 'setsid', script, projectDir, ...(mode === 'upgrade' ? ['--upgrade'] : [])];
131
+ const child = spawn('nice', args, {
132
+ detached: true,
133
+ stdio: 'ignore',
134
+ env: { PATH: process.env.PATH ?? '/usr/bin:/bin', HOME: process.env.HOME ?? '', LANG: process.env.LANG ?? 'C.UTF-8' },
135
+ });
136
+ child.on('error', () => { });
137
+ child.unref();
138
+ }
139
+ /** Live bindings only: a leftover file for a dead Chrome must not hold back upgrades forever. */
140
+ function countBindings(stateDir) {
141
+ const folder = path.join(stateFolder(stateDir), 'targets');
142
+ let live = 0;
143
+ try {
144
+ for (const name of fs.readdirSync(folder)) {
145
+ const target = readJson(path.join(folder, name));
146
+ if (target?.pid && fs.existsSync(`/proc/${target.pid}`))
147
+ live++;
148
+ }
149
+ }
150
+ catch {
151
+ // @silent-fallback-ok: no targets folder means no binding.
152
+ }
153
+ return live;
154
+ }
155
+ /** One boot's work. Never throws and never blocks the caller for longer than a few short reads. */
156
+ export async function provisionLinuxBrowser(deps) {
157
+ const now = deps.now ?? Date.now;
158
+ const folder = stateFolder(deps.stateDir);
159
+ try {
160
+ // First, and before any probe: an agent that has not asked for this runs nothing at all, no sudo included.
161
+ const wanted = wantsAutoInstall(deps.stateDir, deps.configured, deps.throwaway);
162
+ if (!wanted)
163
+ return { action: 'none', reason: 'not wanted on this agent' };
164
+ const facts = await (deps.readFacts ?? readMachineFacts)(deps.stateDir);
165
+ if (facts.platform !== 'linux' || facts.wsl)
166
+ return { action: 'none', reason: 'not Linux' };
167
+ const present = deps.depsPresent
168
+ ? await deps.depsPresent()
169
+ : (await run(path.join(deps.projectDir, '.instar', 'scripts', 'browser', 'xdrive.sh'), ['deps'])).stdout.trim() === 'OK';
170
+ const backoffFile = path.join(folder, 'provision-backoff.json');
171
+ const decision = decideProvision({
172
+ wanted,
173
+ bypassBackoff: deps.bypassBackoff,
174
+ depsPresent: present,
175
+ bindings: countBindings(deps.stateDir),
176
+ facts,
177
+ record: readJson(path.join(folder, 'provision.json')),
178
+ backoff: readJson(backoffFile),
179
+ now: now(),
180
+ });
181
+ const start = deps.startRunner ?? ((mode) => startDetachedRunner(deps.projectDir, mode));
182
+ if (decision.action === 'skip') {
183
+ writeRecord(deps.stateDir, `skipped: ${decision.reason}`);
184
+ }
185
+ else if (decision.action === 'install') {
186
+ const backoff = readJson(backoffFile);
187
+ fs.mkdirSync(folder, { recursive: true, mode: 0o700 });
188
+ fs.writeFileSync(backoffFile, JSON.stringify({ attempts: (backoff?.attempts ?? 0) + 1, lastAt: now() }), { mode: 0o600 });
189
+ start('install');
190
+ }
191
+ else if (decision.action === 'upgrade') {
192
+ // Written first: a runner that cannot start must still wait the full interval.
193
+ writeRecord(deps.stateDir, 'ready', { upgradedAt: new Date(now()).toISOString() });
194
+ start('upgrade');
195
+ }
196
+ else if (decision.reason === 'ready' && wanted) {
197
+ const record = readJson(path.join(folder, 'provision.json'));
198
+ if (record?.status !== 'ready')
199
+ writeRecord(deps.stateDir, 'ready');
200
+ if (fs.existsSync(backoffFile))
201
+ SafeFsExecutor.safeUnlinkSync(backoffFile, { operation: 'src/core/linuxBrowserProvision.ts:clear-backoff' });
202
+ }
203
+ return decision;
204
+ }
205
+ catch (err) {
206
+ console.error('[linux-browser] provisioning check failed:', err instanceof Error ? err.message : String(err));
207
+ return { action: 'none', reason: 'check failed' };
208
+ }
209
+ }
210
+ /** Hourly re-check, so a machine that stays up still retries after a failure and takes Chrome updates. */
211
+ export function startProvisionTimer(deps) {
212
+ const timer = setInterval(() => { void provisionLinuxBrowser(deps()); }, 60 * 60_000);
213
+ timer.unref();
214
+ return timer;
215
+ }
216
+ const INSTALL_STEP = 'Ask the operator one plain yes/no naming what gets installed (Google Chrome and five system packages); on a yes, POST /browser/linux/install.';
217
+ /** Pure, so every state is tested on any OS. */
218
+ export function deriveBrowserState(input) {
219
+ const { platform, wsl, record, driverPresent } = input;
220
+ const base = { reason: null, asOf: record?.at ?? null, machineLocal: true };
221
+ if (platform === 'darwin')
222
+ return { ...base, state: 'ready', driver: 'chrome-js.sh (Apple Events)', nextStep: 'Use /normal-chrome-browser.' };
223
+ if (wsl || platform === 'win32')
224
+ return { ...base, state: 'ready', driver: 'ndrive.sh (Windows, from WSL)', nextStep: 'Use /normal-chrome-browser.' };
225
+ const driver = 'xdrive.sh (private display)';
226
+ const status = record?.status ?? '';
227
+ if (status === 'installing')
228
+ return { ...base, state: 'installing', driver, nextStep: 'It is installing now; check again in a few minutes.' };
229
+ if (status.startsWith('failed')) {
230
+ return { ...base, state: 'broken', driver, reason: status, nextStep: `The install stopped at this step. Tell the operator, or retry: ${INSTALL_STEP}` };
231
+ }
232
+ if (driverPresent)
233
+ return { ...base, state: 'ready', driver, nextStep: 'Use /normal-chrome-browser: xdrive.sh launch <profile> <url>.' };
234
+ if (status === 'ready') {
235
+ return { ...base, state: 'broken', driver, reason: 'a package it needs has been removed', nextStep: `Retry the install: ${INSTALL_STEP}` };
236
+ }
237
+ return { ...base, state: 'not-built', driver, reason: status.startsWith('skipped: ') ? status.slice('skipped: '.length) : 'not installed on this machine yet', nextStep: INSTALL_STEP };
238
+ }
239
+ function driverOnDisk() {
240
+ const any = (paths) => paths.some((p) => fs.existsSync(p));
241
+ return fs.existsSync('/opt/google/chrome/chrome')
242
+ && any(['/usr/bin/Xvnc', '/usr/bin/Xtigervnc'])
243
+ && any(['/usr/libexec/at-spi-bus-launcher', '/usr/lib/at-spi2-core/at-spi-bus-launcher']);
244
+ }
245
+ /** For GET /browser/state and GET /capabilities: this machine's state, labelled with its time. */
246
+ export function browserCapability(stateDir) {
247
+ return deriveBrowserState({
248
+ platform: process.platform,
249
+ wsl: isWslHost(),
250
+ record: readJson(path.join(stateFolder(stateDir), 'provision.json')),
251
+ driverPresent: process.platform === 'linux' && driverOnDisk(),
252
+ });
253
+ }
254
+ //# sourceMappingURL=linuxBrowserProvision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linuxBrowserProvision.js","sourceRoot":"","sources":["../../src/core/linuxBrowserProvision.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rebalanceProof.d.ts","sourceRoot":"","sources":["../../src/core/rebalanceProof.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rebalanceProof.d.ts","sourceRoot":"","sources":["../../src/core/rebalanceProof.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjG;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC5B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC3B,OAAO,CAAC,MAAM,CAAC,CASjB;AAED,eAAO,MAAM,sBAAsB,SAAU,CAAC;AAC9C,eAAO,MAAM,0BAA0B,QAAS,CAAC;AACjD,eAAO,MAAM,sBAAsB,SAAU,CAAC;AAC9C,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAChD,sEAAsE;AACtE,eAAO,MAAM,qBAAqB,SAAU,CAAC;AAC7C,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAC1C,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,yBAAyB,OAAQ,CAAC;AAE/C;;;;;GAKG;AACH,wBAAsB,kBAAkB;AACtC,sGAAsG;AACtG,WAAW,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EACzC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE;IAAE,GAAG,EAAE,MAAM,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,GACjE,OAAO,CAAC,OAAO,CAAC,CAalB;AAID,MAAM,WAAW,WAAW;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CACnE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAI7G;AAED,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,WAAW,GAAG,eAAe,GAAG,eAAe,GAAG,YAAY,GAAG,MAAM,CAAC;AAEzH,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/C,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACzC,wCAAwC;IACxC,gBAAgB,EAAE,MAAM,OAAO,CAAC;IAChC,KAAK,EAAE,MAAM,MAAM,CAAC;IACpB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,WAAW,GAAG,IAAI,CAAC;IAClD,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,2GAA2G;IAC3G,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1E,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;YAAE,KAAK,EAAE,OAAO,CAAC;YAAC,OAAO,EAAE,WAAW,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAC1H;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC7G,wEAAwE;IACxE,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/E,iFAAiF;IACjF,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACnD,+EAA+E;IAC/E,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,eAAe,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACvF,MAAM,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;IAC7D,QAAQ,EAAE,MAAM,MAAM,CAAC;IACvB,iEAAiE;IACjE,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,cAAc,CAAC;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAeD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,qBAAa,oBAAoB;IAMnB,OAAO,CAAC,QAAQ,CAAC,CAAC;IAL9B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA+B;IACpD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IAEtD,YAA6B,CAAC,EAAE,kBAAkB,EAGjD;IAED,wFAAwF;IACxF,kBAAkB,IAAI,IAAI,CAOzB;IAED,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAElC;IAED;;;OAGG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAKvH;IAED,oEAAoE;IACpE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,YAAY,CAAA;KAAE,GAAG;QAAE,GAAG,EAAE,QAAQ,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;KAAE,CAe3G;YAEa,OAAO;YA8DP,eAAe;IAU7B,yFAAyF;YAC3E,UAAU;IAyBxB,OAAO,CAAC,MAAM;CAWf;AAGD,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,oBAAoB,GAAG,IAAI,GAAG,IAAI,CAAgB;AAC7F,wBAAgB,uBAAuB,IAAI,oBAAoB,GAAG,IAAI,CAAmB;AAGzF,wBAAgB,4BAA4B,CAAC,CAAC,EAAE,yBAAyB,GAAG,IAAI,GAAG,IAAI,CAAqB;AAC5G,wBAAgB,4BAA4B,IAAI,yBAAyB,GAAG,IAAI,CAAwB"}
@@ -205,7 +205,9 @@ export class RebalanceProofRunner {
205
205
  if (viaHolder)
206
206
  steps.probeVia = viaHolder.holder ?? 'holder';
207
207
  // The move's target can be the holder itself, which handles the probe rather than forwarding.
208
- const reached = action === 'forwarded' || (action === 'handled-locally' && viaHolder?.holder === run.to);
208
+ // Through the holder, `queued` is the durable queue holding it until the new owner is
209
+ // known, which is what a real message gets. The reply is still what proves it.
210
+ const reached = action === 'forwarded' || (action === 'handled-locally' && viaHolder?.holder === run.to) || (action === 'queued' && !!viaHolder);
209
211
  if (!reached)
210
212
  reason = `probe-${action}`;
211
213
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"rebalanceProof.js","sourceRoot":"","sources":["../../src/core/rebalanceProof.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rebalanceProof.js","sourceRoot":"","sources":["../../src/core/rebalanceProof.ts"],"names":[],"mappings":"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"}