instar 1.3.1660 → 1.3.1662

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 (265) hide show
  1. package/dashboard/desktop.css +2 -0
  2. package/dashboard/desktop.html +1 -0
  3. package/dashboard/desktop.js +39 -3
  4. package/dist/commands/server.d.ts.map +1 -1
  5. package/dist/commands/server.js +257 -62
  6. package/dist/commands/server.js.map +1 -1
  7. package/dist/core/ClaudeKeyHealth.d.ts +18 -0
  8. package/dist/core/ClaudeKeyHealth.d.ts.map +1 -1
  9. package/dist/core/ClaudeKeyHealth.js +67 -5
  10. package/dist/core/ClaudeKeyHealth.js.map +1 -1
  11. package/dist/core/DesktopAccessAudit.d.ts +5 -1
  12. package/dist/core/DesktopAccessAudit.d.ts.map +1 -1
  13. package/dist/core/DesktopAccessAudit.js +5 -0
  14. package/dist/core/DesktopAccessAudit.js.map +1 -1
  15. package/dist/core/DesktopLockedController.d.ts +21 -1
  16. package/dist/core/DesktopLockedController.d.ts.map +1 -1
  17. package/dist/core/DesktopLockedController.js +29 -7
  18. package/dist/core/DesktopLockedController.js.map +1 -1
  19. package/dist/core/DirectDesktopAccess.d.ts +26 -1
  20. package/dist/core/DirectDesktopAccess.d.ts.map +1 -1
  21. package/dist/core/DirectDesktopAccess.js +77 -8
  22. package/dist/core/DirectDesktopAccess.js.map +1 -1
  23. package/dist/core/MacDesktopHost.d.ts +1 -0
  24. package/dist/core/MacDesktopHost.d.ts.map +1 -1
  25. package/dist/core/MacDesktopHost.js +29 -3
  26. package/dist/core/MacDesktopHost.js.map +1 -1
  27. package/dist/core/MeshRpc.d.ts +14 -0
  28. package/dist/core/MeshRpc.d.ts.map +1 -1
  29. package/dist/core/MeshRpc.js +1 -0
  30. package/dist/core/MeshRpc.js.map +1 -1
  31. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  32. package/dist/core/PostUpdateMigrator.js +45 -6
  33. package/dist/core/PostUpdateMigrator.js.map +1 -1
  34. package/dist/core/SessionManager.d.ts +6 -0
  35. package/dist/core/SessionManager.d.ts.map +1 -1
  36. package/dist/core/SessionManager.js +16 -2
  37. package/dist/core/SessionManager.js.map +1 -1
  38. package/dist/core/SlackReplyRelayInstaller.d.ts.map +1 -1
  39. package/dist/core/SlackReplyRelayInstaller.js +2 -0
  40. package/dist/core/SlackReplyRelayInstaller.js.map +1 -1
  41. package/dist/core/WriteDomainRegistry.d.ts.map +1 -1
  42. package/dist/core/WriteDomainRegistry.js +17 -0
  43. package/dist/core/WriteDomainRegistry.js.map +1 -1
  44. package/dist/core/channelRegistry.d.ts +6 -0
  45. package/dist/core/channelRegistry.d.ts.map +1 -1
  46. package/dist/core/channelRegistry.js +19 -0
  47. package/dist/core/channelRegistry.js.map +1 -1
  48. package/dist/core/claudeKeyRecovery.d.ts +102 -0
  49. package/dist/core/claudeKeyRecovery.d.ts.map +1 -0
  50. package/dist/core/claudeKeyRecovery.js +178 -0
  51. package/dist/core/claudeKeyRecovery.js.map +1 -0
  52. package/dist/core/dashboardPin.d.ts +22 -0
  53. package/dist/core/dashboardPin.d.ts.map +1 -1
  54. package/dist/core/dashboardPin.js +41 -0
  55. package/dist/core/dashboardPin.js.map +1 -1
  56. package/dist/core/instarChannels.d.ts +2 -0
  57. package/dist/core/instarChannels.d.ts.map +1 -1
  58. package/dist/core/instarChannels.js +13 -0
  59. package/dist/core/instarChannels.js.map +1 -1
  60. package/dist/core/memorySandboxProbe.d.ts +8 -0
  61. package/dist/core/memorySandboxProbe.d.ts.map +1 -1
  62. package/dist/core/memorySandboxProbe.js +25 -0
  63. package/dist/core/memorySandboxProbe.js.map +1 -1
  64. package/dist/core/memorySessionPolicy.d.ts +12 -0
  65. package/dist/core/memorySessionPolicy.d.ts.map +1 -1
  66. package/dist/core/memorySessionPolicy.js +20 -0
  67. package/dist/core/memorySessionPolicy.js.map +1 -1
  68. package/dist/core/types.d.ts +14 -0
  69. package/dist/core/types.d.ts.map +1 -1
  70. package/dist/core/types.js.map +1 -1
  71. package/dist/data/standards-guard-index.json +2 -2
  72. package/dist/data/standards-guard-index.meta.json +3 -3
  73. package/dist/data/standards-registry.md +12 -2
  74. package/dist/data/standards-registry.meta.json +3 -3
  75. package/dist/feedback-factory/execute/changeSet.d.ts.map +1 -1
  76. package/dist/feedback-factory/execute/changeSet.js +18 -1
  77. package/dist/feedback-factory/execute/changeSet.js.map +1 -1
  78. package/dist/feedback-factory/execute/executePolicy.d.ts +1 -1
  79. package/dist/feedback-factory/execute/executePolicy.d.ts.map +1 -1
  80. package/dist/feedback-factory/execute/executePolicy.js +2 -2
  81. package/dist/feedback-factory/execute/executePolicy.js.map +1 -1
  82. package/dist/lifeline/TelegramLifeline.d.ts +10 -0
  83. package/dist/lifeline/TelegramLifeline.d.ts.map +1 -1
  84. package/dist/lifeline/TelegramLifeline.js +92 -16
  85. package/dist/lifeline/TelegramLifeline.js.map +1 -1
  86. package/dist/lifeline/pollDecision.d.ts +27 -0
  87. package/dist/lifeline/pollDecision.d.ts.map +1 -1
  88. package/dist/lifeline/pollDecision.js +28 -0
  89. package/dist/lifeline/pollDecision.js.map +1 -1
  90. package/dist/messaging/SpawnRequestManager.d.ts +31 -0
  91. package/dist/messaging/SpawnRequestManager.d.ts.map +1 -1
  92. package/dist/messaging/SpawnRequestManager.js +149 -11
  93. package/dist/messaging/SpawnRequestManager.js.map +1 -1
  94. package/dist/messaging/TelegramAdapter.d.ts +14 -11
  95. package/dist/messaging/TelegramAdapter.d.ts.map +1 -1
  96. package/dist/messaging/TelegramAdapter.js +71 -14
  97. package/dist/messaging/TelegramAdapter.js.map +1 -1
  98. package/dist/messaging/slack/SlackAdapter.d.ts +23 -0
  99. package/dist/messaging/slack/SlackAdapter.d.ts.map +1 -1
  100. package/dist/messaging/slack/SlackAdapter.js +69 -0
  101. package/dist/messaging/slack/SlackAdapter.js.map +1 -1
  102. package/dist/messaging/telegram-origin/OriginDeliveryResolution.d.ts.map +1 -1
  103. package/dist/messaging/telegram-origin/OriginDeliveryResolution.js +2 -1
  104. package/dist/messaging/telegram-origin/OriginDeliveryResolution.js.map +1 -1
  105. package/dist/messaging/telegram-origin/OriginForwardToHolder.d.ts +9 -1
  106. package/dist/messaging/telegram-origin/OriginForwardToHolder.d.ts.map +1 -1
  107. package/dist/messaging/telegram-origin/OriginForwardToHolder.js +48 -5
  108. package/dist/messaging/telegram-origin/OriginForwardToHolder.js.map +1 -1
  109. package/dist/messaging/telegram-origin/OriginMesh.d.ts.map +1 -1
  110. package/dist/messaging/telegram-origin/OriginMesh.js +4 -2
  111. package/dist/messaging/telegram-origin/OriginMesh.js.map +1 -1
  112. package/dist/messaging/telegram-origin/OriginOperationOutcome.d.ts +1 -0
  113. package/dist/messaging/telegram-origin/OriginOperationOutcome.d.ts.map +1 -1
  114. package/dist/messaging/telegram-origin/OriginOperationOutcome.js +21 -15
  115. package/dist/messaging/telegram-origin/OriginOperationOutcome.js.map +1 -1
  116. package/dist/messaging/telegram-origin/OriginStoreBackend.d.ts.map +1 -1
  117. package/dist/messaging/telegram-origin/OriginStoreBackend.js +7 -1
  118. package/dist/messaging/telegram-origin/OriginStoreBackend.js.map +1 -1
  119. package/dist/messaging/telegram-origin/TelegramOriginRuntime.js +1 -1
  120. package/dist/messaging/telegram-origin/TelegramOriginRuntime.js.map +1 -1
  121. package/dist/native/InstarWedgeCanary.app/Contents/MacOS/InstarWedgeCanary +0 -0
  122. package/dist/native/instar-desktop-host +0 -0
  123. package/dist/native/instar-desktop-host.json +1 -1
  124. package/dist/recommended/recipes.d.ts.map +1 -1
  125. package/dist/recommended/recipes.js +3 -0
  126. package/dist/recommended/recipes.js.map +1 -1
  127. package/dist/scaffold/templates.d.ts.map +1 -1
  128. package/dist/scaffold/templates.js +14 -4
  129. package/dist/scaffold/templates.js.map +1 -1
  130. package/dist/server/AgentServer.d.ts +3 -0
  131. package/dist/server/AgentServer.d.ts.map +1 -1
  132. package/dist/server/AgentServer.js +26 -1
  133. package/dist/server/AgentServer.js.map +1 -1
  134. package/dist/server/CapabilityIndex.js +4 -4
  135. package/dist/server/CapabilityIndex.js.map +1 -1
  136. package/dist/server/middleware.d.ts.map +1 -1
  137. package/dist/server/middleware.js +6 -0
  138. package/dist/server/middleware.js.map +1 -1
  139. package/dist/server/recommendedServiceRoutes.d.ts.map +1 -1
  140. package/dist/server/recommendedServiceRoutes.js +2 -1
  141. package/dist/server/recommendedServiceRoutes.js.map +1 -1
  142. package/dist/server/routes.d.ts +4 -0
  143. package/dist/server/routes.d.ts.map +1 -1
  144. package/dist/server/routes.js +220 -12
  145. package/dist/server/routes.js.map +1 -1
  146. package/dist/testing/selfActionRegistry.d.ts.map +1 -1
  147. package/dist/testing/selfActionRegistry.js +48 -0
  148. package/dist/testing/selfActionRegistry.js.map +1 -1
  149. package/dist/threadline/A2ADeliveryTracker.d.ts +49 -0
  150. package/dist/threadline/A2ADeliveryTracker.d.ts.map +1 -1
  151. package/dist/threadline/A2ADeliveryTracker.js +81 -2
  152. package/dist/threadline/A2ADeliveryTracker.js.map +1 -1
  153. package/dist/threadline/InboundMessageGate.d.ts.map +1 -1
  154. package/dist/threadline/InboundMessageGate.js +12 -0
  155. package/dist/threadline/InboundMessageGate.js.map +1 -1
  156. package/dist/threadline/ThreadlineBootstrap.d.ts.map +1 -1
  157. package/dist/threadline/ThreadlineBootstrap.js +13 -2
  158. package/dist/threadline/ThreadlineBootstrap.js.map +1 -1
  159. package/dist/threadline/ThreadlineEndpoints.d.ts +3 -0
  160. package/dist/threadline/ThreadlineEndpoints.d.ts.map +1 -1
  161. package/dist/threadline/ThreadlineEndpoints.js +25 -1
  162. package/dist/threadline/ThreadlineEndpoints.js.map +1 -1
  163. package/dist/threadline/ThreadlineMCPServer.d.ts +27 -1
  164. package/dist/threadline/ThreadlineMCPServer.d.ts.map +1 -1
  165. package/dist/threadline/ThreadlineMCPServer.js +58 -12
  166. package/dist/threadline/ThreadlineMCPServer.js.map +1 -1
  167. package/dist/threadline/ThreadlineMcpHttpService.d.ts.map +1 -1
  168. package/dist/threadline/ThreadlineMcpHttpService.js +12 -1
  169. package/dist/threadline/ThreadlineMcpHttpService.js.map +1 -1
  170. package/dist/threadline/ThreadlineRouter.d.ts +17 -1
  171. package/dist/threadline/ThreadlineRouter.d.ts.map +1 -1
  172. package/dist/threadline/ThreadlineRouter.js +22 -2
  173. package/dist/threadline/ThreadlineRouter.js.map +1 -1
  174. package/dist/threadline/TopicLinkageHandler.d.ts +9 -0
  175. package/dist/threadline/TopicLinkageHandler.d.ts.map +1 -1
  176. package/dist/threadline/TopicLinkageHandler.js +13 -2
  177. package/dist/threadline/TopicLinkageHandler.js.map +1 -1
  178. package/dist/threadline/agentRelayStatus.d.ts +28 -0
  179. package/dist/threadline/agentRelayStatus.d.ts.map +1 -0
  180. package/dist/threadline/agentRelayStatus.js +66 -0
  181. package/dist/threadline/agentRelayStatus.js.map +1 -0
  182. package/dist/threadline/autoAck.d.ts +37 -21
  183. package/dist/threadline/autoAck.d.ts.map +1 -1
  184. package/dist/threadline/autoAck.js +34 -19
  185. package/dist/threadline/autoAck.js.map +1 -1
  186. package/dist/threadline/client/MessageEncryptor.d.ts +5 -0
  187. package/dist/threadline/client/MessageEncryptor.d.ts.map +1 -1
  188. package/dist/threadline/client/MessageEncryptor.js.map +1 -1
  189. package/dist/threadline/client/ThreadlineClient.d.ts +26 -0
  190. package/dist/threadline/client/ThreadlineClient.d.ts.map +1 -1
  191. package/dist/threadline/client/ThreadlineClient.js +70 -4
  192. package/dist/threadline/client/ThreadlineClient.js.map +1 -1
  193. package/dist/threadline/inboundIdLedgerWiring.d.ts.map +1 -1
  194. package/dist/threadline/inboundIdLedgerWiring.js +4 -1
  195. package/dist/threadline/inboundIdLedgerWiring.js.map +1 -1
  196. package/dist/threadline/mcp-http-client.d.ts +11 -0
  197. package/dist/threadline/mcp-http-client.d.ts.map +1 -1
  198. package/dist/threadline/mcp-http-client.js +50 -19
  199. package/dist/threadline/mcp-http-client.js.map +1 -1
  200. package/dist/threadline/mcp-stdio-entry.js +12 -1
  201. package/dist/threadline/mcp-stdio-entry.js.map +1 -1
  202. package/dist/threadline/relayForward.d.ts.map +1 -1
  203. package/dist/threadline/relayForward.js +3 -1
  204. package/dist/threadline/relayForward.js.map +1 -1
  205. package/dist/threadline/requiredAck.d.ts +64 -0
  206. package/dist/threadline/requiredAck.d.ts.map +1 -0
  207. package/dist/threadline/requiredAck.js +117 -0
  208. package/dist/threadline/requiredAck.js.map +1 -0
  209. package/dist/threadline/requiredAckService.d.ts +223 -0
  210. package/dist/threadline/requiredAckService.d.ts.map +1 -0
  211. package/dist/threadline/requiredAckService.js +565 -0
  212. package/dist/threadline/requiredAckService.js.map +1 -0
  213. package/dist/threadline/requiredAckStore.d.ts +149 -0
  214. package/dist/threadline/requiredAckStore.d.ts.map +1 -0
  215. package/dist/threadline/requiredAckStore.js +283 -0
  216. package/dist/threadline/requiredAckStore.js.map +1 -0
  217. package/dist/tunnel/TunnelManager.d.ts.map +1 -1
  218. package/dist/tunnel/TunnelManager.js +3 -0
  219. package/dist/tunnel/TunnelManager.js.map +1 -1
  220. package/dist/users/MemoryAudience.d.ts +2 -0
  221. package/dist/users/MemoryAudience.d.ts.map +1 -1
  222. package/dist/users/MemoryAudience.js +5 -0
  223. package/dist/users/MemoryAudience.js.map +1 -1
  224. package/dist/users/MemoryInboundTracker.d.ts +16 -0
  225. package/dist/users/MemoryInboundTracker.d.ts.map +1 -1
  226. package/dist/users/MemoryInboundTracker.js +36 -0
  227. package/dist/users/MemoryInboundTracker.js.map +1 -1
  228. package/dist/users/MemoryPrivacy.d.ts +7 -0
  229. package/dist/users/MemoryPrivacy.d.ts.map +1 -1
  230. package/dist/users/MemoryPrivacy.js +15 -0
  231. package/dist/users/MemoryPrivacy.js.map +1 -1
  232. package/dist/users/MemoryPrivacyRecovery.d.ts +65 -0
  233. package/dist/users/MemoryPrivacyRecovery.d.ts.map +1 -0
  234. package/dist/users/MemoryPrivacyRecovery.js +124 -0
  235. package/dist/users/MemoryPrivacyRecovery.js.map +1 -0
  236. package/dist/users/wireMemoryPrivacy.d.ts +6 -0
  237. package/dist/users/wireMemoryPrivacy.d.ts.map +1 -1
  238. package/dist/users/wireMemoryPrivacy.js +74 -22
  239. package/dist/users/wireMemoryPrivacy.js.map +1 -1
  240. package/package.json +1 -1
  241. package/scripts/lint-machine-local-justification.js +12 -0
  242. package/skills/instar-dev/templates/side-effects-artifact.md +6 -0
  243. package/src/data/builtin-manifest.json +67 -67
  244. package/src/data/feature-ladders.json +1 -0
  245. package/src/data/standards-guard-index.json +2 -2
  246. package/src/data/standards-guard-index.meta.json +3 -3
  247. package/src/data/standards-registry.md +12 -2
  248. package/src/data/standards-registry.meta.json +3 -3
  249. package/src/scaffold/templates.ts +14 -4
  250. package/src/templates/scripts/slack-reply.sh +7 -0
  251. package/upgrades/1.3.1661.md +77 -0
  252. package/upgrades/1.3.1662.md +65 -0
  253. package/upgrades/cloud-key-recovery-reply.eli16.md +19 -0
  254. package/upgrades/side-effects/a2a-required-acknowledgment.md +130 -0
  255. package/upgrades/side-effects/agent-health-quiet-default.md +74 -0
  256. package/upgrades/side-effects/cloud-key-recovery-reply.md +133 -0
  257. package/upgrades/side-effects/desktop-locked-proof-fixes.md +110 -0
  258. package/upgrades/side-effects/feedback-changeset-byte-cap-calibration.md +60 -0
  259. package/upgrades/side-effects/lease-poll-boot-hold.md +48 -0
  260. package/upgrades/side-effects/memory-privacy-linux-replies.md +109 -0
  261. package/upgrades/side-effects/memory-privacy-owner-recovery.md +86 -0
  262. package/upgrades/side-effects/person-decides-counterpart.md +62 -0
  263. package/upgrades/side-effects/recommended-services-proof-fixes.md +65 -0
  264. package/upgrades/side-effects/standby-telegram-replies.md +53 -0
  265. package/upgrades/side-effects/whole-agent-threadline-status.md +49 -0
@@ -46,6 +46,8 @@ body.desktop-live #localCursor{display:block}
46
46
  #lockedPassword[hidden],#leaveUnlockedButton[hidden]{display:none}
47
47
  #lockedPassword input{width:100%;font-size:16px;padding:.55rem}
48
48
  #lockedPassword p{margin:0;font-size:.8rem}
49
+ #lockedPasswordReason{position:absolute;z-index:8;left:max(.5rem,env(safe-area-inset-left));right:max(.5rem,env(safe-area-inset-right));top:max(.5rem,env(safe-area-inset-top));margin:0;padding:.6rem;background:#111827f2;border:1px solid #64748b;border-radius:10px;color:#f1f5f9;font-size:.85rem;pointer-events:none}
50
+ #lockedPasswordReason[hidden]{display:none}
49
51
  #leaveUnlockedButton{position:absolute;z-index:8;right:max(.5rem,env(safe-area-inset-right));bottom:4rem;padding:.55rem .8rem}
50
52
  #lockedCard{margin-top:.8rem}
51
53
  #lockedCard[hidden]{display:none}
@@ -95,6 +95,7 @@
95
95
  <button type="submit">Unlock</button>
96
96
  <p>The machine serving this page and the tunnel provider can read what you type here. The Instar app is safer.</p>
97
97
  </form>
98
+ <p id="lockedPasswordReason" role="status" hidden></p>
98
99
  <button id="leaveUnlockedButton" type="button" hidden>Leave unlocked</button>
99
100
  <div id="keyboardBar" hidden>
100
101
  <label class="type-label" for="typeText">Type on remote desktop</label>
@@ -415,11 +415,19 @@ let controlSequence = 0n;
415
415
  let lockedSealKey = '';
416
416
  let lockedScreenState = '';
417
417
  let lockedBoxAllowed = false;
418
+ let lockedBoxRefusal = '';
418
419
  let secretSequence = 0;
419
420
  function syncLockedPassword() {
420
- const show = lockedBoxAllowed && lockedScreenState === 'locked-in-session' && !!lockedSealKey;
421
+ const locked = lockedScreenState === 'locked-in-session';
422
+ const show = lockedBoxAllowed && !lockedBoxRefusal && locked && !!lockedSealKey;
421
423
  $('lockedPassword').hidden = !show;
422
424
  if (!show) $('lockedPasswordInput').value = '';
425
+ // A locked Mac whose box cannot work says why, rather than showing nothing.
426
+ const reason = $('lockedPasswordReason');
427
+ if (reason) {
428
+ reason.hidden = !(locked && lockedBoxRefusal);
429
+ reason.textContent = locked && lockedBoxRefusal ? lockedMessage(lockedBoxRefusal) : '';
430
+ }
423
431
  }
424
432
  function lockedMessage(reason) {
425
433
  return { 'relock-pending': 'This Mac is finishing a relock. Try again in a couple of minutes.',
@@ -428,7 +436,30 @@ function lockedMessage(reason) {
428
436
  aborted: 'Stopped before the password finished. Type it again.',
429
437
  'field-dirty': 'Clearing the password field. Try again in a moment.',
430
438
  'browser-box-off': 'Password entry from a browser is off for this Mac.',
431
- 'tunnel-not-first-tier': 'Password entry is off while the backup connection is in use.' }[reason]
439
+ 'tunnel-not-first-tier': 'Password entry is off while the backup connection is in use.',
440
+ 'tunnel-not-active': 'Password entry from a browser is off until this Mac\'s secure tunnel is up. This page updates when it is.',
441
+ 'retained-helper-required': 'Password entry needs Instar\'s kept desktop helper on this Mac, and this install does not have one.',
442
+ 'own-input-grant-required': 'Password entry needs macOS Accessibility permission for Instar\'s own desktop helper on this Mac.',
443
+ 'unsupported-macos': 'Password entry is not available on this Mac\'s macOS version.',
444
+ 'helper-unprobed': 'This Mac\'s desktop helper has not answered yet, so password entry is not ready.',
445
+ 'shield-not-confirmed': 'This Mac\'s lock screen is not ready for a password right now. Wake the screen and try again.',
446
+ 'not-at-the-lock-screen': 'This Mac is not at its lock screen, so the password was not typed.',
447
+ 'not-locked': 'This Mac is not locked, so there is nothing to unlock.',
448
+ 'not-available': 'Password entry is not available in this session.',
449
+ 'grant-ended': 'This remote session has ended. Start a new one to try again.',
450
+ 'repeat': 'That password was already sent. Type it again to retry.',
451
+ 'too-long': 'That password is too long to type here.',
452
+ 'character-not-typable': 'That password has a character this Mac\'s keyboard layout cannot type from here.',
453
+ 'state-unavailable': 'This Mac could not read its relock record. Try again in a moment.',
454
+ 'relock-not-owed': 'This Mac is not ready for a password in this session. Start a new session.',
455
+ relocking: 'This Mac is relocking now. Try again in a couple of minutes.',
456
+ 'relock-pending-unconfirmed': 'This Mac is finishing a relock. Try again in a couple of minutes.',
457
+ 'relock-failed': 'This Mac could not confirm its last relock. Check it before trying again.',
458
+ 'relock-failed-producer-alive': 'This Mac could not confirm its last relock. Check it before trying again.',
459
+ 'guard-not-alive': 'This Mac\'s relock guard is not running, so password entry is paused. Try again shortly.',
460
+ disabled: 'Locked-screen access is turned off on this Mac.',
461
+ busy: 'This Mac is busy with another password. Try again in a moment.',
462
+ 'state-unknown': 'This Mac\'s lock state is unclear right now. Try again in a moment.' }[reason]
432
463
  ?? 'This Mac did not accept that. Try again.';
433
464
  }
434
465
  async function receiveControl(record) {
@@ -440,7 +471,11 @@ async function receiveControl(record) {
440
471
  controlSequence = sequence;
441
472
  const value = JSON.parse(new TextDecoder().decode(plain));
442
473
  if (value.type === 'seal') lockedSealKey = value.key;
443
- if (value.type === 'state') { lockedScreenState = value.state; lockedBoxAllowed = value.box === true; }
474
+ if (value.type === 'state') {
475
+ lockedScreenState = value.state;
476
+ lockedBoxAllowed = value.box === true;
477
+ lockedBoxRefusal = typeof value.boxRefusal === 'string' ? value.boxRefusal : '';
478
+ }
444
479
  if (value.type === 'secret-result' && value.refused) status(lockedMessage(value.refused));
445
480
  if (value.type === 'secret-result' && value.sent) { $('leaveUnlockedButton').hidden = false; }
446
481
  if (value.type === 'relock') status(value.phase === 'left-unlocked' ? 'This Mac will stay unlocked.' : 'Relocking has begun.');
@@ -934,6 +969,7 @@ async function openStream(result, resume = null) {
934
969
  socket.binaryType = 'arraybuffer';
935
970
  controlSequence = 0n;
936
971
  lockedSealKey = '';
972
+ lockedBoxRefusal = '';
937
973
  secretSequence = 0;
938
974
  syncLockedPassword();
939
975
  return new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAmIA,OAAO,EAAE,cAAc,EAAwD,MAAM,2BAA2B,CAAC;AAgBjH,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AA6BjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAgK7D,OAAO,KAAK,EAAW,oBAAoB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA4GtD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC1C,OAAO,CAUT;AA4ID,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA+DD,+EAA+E;AAC/E,wBAAgB,qCAAqC,CACnD,SAAS,EAAE,IAAI,CAAC,OAAO,2BAA2B,EAAE,cAAc,EAAE,QAAQ,CAAC,GAAG,IAAI,EACpF,OAAO,EAAE,MAAM,GACd,IAAI,CAEN;AAinBD,wBAAsB,oBAAoB,CACxC,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,eAAe,EACzB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,kBAAkB,CAAC,EAAE,MAAM;AAC3B;;qCAEqC;AACrC,WAAW,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE;AACzD;;wEAEwE;AACxE,SAAS,CAAC,EAAE;IACV,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;sEAGkE;IAClE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;4BAIwB;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GACA,OAAO,CAAC,MAAM,CAAC,CAoajB;AA8xBD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,oBAAoB,GAAG,IAAI,GACxC;IACD,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,CAqBA;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,cAAc,EAC9B,YAAY,CAAC,EAAE,YAAY,EAC3B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,EAGvE,UAAU,CAAC,EAAE,MAAM,OAAO,8BAA8B,EAAE,WAAW,GAAG,IAAI,EAK5E,qBAAqB,CAAC,EAAE,MAAM,OAAO,gCAAgC,EAAE,kBAAkB,GAAG,IAAI,EAKhG,mBAAmB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,EAQrD,oBAAoB,CAAC,EAAE,MAAM;IAC3B,YAAY,EAAE,OAAO,kBAAkB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACrE,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,GACP,IAAI,CAm6BN;AA+sBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA693BtE;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuDzE;AA+BD,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkE5E"}