cueline 0.4.4 → 0.4.5
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.
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/CHANGELOG.md +28 -0
- package/README.ja.md +7 -7
- package/README.ko.md +7 -7
- package/README.md +11 -11
- package/README.zh-CN.md +7 -7
- package/README.zh-TW.md +7 -7
- package/dist/src/api-controller-handoff.js +43 -4
- package/dist/src/api-controller-handoff.js.map +1 -1
- package/dist/src/browser/browser-adapter.d.ts +4 -0
- package/dist/src/browser/codex-iab/chatgpt-client.js +64 -15
- package/dist/src/browser/codex-iab/chatgpt-client.js.map +1 -1
- package/dist/src/core/controller-loop.js +117 -11
- package/dist/src/core/controller-loop.js.map +1 -1
- package/dist/src/core/controller-turn.d.ts +1 -0
- package/dist/src/core/controller-turn.js +6 -0
- package/dist/src/core/controller-turn.js.map +1 -1
- package/dist/src/core/run-status.js +8 -0
- package/dist/src/core/run-status.js.map +1 -1
- package/dist/src/core/state-machine.d.ts +6 -0
- package/dist/src/core/state-machine.js +21 -0
- package/dist/src/core/state-machine.js.map +1 -1
- package/dist/src/core/submitted-turn-recovery.d.ts +2 -0
- package/dist/src/core/submitted-turn-recovery.js +24 -4
- package/dist/src/core/submitted-turn-recovery.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/package.json +1 -1
|
@@ -20,6 +20,7 @@ const MODEL_LABEL_READ_ATTEMPTS = 50;
|
|
|
20
20
|
const MODEL_LABEL_RETRY_INTERVAL_MS = 100;
|
|
21
21
|
const COMPOSER_READY_TIMEOUT_MS = 30_000;
|
|
22
22
|
const COMPOSER_READY_STABLE_MS = 250;
|
|
23
|
+
const SUBMISSION_ACTION_TIMEOUT_MS = 10_000;
|
|
23
24
|
const CONVERSATION_OPTIONS_SELECTOR = '[data-testid="conversation-options-button"]';
|
|
24
25
|
const ARCHIVE_PROOF_TIMEOUT_MS = 10_000;
|
|
25
26
|
function throwIfCancelled(signal) {
|
|
@@ -50,6 +51,40 @@ function delay(milliseconds, signal) {
|
|
|
50
51
|
signal?.addEventListener("abort", onAbort, { once: true });
|
|
51
52
|
});
|
|
52
53
|
}
|
|
54
|
+
function withBrowserOperationTimeout(operation, timeoutMs, signal, timeoutError) {
|
|
55
|
+
throwIfCancelled(signal);
|
|
56
|
+
return new Promise((resolve, reject) => {
|
|
57
|
+
let settled = false;
|
|
58
|
+
const cleanup = () => {
|
|
59
|
+
clearTimeout(timer);
|
|
60
|
+
signal?.removeEventListener("abort", onAbort);
|
|
61
|
+
};
|
|
62
|
+
const settle = (callback) => {
|
|
63
|
+
if (settled)
|
|
64
|
+
return;
|
|
65
|
+
settled = true;
|
|
66
|
+
cleanup();
|
|
67
|
+
callback();
|
|
68
|
+
};
|
|
69
|
+
const onAbort = () => {
|
|
70
|
+
settle(() => {
|
|
71
|
+
try {
|
|
72
|
+
throwIfCancelled(signal);
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
reject(error);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
const timer = setTimeout(() => {
|
|
80
|
+
settle(() => reject(timeoutError()));
|
|
81
|
+
}, timeoutMs);
|
|
82
|
+
signal?.addEventListener("abort", onAbort, { once: true });
|
|
83
|
+
Promise.resolve()
|
|
84
|
+
.then(operation)
|
|
85
|
+
.then((value) => settle(() => resolve(value)), (error) => settle(() => reject(error)));
|
|
86
|
+
});
|
|
87
|
+
}
|
|
53
88
|
async function findUniqueLocator(tab, role, names) {
|
|
54
89
|
for (const name of names) {
|
|
55
90
|
const locator = tab.playwright.getByRole(role, { name });
|
|
@@ -227,19 +262,21 @@ class CodexIabAdapter {
|
|
|
227
262
|
throw new CueLineError("SEND_BUTTON_MISSING", "Could not find ChatGPT's send button.");
|
|
228
263
|
}
|
|
229
264
|
async #clickSend(tab, target, baseline, input, context, hooks) {
|
|
230
|
-
const
|
|
265
|
+
const operationTimeoutMs = Math.min(SUBMISSION_ACTION_TIMEOUT_MS, this.#options.timeoutMs);
|
|
266
|
+
const previousUrl = (await withBrowserOperationTimeout(() => tab.url(), operationTimeoutMs, input.signal, () => new CueLineError("CONTROLLER_SUBMISSION_PRECLICK_TIMEOUT", `ChatGPT's pre-click URL check did not finish within ${operationTimeoutMs} ms; no send click was attempted.`))) ?? "";
|
|
267
|
+
context.stage = "submitting";
|
|
231
268
|
try {
|
|
232
269
|
if (target.kind === "locator") {
|
|
233
|
-
await target.locator.click({ timeoutMs:
|
|
270
|
+
await withBrowserOperationTimeout(() => target.locator.click({ timeoutMs: operationTimeoutMs }), operationTimeoutMs, input.signal, () => new CueLineError("CONTROLLER_SUBMISSION_CLICK_TIMEOUT", `ChatGPT's send click did not finish within ${operationTimeoutMs} ms.`));
|
|
234
271
|
}
|
|
235
272
|
else {
|
|
236
|
-
await tab.cua.click({ x: target.x, y: target.y });
|
|
273
|
+
await withBrowserOperationTimeout(() => tab.cua.click({ x: target.x, y: target.y }), operationTimeoutMs, input.signal, () => new CueLineError("CONTROLLER_SUBMISSION_CLICK_TIMEOUT", `ChatGPT's coordinate send click did not finish within ${operationTimeoutMs} ms.`));
|
|
237
274
|
await tab.playwright.waitForTimeout(100);
|
|
238
275
|
}
|
|
239
276
|
}
|
|
240
277
|
catch (error) {
|
|
241
|
-
const observed = await readPageChatState(tab).catch(() => undefined);
|
|
242
|
-
await this.#emitCheckpoint(input, tab, context, hooks, "possibly_sent", "error",
|
|
278
|
+
const observed = await withBrowserOperationTimeout(() => readPageChatState(tab), operationTimeoutMs, input.signal, () => new CueLineError("CONTROLLER_SUBMISSION_POSTCLICK_READ_TIMEOUT", `ChatGPT's post-click state check did not finish within ${operationTimeoutMs} ms.`)).catch(() => undefined);
|
|
279
|
+
await this.#emitCheckpoint(input, tab, context, hooks, "possibly_sent", "error", observed?.pageUrl, observed ?? null, error);
|
|
243
280
|
if (observed === undefined) {
|
|
244
281
|
if (isTabUnavailableError(error))
|
|
245
282
|
throw error;
|
|
@@ -485,9 +522,9 @@ class CodexIabAdapter {
|
|
|
485
522
|
}
|
|
486
523
|
throwIfCancelled(input.signal);
|
|
487
524
|
context.composerPromptState = await this.#waitForComposerReady(tab, input.prompt, reusesConfirmedAttachmentPrompt ? 0 : composerBaseline.attachmentCount, input.signal);
|
|
488
|
-
const
|
|
489
|
-
await this.#
|
|
490
|
-
context
|
|
525
|
+
const operationTimeoutMs = Math.min(SUBMISSION_ACTION_TIMEOUT_MS, this.#options.timeoutMs);
|
|
526
|
+
const sendTarget = await withBrowserOperationTimeout(() => this.#resolveSendTarget(tab), operationTimeoutMs, input.signal, () => new CueLineError("CONTROLLER_SUBMISSION_PRECLICK_TIMEOUT", `ChatGPT's send target did not resolve within ${operationTimeoutMs} ms; no send click was attempted.`));
|
|
527
|
+
await this.#emitCheckpoint(input, tab, context, hooks, "submitting", "attempting", context.baseline.pageUrl, context.baseline);
|
|
491
528
|
await this.#clickSend(tab, sendTarget, context.baseline, input, context, hooks);
|
|
492
529
|
if (requireRecoverableCheckpoint) {
|
|
493
530
|
this.#conversationUrl = await captureConversationUrlAfterSubmit(tab, this.#conversationUrl, this.#options.timeoutMs, this.#options.pollIntervalMs, input.signal);
|
|
@@ -504,14 +541,12 @@ class CodexIabAdapter {
|
|
|
504
541
|
async #emitCheckpoint(input, tab, context, hooks, submissionState, clickAttemptState, capturedConversationUrl, observedState, clickError) {
|
|
505
542
|
if (!context.baseline || !context.selectedModelLabel || !context.composerPromptState)
|
|
506
543
|
return;
|
|
507
|
-
const currentUrl = capturedConversationUrl ??
|
|
544
|
+
const currentUrl = capturedConversationUrl ?? context.baseline.pageUrl;
|
|
508
545
|
const checkpointUrl = isConversationUrl(currentUrl) ? currentUrl : this.#conversationUrl;
|
|
509
546
|
if (checkpointUrl !== undefined && isConversationUrl(checkpointUrl)) {
|
|
510
547
|
this.#conversationUrl = checkpointUrl;
|
|
511
548
|
}
|
|
512
|
-
const domState = observedState === null
|
|
513
|
-
? undefined
|
|
514
|
-
: observedState ?? (await readPageChatState(tab).catch(() => undefined));
|
|
549
|
+
const domState = observedState === null ? undefined : observedState ?? context.baseline;
|
|
515
550
|
const baselineLastUserMessageHash = context.baseline.lastUserText === null
|
|
516
551
|
? null
|
|
517
552
|
: commandHash(normalizedMessageText(context.baseline.lastUserText));
|
|
@@ -654,12 +689,14 @@ class CodexIabAdapter {
|
|
|
654
689
|
}
|
|
655
690
|
const deadline = Date.now() +
|
|
656
691
|
Math.min(this.#options.timeoutMs, SUBMITTED_RECOVERY_HYDRATION_TIMEOUT_MS);
|
|
692
|
+
const operationTimeoutMs = Math.min(SUBMISSION_ACTION_TIMEOUT_MS, this.#options.timeoutMs);
|
|
657
693
|
let stableSignature = "";
|
|
658
694
|
let stableSince = 0;
|
|
659
695
|
let lastEvidence;
|
|
660
696
|
for (;;) {
|
|
661
697
|
throwIfCancelled(input.signal);
|
|
662
|
-
const state = await readPageChatState(tab);
|
|
698
|
+
const state = await withBrowserOperationTimeout(() => readPageChatState(tab), operationTimeoutMs, input.signal, () => new CueLineError("CONTROLLER_RECONCILIATION_READ_TIMEOUT", `ChatGPT's submitted-turn state read did not finish within ${operationTimeoutMs} ms.`));
|
|
699
|
+
const composerState = await withBrowserOperationTimeout(() => readPageComposerState(tab, input.prompt, SEND_BUTTON_NAMES), operationTimeoutMs, input.signal, () => new CueLineError("CONTROLLER_RECONCILIATION_READ_TIMEOUT", `ChatGPT's submitted-turn composer read did not finish within ${operationTimeoutMs} ms.`));
|
|
663
700
|
if (!sameChatGptConversationUrl(state.pageUrl, this.#conversationUrl)) {
|
|
664
701
|
throw new CueLineError("CONTROLLER_RECONCILIATION_CONVERSATION_MISMATCH", "Submitted-turn evidence was read from a different ChatGPT conversation DOM.");
|
|
665
702
|
}
|
|
@@ -689,14 +726,26 @@ class CodexIabAdapter {
|
|
|
689
726
|
observedUserMessageCount,
|
|
690
727
|
requestMessageFound,
|
|
691
728
|
isAnswering: baselineLoaded ? state.isAnswering : null,
|
|
729
|
+
composerPromptState: composerState.state,
|
|
730
|
+
composerAttachmentCount: composerState.attachmentCount,
|
|
731
|
+
composerSendButtonEnabled: composerState.sendButtonEnabled,
|
|
692
732
|
};
|
|
693
733
|
lastEvidence = evidence;
|
|
734
|
+
const stagedPromptRemains = legacyPreSubmissionRecovery
|
|
735
|
+
? true
|
|
736
|
+
: input.attachmentPromptExpected === true
|
|
737
|
+
? composerState.state === "attachment_ready" &&
|
|
738
|
+
composerState.attachmentCount > 0 &&
|
|
739
|
+
composerState.sendButtonEnabled
|
|
740
|
+
: composerState.state === "inline_ready" &&
|
|
741
|
+
composerState.sendButtonEnabled;
|
|
694
742
|
const notSentCandidate = baseline !== null &&
|
|
695
743
|
observedUserMessageCount === baseline &&
|
|
696
744
|
requestMessageFound === false &&
|
|
697
|
-
state.isAnswering === false
|
|
745
|
+
state.isAnswering === false &&
|
|
746
|
+
stagedPromptRemains;
|
|
698
747
|
if (notSentCandidate) {
|
|
699
|
-
const signature = `${observedUserMessageCount}:${state.assistantMessageCount}:${state.lastMessageRole}:${state.lastUserText ?? ""}`;
|
|
748
|
+
const signature = `${observedUserMessageCount}:${state.assistantMessageCount}:${state.lastMessageRole}:${state.lastUserText ?? ""}:${composerState.state}:${composerState.attachmentCount}:${composerState.sendButtonEnabled}`;
|
|
700
749
|
if (signature !== stableSignature) {
|
|
701
750
|
stableSignature = signature;
|
|
702
751
|
stableSince = now;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatgpt-client.js","sourceRoot":"","sources":["../../../../src/browser/codex-iab/chatgpt-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chatgpt-client.js","sourceRoot":"","sources":["../../../../src/browser/codex-iab/chatgpt-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { JobStatusStore } from "../jobs/status.js";
|
|
|
3
3
|
import { CancellationWatcher, readCancellationObservation, } from "../state/cancellation.js";
|
|
4
4
|
import { defaultCueLineHome } from "../state/paths.js";
|
|
5
5
|
import { readRuntimeLease, RuntimeLease } from "../state/runtime-lease.js";
|
|
6
|
-
import { RunStore } from "../state/store.js";
|
|
6
|
+
import { readAuthoritativeRunEvents, RunStore } from "../state/store.js";
|
|
7
7
|
import { throwIfCancelled } from "./controller-abort.js";
|
|
8
8
|
import { controllerConversationArchiveNeedsRecovery, settleControllerConversationArchive, } from "./controller-conversation-archive.js";
|
|
9
9
|
import { executeAcceptedCommand, statusPayload, validateCommandBeforeAcceptance, } from "./controller-command-execution.js";
|
|
@@ -397,16 +397,21 @@ async function driveControllerLoop(store, options) {
|
|
|
397
397
|
state.notSentRecovery.retryRequestId === null
|
|
398
398
|
? state.notSentRecovery
|
|
399
399
|
: undefined;
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
400
|
+
// A staged composer attachment is immutable and already embeds the abandoned
|
|
401
|
+
// request_id, so that id stays the controller-visible protocol identity for the
|
|
402
|
+
// retry; minting a fresh id could only diverge from what Pro will actually read.
|
|
403
|
+
const requestId = notSentRetry?.composerPromptState === "attachment_ready"
|
|
404
|
+
? notSentRetry.abandonedRequestId
|
|
405
|
+
: messageId(id, round, "observation", {
|
|
406
|
+
jobs: evidenceJobs,
|
|
407
|
+
notices: state.notices,
|
|
408
|
+
...(notSentRetry === undefined
|
|
409
|
+
? {}
|
|
410
|
+
: {
|
|
411
|
+
not_sent_retry_of_request_id: notSentRetry.abandonedRequestId,
|
|
412
|
+
not_sent_retry_prompt_hash: notSentRetry.promptHash,
|
|
413
|
+
}),
|
|
414
|
+
});
|
|
410
415
|
const observation = observationFor(state, round, requestId, evidenceJobs);
|
|
411
416
|
const command = await requestControllerCommand(store, options.browser, observation, { runId: id, round, requestId }, maxRepairAttempts, options.controllerInstructions ?? [], undefined, (candidate) => validateCommandBeforeAcceptance(store, candidate, options, evidenceJobs), options.signal, undefined, options.returnAfterControllerSubmission === true, notSentRetry);
|
|
412
417
|
if (command === undefined) {
|
|
@@ -431,6 +436,12 @@ async function reconcilePendingControllerTurn(store, options) {
|
|
|
431
436
|
const pendingTurns = store.state.pendingControllerTurns ?? [];
|
|
432
437
|
if (pendingTurns.length === 0)
|
|
433
438
|
return "continue";
|
|
439
|
+
// Must run before the proven-unsent shortcut: abandoning the unsent repair turn
|
|
440
|
+
// there would re-enter the loop and mint a brand-new round even though this
|
|
441
|
+
// round's answer already exists in the permanent record.
|
|
442
|
+
const revalidated = await reconcileRejectedAttachmentRetryResponse(store, options, pendingTurns);
|
|
443
|
+
if (revalidated !== undefined)
|
|
444
|
+
return revalidated;
|
|
434
445
|
const provenUnsent = pendingTurns.length === 1 &&
|
|
435
446
|
isControllerTurnProvenUnsent(store.state, pendingTurns[0]);
|
|
436
447
|
if (provenUnsent) {
|
|
@@ -566,6 +577,101 @@ async function reconcilePendingControllerTurn(store, options) {
|
|
|
566
577
|
});
|
|
567
578
|
return executeAcceptedCommand(store, command, acceptedCommandHash, options);
|
|
568
579
|
}
|
|
580
|
+
// A reused staged attachment always delivers the abandoned request_id, but a
|
|
581
|
+
// takeover reconciliation that predates the identity fix validated Pro's reply
|
|
582
|
+
// against the freshly minted retry id, rejected the correct response with
|
|
583
|
+
// CONTROL_ID_MISMATCH, and staged (never sent) a repair prompt. The rejected
|
|
584
|
+
// response is already permanent evidence; re-validate it against the
|
|
585
|
+
// attachment's own identity instead of ever sending anything again.
|
|
586
|
+
async function reconcileRejectedAttachmentRetryResponse(store, options, pendingTurns) {
|
|
587
|
+
if (pendingTurns.length !== 1)
|
|
588
|
+
return undefined;
|
|
589
|
+
const pending = pendingTurns[0];
|
|
590
|
+
const recovery = store.state.notSentRecovery;
|
|
591
|
+
if (pending.submissionState !== "requested" ||
|
|
592
|
+
pending.repairAttempt === 0 ||
|
|
593
|
+
recovery === undefined ||
|
|
594
|
+
recovery === null ||
|
|
595
|
+
recovery.retryRequestId !== pending.requestId ||
|
|
596
|
+
recovery.round !== pending.round ||
|
|
597
|
+
recovery.composerPromptState !== "attachment_ready" ||
|
|
598
|
+
recovery.abandonedRequestId === pending.requestId) {
|
|
599
|
+
return undefined;
|
|
600
|
+
}
|
|
601
|
+
const events = await readAuthoritativeRunEvents(options.home ?? defaultCueLineHome(), store.runId);
|
|
602
|
+
let recorded;
|
|
603
|
+
let rejectedAsIdMismatch = false;
|
|
604
|
+
for (const event of events) {
|
|
605
|
+
const payload = typeof event.payload === "object" &&
|
|
606
|
+
event.payload !== null &&
|
|
607
|
+
!Array.isArray(event.payload)
|
|
608
|
+
? event.payload
|
|
609
|
+
: {};
|
|
610
|
+
if (event.type === "controller_response_received" &&
|
|
611
|
+
payload.round === pending.round &&
|
|
612
|
+
payload.request_id === pending.requestId &&
|
|
613
|
+
typeof payload.text === "string") {
|
|
614
|
+
recorded = payload;
|
|
615
|
+
rejectedAsIdMismatch = false;
|
|
616
|
+
continue;
|
|
617
|
+
}
|
|
618
|
+
if (recorded !== undefined && event.type === "controller_response_rejected") {
|
|
619
|
+
if (payload.code === "CONTROL_ID_MISMATCH") {
|
|
620
|
+
rejectedAsIdMismatch = true;
|
|
621
|
+
}
|
|
622
|
+
else {
|
|
623
|
+
recorded = undefined;
|
|
624
|
+
rejectedAsIdMismatch = false;
|
|
625
|
+
}
|
|
626
|
+
continue;
|
|
627
|
+
}
|
|
628
|
+
if (event.type === "controller_command_accepted") {
|
|
629
|
+
recorded = undefined;
|
|
630
|
+
rejectedAsIdMismatch = false;
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
if (recorded === undefined || !rejectedAsIdMismatch)
|
|
634
|
+
return undefined;
|
|
635
|
+
const turn = {
|
|
636
|
+
text: recorded.text,
|
|
637
|
+
...(typeof recorded.conversation_url === "string"
|
|
638
|
+
? { conversationUrl: recorded.conversation_url }
|
|
639
|
+
: {}),
|
|
640
|
+
...(typeof recorded.selected_model_label === "string" &&
|
|
641
|
+
typeof recorded.response_model_slug === "string" &&
|
|
642
|
+
recorded.model_evidence_source === "composer_and_response"
|
|
643
|
+
? {
|
|
644
|
+
model: {
|
|
645
|
+
provider: "chatgpt",
|
|
646
|
+
selectedLabel: recorded.selected_model_label,
|
|
647
|
+
responseModelSlug: recorded.response_model_slug,
|
|
648
|
+
source: "composer_and_response",
|
|
649
|
+
},
|
|
650
|
+
}
|
|
651
|
+
: {}),
|
|
652
|
+
};
|
|
653
|
+
const expectedConversationUrl = assertConversationUrlCompatible(store.state, options.conversationUrl, pending);
|
|
654
|
+
const evidenceJobs = await controllerEvidenceJobs(store);
|
|
655
|
+
const observation = observationFor(store.state, pending.round, recovery.abandonedRequestId, evidenceJobs);
|
|
656
|
+
const command = await requestControllerCommand(store, options.browser, observation, {
|
|
657
|
+
runId: store.state.runId,
|
|
658
|
+
round: pending.round,
|
|
659
|
+
requestId: recovery.abandonedRequestId,
|
|
660
|
+
}, options.maxRepairAttempts ?? DEFAULT_MAX_REPAIR_ATTEMPTS, options.controllerInstructions ?? [], { turn, attempt: 0, manualSendConfirmed: true }, (candidate) => validateCommandBeforeAcceptance(store, candidate, options, evidenceJobs), options.signal, expectedConversationUrl, false);
|
|
661
|
+
if (command === undefined)
|
|
662
|
+
return "awaiting_controller";
|
|
663
|
+
await store.append("controller_turn_abandoned", {
|
|
664
|
+
round: pending.round,
|
|
665
|
+
request_id: pending.requestId,
|
|
666
|
+
reason: "superseded_by_reconciled_attachment_identity_response",
|
|
667
|
+
});
|
|
668
|
+
const acceptedCommandHash = commandHash(command);
|
|
669
|
+
await store.append("controller_command_accepted", {
|
|
670
|
+
command,
|
|
671
|
+
command_hash: acceptedCommandHash,
|
|
672
|
+
});
|
|
673
|
+
return executeAcceptedCommand(store, command, acceptedCommandHash, options);
|
|
674
|
+
}
|
|
569
675
|
async function recordFreshSubmittedTurnNotSent(store, pending, evidence) {
|
|
570
676
|
if (store.state.notSentRecovery?.abandonedRequestId !== pending.requestId) {
|
|
571
677
|
await store.append("controller_turn_not_sent_confirmed", {
|