crewly 1.20.207 → 1.20.209

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 (121) hide show
  1. package/dist/backend/backend/src/constants.d.ts +10 -0
  2. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  3. package/dist/backend/backend/src/constants.js +10 -0
  4. package/dist/backend/backend/src/constants.js.map +1 -1
  5. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
  6. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +4 -0
  7. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
  8. package/dist/backend/backend/src/controllers/session/session.controller.d.ts.map +1 -1
  9. package/dist/backend/backend/src/controllers/session/session.controller.js +2 -0
  10. package/dist/backend/backend/src/controllers/session/session.controller.js.map +1 -1
  11. package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
  12. package/dist/backend/backend/src/controllers/slack/slack.controller.js +29 -0
  13. package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
  14. package/dist/backend/backend/src/index.d.ts.map +1 -1
  15. package/dist/backend/backend/src/index.js +15 -1
  16. package/dist/backend/backend/src/index.js.map +1 -1
  17. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  18. package/dist/backend/backend/src/services/agent/agent-registration.service.js +12 -2
  19. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  20. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +9 -0
  21. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  22. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +11 -0
  23. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  24. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts +10 -0
  25. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
  26. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js +19 -0
  27. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
  28. package/dist/backend/backend/src/services/messaging/input-blocked-retry.service.d.ts +10 -0
  29. package/dist/backend/backend/src/services/messaging/input-blocked-retry.service.d.ts.map +1 -1
  30. package/dist/backend/backend/src/services/messaging/input-blocked-retry.service.js +16 -0
  31. package/dist/backend/backend/src/services/messaging/input-blocked-retry.service.js.map +1 -1
  32. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +10 -0
  33. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
  34. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js +21 -0
  35. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
  36. package/dist/backend/backend/src/services/session/input-ledger.d.ts +115 -0
  37. package/dist/backend/backend/src/services/session/input-ledger.d.ts.map +1 -0
  38. package/dist/backend/backend/src/services/session/input-ledger.js +144 -0
  39. package/dist/backend/backend/src/services/session/input-ledger.js.map +1 -0
  40. package/dist/backend/backend/src/services/session/session-command-helper.d.ts +26 -0
  41. package/dist/backend/backend/src/services/session/session-command-helper.d.ts.map +1 -1
  42. package/dist/backend/backend/src/services/session/session-command-helper.js +167 -36
  43. package/dist/backend/backend/src/services/session/session-command-helper.js.map +1 -1
  44. package/dist/backend/backend/src/services/session/tui-input-guard.d.ts +65 -0
  45. package/dist/backend/backend/src/services/session/tui-input-guard.d.ts.map +1 -1
  46. package/dist/backend/backend/src/services/session/tui-input-guard.js +118 -0
  47. package/dist/backend/backend/src/services/session/tui-input-guard.js.map +1 -1
  48. package/dist/backend/backend/src/services/slack/slack-delivery-audit.service.d.ts +156 -0
  49. package/dist/backend/backend/src/services/slack/slack-delivery-audit.service.d.ts.map +1 -0
  50. package/dist/backend/backend/src/services/slack/slack-delivery-audit.service.js +259 -0
  51. package/dist/backend/backend/src/services/slack/slack-delivery-audit.service.js.map +1 -0
  52. package/dist/backend/backend/src/services/slack/slack-initializer.d.ts.map +1 -1
  53. package/dist/backend/backend/src/services/slack/slack-initializer.js +19 -0
  54. package/dist/backend/backend/src/services/slack/slack-initializer.js.map +1 -1
  55. package/dist/backend/backend/src/services/slack/slack-instance-registry.service.d.ts +14 -1
  56. package/dist/backend/backend/src/services/slack/slack-instance-registry.service.d.ts.map +1 -1
  57. package/dist/backend/backend/src/services/slack/slack-instance-registry.service.js +13 -0
  58. package/dist/backend/backend/src/services/slack/slack-instance-registry.service.js.map +1 -1
  59. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  60. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +7 -1
  61. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  62. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +22 -1
  63. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  64. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +41 -4
  65. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  66. package/dist/backend/backend/src/types/slack.types.d.ts +48 -0
  67. package/dist/backend/backend/src/types/slack.types.d.ts.map +1 -1
  68. package/dist/backend/backend/src/types/slack.types.js.map +1 -1
  69. package/dist/backend/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
  70. package/dist/backend/backend/src/websocket/terminal.gateway.js +4 -1
  71. package/dist/backend/backend/src/websocket/terminal.gateway.js.map +1 -1
  72. package/dist/backend/build-info.json +2 -2
  73. package/dist/cli/backend/src/constants.d.ts +10 -0
  74. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  75. package/dist/cli/backend/src/constants.js +10 -0
  76. package/dist/cli/backend/src/constants.js.map +1 -1
  77. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  78. package/dist/cli/backend/src/services/agent/agent-registration.service.js +12 -2
  79. package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
  80. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts +9 -0
  81. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  82. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js +11 -0
  83. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  84. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts +10 -0
  85. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
  86. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js +19 -0
  87. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
  88. package/dist/cli/backend/src/services/messaging/input-blocked-retry.service.d.ts +10 -0
  89. package/dist/cli/backend/src/services/messaging/input-blocked-retry.service.d.ts.map +1 -1
  90. package/dist/cli/backend/src/services/messaging/input-blocked-retry.service.js +16 -0
  91. package/dist/cli/backend/src/services/messaging/input-blocked-retry.service.js.map +1 -1
  92. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +10 -0
  93. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
  94. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js +21 -0
  95. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
  96. package/dist/cli/backend/src/services/session/input-ledger.d.ts +115 -0
  97. package/dist/cli/backend/src/services/session/input-ledger.d.ts.map +1 -0
  98. package/dist/cli/backend/src/services/session/input-ledger.js +144 -0
  99. package/dist/cli/backend/src/services/session/input-ledger.js.map +1 -0
  100. package/dist/cli/backend/src/services/session/session-command-helper.d.ts +26 -0
  101. package/dist/cli/backend/src/services/session/session-command-helper.d.ts.map +1 -1
  102. package/dist/cli/backend/src/services/session/session-command-helper.js +167 -36
  103. package/dist/cli/backend/src/services/session/session-command-helper.js.map +1 -1
  104. package/dist/cli/backend/src/services/session/tui-input-guard.d.ts +65 -0
  105. package/dist/cli/backend/src/services/session/tui-input-guard.d.ts.map +1 -1
  106. package/dist/cli/backend/src/services/session/tui-input-guard.js +118 -0
  107. package/dist/cli/backend/src/services/session/tui-input-guard.js.map +1 -1
  108. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  109. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js +7 -1
  110. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  111. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +22 -1
  112. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  113. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +41 -4
  114. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  115. package/dist/cli/backend/src/types/slack.types.d.ts +48 -0
  116. package/dist/cli/backend/src/types/slack.types.d.ts.map +1 -1
  117. package/dist/cli/backend/src/types/slack.types.js.map +1 -1
  118. package/dist/cli/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
  119. package/dist/cli/backend/src/websocket/terminal.gateway.js +4 -1
  120. package/dist/cli/backend/src/websocket/terminal.gateway.js.map +1 -1
  121. package/package.json +1 -1
@@ -21,8 +21,9 @@ import { delay } from '../../utils/async.utils.js';
21
21
  import { assertNotSecretEnvKey } from '../../utils/secret-env.js';
22
22
  import { quietShellLine } from '../../utils/shell-history.js';
23
23
  import { PtyActivityTrackerService } from '../agent/pty-activity-tracker.service.js';
24
- import { classifyTuiInput, pasteShowsAs, screenShowsTurnInProgress, TuiInputGuardError } from './tui-input-guard.js';
24
+ import { attributeOwnPastes, classifyTuiInput, pasteShowsAs, screenShowsTurnInProgress, TuiInputGuardError, TuiPasteHoldError } from './tui-input-guard.js';
25
25
  import { noteHarnessWrite } from '../trace/turn-origin.js';
26
+ import { forgetInputLedger, harnessPastesSinceOutsideInput, resetInputLedgerForTesting as resetInputLedgerForTestingHook, keepHarnessPastes, keepShownMarkers, noteHarnessPaste, noteShownMarker, sessionsWithHarnessPastes, shownMarkers, } from './input-ledger.js';
26
27
  /**
27
28
  * Key code mappings for special keys
28
29
  */
@@ -109,6 +110,34 @@ export class SessionCommandHelper {
109
110
  SessionCommandHelper.ownPastes.delete(sessionName);
110
111
  SessionCommandHelper.stopWatchingIfIdle();
111
112
  }
113
+ /**
114
+ * Forget everything about a session's input: its paste record and its
115
+ * input ledger (session created or killed, runtime relaunched).
116
+ *
117
+ * @param sessionName - The session
118
+ */
119
+ static resetSessionInput(sessionName) {
120
+ SessionCommandHelper.ownPastes.delete(sessionName);
121
+ SessionCommandHelper.stuckSince.delete(sessionName);
122
+ forgetInputLedger(sessionName);
123
+ SessionCommandHelper.stopWatchingIfIdle();
124
+ }
125
+ /**
126
+ * Called with the messages our Enter just submitted from the box (a lost
127
+ * Enter, or a paste that rendered late). Wired to drop queued copies of
128
+ * them, so a held retry does not deliver them a second time.
129
+ */
130
+ static onOwnPasteSubmitted = null;
131
+ /**
132
+ * Called once when an idle agent's box has held text that is not ours
133
+ * and not provably anyone else's for STUCK_INPUT_NOTIFY_MS. Wired to the
134
+ * blocked-input notice.
135
+ */
136
+ static onStuckInput = null;
137
+ /** Per session: since when an idle agent's box held text we could not attribute, and whether it was reported */
138
+ static stuckSince = new Map();
139
+ /** The latest helper, for sessions the watcher only knows from the ledger */
140
+ static lastHelper = null;
112
141
  /**
113
142
  * Whether a paste of ours is on record for a session (tests, diagnostics).
114
143
  *
@@ -125,7 +154,10 @@ export class SessionCommandHelper {
125
154
  * @param message - What was pasted
126
155
  */
127
156
  recordOwnPaste(sessionName, message) {
128
- SessionCommandHelper.ownPastes.set(sessionName, { message, pastedAt: SessionCommandHelper.now(), helper: this });
157
+ const at = SessionCommandHelper.now();
158
+ SessionCommandHelper.ownPastes.set(sessionName, { message, pastedAt: at, helper: this });
159
+ noteHarnessPaste(sessionName, message, at);
160
+ SessionCommandHelper.lastHelper = this;
129
161
  SessionCommandHelper.startWatching();
130
162
  }
131
163
  /** Whether recording a paste starts the timed watcher (tests drive it by hand). */
@@ -141,7 +173,9 @@ export class SessionCommandHelper {
141
173
  }
142
174
  /** Stop the watcher once no paste is on record. */
143
175
  static stopWatchingIfIdle() {
144
- if (SessionCommandHelper.ownPastes.size > 0 || !SessionCommandHelper.watchTimer)
176
+ if (!SessionCommandHelper.watchTimer)
177
+ return;
178
+ if (SessionCommandHelper.ownPastes.size > 0 || sessionsWithHarnessPastes().length > 0)
145
179
  return;
146
180
  clearInterval(SessionCommandHelper.watchTimer);
147
181
  SessionCommandHelper.watchTimer = null;
@@ -155,18 +189,42 @@ export class SessionCommandHelper {
155
189
  * @returns Resolves when every session was looked at
156
190
  */
157
191
  static async watchOwnPastes() {
158
- for (const [sessionName, rec] of [...SessionCommandHelper.ownPastes]) {
192
+ const sessions = new Set([...SessionCommandHelper.ownPastes.keys(), ...sessionsWithHarnessPastes()]);
193
+ for (const sessionName of sessions) {
159
194
  if (SessionCommandHelper.inFlight.has(sessionName))
160
195
  continue;
196
+ const helper = SessionCommandHelper.ownPastes.get(sessionName)?.helper ?? SessionCommandHelper.lastHelper;
197
+ if (!helper)
198
+ continue;
161
199
  try {
162
- if (!rec.helper.backend.sessionExists(sessionName)) {
163
- SessionCommandHelper.ownPastes.delete(sessionName);
200
+ if (!helper.backend.sessionExists(sessionName)) {
201
+ SessionCommandHelper.resetSessionInput(sessionName);
202
+ continue;
203
+ }
204
+ const reading = helper.readInputBox(sessionName, '', 'recovery');
205
+ if (reading.state === 'empty' || reading.state === 'unknown') {
206
+ SessionCommandHelper.stuckSince.delete(sessionName);
207
+ continue;
208
+ }
209
+ if (!(await helper.isAgentIdle(sessionName)))
210
+ continue;
211
+ if (reading.ownPasteMarker) {
212
+ const outcome = await helper.ensureOwnPasteSubmitted(sessionName);
213
+ helper.logger.warn('Our earlier paste was still in the input box of an idle agent — pressed Enter on it once', { sessionName, outcome });
164
214
  continue;
165
215
  }
166
- const reading = rec.helper.readInputBox(sessionName, '', 'recovery');
167
- if (reading.ownPasteMarker && await rec.helper.isAgentIdle(sessionName)) {
168
- const outcome = await rec.helper.ensureOwnPasteSubmitted(sessionName);
169
- rec.helper.logger.warn('Our earlier paste was still in the input box of an idle agent — pressed Enter on it once', { sessionName, outcome });
216
+ // An idle agent's box holds text we cannot attribute to our pastes,
217
+ // though no outside input arrived since them (else the ledger would
218
+ // be empty and we would not be here). Not submitted: text the harness
219
+ // cannot prove it wrote is never submitted (2026-10-03 incident).
220
+ // Reported once if it stays.
221
+ const now = SessionCommandHelper.now();
222
+ const stuck = SessionCommandHelper.stuckSince.get(sessionName) ?? { since: now, reported: false };
223
+ SessionCommandHelper.stuckSince.set(sessionName, stuck);
224
+ if (!stuck.reported && now - stuck.since >= TUI_INPUT_GUARD.STUCK_INPUT_NOTIFY_MS) {
225
+ stuck.reported = true;
226
+ helper.logger.warn('An idle agent\'s input box has held text Crewly cannot attribute for a long time', { sessionName, inputLength: reading.text.length });
227
+ SessionCommandHelper.onStuckInput?.(sessionName, { inputLength: reading.text.length, forMs: now - stuck.since });
170
228
  }
171
229
  }
172
230
  catch {
@@ -233,6 +291,9 @@ export class SessionCommandHelper {
233
291
  constructor(backend) {
234
292
  this.logger = LoggerService.getInstance().createComponentLogger('SessionCommandHelper');
235
293
  this.backend = backend;
294
+ // Any helper can read a box (they share the one backend): the watcher
295
+ // uses the latest for sessions it only knows from the input ledger.
296
+ SessionCommandHelper.lastHelper = this;
236
297
  }
237
298
  /**
238
299
  * Get a session by name, throwing an error if it doesn't exist.
@@ -315,16 +376,45 @@ export class SessionCommandHelper {
315
376
  });
316
377
  // Step 1: the box must be readable and empty before we type.
317
378
  let before = this.readInputBox(sessionName, message, 'before-write');
379
+ // Never paste while an earlier paste of ours may still land in the box
380
+ // (pasted, not yet seen — a busy Claude Code renders it seconds late):
381
+ // two pastes in one box are one prompt nobody can take apart
382
+ // (1.20.207 Ella). When it is this very message, wait for it a while
383
+ // and submit it — that is this delivery.
384
+ const pending = SessionCommandHelper.ownPastes.get(sessionName);
385
+ if (pending && pending.shown === undefined && !before.ownPasteMarker) {
386
+ if (pending.message === message) {
387
+ const deadline = pending.pastedAt + TUI_INPUT_GUARD.PASTE_PENDING_HOLD_MS;
388
+ const maxPolls = Math.ceil(TUI_INPUT_GUARD.PASTE_PENDING_HOLD_MS / TUI_INPUT_GUARD.PASTE_RENDER_POLL_MS);
389
+ for (let i = 0; i < maxPolls && SessionCommandHelper.now() < deadline && before.state === 'empty'; i++) {
390
+ await delay(TUI_INPUT_GUARD.PASTE_RENDER_POLL_MS);
391
+ before = this.readInputBox(sessionName, message, 'before-write');
392
+ }
393
+ }
394
+ if (!before.ownPasteMarker) {
395
+ this.logger.info('Not pasting: an earlier paste of ours may still render in the input box — holding this message', {
396
+ sessionName,
397
+ pendingForMs: SessionCommandHelper.now() - pending.pastedAt,
398
+ sameMessage: pending.message === message,
399
+ });
400
+ throw new TuiPasteHoldError('pending-paste');
401
+ }
402
+ }
318
403
  if (before.ownPasteMarker) {
319
404
  // An earlier paste of ours is still in the box (its Enter was lost,
320
- // or it rendered late): submit it first. When it is this very
405
+ // or it rendered late): submit it first. When it holds this very
321
406
  // message, submitting it IS this delivery — never paste it twice.
322
- const sameMessage = SessionCommandHelper.ownPastes.get(sessionName)?.message === message;
323
- this.logger.warn('An earlier paste of ours is still in the input box — submitting it', { sessionName, sameMessage });
407
+ // Only when certain: a guessed match could be another message, and
408
+ // treating this delivery as done would lose this one.
409
+ const sameMessage = !before.ownPasteAmbiguous && (before.ownPasteMessages ?? []).includes(message);
410
+ this.logger.warn('An earlier paste of ours is still in the input box — submitting it', { sessionName, sameMessage, pastes: before.ownPasteMessages?.length ?? 1 });
324
411
  const outcome = await this.ensureOwnPasteSubmitted(sessionName);
325
412
  if (sameMessage && outcome === 'submitted')
326
413
  return;
327
- before = this.readInputBox(sessionName, message, 'before-write');
414
+ // Do not paste on top of what we just submitted: hold this message
415
+ // until the box has settled (it may still be clearing, or our Enter
416
+ // may not have taken — 1.20.207 02:12).
417
+ throw new TuiPasteHoldError('just-submitted');
328
418
  }
329
419
  if (before.state === 'ours' && !before.ownPasteMarker) {
330
420
  // Our own earlier paste of this very message: safe to clear.
@@ -410,14 +500,35 @@ export class SessionCommandHelper {
410
500
  session.write('\r');
411
501
  await delay(TUI_INPUT_GUARD.OWN_MARKER_SUBMIT_SETTLE_MS);
412
502
  const after = this.readInputBox(sessionName, '', 'recovery');
413
- // One Enter on it, whatever happened: never press Enter on that marker
414
- // again from this record.
503
+ // One Enter on it, whatever happened: never press Enter on those
504
+ // pastes again — not from the record, not from the ledger.
505
+ const messages = reading.ownPasteMessages ?? [];
415
506
  SessionCommandHelper.forgetOwnPaste(sessionName);
416
- if (after.ownPasteMarker || (after.state === 'foreign' && after.text.trim() === reading.text.trim())) {
507
+ keepHarnessPastes(sessionName, (p) => !messages.includes(p.message));
508
+ keepShownMarkers(sessionName, (m) => !messages.includes(m.message));
509
+ if (after.state !== 'empty' && after.state !== 'unknown' && after.text.trim() === reading.text.trim()) {
417
510
  this.logger.warn('Our pasted message is still in the input box after Enter — not delivered', { sessionName });
418
511
  return 'stuck';
419
512
  }
420
- this.logger.info('Submitted our own paste whose Enter had been lost', { sessionName });
513
+ this.logger.info('Submitted our own paste whose Enter had been lost', { sessionName, pastes: messages.length });
514
+ SessionCommandHelper.stuckSince.delete(sessionName);
515
+ if (messages.length > 0 && reading.ownPasteAmbiguous) {
516
+ // Which of our same-shaped pastes this was is a guess: dropping the
517
+ // wrong queued copy would lose one message and send the other twice.
518
+ // Keep the queue as it is — a possible duplicate beats a loss.
519
+ this.logger.warn('Submitted a paste of ours that matched more than one queued message by shape — leaving their queued copies (a duplicate is possible, a loss is not)', {
520
+ sessionName,
521
+ guessed: messages.length,
522
+ });
523
+ }
524
+ else if (messages.length > 0) {
525
+ try {
526
+ SessionCommandHelper.onOwnPasteSubmitted?.(sessionName, messages);
527
+ }
528
+ catch {
529
+ // The hook only tidies queued copies; delivery already happened.
530
+ }
531
+ }
421
532
  return 'submitted';
422
533
  }
423
534
  /**
@@ -426,6 +537,8 @@ export class SessionCommandHelper {
426
537
  static resetOwnPasteMarkersForTesting() {
427
538
  SessionCommandHelper.ownPastes.clear();
428
539
  SessionCommandHelper.inFlight.clear();
540
+ SessionCommandHelper.stuckSince.clear();
541
+ resetInputLedgerForTestingHook();
429
542
  SessionCommandHelper.stopWatchingIfIdle();
430
543
  }
431
544
  /**
@@ -442,7 +555,7 @@ export class SessionCommandHelper {
442
555
  async sendShellLine(sessionName, line) {
443
556
  const session = this.getSessionOrThrow(sessionName);
444
557
  // A shell line means the runtime is (re)starting in this session.
445
- SessionCommandHelper.forgetOwnPaste(sessionName);
558
+ SessionCommandHelper.resetSessionInput(sessionName);
446
559
  session.write(`\x1b[200~${line}\x1b[201~`);
447
560
  await delay(Math.min(SESSION_COMMAND_DELAYS.MESSAGE_DELAY + Math.ceil(line.length / 10), 5000));
448
561
  session.write('\r');
@@ -509,26 +622,44 @@ export class SessionCommandHelper {
509
622
  * @returns The reading, marked `ownPasteMarker` when the box shows our paste
510
623
  */
511
624
  applyOwnPaste(sessionName, reading) {
512
- const rec = SessionCommandHelper.ownPastes.get(sessionName);
513
- if (!rec || reading.state === 'unknown')
625
+ if (reading.state === 'unknown')
514
626
  return reading;
515
627
  const now = SessionCommandHelper.now();
516
- if (rec.shown !== undefined) {
517
- if (reading.ownPasteMarker) {
518
- rec.lastSeenAt = now;
519
- return reading;
628
+ if (reading.state === 'empty') {
629
+ // Nothing of ours in the box now. Pastes older than the render
630
+ // window were submitted (or lost); markers the box showed are gone.
631
+ keepHarnessPastes(sessionName, (p) => now - p.at < TUI_INPUT_GUARD.PASTE_PENDING_HOLD_MS);
632
+ keepShownMarkers(sessionName, () => false);
633
+ }
634
+ const rec = SessionCommandHelper.ownPastes.get(sessionName);
635
+ if (rec) {
636
+ if (rec.shown !== undefined) {
637
+ if (reading.ownPasteMarker) {
638
+ rec.lastSeenAt = now;
639
+ return { ...reading, ownPasteMessages: [rec.message] };
640
+ }
641
+ SessionCommandHelper.forgetOwnPaste(sessionName);
642
+ }
643
+ else if (reading.state !== 'empty') {
644
+ if (pasteShowsAs(reading.text, rec.message)) {
645
+ rec.shown = reading.text.trim();
646
+ rec.lastSeenAt = now;
647
+ if (/^\[Pasted /i.test(rec.shown))
648
+ noteShownMarker(sessionName, rec.shown, rec.message);
649
+ return { ...reading, state: 'ours', ownPasteMarker: true, ownPasteMessages: [rec.message] };
650
+ }
651
+ SessionCommandHelper.forgetOwnPaste(sessionName);
520
652
  }
521
- SessionCommandHelper.forgetOwnPaste(sessionName);
522
- return reading;
523
653
  }
524
- if (reading.state === 'empty')
525
- return reading; // not rendered yet
526
- if (pasteShowsAs(reading.text, rec.message)) {
527
- rec.shown = reading.text.trim();
528
- rec.lastSeenAt = now;
529
- return { ...reading, state: 'ours', ownPasteMarker: true };
654
+ if (reading.state === 'empty' || reading.ownPasteMarker)
655
+ return reading;
656
+ // No single recorded paste matches. The box may still be made up only
657
+ // of our pastes — several run together, or one whose record ended —
658
+ // with no outside input since (input-ledger).
659
+ const attribution = attributeOwnPastes(reading.text, harnessPastesSinceOutsideInput(sessionName).map((p) => p.message), shownMarkers(sessionName));
660
+ if (attribution) {
661
+ return { ...reading, state: 'ours', ownPasteMarker: true, ownPasteMessages: attribution.messages, ownPasteAmbiguous: attribution.ambiguous };
530
662
  }
531
- SessionCommandHelper.forgetOwnPaste(sessionName);
532
663
  return reading;
533
664
  }
534
665
  /**
@@ -740,7 +871,7 @@ export class SessionCommandHelper {
740
871
  * Kill a session
741
872
  */
742
873
  async killSession(sessionName) {
743
- SessionCommandHelper.forgetOwnPaste(sessionName);
874
+ SessionCommandHelper.resetSessionInput(sessionName);
744
875
  await this.backend.killSession(sessionName);
745
876
  this.logger.info('Session killed', { sessionName });
746
877
  }
@@ -754,7 +885,7 @@ export class SessionCommandHelper {
754
885
  */
755
886
  async createSession(sessionName, cwd, options) {
756
887
  this.logger.info('Creating session', { sessionName, cwd });
757
- SessionCommandHelper.forgetOwnPaste(sessionName);
888
+ SessionCommandHelper.resetSessionInput(sessionName);
758
889
  // Default to shell if no command specified
759
890
  const command = options?.command || process.env.SHELL || '/bin/bash';
760
891
  const session = await this.backend.createSession(sessionName, {
@@ -1 +1 @@
1
- {"version":3,"file":"session-command-helper.js","sourceRoot":"","sources":["../../../../../../backend/src/services/session/session-command-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-command-helper.js","sourceRoot":"","sources":["../../../../../../backend/src/services/session/session-command-helper.ts"],"names":[],"mappings":"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"}
@@ -72,6 +72,10 @@ export interface TuiInputReading {
72
72
  * (whatever message it was): a delivery whose Enter was lost.
73
73
  */
74
74
  ownPasteMarker?: boolean;
75
+ /** With `ownPasteMarker`: the harness messages the box holds, in order */
76
+ ownPasteMessages?: string[];
77
+ /** With `ownPasteMarker`: which messages those are is a guess (see OwnPasteAttribution.ambiguous) */
78
+ ownPasteAmbiguous?: boolean;
75
79
  }
76
80
  /** A captured screen: rows (faint text blanked) and the cursor row. */
77
81
  export interface TuiInputView {
@@ -163,6 +167,52 @@ export declare function screenShowsTurnInProgress(screen: string): boolean;
163
167
  * @returns True when the text is what that paste looks like
164
168
  */
165
169
  export declare function pasteShowsAs(text: string, message: string): boolean;
170
+ /**
171
+ * Whether input-box text is made up only of the harness's own pastes:
172
+ * runtime paste markers and/or the pasted texts, possibly several of them
173
+ * run together ("[Pasted text #2 +5 lines][Pasted text #3 +5 lines]" — a
174
+ * second paste landed on a first one that rendered late, 1.20.207 Ella).
175
+ *
176
+ * Each part must be accounted for, in order, by a distinct paste:
177
+ * - a marker that the harness saw for its own paste (`shownMarkers`, exact
178
+ * text: the runtime's counter makes it unique in the session), or
179
+ * - a marker or text with the shape of one of `pastes` — the harness's
180
+ * pastes since the last outside input, oldest first. With no outside
181
+ * input since, nothing else can have put it there.
182
+ *
183
+ * @param text - The input box text
184
+ * @param pastes - Harness paste messages since the last outside input, oldest first
185
+ * @param shownMarkers - Exact markers the box showed for harness pastes
186
+ * @returns The messages the box holds, in order, when every part of it is
187
+ * one of our pastes; null otherwise
188
+ */
189
+ export declare function boxHoldsOnlyOwnPastes(text: string, pastes: readonly string[], shownMarkers?: ReadonlyArray<{
190
+ marker: string;
191
+ message: string;
192
+ }>): string[] | null;
193
+ /** Which of our pastes a box holds (see {@link attributeOwnPastes}). */
194
+ export interface OwnPasteAttribution {
195
+ /** The messages the box holds, in order (a best guess when `ambiguous`) */
196
+ messages: string[];
197
+ /**
198
+ * A marker was matched by shape alone while another unseen paste of a
199
+ * different message has the same shape: the box is ours, but which of
200
+ * those messages it holds is a guess.
201
+ */
202
+ ambiguous: boolean;
203
+ }
204
+ /**
205
+ * {@link boxHoldsOnlyOwnPastes}, also saying whether the match is certain.
206
+ *
207
+ * @param text - The input box text
208
+ * @param pastes - Harness paste messages since the last outside input, oldest first
209
+ * @param shownMarkers - Exact markers the box showed for harness pastes
210
+ * @returns The attribution, or null when the box is not only our pastes
211
+ */
212
+ export declare function attributeOwnPastes(text: string, pastes: readonly string[], shownMarkers?: ReadonlyArray<{
213
+ marker: string;
214
+ message: string;
215
+ }>): OwnPasteAttribution | null;
166
216
  /**
167
217
  * Classify what an input box holds relative to the message the harness
168
218
  * wants to send (or has just pasted).
@@ -197,5 +247,20 @@ export declare class TuiInputGuardError extends Error {
197
247
  */
198
248
  constructor(stage: 'before-write' | 'before-submit', reading: TuiInputReading);
199
249
  }
250
+ /**
251
+ * Raised when the harness will not paste because an earlier paste of its
252
+ * own may still land in the box (pasted but not yet seen, or just
253
+ * submitted): pasting now could put two messages in one box (1.20.207
254
+ * Ella). The caller queues the message; it goes out once the box is
255
+ * settled.
256
+ */
257
+ export declare class TuiPasteHoldError extends Error {
258
+ /** Why the paste was held */
259
+ readonly reason: 'pending-paste' | 'just-submitted';
260
+ /**
261
+ * @param reason - Why the paste was held
262
+ */
263
+ constructor(reason: 'pending-paste' | 'just-submitted');
264
+ }
200
265
  export {};
201
266
  //# sourceMappingURL=tui-input-guard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tui-input-guard.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/session/tui-input-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAIH;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAErE,kDAAkD;AAClD,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,eAAe,CAAC;AAElG;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,+CAA+C;IAC/C,KAAK,EAAE,aAAa,CAAC;IACrB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,aAAa,GAAG,UAAU,CAAC;AAExE,wDAAwD;AACxD,UAAU,QAAQ;IACjB,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;CAChB;AAaD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAuC,GAAG,OAAO,CAKvG;AAwID;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,QAAQ,GAAG,IAAI,CAMnE;AAaD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD;AAWD,4EAA4E;AAC5E,MAAM,WAAW,iBAAiB;IACjC,kEAAkE;IAClE,GAAG,EAAE,OAAO,CAAC;IACb,kGAAkG;IAClG,OAAO,EAAE,OAAO,CAAC;IACjB,iEAAiE;IACjE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAmBjE;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGjE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAkBnE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC/B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,aAA6B,EACpC,SAAS,CAAC,EAAE,MAAM,GAChB,eAAe,CAkCjB;AAED;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC5C,uDAAuD;IACvD,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAAC;IAEjD;;;OAGG;gBACS,KAAK,EAAE,cAAc,GAAG,eAAe,EAAE,OAAO,EAAE,eAAe;CAU7E"}
1
+ {"version":3,"file":"tui-input-guard.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/session/tui-input-guard.ts"],"names":[],"mappings":"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"}