instar 1.3.1664 → 1.3.1665

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 (184) hide show
  1. package/dist/commands/postDriveTranscriptAudit.d.ts.map +1 -1
  2. package/dist/commands/postDriveTranscriptAudit.js +3 -2
  3. package/dist/commands/postDriveTranscriptAudit.js.map +1 -1
  4. package/dist/commands/server.d.ts.map +1 -1
  5. package/dist/commands/server.js +56 -30
  6. package/dist/commands/server.js.map +1 -1
  7. package/dist/core/BetweenWindowAdmissionGate.d.ts.map +1 -1
  8. package/dist/core/BetweenWindowAdmissionGate.js +3 -2
  9. package/dist/core/BetweenWindowAdmissionGate.js.map +1 -1
  10. package/dist/core/DirectDesktopAccess.d.ts.map +1 -1
  11. package/dist/core/DirectDesktopAccess.js +2 -1
  12. package/dist/core/DirectDesktopAccess.js.map +1 -1
  13. package/dist/core/LiveTailSource.d.ts.map +1 -1
  14. package/dist/core/LiveTailSource.js +5 -48
  15. package/dist/core/LiveTailSource.js.map +1 -1
  16. package/dist/core/MeshRpc.d.ts +4 -0
  17. package/dist/core/MeshRpc.d.ts.map +1 -1
  18. package/dist/core/MeshRpc.js +4 -0
  19. package/dist/core/MeshRpc.js.map +1 -1
  20. package/dist/core/OwnershipApplier.d.ts.map +1 -1
  21. package/dist/core/OwnershipApplier.js +5 -4
  22. package/dist/core/OwnershipApplier.js.map +1 -1
  23. package/dist/core/OwnershipReconciler.d.ts.map +1 -1
  24. package/dist/core/OwnershipReconciler.js +5 -4
  25. package/dist/core/OwnershipReconciler.js.map +1 -1
  26. package/dist/core/PostUpdateMigrator.d.ts +6 -0
  27. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  28. package/dist/core/PostUpdateMigrator.js +25 -0
  29. package/dist/core/PostUpdateMigrator.js.map +1 -1
  30. package/dist/core/PrHandLease.d.ts.map +1 -1
  31. package/dist/core/PrHandLease.js +2 -1
  32. package/dist/core/PrHandLease.js.map +1 -1
  33. package/dist/core/ScopeVerifier.d.ts.map +1 -1
  34. package/dist/core/ScopeVerifier.js +4 -3
  35. package/dist/core/ScopeVerifier.js.map +1 -1
  36. package/dist/core/SeamlessOrchestratorEngine.d.ts.map +1 -1
  37. package/dist/core/SeamlessOrchestratorEngine.js +3 -31
  38. package/dist/core/SeamlessOrchestratorEngine.js.map +1 -1
  39. package/dist/core/SessionDrainRunner.d.ts.map +1 -1
  40. package/dist/core/SessionDrainRunner.js +4 -3
  41. package/dist/core/SessionDrainRunner.js.map +1 -1
  42. package/dist/core/SessionManager.d.ts.map +1 -1
  43. package/dist/core/SessionManager.js +11 -10
  44. package/dist/core/SessionManager.js.map +1 -1
  45. package/dist/core/SessionRouter.d.ts +14 -0
  46. package/dist/core/SessionRouter.d.ts.map +1 -1
  47. package/dist/core/SessionRouter.js +42 -1
  48. package/dist/core/SessionRouter.js.map +1 -1
  49. package/dist/core/StaleOwnerReleaseEngine.d.ts.map +1 -1
  50. package/dist/core/StaleOwnerReleaseEngine.js +2 -1
  51. package/dist/core/StaleOwnerReleaseEngine.js.map +1 -1
  52. package/dist/core/TelegramLiveSender.d.ts.map +1 -1
  53. package/dist/core/TelegramLiveSender.js +3 -2
  54. package/dist/core/TelegramLiveSender.js.map +1 -1
  55. package/dist/core/TelegramSpendTopicChannel.d.ts.map +1 -1
  56. package/dist/core/TelegramSpendTopicChannel.js +2 -1
  57. package/dist/core/TelegramSpendTopicChannel.js.map +1 -1
  58. package/dist/core/TopicProfileOrchestrator.d.ts.map +1 -1
  59. package/dist/core/TopicProfileOrchestrator.js +2 -1
  60. package/dist/core/TopicProfileOrchestrator.js.map +1 -1
  61. package/dist/core/TopicProfileStore.d.ts.map +1 -1
  62. package/dist/core/TopicProfileStore.js +2 -1
  63. package/dist/core/TopicProfileStore.js.map +1 -1
  64. package/dist/core/TopicProfileTransferCarrier.d.ts.map +1 -1
  65. package/dist/core/TopicProfileTransferCarrier.js +2 -1
  66. package/dist/core/TopicProfileTransferCarrier.js.map +1 -1
  67. package/dist/core/conversationBindGate.d.ts +0 -21
  68. package/dist/core/conversationBindGate.d.ts.map +1 -1
  69. package/dist/core/conversationBindGate.js +23 -1
  70. package/dist/core/conversationBindGate.js.map +1 -1
  71. package/dist/core/topicHistoryPull.d.ts +50 -0
  72. package/dist/core/topicHistoryPull.d.ts.map +1 -0
  73. package/dist/core/topicHistoryPull.js +87 -0
  74. package/dist/core/topicHistoryPull.js.map +1 -0
  75. package/dist/data/standards-guard-index.json +1 -1
  76. package/dist/data/standards-guard-index.meta.json +2 -2
  77. package/dist/data/standards-registry.meta.json +1 -1
  78. package/dist/memory/TopicSummarizer.d.ts.map +1 -1
  79. package/dist/memory/TopicSummarizer.js +3 -2
  80. package/dist/memory/TopicSummarizer.js.map +1 -1
  81. package/dist/messaging/ColdStartFallbackReply.d.ts.map +1 -1
  82. package/dist/messaging/ColdStartFallbackReply.js +3 -25
  83. package/dist/messaging/ColdStartFallbackReply.js.map +1 -1
  84. package/dist/messaging/NotificationBatcher.d.ts.map +1 -1
  85. package/dist/messaging/NotificationBatcher.js +2 -1
  86. package/dist/messaging/NotificationBatcher.js.map +1 -1
  87. package/dist/messaging/OutboundAdvisory.d.ts.map +1 -1
  88. package/dist/messaging/OutboundAdvisory.js +3 -2
  89. package/dist/messaging/OutboundAdvisory.js.map +1 -1
  90. package/dist/messaging/TelegramAdapter.d.ts.map +1 -1
  91. package/dist/messaging/TelegramAdapter.js +3 -2
  92. package/dist/messaging/TelegramAdapter.js.map +1 -1
  93. package/dist/messaging/shared/topicRef.d.ts +42 -0
  94. package/dist/messaging/shared/topicRef.d.ts.map +1 -0
  95. package/dist/messaging/shared/topicRef.js +82 -0
  96. package/dist/messaging/shared/topicRef.js.map +1 -0
  97. package/dist/messaging/telegram-origin/OriginForwardToHolder.d.ts.map +1 -1
  98. package/dist/messaging/telegram-origin/OriginForwardToHolder.js +4 -3
  99. package/dist/messaging/telegram-origin/OriginForwardToHolder.js.map +1 -1
  100. package/dist/messaging/telegram-origin/OriginLegacy.js +1 -1
  101. package/dist/messaging/telegram-origin/OriginLegacy.js.map +1 -1
  102. package/dist/messaging/telegramTopicSpace.d.ts.map +1 -1
  103. package/dist/messaging/telegramTopicSpace.js +2 -1
  104. package/dist/messaging/telegramTopicSpace.js.map +1 -1
  105. package/dist/monitoring/AutonomousLivenessReconciler.d.ts.map +1 -1
  106. package/dist/monitoring/AutonomousLivenessReconciler.js +9 -41
  107. package/dist/monitoring/AutonomousLivenessReconciler.js.map +1 -1
  108. package/dist/monitoring/PromiseBeacon.d.ts.map +1 -1
  109. package/dist/monitoring/PromiseBeacon.js +3 -2
  110. package/dist/monitoring/PromiseBeacon.js.map +1 -1
  111. package/dist/monitoring/ReapNoticeDrain.d.ts.map +1 -1
  112. package/dist/monitoring/ReapNoticeDrain.js +2 -1
  113. package/dist/monitoring/ReapNoticeDrain.js.map +1 -1
  114. package/dist/monitoring/ReapNotifier.d.ts.map +1 -1
  115. package/dist/monitoring/ReapNotifier.js +3 -2
  116. package/dist/monitoring/ReapNotifier.js.map +1 -1
  117. package/dist/monitoring/SessionReaper.d.ts.map +1 -1
  118. package/dist/monitoring/SessionReaper.js +13 -12
  119. package/dist/monitoring/SessionReaper.js.map +1 -1
  120. package/dist/monitoring/SessionRecovery.d.ts.map +1 -1
  121. package/dist/monitoring/SessionRecovery.js +4 -3
  122. package/dist/monitoring/SessionRecovery.js.map +1 -1
  123. package/dist/monitoring/TopicReachabilityVerifier.d.ts.map +1 -1
  124. package/dist/monitoring/TopicReachabilityVerifier.js +2 -20
  125. package/dist/monitoring/TopicReachabilityVerifier.js.map +1 -1
  126. package/dist/monitoring/machineMaintenance/WorkYieldRegistry.d.ts +0 -15
  127. package/dist/monitoring/machineMaintenance/WorkYieldRegistry.d.ts.map +1 -1
  128. package/dist/monitoring/machineMaintenance/WorkYieldRegistry.js +3 -2
  129. package/dist/monitoring/machineMaintenance/WorkYieldRegistry.js.map +1 -1
  130. package/dist/monitoring/sentinelWiring.d.ts.map +1 -1
  131. package/dist/monitoring/sentinelWiring.js +2 -1
  132. package/dist/monitoring/sentinelWiring.js.map +1 -1
  133. package/dist/native/InstarWedgeCanary.app/Contents/MacOS/InstarWedgeCanary +0 -0
  134. package/dist/native/instar-desktop-host +0 -0
  135. package/dist/scheduler/MentorAutonomousGuardian.d.ts.map +1 -1
  136. package/dist/scheduler/MentorAutonomousGuardian.js +3 -30
  137. package/dist/scheduler/MentorAutonomousGuardian.js.map +1 -1
  138. package/dist/server/AgentServer.d.ts.map +1 -1
  139. package/dist/server/AgentServer.js +2 -1
  140. package/dist/server/AgentServer.js.map +1 -1
  141. package/dist/server/CapabilityIndex.d.ts.map +1 -1
  142. package/dist/server/CapabilityIndex.js +10 -0
  143. package/dist/server/CapabilityIndex.js.map +1 -1
  144. package/dist/server/mobilePairingRoutes.d.ts.map +1 -1
  145. package/dist/server/mobilePairingRoutes.js +4 -0
  146. package/dist/server/mobilePairingRoutes.js.map +1 -1
  147. package/dist/server/mobileProposalsInsideRoutes.d.ts +155 -0
  148. package/dist/server/mobileProposalsInsideRoutes.d.ts.map +1 -0
  149. package/dist/server/mobileProposalsInsideRoutes.js +626 -0
  150. package/dist/server/mobileProposalsInsideRoutes.js.map +1 -0
  151. package/dist/server/routes/remediation-proposals.d.ts +1 -0
  152. package/dist/server/routes/remediation-proposals.d.ts.map +1 -1
  153. package/dist/server/routes/remediation-proposals.js +1 -1
  154. package/dist/server/routes/remediation-proposals.js.map +1 -1
  155. package/dist/server/routes.d.ts.map +1 -1
  156. package/dist/server/routes.js +68 -42
  157. package/dist/server/routes.js.map +1 -1
  158. package/dist/threadline/HubIntentClassifier.d.ts.map +1 -1
  159. package/dist/threadline/HubIntentClassifier.js +2 -1
  160. package/dist/threadline/HubIntentClassifier.js.map +1 -1
  161. package/dist/threadline/PairingInviteTelegram.d.ts.map +1 -1
  162. package/dist/threadline/PairingInviteTelegram.js +2 -1
  163. package/dist/threadline/PairingInviteTelegram.js.map +1 -1
  164. package/dist/threadline/ThreadlineRouter.d.ts.map +1 -1
  165. package/dist/threadline/ThreadlineRouter.js +6 -2
  166. package/dist/threadline/ThreadlineRouter.js.map +1 -1
  167. package/dist/threadline/TopicLinkageHandler.d.ts.map +1 -1
  168. package/dist/threadline/TopicLinkageHandler.js +8 -3
  169. package/dist/threadline/TopicLinkageHandler.js.map +1 -1
  170. package/dist/threadline/hubCommands.d.ts.map +1 -1
  171. package/dist/threadline/hubCommands.js +2 -1
  172. package/dist/threadline/hubCommands.js.map +1 -1
  173. package/dist/types/pipeline.d.ts.map +1 -1
  174. package/dist/types/pipeline.js +6 -1
  175. package/dist/types/pipeline.js.map +1 -1
  176. package/package.json +1 -1
  177. package/src/data/builtin-manifest.json +65 -65
  178. package/src/data/standards-guard-index.json +1 -1
  179. package/src/data/standards-guard-index.meta.json +2 -2
  180. package/src/data/standards-registry.meta.json +1 -1
  181. package/upgrades/1.3.1665.md +36 -0
  182. package/upgrades/side-effects/mobile-native-proposals-inside.md +57 -0
  183. package/upgrades/side-effects/session-pool-keep-and-recall.md +49 -0
  184. package/upgrades/side-effects/topic-name-beside-id.md +152 -0
@@ -75,6 +75,7 @@ import { AgeKillBackoff } from './AgeKillBackoff.js';
75
75
  import { governor, consumeAdmissionToken } from '../monitoring/selfaction/governor.js';
76
76
  import { VetoedKillBackoff, normalizeReasonKey, IDLE_ZOMBIE_ESCALATION_REASONS } from './VetoedKillBackoff.js';
77
77
  import { ensureAgentOwnedMemory, defaultClaudeConfigHome } from './AgentOwnedMemory.js';
78
+ import { topicRef } from '../messaging/shared/topicRef.js';
78
79
  import { CLAUDE_MCP_TOOL_TIMEOUT_ENV_FLAGS, } from './threadlineMcpSpawn.js';
79
80
  /* @self-action-controller: age-kill-backoff */
80
81
  // Unified self-action backpressure (Increment B, OBSERVE-ONLY): the age-limit
@@ -1698,7 +1699,7 @@ rm() { "${shimRunner}" rm "$@"; }
1698
1699
  session,
1699
1700
  topicId,
1700
1701
  reasonKey,
1701
- message: `Session "${session.name}" on topic ${topicId ?? 'n/a'} is permanently vetoed from idle-zombie cleanup (reason: ${reasonKey}) — likely a stuck open-commitment or a resume-loop; investigate.`,
1702
+ message: `Session "${session.name}" on ${topicId != null ? topicRef(topicId) : 'no topic'} is permanently vetoed from idle-zombie cleanup (reason: ${reasonKey}) — likely a stuck open-commitment or a resume-loop; investigate.`,
1702
1703
  });
1703
1704
  }
1704
1705
  }
@@ -2763,7 +2764,7 @@ rm() { "${shimRunner}" rm "$@"; }
2763
2764
  : matches[0];
2764
2765
  return {
2765
2766
  topicId,
2766
- topicName: topicToName[String(topicId)] || `Topic ${topicId}`,
2767
+ topicName: topicToName[String(topicId)] || topicRef(topicId),
2767
2768
  channel: 'telegram', // Currently only Telegram uses the registry
2768
2769
  sessionName: tmuxSession,
2769
2770
  };
@@ -2889,7 +2890,7 @@ rm() { "${shimRunner}" rm "$@"; }
2889
2890
  // Check if this session had a pending Telegram injection that never got a response
2890
2891
  const pendingInjection = this.pendingInjections.get(session.tmuxSession);
2891
2892
  if (pendingInjection) {
2892
- console.warn(`[SessionManager] Session "${session.name}" died with unanswered Telegram injection for topic ${pendingInjection.topicId} (injected ${Math.round((Date.now() - pendingInjection.injectedAt) / 1000)}s ago)`);
2893
+ console.warn(`[SessionManager] Session "${session.name}" died with unanswered Telegram injection for ${topicRef(pendingInjection.topicId)} (injected ${Math.round((Date.now() - pendingInjection.injectedAt) / 1000)}s ago)`);
2893
2894
  this.pendingInjections.delete(session.tmuxSession);
2894
2895
  this.emit('injectionDropped', {
2895
2896
  topicId: pendingInjection.topicId,
@@ -3152,7 +3153,7 @@ rm() { "${shimRunner}" rm "$@"; }
3152
3153
  // Check for unanswered injection before timeout kill
3153
3154
  const pendingInjection = this.pendingInjections.get(session.tmuxSession);
3154
3155
  if (pendingInjection) {
3155
- console.warn(`[SessionManager] Timed-out session "${session.name}" had unanswered injection for topic ${pendingInjection.topicId}`);
3156
+ console.warn(`[SessionManager] Timed-out session "${session.name}" had unanswered injection for ${topicRef(pendingInjection.topicId)}`);
3156
3157
  this.pendingInjections.delete(session.tmuxSession);
3157
3158
  this.emit('injectionDropped', {
3158
3159
  topicId: pendingInjection.topicId,
@@ -3421,7 +3422,7 @@ rm() { "${shimRunner}" rm "$@"; }
3421
3422
  // Check for unanswered injection before killing
3422
3423
  const pendingInjection = this.pendingInjections.get(session.tmuxSession);
3423
3424
  if (pendingInjection) {
3424
- console.warn(`[SessionManager] Zombie session "${session.name}" had unanswered injection for topic ${pendingInjection.topicId}`);
3425
+ console.warn(`[SessionManager] Zombie session "${session.name}" had unanswered injection for ${topicRef(pendingInjection.topicId)}`);
3425
3426
  this.pendingInjections.delete(session.tmuxSession);
3426
3427
  this.emit('injectionDropped', {
3427
3428
  topicId: pendingInjection.topicId,
@@ -3737,7 +3738,7 @@ rm() { "${shimRunner}" rm "$@"; }
3737
3738
  }
3738
3739
  catch (err) {
3739
3740
  if (err && err.code === 'LOCK_HELD') {
3740
- throw new Error(`Cannot spawn session for topic ${options.topicId}: lock held by ${JSON.stringify(err.holder)}`);
3741
+ throw new Error(`Cannot spawn session for ${topicRef(options.topicId)}: lock held by ${JSON.stringify(err.holder)}`);
3741
3742
  }
3742
3743
  throw err;
3743
3744
  }
@@ -7478,7 +7479,7 @@ rm() { "${shimRunner}" rm "$@"; }
7478
7479
  feature: 'SessionManager.recoverPendingInjects',
7479
7480
  primary: 'Re-deliver an inject orphaned by a server restart',
7480
7481
  fallback: `Pending inject for "${record.tmuxSession}" not re-delivered: ${reason}`,
7481
- reason: `Why: queued ${record.createdAt}${record.telegramTopicId !== undefined ? ` for topic ${record.telegramTopicId}` : ''}`,
7482
+ reason: `Why: queued ${record.createdAt}${record.telegramTopicId !== undefined ? ` for ${topicRef(record.telegramTopicId)}` : ''}`,
7482
7483
  impact: 'A queued initial message may not have reached its session; the bridge respawns on the next inbound message.',
7483
7484
  });
7484
7485
  },
@@ -7918,7 +7919,7 @@ rm() { "${shimRunner}" rm "$@"; }
7918
7919
  const priorAt = this.recentTelegramDeliveries.get(dedupKey);
7919
7920
  if (priorAt !== undefined) {
7920
7921
  console.warn(`[SessionManager] Suppressed duplicate Telegram delivery to "${tmuxSession}" ` +
7921
- `(topic ${topicId}, messageId ${messageId}, ${Math.round((now - priorAt) / 1000)}s after first) — ` +
7922
+ `(${topicRef(topicId)}, messageId ${messageId}, ${Math.round((now - priorAt) / 1000)}s after first) — ` +
7922
7923
  `a single user message was forwarded more than once; delivering only once.`);
7923
7924
  return true; // already delivered on the first call — success without re-injecting
7924
7925
  }
@@ -7965,7 +7966,7 @@ rm() { "${shimRunner}" rm "$@"; }
7965
7966
  // to ride here too — the observed 2026-08-20 re-deliveries were all long
7966
7967
  // messages, i.e. exactly this branch. buildInjectionTag(topicId) with a
7967
7968
  // falsy flag returns `[telegram:N]`, byte-identical to the previous literal.
7968
- const refTag = buildInjectionTag(topicId, undefined, undefined, undefined, opts?.reDelivered, opts?.signedByAgent);
7969
+ const refTag = buildInjectionTag(topicId, safeTopic, undefined, undefined, opts?.reDelivered, opts?.signedByAgent);
7969
7970
  const ref = `${refTag} [Long message saved to ${filepath} — read it to see the full message]`;
7970
7971
  return this.injectMessage(tmuxSession, ref) !== false;
7971
7972
  }
@@ -8124,7 +8125,7 @@ rm() { "${shimRunner}" rm "$@"; }
8124
8125
  if (provenance === 'mismatched-tag') {
8125
8126
  // Wrong topic — log, alert, and drop
8126
8127
  console.error(`[InputGuard] BLOCKED cross-topic injection: message bound for different topic, ` +
8127
- `session "${tmuxSession}" is bound to topic ${binding.topicId}`);
8128
+ `session "${tmuxSession}" is bound to ${topicRef(binding.topicId)}`);
8128
8129
  this.inputGuard.logSecurityEvent({
8129
8130
  event: 'input-provenance-block',
8130
8131
  session: tmuxSession,