@raidiant/notifai 11.2.1 → 11.3.0
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/CHANGELOG.md +33 -0
- package/README.md +6 -3
- package/dist/commands-ask.js +2 -2
- package/dist/commands-ask.js.map +1 -1
- package/dist/commands-auth.d.ts +40 -0
- package/dist/commands-auth.js +219 -56
- package/dist/commands-auth.js.map +1 -1
- package/dist/commands-doctor.js +40 -13
- package/dist/commands-doctor.js.map +1 -1
- package/dist/commands-hook-run.js +38 -22
- package/dist/commands-hook-run.js.map +1 -1
- package/dist/commands-init.js +9 -5
- package/dist/commands-init.js.map +1 -1
- package/dist/commands-send.js +1 -1
- package/dist/commands-send.js.map +1 -1
- package/dist/commands-update-check.js +2 -1
- package/dist/commands-update-check.js.map +1 -1
- package/dist/config-schema.js +3 -3
- package/dist/config-schema.js.map +1 -1
- package/dist/file-lock.js +43 -30
- package/dist/file-lock.js.map +1 -1
- package/dist/guidance-content.js +6 -0
- package/dist/guidance-content.js.map +1 -1
- package/dist/hook-acknowledgements.d.ts +3 -0
- package/dist/hook-acknowledgements.js +85 -6
- package/dist/hook-acknowledgements.js.map +1 -1
- package/dist/hook-lifecycle.js +71 -12
- package/dist/hook-lifecycle.js.map +1 -1
- package/dist/hook-question-retirement.d.ts +2 -2
- package/dist/hook-question-state.js +1 -1
- package/dist/hook-question-state.js.map +1 -1
- package/dist/hook-session-state.js +2 -1
- package/dist/hook-session-state.js.map +1 -1
- package/dist/hook-types.d.ts +6 -0
- package/dist/install-hooks.js +1 -4
- package/dist/install-hooks.js.map +1 -1
- package/dist/pending-pairing.d.ts +37 -0
- package/dist/pending-pairing.js +68 -0
- package/dist/pending-pairing.js.map +1 -0
- package/dist/skill-source/manifest.json +4 -4
- package/dist/skill-source/notifai/SKILL.md +20 -23
- package/dist/skill-source/notifai/references/harness-setup.md +33 -9
- package/package.json +3 -3
|
@@ -52,6 +52,7 @@ function acknowledgementDemand(textRequired) {
|
|
|
52
52
|
? ' with non-empty text saying what concrete work you will do because of the reply; a bare acknowledgement is insufficient'
|
|
53
53
|
: ' exactly as shown; this account turned acknowledgement text off, so the receipt carries no words';
|
|
54
54
|
}
|
|
55
|
+
const ACKNOWLEDGEMENT_SCOPE = ' Once a request reports recorded or replayed, its acknowledgement is complete; do not repeat it for a later turn or unrelated event.';
|
|
55
56
|
function acknowledgementContext(answered) {
|
|
56
57
|
const due = answered.filter((entry) => entry.pending.request_id !== undefined);
|
|
57
58
|
if (due.length === 0) {
|
|
@@ -62,7 +63,8 @@ function acknowledgementContext(answered) {
|
|
|
62
63
|
const requestId = entry.pending.request_id;
|
|
63
64
|
const textRequired = entry.agent_acknowledgement_text_required !== false;
|
|
64
65
|
return (` Agent Acknowledgement is required for request ${requestId}. Immediately, before doing the resumed work or ending this turn, run ` +
|
|
65
|
-
`\`${acknowledgementCommand(requestId, textRequired)}\`${acknowledgementDemand(textRequired)}.`
|
|
66
|
+
`\`${acknowledgementCommand(requestId, textRequired)}\`${acknowledgementDemand(textRequired)}.` +
|
|
67
|
+
ACKNOWLEDGEMENT_SCOPE);
|
|
66
68
|
}
|
|
67
69
|
const anyTextRequired = due.some((entry) => entry.agent_acknowledgement_text_required !== false);
|
|
68
70
|
const commands = due
|
|
@@ -72,7 +74,8 @@ function acknowledgementContext(answered) {
|
|
|
72
74
|
})
|
|
73
75
|
.join('\n');
|
|
74
76
|
return (` Agent Acknowledgement is required for ${due.length} requests. Immediately, before doing the resumed work or ending this turn, run every command below${acknowledgementDemand(anyTextRequired)}:\n` +
|
|
75
|
-
commands
|
|
77
|
+
commands +
|
|
78
|
+
ACKNOWLEDGEMENT_SCOPE);
|
|
76
79
|
}
|
|
77
80
|
export function answersContext(answered, remaining) {
|
|
78
81
|
const tail = remaining > 0
|
|
@@ -167,22 +170,93 @@ export function finishCommittedDelivery(ctx, sessionId, accepted, deliveredRoute
|
|
|
167
170
|
current.accepted.delivery_committed_at === undefined) {
|
|
168
171
|
return;
|
|
169
172
|
}
|
|
170
|
-
|
|
173
|
+
let next = {
|
|
171
174
|
...current,
|
|
172
175
|
accepted: {
|
|
173
176
|
...current.accepted,
|
|
174
177
|
delivered_at: ctx.now(),
|
|
175
178
|
delivered_route: deliveredRoute,
|
|
176
179
|
},
|
|
177
|
-
}
|
|
180
|
+
};
|
|
181
|
+
if (deliveredRoute === 'session-queue')
|
|
182
|
+
next = archiveQueuedAnswers(next, current.accepted);
|
|
183
|
+
writeSessionStateUnlocked(file, sessionId, next);
|
|
178
184
|
});
|
|
179
185
|
}
|
|
186
|
+
/** Move a proven queue write out of the delivery slot without forgetting its answer. */
|
|
187
|
+
function archiveQueuedAnswers(current, accepted) {
|
|
188
|
+
current = classifyAcceptedAcknowledgements({ ...current, accepted });
|
|
189
|
+
accepted = current.accepted;
|
|
190
|
+
const delivered = [...(current.delivered_answers ?? [])];
|
|
191
|
+
const retiring = [...(current.retiring ?? [])];
|
|
192
|
+
const due = [...(current.acknowledgement_due ?? [])];
|
|
193
|
+
for (const answer of accepted.answers) {
|
|
194
|
+
const requestId = answer.pending.request_id;
|
|
195
|
+
if (due.some((entry) => entry.request_id === requestId)) {
|
|
196
|
+
const classified = { ...answer, agent_acknowledgement_required: true };
|
|
197
|
+
const index = delivered.findIndex((entry) => isSamePending(entry.pending, answer.pending));
|
|
198
|
+
if (index < 0)
|
|
199
|
+
delivered.push(classified);
|
|
200
|
+
else
|
|
201
|
+
delivered[index] = classified;
|
|
202
|
+
}
|
|
203
|
+
const retirement = retiringQuestion(answer.pending, 'answered');
|
|
204
|
+
if (retirement !== null && !retiring.some((entry) => entry.request_id === retirement.request_id)) {
|
|
205
|
+
retiring.push(retirement);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
const next = {
|
|
209
|
+
...current,
|
|
210
|
+
retiring,
|
|
211
|
+
continuation: {
|
|
212
|
+
answered_at: accepted.recorded_at,
|
|
213
|
+
count: (current.continuation?.count ?? 0) + 1,
|
|
214
|
+
},
|
|
215
|
+
};
|
|
216
|
+
delete next.accepted;
|
|
217
|
+
if (delivered.length > 0)
|
|
218
|
+
next.delivered_answers = delivered;
|
|
219
|
+
else
|
|
220
|
+
delete next.delivered_answers;
|
|
221
|
+
if (due.length > 0)
|
|
222
|
+
next.acknowledgement_due = due;
|
|
223
|
+
return next;
|
|
224
|
+
}
|
|
225
|
+
/** An unclassified request cannot use missing local debt as acknowledgement proof. */
|
|
226
|
+
function classifyAcceptedAcknowledgements(current) {
|
|
227
|
+
if (current.accepted === undefined)
|
|
228
|
+
return current;
|
|
229
|
+
const accepted = current.accepted;
|
|
230
|
+
const due = [...(current.acknowledgement_due ?? [])];
|
|
231
|
+
const answers = accepted.answers.map((answer) => {
|
|
232
|
+
const requestId = answer.pending.request_id;
|
|
233
|
+
if (answer.agent_acknowledgement_required === true || requestId === undefined)
|
|
234
|
+
return answer;
|
|
235
|
+
if (!due.some((entry) => entry.request_id === requestId)) {
|
|
236
|
+
due.push({ request_id: requestId, recorded_at: accepted.recorded_at,
|
|
237
|
+
text_required: answer.agent_acknowledgement_text_required !== false });
|
|
238
|
+
}
|
|
239
|
+
return { ...answer, agent_acknowledgement_required: true };
|
|
240
|
+
});
|
|
241
|
+
return { ...current, accepted: { ...accepted, answers },
|
|
242
|
+
...(due.length === 0 ? {} : { acknowledgement_due: due }) };
|
|
243
|
+
}
|
|
244
|
+
export function classifyJournaledAcknowledgements(sessionId, env) {
|
|
245
|
+
return updateSessionState(sessionId, env, classifyAcceptedAcknowledgements).accepted;
|
|
246
|
+
}
|
|
247
|
+
/** Resume a queue write recorded by an earlier process without replaying it. */
|
|
248
|
+
export function recoverQueuedAnswers(sessionId, env) {
|
|
249
|
+
updateSessionState(sessionId, env, (current) => current.accepted?.delivered_route === 'session-queue' && current.accepted.delivered_at !== undefined
|
|
250
|
+
? archiveQueuedAnswers(current, current.accepted)
|
|
251
|
+
: current);
|
|
252
|
+
}
|
|
180
253
|
export function clearAcknowledgementObligation(sessionId, env, requestId) {
|
|
181
254
|
let cleared = false;
|
|
182
255
|
updateSessionState(sessionId, env, (current) => {
|
|
183
256
|
const due = current.acknowledgement_due ?? [];
|
|
184
257
|
const remaining = due.filter((entry) => entry.request_id !== requestId);
|
|
185
|
-
|
|
258
|
+
const delivered = (current.delivered_answers ?? []).filter((entry) => entry.pending.request_id !== requestId);
|
|
259
|
+
cleared = remaining.length !== due.length || delivered.length !== (current.delivered_answers?.length ?? 0);
|
|
186
260
|
if (!cleared)
|
|
187
261
|
return current;
|
|
188
262
|
const next = { ...current };
|
|
@@ -190,6 +264,10 @@ export function clearAcknowledgementObligation(sessionId, env, requestId) {
|
|
|
190
264
|
next.acknowledgement_due = remaining;
|
|
191
265
|
else
|
|
192
266
|
delete next.acknowledgement_due;
|
|
267
|
+
if (delivered.length > 0)
|
|
268
|
+
next.delivered_answers = delivered;
|
|
269
|
+
else
|
|
270
|
+
delete next.delivered_answers;
|
|
193
271
|
return next;
|
|
194
272
|
});
|
|
195
273
|
return cleared;
|
|
@@ -200,7 +278,8 @@ export function acknowledgementBlockContext(due) {
|
|
|
200
278
|
.join('\n');
|
|
201
279
|
const anyTextRequired = due.some((entry) => entry.text_required !== false);
|
|
202
280
|
return (`Notifai — required Agent Acknowledgement${due.length === 1 ? '' : 's'} still missing for request${due.length === 1 ? '' : 's'} ${due.map((entry) => entry.request_id).join(', ')}. ` +
|
|
203
|
-
`Before doing more resumed work or ending this turn, run ${due.length === 1 ? 'this command' : 'every command'}${acknowledgementDemand(anyTextRequired)}:\n${commands}`
|
|
281
|
+
`Before doing more resumed work or ending this turn, run ${due.length === 1 ? 'this command' : 'every command'}${acknowledgementDemand(anyTextRequired)}:\n${commands}` +
|
|
282
|
+
ACKNOWLEDGEMENT_SCOPE);
|
|
204
283
|
}
|
|
205
284
|
/**
|
|
206
285
|
* How many turns in a row a session may be held waiting for an acknowledgement.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-acknowledgements.js","sourceRoot":"","sources":["../src/hook-acknowledgements.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hook-acknowledgements.js","sourceRoot":"","sources":["../src/hook-acknowledgements.ts"],"names":[],"mappings":"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"}
|
package/dist/hook-lifecycle.js
CHANGED
|
@@ -3,7 +3,7 @@ import { ApiCallError, isRetryableReplyPollError } from './client.js';
|
|
|
3
3
|
import { withFileLock } from './file-lock.js';
|
|
4
4
|
import { HARNESS_CAPABILITIES } from './harnesses.js';
|
|
5
5
|
import { gate } from './hook-gates.js';
|
|
6
|
-
import { acknowledgementBlockContext, amendAcceptedAnswers, answersContext, finishCommittedDelivery, holdForAcknowledgement, reconcileAcknowledgementObligations, resetAcknowledgementBlocks, settleAcceptedAnswers, stageAcceptedAnswers, stopAnswerOutput, } from './hook-acknowledgements.js';
|
|
6
|
+
import { acknowledgementBlockContext, amendAcceptedAnswers, answersContext, classifyJournaledAcknowledgements, finishCommittedDelivery, holdForAcknowledgement, reconcileAcknowledgementObligations, recoverQueuedAnswers, resetAcknowledgementBlocks, settleAcceptedAnswers, stageAcceptedAnswers, stopAnswerOutput, } from './hook-acknowledgements.js';
|
|
7
7
|
import { clearMatchingProjectSession, writeProjectSession } from './hook-project-sessions.js';
|
|
8
8
|
import { claimHandoffState, claimQuestionPush, releaseQuestionPush } from './hook-question-lock.js';
|
|
9
9
|
import { closeQuietly, drainOrphanRetirements, drainRetirements, finalizeReplies, orphanRetirements, pendingAnsweredByPrompt, retirePendings, retiringQuestion, } from './hook-question-retirement.js';
|
|
@@ -377,8 +377,27 @@ export async function handleUserPromptSubmit(ctx, envelope) {
|
|
|
377
377
|
const sessionId = envelope.session_id;
|
|
378
378
|
if (!sessionId)
|
|
379
379
|
return { notes };
|
|
380
|
-
|
|
380
|
+
recoverQueuedAnswers(sessionId, ctx.env);
|
|
381
|
+
let state = readSessionState(sessionId, ctx.env);
|
|
382
|
+
if (state.accepted !== undefined || (state.delivered_answers?.length ?? 0) > 0) {
|
|
383
|
+
// A successful command can clear local debt before the next Stop, and a
|
|
384
|
+
// interrupted command can leave debt after the service recorded its
|
|
385
|
+
// acknowledgement. Reconcile both before replaying recovery context.
|
|
386
|
+
await reconcileAcknowledgementObligations(ctx, sessionId, state.acknowledgement_due ?? []);
|
|
387
|
+
if (sessionHasEnded(sessionId, ctx.env))
|
|
388
|
+
return { notes };
|
|
389
|
+
state = readSessionState(sessionId, ctx.env);
|
|
390
|
+
if (state.accepted !== undefined &&
|
|
391
|
+
acceptedAnswersAwaitingAcknowledgement(state.accepted, state).length === 0) {
|
|
392
|
+
settleAcceptedAnswers(ctx, sessionId, state.accepted, envelope.cwd);
|
|
393
|
+
state = readSessionState(sessionId, ctx.env);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
381
396
|
if (state.accepted !== undefined) {
|
|
397
|
+
const answers = [
|
|
398
|
+
...(state.delivered_answers ?? []),
|
|
399
|
+
...acceptedAnswersAwaitingAcknowledgement(state.accepted, state),
|
|
400
|
+
];
|
|
382
401
|
updateSessionState(sessionId, ctx.env, (current) => ({
|
|
383
402
|
...current,
|
|
384
403
|
...(ctx.harness === undefined ? {} : { harness: ctx.harness }),
|
|
@@ -387,7 +406,7 @@ export async function handleUserPromptSubmit(ctx, envelope) {
|
|
|
387
406
|
if (envelope.cwd !== undefined && ctx.harness !== undefined) {
|
|
388
407
|
writeProjectSession(envelope.cwd, ctx.env, sessionId, ctx.now(), ctx.harness);
|
|
389
408
|
}
|
|
390
|
-
const stdout = userPromptContextOutput(ctx.harness, answersContext(
|
|
409
|
+
const stdout = userPromptContextOutput(ctx.harness, answersContext(answers, state.accepted.remaining));
|
|
391
410
|
if (stdout !== undefined) {
|
|
392
411
|
notes.push('the journaled device answer was added to the user\'s new turn');
|
|
393
412
|
return {
|
|
@@ -397,7 +416,7 @@ export async function handleUserPromptSubmit(ctx, envelope) {
|
|
|
397
416
|
log: {
|
|
398
417
|
stage: 'context-added',
|
|
399
418
|
route: 'user-prompt-submit',
|
|
400
|
-
request_ids:
|
|
419
|
+
request_ids: answers.flatMap(({ pending }) => pending.request_id === undefined ? [] : [pending.request_id]),
|
|
401
420
|
},
|
|
402
421
|
};
|
|
403
422
|
}
|
|
@@ -499,7 +518,7 @@ export async function handleUserPromptSubmit(ctx, envelope) {
|
|
|
499
518
|
// UserPromptSubmit can add context to the turn already beginning. Keep the
|
|
500
519
|
// accepted-answer journal until the agent acknowledges: if this process or
|
|
501
520
|
// host dies around stdout, a later prompt or Stop safely replays it.
|
|
502
|
-
const stdout = userPromptContextOutput(ctx.harness, answersContext(lateAnswers,
|
|
521
|
+
const stdout = userPromptContextOutput(ctx.harness, answersContext([...(readSessionState(sessionId, ctx.env).delivered_answers ?? []), ...lateAnswers], pendingList(updated).length));
|
|
503
522
|
if (stdout !== undefined)
|
|
504
523
|
notes.push('the late device answer was added to the user\'s new turn');
|
|
505
524
|
else
|
|
@@ -517,7 +536,7 @@ export async function handleUserPromptSubmit(ctx, envelope) {
|
|
|
517
536
|
request_ids: lateAnswers.flatMap(({ pending }) => pending.request_id === undefined ? [] : [pending.request_id]),
|
|
518
537
|
},
|
|
519
538
|
}),
|
|
520
|
-
settlementRequired:
|
|
539
|
+
settlementRequired: needsQuestionSettlement(updated, ctx.harness),
|
|
521
540
|
};
|
|
522
541
|
}
|
|
523
542
|
const retired = await drainRetirements(ctx, sessionId, ctx.env);
|
|
@@ -526,11 +545,28 @@ export async function handleUserPromptSubmit(ctx, envelope) {
|
|
|
526
545
|
if (swept.length > 0) {
|
|
527
546
|
notes.push(`retired question${swept.length > 1 ? 's' : ''} ${swept.join(', ')}`);
|
|
528
547
|
}
|
|
548
|
+
const delivered = readSessionState(sessionId, ctx.env).delivered_answers ?? [];
|
|
549
|
+
const stdout = delivered.length > 0
|
|
550
|
+
? userPromptContextOutput(ctx.harness, answersContext(delivered, pendingList(updated).length))
|
|
551
|
+
: undefined;
|
|
529
552
|
return {
|
|
530
553
|
notes,
|
|
531
|
-
|
|
554
|
+
...(stdout === undefined ? {} : {
|
|
555
|
+
stdout,
|
|
556
|
+
log: { stage: 'context-added', route: 'user-prompt-submit', request_ids: summarizeRequestIds(delivered.map((entry) => entry.pending)).ids },
|
|
557
|
+
}),
|
|
558
|
+
settlementRequired: needsQuestionSettlement(updated, ctx.harness),
|
|
532
559
|
};
|
|
533
560
|
}
|
|
561
|
+
function needsQuestionSettlement(state, harness) {
|
|
562
|
+
return pendingList(state).some((entry) => entry.request_id === undefined || harness === 'codex');
|
|
563
|
+
}
|
|
564
|
+
/** Absence of debt proves consumption only for an explicitly classified answer. */
|
|
565
|
+
function acceptedAnswersAwaitingAcknowledgement(accepted, state) {
|
|
566
|
+
return accepted.answers.filter(({ pending, agent_acknowledgement_required }) => agent_acknowledgement_required !== true ||
|
|
567
|
+
pending.request_id === undefined ||
|
|
568
|
+
(state.acknowledgement_due ?? []).some((entry) => entry.request_id === pending.request_id));
|
|
569
|
+
}
|
|
534
570
|
// ---------------------------------------------------------------------------
|
|
535
571
|
// Stop — the turn ended; escalate a registered question
|
|
536
572
|
// ---------------------------------------------------------------------------
|
|
@@ -614,6 +650,7 @@ export async function runEscalationWaiter(ctx, options) {
|
|
|
614
650
|
}
|
|
615
651
|
let settledAnswerThisPass = false;
|
|
616
652
|
try {
|
|
653
|
+
recoverQueuedAnswers(sessionId, ctx.env);
|
|
617
654
|
let state = readSessionState(sessionId, ctx.env);
|
|
618
655
|
if (state.accepted !== undefined) {
|
|
619
656
|
const accepted = state.accepted;
|
|
@@ -646,9 +683,7 @@ export async function runEscalationWaiter(ctx, options) {
|
|
|
646
683
|
// prove more, and an answer redelivered without end is strictly worse
|
|
647
684
|
// than one settled on delivery. So a recorded delivery settles.
|
|
648
685
|
const acknowledgementProvesDelivery = accepted.answers.length > 0 &&
|
|
649
|
-
accepted
|
|
650
|
-
pending.request_id !== undefined &&
|
|
651
|
-
!(state.acknowledgement_due ?? []).some((entry) => entry.request_id === pending.request_id));
|
|
686
|
+
acceptedAnswersAwaitingAcknowledgement(accepted, state).length === 0;
|
|
652
687
|
const deliveryProven = accepted.delivered_at !== undefined ||
|
|
653
688
|
envelope.stop_hook_active === true ||
|
|
654
689
|
acknowledgementProvesDelivery;
|
|
@@ -667,7 +702,8 @@ export async function runEscalationWaiter(ctx, options) {
|
|
|
667
702
|
return held;
|
|
668
703
|
state = readSessionState(sessionId, ctx.env);
|
|
669
704
|
}
|
|
670
|
-
if (state.accepted === undefined && (state.acknowledgement_due?.length ?? 0) > 0
|
|
705
|
+
if (state.accepted === undefined && (state.acknowledgement_due?.length ?? 0) > 0 &&
|
|
706
|
+
!(options.recordStop === false && options.route.kind === 'session-queue')) {
|
|
671
707
|
const due = await reconcileAcknowledgementObligations(ctx, sessionId, state.acknowledgement_due);
|
|
672
708
|
const held = holdForAcknowledgement(ctx, sessionId, due, notes);
|
|
673
709
|
if (held !== null)
|
|
@@ -724,6 +760,25 @@ export function hookContinuationRoute() {
|
|
|
724
760
|
* session 250 times.
|
|
725
761
|
*/
|
|
726
762
|
async function deliverAcceptedAnswers(ctx, sessionId, route, accepted, notes, cwd) {
|
|
763
|
+
if (route.kind === 'session-queue') {
|
|
764
|
+
accepted = classifyJournaledAcknowledgements(sessionId, ctx.env) ?? accepted;
|
|
765
|
+
const ids = new Set(accepted.answers.map((answer) => answer.pending.request_id));
|
|
766
|
+
await reconcileAcknowledgementObligations(ctx, sessionId, (readSessionState(sessionId, ctx.env).acknowledgement_due ?? []).filter((entry) => ids.has(entry.request_id)));
|
|
767
|
+
if (sessionHasEnded(sessionId, ctx.env))
|
|
768
|
+
return { notes };
|
|
769
|
+
const unresolved = acceptedAnswersAwaitingAcknowledgement(accepted, readSessionState(sessionId, ctx.env));
|
|
770
|
+
if (unresolved.length === 0) {
|
|
771
|
+
settleAcceptedAnswers(ctx, sessionId, accepted, cwd);
|
|
772
|
+
return {
|
|
773
|
+
notes,
|
|
774
|
+
log: { stage: 'acknowledgement-reconciled', request_ids: [...ids] },
|
|
775
|
+
settlementRequired: pendingList(readSessionState(sessionId, ctx.env)).length > 0,
|
|
776
|
+
};
|
|
777
|
+
}
|
|
778
|
+
accepted = { ...accepted, answers: unresolved };
|
|
779
|
+
// Keep the complete fenced batch in storage until queue completion, so
|
|
780
|
+
// acknowledged members still retain any unconfirmed retirement work.
|
|
781
|
+
}
|
|
727
782
|
const { answers: answered, remaining } = accepted;
|
|
728
783
|
const requestIds = summarizeRequestIds(answered.map((entry) => entry.pending)).ids;
|
|
729
784
|
if (sessionHasEnded(sessionId, ctx.env)) {
|
|
@@ -851,6 +906,9 @@ async function deliverAcceptedAnswers(ctx, sessionId, route, accepted, notes, cw
|
|
|
851
906
|
outcome.commitStdout = delivered.commitStdout;
|
|
852
907
|
if (delivered.log !== undefined)
|
|
853
908
|
outcome.log = delivered.log;
|
|
909
|
+
if (route.kind === 'session-queue' && delivered.acknowledgement === 'delivered') {
|
|
910
|
+
outcome.settlementRequired = pendingList(readSessionState(sessionId, ctx.env)).length > 0;
|
|
911
|
+
}
|
|
854
912
|
return outcome;
|
|
855
913
|
}
|
|
856
914
|
/** True while this Stop owner is still allowed a direct-wake wait. */
|
|
@@ -1465,7 +1523,7 @@ export function handleSessionEnd(env, envelope, now = Date.now()) {
|
|
|
1465
1523
|
for (const entry of pendingList(state)) {
|
|
1466
1524
|
stateWithHistory = rememberQuestionState(stateWithHistory, entry, entry.request_id === undefined && entry.submission === undefined ? 'withdrawn' : 'retired');
|
|
1467
1525
|
}
|
|
1468
|
-
for (const answer of state.accepted?.answers ?? []) {
|
|
1526
|
+
for (const answer of [...(state.accepted?.answers ?? []), ...(state.delivered_answers ?? [])]) {
|
|
1469
1527
|
stateWithHistory = rememberQuestionState(stateWithHistory, answer.pending, 'answered');
|
|
1470
1528
|
}
|
|
1471
1529
|
for (const retirement of state.retiring ?? []) {
|
|
@@ -1475,6 +1533,7 @@ export function handleSessionEnd(env, envelope, now = Date.now()) {
|
|
|
1475
1533
|
const retirementCandidates = [
|
|
1476
1534
|
...pendingList(state),
|
|
1477
1535
|
...(state.accepted?.answers.map((entry) => entry.pending) ?? []),
|
|
1536
|
+
...(state.delivered_answers?.map((entry) => entry.pending) ?? []),
|
|
1478
1537
|
];
|
|
1479
1538
|
for (const entry of retirementCandidates) {
|
|
1480
1539
|
try {
|