@raidiant/notifai 11.6.2 → 11.7.0-beta.2
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 +19 -0
- package/dist/atomic-file.d.ts +1 -1
- package/dist/atomic-file.js +8 -3
- package/dist/atomic-file.js.map +1 -1
- package/dist/client.d.ts +5 -1
- package/dist/client.js +2 -0
- package/dist/client.js.map +1 -1
- package/dist/codex-answer-control.d.ts +14 -0
- package/dist/codex-answer-control.js +41 -0
- package/dist/codex-answer-control.js.map +1 -0
- package/dist/codex-answer-presentation.d.ts +18 -0
- package/dist/codex-answer-presentation.js +113 -0
- package/dist/codex-answer-presentation.js.map +1 -0
- package/dist/codex-input-lifecycle.d.ts +10 -0
- package/dist/codex-input-lifecycle.js +63 -0
- package/dist/codex-input-lifecycle.js.map +1 -0
- package/dist/codex-native-control.d.ts +13 -0
- package/dist/codex-native-control.js +120 -0
- package/dist/codex-native-control.js.map +1 -0
- package/dist/codex-native-turn.d.ts +18 -0
- package/dist/codex-native-turn.js +46 -4
- package/dist/codex-native-turn.js.map +1 -1
- package/dist/codex-question-bindings.d.ts +76 -0
- package/dist/codex-question-bindings.js +151 -0
- package/dist/codex-question-bindings.js.map +1 -0
- package/dist/codex-queue-control.d.ts +21 -0
- package/dist/codex-queue-control.js +59 -0
- package/dist/codex-queue-control.js.map +1 -0
- package/dist/codex-tool-messages.js +40 -16
- package/dist/codex-tool-messages.js.map +1 -1
- package/dist/commands-acknowledge.d.ts +2 -4
- package/dist/commands-acknowledge.js +7 -0
- package/dist/commands-acknowledge.js.map +1 -1
- package/dist/commands-ask.js +70 -13
- package/dist/commands-ask.js.map +1 -1
- package/dist/commands-auth.d.ts +3 -1
- package/dist/commands-auth.js +88 -28
- package/dist/commands-auth.js.map +1 -1
- package/dist/commands-close.js +51 -3
- package/dist/commands-close.js.map +1 -1
- package/dist/commands-core.d.ts +7 -0
- package/dist/commands-core.js +1 -0
- package/dist/commands-core.js.map +1 -1
- package/dist/commands-hook-attend.js +50 -10
- package/dist/commands-hook-attend.js.map +1 -1
- package/dist/commands-hook-run.js +2 -1
- package/dist/commands-hook-run.js.map +1 -1
- package/dist/commands-init.d.ts +2 -0
- package/dist/commands-init.js +3 -3
- package/dist/commands-init.js.map +1 -1
- package/dist/commands-io.js +7 -0
- package/dist/commands-io.js.map +1 -1
- package/dist/commands-native-acknowledge.d.ts +8 -0
- package/dist/commands-native-acknowledge.js +114 -0
- package/dist/commands-native-acknowledge.js.map +1 -0
- package/dist/credentials.d.ts +5 -0
- package/dist/credentials.js.map +1 -1
- package/dist/hermes-attendant.js +4 -0
- package/dist/hermes-attendant.js.map +1 -1
- package/dist/hook-acknowledgements.d.ts +1 -0
- package/dist/hook-acknowledgements.js +3 -1
- package/dist/hook-acknowledgements.js.map +1 -1
- package/dist/hook-lifecycle.d.ts +12 -1
- package/dist/hook-lifecycle.js +145 -79
- package/dist/hook-lifecycle.js.map +1 -1
- package/dist/hook-question-retirement.js +2 -1
- package/dist/hook-question-retirement.js.map +1 -1
- package/dist/hook-question-state.d.ts +6 -2
- package/dist/hook-question-state.js +19 -7
- package/dist/hook-question-state.js.map +1 -1
- package/dist/hook-session-state.d.ts +5 -1
- package/dist/hook-session-state.js +48 -14
- package/dist/hook-session-state.js.map +1 -1
- package/dist/hook-types.d.ts +23 -1
- package/dist/hook-types.js.map +1 -1
- package/dist/native-answer-operation.d.ts +70 -0
- package/dist/native-answer-operation.js +247 -0
- package/dist/native-answer-operation.js.map +1 -0
- package/dist/pairing-qr.d.ts +5 -0
- package/dist/pairing-qr.js +24 -0
- package/dist/pairing-qr.js.map +1 -0
- package/dist/pending-pairing.d.ts +1 -0
- package/dist/pending-pairing.js +7 -5
- package/dist/pending-pairing.js.map +1 -1
- package/dist/program.js +9 -3
- package/dist/program.js.map +1 -1
- package/dist/session-attendant-probe.d.ts +1 -1
- package/dist/session-attendant-probe.js +2 -1
- package/dist/session-attendant-probe.js.map +1 -1
- package/dist/session-attendant-state.d.ts +5 -0
- package/dist/session-attendant-state.js +29 -10
- package/dist/session-attendant-state.js.map +1 -1
- package/dist/session-delivery.d.ts +29 -0
- package/dist/session-delivery.js +3 -1
- package/dist/session-delivery.js.map +1 -1
- package/dist/session-input-wakes.d.ts +78 -0
- package/dist/session-input-wakes.js +239 -0
- package/dist/session-input-wakes.js.map +1 -0
- package/dist/session-inputs.d.ts +41 -6
- package/dist/session-inputs.js +199 -19
- package/dist/session-inputs.js.map +1 -1
- package/dist/skill-source/manifest.json +8 -4
- package/dist/skill-source/notifai/SKILL.md +30 -28
- package/dist/skill-source/notifai/references/harness-setup.md +33 -20
- package/dist/skill-source/notifai/references/native-questions.md +51 -0
- package/package.json +10 -3
|
@@ -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.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type NativeQuestionAdmission } from './codex-question-bindings.js';
|
|
1
2
|
import type { EscalationDeliveryRoute, EscalationWaiterOptions, HookContext, HookEnvelope, HookOutcome, PendingQuestion } from './hook-types.js';
|
|
2
3
|
/**
|
|
3
4
|
* The wire contract's shortest reply window. A question submitted with less
|
|
@@ -84,6 +85,15 @@ export declare const MAX_PENDING_QUESTIONS = 4;
|
|
|
84
85
|
* the shared resource being protected here, not the agent's turn.
|
|
85
86
|
*/
|
|
86
87
|
export declare const MAX_LIVE_QUESTIONS = 10;
|
|
88
|
+
export declare class QuestionRegistrationChanged extends Error {
|
|
89
|
+
readonly reason: 'credential' | 'owner';
|
|
90
|
+
constructor(reason: 'credential' | 'owner');
|
|
91
|
+
}
|
|
92
|
+
interface QuestionRegistrationGuard {
|
|
93
|
+
/** Captured before optional asynchronous discovery; a new turn is allowed. */
|
|
94
|
+
owner_key?: string;
|
|
95
|
+
machineStillMatches: () => boolean;
|
|
96
|
+
}
|
|
87
97
|
/**
|
|
88
98
|
* A session may hold several registered questions at once: a new `ask` never
|
|
89
99
|
* ends an earlier one. Each reaches the user as its own notification and is
|
|
@@ -96,6 +106,7 @@ export declare const MAX_LIVE_QUESTIONS = 10;
|
|
|
96
106
|
* The queue is keyed on the session, not the project: several agents may be
|
|
97
107
|
* running in one project at once, and their questions must never interfere.
|
|
98
108
|
*/
|
|
99
|
-
export declare function registerQuestion(sessionId: string, env: NodeJS.ProcessEnv, question: PendingQuestion, now?: number): string;
|
|
109
|
+
export declare function registerQuestion(sessionId: string, env: NodeJS.ProcessEnv, question: PendingQuestion, now?: number, nativeAdmission?: NativeQuestionAdmission, guard?: QuestionRegistrationGuard): string;
|
|
100
110
|
/** Parses hook JSON from stdin, tolerating an empty or malformed body. */
|
|
101
111
|
export declare function parseHookInput(raw: string): HookEnvelope;
|
|
112
|
+
export {};
|
package/dist/hook-lifecycle.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { randomBytes } from 'node:crypto';
|
|
2
|
+
import { confirmNativeAnswerTarget, recordConfirmedNativeAnswerTarget } from './native-answer-operation.js';
|
|
3
|
+
import { markCodexOrdinaryPresentation, mayRetireFromPrompt, reserveCurrentCodexQuestion } from './codex-question-bindings.js';
|
|
2
4
|
import { ApiCallError, isRetryableReplyPollError } from './client.js';
|
|
3
5
|
import { withFileLock } from './file-lock.js';
|
|
4
6
|
import { HARNESS_CAPABILITIES } from './harnesses.js';
|
|
@@ -7,9 +9,9 @@ import { acknowledgementBlockContext, amendAcceptedAnswers, answersContext, clas
|
|
|
7
9
|
import { clearMatchingProjectSession, writeProjectSession } from './hook-project-sessions.js';
|
|
8
10
|
import { acquireClaimFile, releaseClaimFile, claimHandoffState, claimQuestionPush, releaseQuestionPush } from './hook-question-lock.js';
|
|
9
11
|
import { closeQuietly, drainOrphanRetirements, drainRetirements, finalizeReplies, selectedForClaimedDelivery, orphanRetirements, pendingAnsweredByPrompt, retirePendings, retiringQuestion, } from './hook-question-retirement.js';
|
|
10
|
-
import { admitQueuedQuestion,
|
|
11
|
-
import {
|
|
12
|
-
import { currentProcessIdentity } from './process-identity.js';
|
|
12
|
+
import { admitQueuedQuestion, replaceFrozenSubmission, dropPendingQuestion, isSamePending, pendingQuestions, questionSubmissionAttempted, queuedQuestionStillEligible, rememberQuestionState, sourceContextAtHookEvent, summarizeRequestIds, } from './hook-question-state.js';
|
|
13
|
+
import { clearSessionStateUnlocked, markSessionEnded, pendingList, readSessionState, readSessionIncarnation, readSessionEndMarker, sessionHasEnded, sessionStatePath, updateSessionState, writeSessionStateUnlocked, recordSessionNotified, } from './hook-session-state.js';
|
|
14
|
+
import { currentProcessIdentity, processIdentityLiveness } from './process-identity.js';
|
|
13
15
|
import { userPromptContextOutput } from './session-activation.js';
|
|
14
16
|
import { answersAlreadyWritten, beginHandOff, recordUnclaimedHandOffs, recoverDeliveryJournal, sweepDeliveryJournals, } from './session-delivery.js';
|
|
15
17
|
import { WRITE_ABORTED_REASON } from './wake-support.js';
|
|
@@ -120,12 +122,13 @@ function submitQuestion(ctx, sessionId, entry, intent, notes) {
|
|
|
120
122
|
if (receipt.request_id !== intent.request_id) {
|
|
121
123
|
throw new Error(`server replay returned ${receipt.request_id}, expected reserved ${intent.request_id}`);
|
|
122
124
|
}
|
|
125
|
+
recordConfirmedNativeAnswerTarget(sessionId, ctx.env, { ...entry, request_id: receipt.request_id });
|
|
123
126
|
// Wakes this session's dormant Session Attendant.
|
|
124
127
|
recordSessionNotified(sessionId, ctx.env, ctx.now());
|
|
125
128
|
return receipt;
|
|
126
|
-
});
|
|
129
|
+
}, ctx.service_identity);
|
|
127
130
|
if (attempt === null)
|
|
128
|
-
notes.push('the question was retired before submission; not uploading it');
|
|
131
|
+
notes.push('the question was retired or its Approved Machine changed before submission; not uploading it');
|
|
129
132
|
return attempt;
|
|
130
133
|
}
|
|
131
134
|
catch (err) {
|
|
@@ -326,9 +329,12 @@ function claimMarker(response) {
|
|
|
326
329
|
return selectedForClaimedDelivery(response) ? { delivery_claim: true } : {};
|
|
327
330
|
}
|
|
328
331
|
/** Close several windows concurrently without confusing failure with silence. */
|
|
329
|
-
async function finalizePendings(ctx, pending, disposition) {
|
|
332
|
+
async function finalizePendings(ctx, sessionId, pending, disposition) {
|
|
330
333
|
return Promise.all(pending.map(async (entry) => {
|
|
331
334
|
const response = await finalizeReplies(ctx, entry.request_id, disposition);
|
|
335
|
+
if (response !== null && response.request_id === entry.request_id) {
|
|
336
|
+
recordConfirmedNativeAnswerTarget(sessionId, ctx.env, entry);
|
|
337
|
+
}
|
|
332
338
|
ctx.log?.info('hook.retirement', {
|
|
333
339
|
request_id: entry.request_id,
|
|
334
340
|
attempted: true,
|
|
@@ -500,7 +506,7 @@ async function answerPrompt(ctx, envelope, sessionId, reminder) {
|
|
|
500
506
|
if (envelope.cwd !== undefined && ctx.harness !== undefined) {
|
|
501
507
|
writeProjectSession(envelope.cwd, ctx.env, sessionId, ctx.now(), ctx.harness);
|
|
502
508
|
}
|
|
503
|
-
const stdout = userPromptContextOutput(ctx.harness, withReminder(reminder,
|
|
509
|
+
const stdout = userPromptContextOutput(ctx.harness, withReminder(reminder, prepareOrdinaryAnswersContext(ctx, sessionId, answers, state.accepted.remaining)));
|
|
504
510
|
if (stdout !== undefined) {
|
|
505
511
|
notes.push('the journaled device answer was added to the user\'s new turn');
|
|
506
512
|
const selected = unclaimedSelectedAnswers(sessionId, ctx.env, answers);
|
|
@@ -525,7 +531,7 @@ async function answerPrompt(ctx, envelope, sessionId, reminder) {
|
|
|
525
531
|
let lateAnswers = [];
|
|
526
532
|
if (live.length > 0) {
|
|
527
533
|
const { answered, transientTrouble, permanentFailures } = await pollPendingReplies(ctx, live, LATE_PROMPT_POLL_SECONDS);
|
|
528
|
-
const finalized = await finalizePendings(ctx, answered.map((entry) => entry.pending));
|
|
534
|
+
const finalized = await finalizePendings(ctx, sessionId, answered.map((entry) => entry.pending));
|
|
529
535
|
lateAnswers = answered.map((entry) => {
|
|
530
536
|
const response = finalized.find((candidate) => isSamePending(candidate.pending, entry.pending))?.response;
|
|
531
537
|
const replies = response?.replies.length ? response.replies : entry.replies;
|
|
@@ -554,7 +560,7 @@ async function answerPrompt(ctx, envelope, sessionId, reminder) {
|
|
|
554
560
|
if (permanentFailure !== null)
|
|
555
561
|
notes.push(permanentFailure);
|
|
556
562
|
}
|
|
557
|
-
const matched = pendingAnsweredByPrompt(envelope.prompt, pendingList(state));
|
|
563
|
+
const matched = pendingAnsweredByPrompt(envelope.prompt, pendingList(state)).filter(entry => mayRetireFromPrompt(state, entry));
|
|
558
564
|
for (const entry of matched) {
|
|
559
565
|
ctx.log?.info('hook.retirement', {
|
|
560
566
|
request_id: entry.request_id,
|
|
@@ -569,7 +575,7 @@ async function answerPrompt(ctx, envelope, sessionId, reminder) {
|
|
|
569
575
|
// the gap after erasing the only request/collapse/device identifiers.
|
|
570
576
|
const updated = updateSessionState(sessionId, ctx.env, (current) => {
|
|
571
577
|
const retiring = [...(current.retiring ?? [])];
|
|
572
|
-
const matchedNow = pendingAnsweredByPrompt(envelope.prompt, pendingList(current));
|
|
578
|
+
const matchedNow = pendingAnsweredByPrompt(envelope.prompt, pendingList(current)).filter(entry => mayRetireFromPrompt(current, entry));
|
|
573
579
|
const unmatched = pendingList(current).filter((entry) => !matchedNow.some((item) => isSamePending(item, entry)));
|
|
574
580
|
for (const entry of matchedNow.filter(questionSubmissionAttempted)) {
|
|
575
581
|
const retirement = retiringQuestion(entry, 'answered_elsewhere', envelope.cwd);
|
|
@@ -616,7 +622,7 @@ async function answerPrompt(ctx, envelope, sessionId, reminder) {
|
|
|
616
622
|
// UserPromptSubmit can add context to the turn already beginning. Keep the
|
|
617
623
|
// accepted-answer journal until the agent acknowledges: if this process or
|
|
618
624
|
// host dies around stdout, a later prompt or Stop safely replays it.
|
|
619
|
-
const stdout = userPromptContextOutput(ctx.harness, withReminder(reminder,
|
|
625
|
+
const stdout = userPromptContextOutput(ctx.harness, withReminder(reminder, prepareOrdinaryAnswersContext(ctx, sessionId, [...(readSessionState(sessionId, ctx.env).delivered_answers ?? []), ...lateAnswers], pendingList(updated).length)));
|
|
620
626
|
if (stdout !== undefined)
|
|
621
627
|
notes.push('the late device answer was added to the user\'s new turn');
|
|
622
628
|
else
|
|
@@ -646,7 +652,7 @@ async function answerPrompt(ctx, envelope, sessionId, reminder) {
|
|
|
646
652
|
}
|
|
647
653
|
const delivered = readSessionState(sessionId, ctx.env).delivered_answers ?? [];
|
|
648
654
|
const stdout = delivered.length > 0
|
|
649
|
-
? userPromptContextOutput(ctx.harness, withReminder(reminder,
|
|
655
|
+
? userPromptContextOutput(ctx.harness, withReminder(reminder, prepareOrdinaryAnswersContext(ctx, sessionId, delivered, pendingList(updated).length)))
|
|
650
656
|
: undefined;
|
|
651
657
|
return {
|
|
652
658
|
notes,
|
|
@@ -657,6 +663,16 @@ async function answerPrompt(ctx, envelope, sessionId, reminder) {
|
|
|
657
663
|
settlementRequired: needsQuestionSettlement(updated, ctx.harness),
|
|
658
664
|
};
|
|
659
665
|
}
|
|
666
|
+
/** Legacy prompt/Stop context routes bypass the common drain. Select ordinary
|
|
667
|
+
* presentation durably before returning any answer bytes to those writers.
|
|
668
|
+
*/
|
|
669
|
+
function prepareOrdinaryAnswersContext(ctx, sessionId, answers, remaining) {
|
|
670
|
+
if (ctx.harness === 'codex') {
|
|
671
|
+
const ids = new Set(answers.flatMap(answer => answer.pending.question_id === undefined ? [] : [answer.pending.question_id]));
|
|
672
|
+
updateSessionState(sessionId, ctx.env, state => markCodexOrdinaryPresentation(state, ids));
|
|
673
|
+
}
|
|
674
|
+
return answersContext(answers, remaining);
|
|
675
|
+
}
|
|
660
676
|
function needsQuestionSettlement(state, harness) {
|
|
661
677
|
return pendingList(state).some((entry) => entry.request_id === undefined || harness === 'codex');
|
|
662
678
|
}
|
|
@@ -952,13 +968,16 @@ async function deliverAcceptedAnswers(ctx, sessionId, route, accepted, notes, cw
|
|
|
952
968
|
return withFileLock(`${file}.lock`, () => {
|
|
953
969
|
if (sessionHasEnded(sessionId, ctx.env))
|
|
954
970
|
return false;
|
|
955
|
-
|
|
971
|
+
let current = readSessionState(sessionId, ctx.env);
|
|
956
972
|
if (current.accepted === undefined)
|
|
957
973
|
return false;
|
|
974
|
+
const acceptedBeforeCommit = current.accepted;
|
|
958
975
|
deliveryCommitted = true;
|
|
976
|
+
if (ctx.harness === 'codex')
|
|
977
|
+
current = markCodexOrdinaryPresentation(current, new Set(answered.flatMap(answer => answer.pending.question_id === undefined ? [] : [answer.pending.question_id])));
|
|
959
978
|
writeSessionStateUnlocked(file, sessionId, {
|
|
960
979
|
...current,
|
|
961
|
-
accepted: { ...
|
|
980
|
+
accepted: { ...acceptedBeforeCommit, delivery_committed_at: ctx.now() },
|
|
962
981
|
});
|
|
963
982
|
return true;
|
|
964
983
|
});
|
|
@@ -1234,7 +1253,7 @@ async function handleClaimedStop(ctx, envelope, sessionId, pending, notes, hardD
|
|
|
1234
1253
|
await retirePendings(ctx, envelope, sessionId, permanentlyRejected, 'expired');
|
|
1235
1254
|
}
|
|
1236
1255
|
if (answered.length > 0) {
|
|
1237
|
-
const finalized = await finalizePendings(ctx, answered.map((entry) => entry.pending), answerCloseDisposition(ctx, route));
|
|
1256
|
+
const finalized = await finalizePendings(ctx, sessionId, answered.map((entry) => entry.pending), answerCloseDisposition(ctx, route));
|
|
1238
1257
|
const authoritative = answered.map((entry) => {
|
|
1239
1258
|
const response = finalized.find((candidate) => isSamePending(candidate.pending, entry.pending))?.response;
|
|
1240
1259
|
const replies = response?.replies.length ? response.replies : entry.replies;
|
|
@@ -1329,6 +1348,11 @@ export async function submitSessionQuestions(ctx, envelope, hardDeadlineAt = ctx
|
|
|
1329
1348
|
// its own notification — one ask never stands in for another.
|
|
1330
1349
|
const submitted = [];
|
|
1331
1350
|
for (const entry of pendingList(readSessionState(sessionId, ctx.env)).filter((entry) => entry.request_id === undefined)) {
|
|
1351
|
+
if (entry.service_identity !== undefined && (entry.service_identity.machine_id !== ctx.service_identity?.machine_id ||
|
|
1352
|
+
entry.service_identity.base_url !== ctx.service_identity?.base_url)) {
|
|
1353
|
+
notes.push('the registered question belongs to a different Approved Machine; preserving it without uploading');
|
|
1354
|
+
continue;
|
|
1355
|
+
}
|
|
1332
1356
|
if (!queuedQuestionStillEligible(sessionId, ctx.env, entry)) {
|
|
1333
1357
|
notes.push('the question was retired before submission; not uploading it');
|
|
1334
1358
|
continue;
|
|
@@ -1362,6 +1386,8 @@ export async function submitSessionQuestions(ctx, envelope, hardDeadlineAt = ctx
|
|
|
1362
1386
|
notes.push(prepared.error);
|
|
1363
1387
|
continue;
|
|
1364
1388
|
}
|
|
1389
|
+
if (entry.service_identity !== undefined)
|
|
1390
|
+
prepared.service_identity = entry.service_identity;
|
|
1365
1391
|
intent = prepared;
|
|
1366
1392
|
// Durable before submit. If the server commits and the response is lost,
|
|
1367
1393
|
// the reserved request id still lets this owner poll and finalize the
|
|
@@ -1424,8 +1450,11 @@ export async function submitSessionQuestions(ctx, envelope, hardDeadlineAt = ctx
|
|
|
1424
1450
|
message: err.message,
|
|
1425
1451
|
});
|
|
1426
1452
|
if (entry.submission !== undefined) {
|
|
1453
|
+
if (readSessionState(sessionId, ctx.env).native_answer_operations?.some(op => op.question_id === entry.question_id)) {
|
|
1454
|
+
notes.push('the original submission was rejected; preserving its native answer operation without minting a replacement question');
|
|
1455
|
+
continue;
|
|
1456
|
+
}
|
|
1427
1457
|
notes.push(`question submission was rejected (${err.code}, HTTP ${err.status}); reminting the draft in the current contract instead of replaying the frozen one`);
|
|
1428
|
-
clearFrozenSubmission(sessionId, ctx.env, entry);
|
|
1429
1458
|
const reminted = await prepareQuestionSubmission(ctx, {
|
|
1430
1459
|
summary: entry.summary,
|
|
1431
1460
|
...(entry.body !== undefined ? { body: entry.body } : {}),
|
|
@@ -1437,20 +1466,18 @@ export async function submitSessionQuestions(ctx, envelope, hardDeadlineAt = ctx
|
|
|
1437
1466
|
ownerDeadlineAt,
|
|
1438
1467
|
});
|
|
1439
1468
|
if ('error' in reminted) {
|
|
1440
|
-
|
|
1469
|
+
// Preserve the original intent; preparation can race an early
|
|
1470
|
+
// native answer and is not proof that its obligation disappeared.
|
|
1441
1471
|
notes.push(reminted.error);
|
|
1442
1472
|
continue;
|
|
1443
1473
|
}
|
|
1474
|
+
if (entry.service_identity !== undefined)
|
|
1475
|
+
reminted.service_identity = entry.service_identity;
|
|
1476
|
+
if (!replaceFrozenSubmission(sessionId, ctx.env, entry, intent, reminted)) {
|
|
1477
|
+
notes.push('the original submission changed or has a native answer obligation; no replacement was admitted');
|
|
1478
|
+
continue;
|
|
1479
|
+
}
|
|
1444
1480
|
intent = reminted;
|
|
1445
|
-
updateSessionState(sessionId, ctx.env, (current) => {
|
|
1446
|
-
const list = pendingList(current);
|
|
1447
|
-
const index = list.findIndex((candidate) => isSamePending(candidate, entry));
|
|
1448
|
-
if (index < 0)
|
|
1449
|
-
return current;
|
|
1450
|
-
const next = [...list];
|
|
1451
|
-
next[index] = { ...next[index], submission: reminted };
|
|
1452
|
-
return { ...current, pending: next };
|
|
1453
|
-
});
|
|
1454
1481
|
try {
|
|
1455
1482
|
if (!canSubmitCompleteWindow(ctx, intent, replyWindowSeconds)) {
|
|
1456
1483
|
notes.push('draft recovery consumed the admission allowance; preserving the frozen intent for a successor owner');
|
|
@@ -1540,8 +1567,11 @@ export async function submitSessionQuestions(ctx, envelope, hardDeadlineAt = ctx
|
|
|
1540
1567
|
// nobody listening.
|
|
1541
1568
|
if (admissionConfirmed) {
|
|
1542
1569
|
updateSessionState(sessionId, ctx.env, (current) => {
|
|
1570
|
+
current = confirmNativeAnswerTarget(current, live);
|
|
1543
1571
|
const list = pendingList(current);
|
|
1544
|
-
const index = list.findIndex((candidate) => isSamePending(candidate, entry) && candidate.request_id === undefined
|
|
1572
|
+
const index = list.findIndex((candidate) => isSamePending(candidate, entry) && candidate.request_id === undefined &&
|
|
1573
|
+
(candidate.service_identity === undefined || (candidate.service_identity.machine_id === ctx.service_identity?.machine_id &&
|
|
1574
|
+
candidate.service_identity.base_url === ctx.service_identity?.base_url)));
|
|
1545
1575
|
if (index >= 0) {
|
|
1546
1576
|
const next = [...list];
|
|
1547
1577
|
next[index] = live;
|
|
@@ -1603,7 +1633,7 @@ async function escalate(ctx, envelope, sessionId, notes, hardDeadlineAt, route,
|
|
|
1603
1633
|
if (anomalous.length > 0)
|
|
1604
1634
|
notes.push('server committed an answer deadline beyond this process owner; reconciling the anomalous window');
|
|
1605
1635
|
const staleLive = live.filter((entry) => entry.reply_deadline_at === undefined || entry.reply_deadline_at <= ctx.now() || anomalous.includes(entry));
|
|
1606
|
-
const finalizedStale = await finalizePendings(ctx, staleLive, answerCloseDisposition(ctx, route));
|
|
1636
|
+
const finalizedStale = await finalizePendings(ctx, sessionId, staleLive, answerCloseDisposition(ctx, route));
|
|
1607
1637
|
const staleAnswers = finalizedStale
|
|
1608
1638
|
.map(finalizedAnswer)
|
|
1609
1639
|
.filter((entry) => entry !== null);
|
|
@@ -1705,7 +1735,7 @@ async function escalate(ctx, envelope, sessionId, notes, hardDeadlineAt, route,
|
|
|
1705
1735
|
entry.reply_deadline_at <= waitDeadline ||
|
|
1706
1736
|
waited.permanentFailures.has(entry.request_id));
|
|
1707
1737
|
const stillAnswerable = activeWaiting.filter((entry) => !expired.includes(entry));
|
|
1708
|
-
const finalized = await finalizePendings(ctx, expired, answerCloseDisposition(ctx, route));
|
|
1738
|
+
const finalized = await finalizePendings(ctx, sessionId, expired, answerCloseDisposition(ctx, route));
|
|
1709
1739
|
const finalAnswers = finalized
|
|
1710
1740
|
.map(finalizedAnswer)
|
|
1711
1741
|
.filter((entry) => entry !== null);
|
|
@@ -1750,7 +1780,7 @@ async function escalate(ctx, envelope, sessionId, notes, hardDeadlineAt, route,
|
|
|
1750
1780
|
return { notes };
|
|
1751
1781
|
}
|
|
1752
1782
|
const polledAnswered = activeWaiting.filter((entry) => waited.byRequest.has(entry.request_id));
|
|
1753
|
-
const finalizedAnswered = await finalizePendings(ctx, polledAnswered, answerCloseDisposition(ctx, route));
|
|
1783
|
+
const finalizedAnswered = await finalizePendings(ctx, sessionId, polledAnswered, answerCloseDisposition(ctx, route));
|
|
1754
1784
|
const answered = [];
|
|
1755
1785
|
for (const finalized of finalizedAnswered) {
|
|
1756
1786
|
const entry = finalized.pending;
|
|
@@ -1797,7 +1827,7 @@ export function handleSessionEnd(env, envelope, now = Date.now(), preserveAccept
|
|
|
1797
1827
|
return { notes, log: { outcome: 'ignored', reason: 'missing-session-id' } };
|
|
1798
1828
|
// Publish cancellation before reading or clearing anything. In-flight Stop
|
|
1799
1829
|
// writers use the same session lock, so none can recreate state after this.
|
|
1800
|
-
markSessionEnded(sessionId, env, now);
|
|
1830
|
+
const ending = markSessionEnded(sessionId, env, now);
|
|
1801
1831
|
if (envelope.cwd !== undefined)
|
|
1802
1832
|
clearMatchingProjectSession(envelope.cwd, env, sessionId);
|
|
1803
1833
|
const state = readSessionState(sessionId, env);
|
|
@@ -1840,47 +1870,60 @@ export function handleSessionEnd(env, envelope, now = Date.now(), preserveAccept
|
|
|
1840
1870
|
orphanRetirements(env, orphans, now);
|
|
1841
1871
|
notes.push(`queued ${orphans.length} question${orphans.length > 1 ? 's' : ''} for retirement on the next hook`);
|
|
1842
1872
|
}
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
(
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1873
|
+
return withFileLock(`${sessionStatePath(sessionId, env)}.lock`, () => {
|
|
1874
|
+
const marker = readSessionEndMarker(sessionId, env);
|
|
1875
|
+
if (marker?.stamp?.mono !== ending.stamp?.mono ||
|
|
1876
|
+
(readSessionIncarnation(sessionId, env)?.key ?? null) !== ending.ends) {
|
|
1877
|
+
return { notes, log: { outcome: 'preserved', reason: 'session-resumed-during-cleanup' } };
|
|
1878
|
+
}
|
|
1879
|
+
// A committed receipt can arrive after the end marker. Preserve the fresh
|
|
1880
|
+
// obligation state rather than restoring the earlier cleanup snapshot.
|
|
1881
|
+
const state = readSessionState(sessionId, env);
|
|
1882
|
+
stateWithHistory = { ...state, ...(stateWithHistory.question_history === undefined ? {} : { question_history: stateWithHistory.question_history }) };
|
|
1883
|
+
if ((preserveAccepted && state.accepted !== undefined) ||
|
|
1884
|
+
(state.acknowledgement_due?.length ?? 0) > 0 ||
|
|
1885
|
+
(state.message_acknowledgement_due?.length ?? 0) > 0 ||
|
|
1886
|
+
(state.native_answer_operations?.length ?? 0) > 0 ||
|
|
1887
|
+
(state.codex_question_bindings?.length ?? 0) > 0) {
|
|
1888
|
+
const preserved = { ...stateWithHistory };
|
|
1889
|
+
if (!preserveAccepted)
|
|
1890
|
+
delete preserved.accepted;
|
|
1891
|
+
if (!preserveAccepted)
|
|
1892
|
+
delete preserved.waiting_answers;
|
|
1893
|
+
delete preserved.input_wake;
|
|
1894
|
+
delete preserved.pending;
|
|
1895
|
+
delete preserved.retiring;
|
|
1896
|
+
delete preserved.acknowledgement_blocks;
|
|
1897
|
+
if ((preserved.acknowledgement_due?.length ?? 0) === 0) {
|
|
1898
|
+
delete preserved.acknowledgement_due;
|
|
1899
|
+
}
|
|
1900
|
+
if ((preserved.message_acknowledgement_due?.length ?? 0) === 0) {
|
|
1901
|
+
delete preserved.message_acknowledgement_due;
|
|
1902
|
+
}
|
|
1903
|
+
writeSessionStateUnlocked(sessionStatePath(sessionId, env), sessionId, preserved);
|
|
1904
|
+
notes.push(preserveAccepted && state.accepted !== undefined
|
|
1905
|
+
? 'preserved an accepted device answer for this exact session to resume'
|
|
1906
|
+
: 'preserved required Agent Acknowledgement obligations for this exact session');
|
|
1907
|
+
return {
|
|
1908
|
+
notes,
|
|
1909
|
+
log: {
|
|
1910
|
+
outcome: preserveAccepted && state.accepted !== undefined ? 'answer-preserved' : 'acknowledgement-preserved',
|
|
1911
|
+
queued_retirements: orphans.length,
|
|
1912
|
+
accepted_answers: state.accepted?.answers.length ?? 0,
|
|
1913
|
+
acknowledgement_due: state.acknowledgement_due?.length ?? 0,
|
|
1914
|
+
...(state.message_acknowledgement_due === undefined
|
|
1915
|
+
? {}
|
|
1916
|
+
: { message_acknowledgement_due: state.message_acknowledgement_due.length }),
|
|
1917
|
+
},
|
|
1918
|
+
};
|
|
1857
1919
|
}
|
|
1858
|
-
|
|
1859
|
-
|
|
1920
|
+
const history = stateWithHistory.question_history;
|
|
1921
|
+
clearSessionStateUnlocked(sessionId, env);
|
|
1922
|
+
if ((history?.length ?? 0) > 0) {
|
|
1923
|
+
writeSessionStateUnlocked(sessionStatePath(sessionId, env), sessionId, { question_history: history });
|
|
1860
1924
|
}
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
? 'preserved an accepted device answer for this exact session to resume'
|
|
1864
|
-
: 'preserved required Agent Acknowledgement obligations for this exact session');
|
|
1865
|
-
return {
|
|
1866
|
-
notes,
|
|
1867
|
-
log: {
|
|
1868
|
-
outcome: preserveAccepted && state.accepted !== undefined ? 'answer-preserved' : 'acknowledgement-preserved',
|
|
1869
|
-
queued_retirements: orphans.length,
|
|
1870
|
-
accepted_answers: state.accepted?.answers.length ?? 0,
|
|
1871
|
-
acknowledgement_due: state.acknowledgement_due?.length ?? 0,
|
|
1872
|
-
...(state.message_acknowledgement_due === undefined
|
|
1873
|
-
? {}
|
|
1874
|
-
: { message_acknowledgement_due: state.message_acknowledgement_due.length }),
|
|
1875
|
-
},
|
|
1876
|
-
};
|
|
1877
|
-
}
|
|
1878
|
-
const history = stateWithHistory.question_history;
|
|
1879
|
-
clearSessionState(sessionId, env);
|
|
1880
|
-
if ((history?.length ?? 0) > 0) {
|
|
1881
|
-
writeSessionState(sessionId, env, { question_history: history });
|
|
1882
|
-
}
|
|
1883
|
-
return { notes, log: { outcome: 'cleaned', queued_retirements: orphans.length } };
|
|
1925
|
+
return { notes, log: { outcome: 'cleaned', queued_retirements: orphans.length } };
|
|
1926
|
+
});
|
|
1884
1927
|
}
|
|
1885
1928
|
// ---------------------------------------------------------------------------
|
|
1886
1929
|
// ask — register a question for the turn's end
|
|
@@ -1901,6 +1944,15 @@ export const MAX_PENDING_QUESTIONS = 4;
|
|
|
1901
1944
|
* the shared resource being protected here, not the agent's turn.
|
|
1902
1945
|
*/
|
|
1903
1946
|
export const MAX_LIVE_QUESTIONS = 10;
|
|
1947
|
+
export class QuestionRegistrationChanged extends Error {
|
|
1948
|
+
reason;
|
|
1949
|
+
constructor(reason) {
|
|
1950
|
+
super(reason === 'credential'
|
|
1951
|
+
? 'The Approved Machine changed before question registration completed.'
|
|
1952
|
+
: 'The Agent Session ended or changed before question registration completed.');
|
|
1953
|
+
this.reason = reason;
|
|
1954
|
+
}
|
|
1955
|
+
}
|
|
1904
1956
|
/**
|
|
1905
1957
|
* A session may hold several registered questions at once: a new `ask` never
|
|
1906
1958
|
* ends an earlier one. Each reaches the user as its own notification and is
|
|
@@ -1913,10 +1965,24 @@ export const MAX_LIVE_QUESTIONS = 10;
|
|
|
1913
1965
|
* The queue is keyed on the session, not the project: several agents may be
|
|
1914
1966
|
* running in one project at once, and their questions must never interfere.
|
|
1915
1967
|
*/
|
|
1916
|
-
export function registerQuestion(sessionId, env, question, now = Date.now()) {
|
|
1968
|
+
export function registerQuestion(sessionId, env, question, now = Date.now(), nativeAdmission, guard) {
|
|
1917
1969
|
let full = null;
|
|
1970
|
+
let stored = false;
|
|
1918
1971
|
const questionId = question.question_id ?? `q_${randomBytes(12).toString('base64url')}`;
|
|
1919
1972
|
updateSessionState(sessionId, env, (state) => {
|
|
1973
|
+
// Revalidate after acquiring the lock: discovery and lock contention can
|
|
1974
|
+
// outlive the owner or its Approved Machine. Neither may adopt this ask.
|
|
1975
|
+
if (guard !== undefined) {
|
|
1976
|
+
if (!guard.machineStillMatches())
|
|
1977
|
+
throw new QuestionRegistrationChanged('credential');
|
|
1978
|
+
if (guard.owner_key !== undefined) {
|
|
1979
|
+
const owner = readSessionIncarnation(sessionId, env);
|
|
1980
|
+
if (owner?.key !== guard.owner_key || sessionHasEnded(sessionId, env) ||
|
|
1981
|
+
owner.harness_process === undefined || processIdentityLiveness(owner.harness_process) !== 'alive') {
|
|
1982
|
+
throw new QuestionRegistrationChanged('owner');
|
|
1983
|
+
}
|
|
1984
|
+
}
|
|
1985
|
+
}
|
|
1920
1986
|
const pending = pendingList(state);
|
|
1921
1987
|
const unasked = pending.filter((entry) => entry.request_id === undefined);
|
|
1922
1988
|
if (unasked.length >= MAX_PENDING_QUESTIONS) {
|
|
@@ -1927,18 +1993,15 @@ export function registerQuestion(sessionId, env, question, now = Date.now()) {
|
|
|
1927
1993
|
full = 'live';
|
|
1928
1994
|
return state;
|
|
1929
1995
|
}
|
|
1930
|
-
|
|
1996
|
+
stored = true;
|
|
1997
|
+
const registered = { asked_at: now, ...question, question_id: questionId, question: question.question.slice(0, MAX_STORED_QUESTION_CHARS) };
|
|
1998
|
+
return reserveCurrentCodexQuestion({
|
|
1931
1999
|
...state,
|
|
1932
2000
|
pending: [
|
|
1933
2001
|
...pending,
|
|
1934
|
-
|
|
1935
|
-
asked_at: now,
|
|
1936
|
-
...question,
|
|
1937
|
-
question_id: questionId,
|
|
1938
|
-
question: question.question.slice(0, MAX_STORED_QUESTION_CHARS),
|
|
1939
|
-
},
|
|
2002
|
+
registered,
|
|
1940
2003
|
],
|
|
1941
|
-
};
|
|
2004
|
+
}, registered, sessionId, env, nativeAdmission);
|
|
1942
2005
|
});
|
|
1943
2006
|
if (full === 'unasked') {
|
|
1944
2007
|
throw new Error(`${MAX_PENDING_QUESTIONS} questions are already waiting to be asked. ` +
|
|
@@ -1948,6 +2011,9 @@ export function registerQuestion(sessionId, env, question, now = Date.now()) {
|
|
|
1948
2011
|
throw new Error(`${MAX_LIVE_QUESTIONS} questions from this session are already open. ` +
|
|
1949
2012
|
'Retire the ones you no longer need with `notifai close <question_id>` or `notifai close --pending` before asking another.');
|
|
1950
2013
|
}
|
|
2014
|
+
// updateSessionState skips its callback when SessionEnd won the lock.
|
|
2015
|
+
if (!stored)
|
|
2016
|
+
throw new QuestionRegistrationChanged('owner');
|
|
1951
2017
|
return questionId;
|
|
1952
2018
|
}
|
|
1953
2019
|
/** Parses hook JSON from stdin, tolerating an empty or malformed body. */
|