@raidiant/notifai 11.0.6 → 11.1.1
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 +35 -0
- package/README.md +5 -0
- package/dist/codex-wake.d.ts +44 -63
- package/dist/codex-wake.js +71 -174
- package/dist/codex-wake.js.map +1 -1
- package/dist/commands-ask.js +3 -1
- package/dist/commands-ask.js.map +1 -1
- package/dist/commands-close.js +28 -14
- package/dist/commands-close.js.map +1 -1
- package/dist/commands-core.d.ts +1 -1
- package/dist/commands-doctor.js +32 -11
- package/dist/commands-doctor.js.map +1 -1
- package/dist/commands-hook-install.js +111 -38
- package/dist/commands-hook-install.js.map +1 -1
- package/dist/commands-hook-run.js +8 -9
- package/dist/commands-hook-run.js.map +1 -1
- package/dist/commands-hook-shape.js +3 -2
- package/dist/commands-hook-shape.js.map +1 -1
- package/dist/credentials.js +7 -4
- package/dist/credentials.js.map +1 -1
- package/dist/harnesses.d.ts +1 -1
- package/dist/harnesses.js +2 -2
- package/dist/harnesses.js.map +1 -1
- package/dist/hook-adapter.d.ts +7 -1
- package/dist/hook-adapter.js +36 -3
- package/dist/hook-adapter.js.map +1 -1
- package/dist/hook-events.d.ts +69 -2
- package/dist/hook-events.js +75 -13
- package/dist/hook-events.js.map +1 -1
- package/dist/hook-lifecycle.js +44 -15
- package/dist/hook-lifecycle.js.map +1 -1
- package/dist/hook-question-retirement.d.ts +9 -0
- package/dist/hook-question-retirement.js +38 -3
- package/dist/hook-question-retirement.js.map +1 -1
- package/dist/hook-question-state.d.ts +14 -5
- package/dist/hook-question-state.js +55 -24
- package/dist/hook-question-state.js.map +1 -1
- package/dist/hook-types.d.ts +6 -0
- package/dist/install-hooks.d.ts +70 -12
- package/dist/install-hooks.js +352 -198
- package/dist/install-hooks.js.map +1 -1
- package/dist/openclaw-plugin.d.ts +0 -1
- package/dist/openclaw-plugin.js +0 -7
- package/dist/openclaw-plugin.js.map +1 -1
- package/dist/opencode-plugin.d.ts +9 -0
- package/dist/opencode-plugin.js +19 -2
- package/dist/opencode-plugin.js.map +1 -1
- package/dist/readiness.d.ts +9 -1
- package/dist/readiness.js +11 -3
- package/dist/readiness.js.map +1 -1
- package/dist/session-labels.js +6 -6
- package/dist/session-labels.js.map +1 -1
- package/dist/skill-source/manifest.json +4 -4
- package/dist/skill-source/notifai/SKILL.md +2 -2
- package/dist/skill-source/notifai/references/harness-setup.md +23 -14
- package/dist/ui/theme.d.ts +1 -1
- package/package.json +2 -2
package/dist/harnesses.js
CHANGED
|
@@ -44,8 +44,8 @@ const CLAUDE_CODE_WINDOWS_CAPABILITY = {
|
|
|
44
44
|
};
|
|
45
45
|
const CODEX_CAPABILITY = {
|
|
46
46
|
stopContinuation: 'decision-block',
|
|
47
|
-
deliveryRoutes: ['
|
|
48
|
-
deliveryContract:
|
|
47
|
+
deliveryRoutes: ['session-queue', 'hold-for-next-turn'],
|
|
48
|
+
deliveryContract: "the Stop hook returns at once and waits out of band through the complete answer window, then queues the answer into this same thread's durable inbox; a live session consumes it within seconds, a busy one at its next turn boundary, and a stopped one the next time it is opened",
|
|
49
49
|
};
|
|
50
50
|
const CURSOR_CAPABILITY = {
|
|
51
51
|
stopContinuation: 'unsupported',
|
package/dist/harnesses.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harnesses.js","sourceRoot":"","sources":["../src/harnesses.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,aAAa;IACb,OAAO;IACP,QAAQ;IACR,UAAU;IACV,UAAU;IACV,QAAQ;CACA,CAAA;AAIV;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,aAAa;IACb,OAAO;IACP,QAAQ;IACR,UAAU;IACV,UAAU;CACF,CAAA;AAIV,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACpD,OAAQ,0BAAgD,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC1E,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAyC;IAClE,aAAa,EAAE,aAAa;IAC5B,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;CACjB,CAAA;
|
|
1
|
+
{"version":3,"file":"harnesses.js","sourceRoot":"","sources":["../src/harnesses.ts"],"names":[],"mappings":"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"}
|
package/dist/hook-adapter.d.ts
CHANGED
|
@@ -31,8 +31,14 @@ export declare function hookHostPlatform(platform?: NodeJS.Platform | HookHostPl
|
|
|
31
31
|
* it and may change without changing hook identity.
|
|
32
32
|
*/
|
|
33
33
|
export declare function hookAdapterPath(homeDir?: string): string;
|
|
34
|
+
/**
|
|
35
|
+
* Adapter identity is the OS account home. A mutable HOME is not a trusted
|
|
36
|
+
* isolation context: honouring it would retarget every live harness hook.
|
|
37
|
+
* Tests and other explicit callers pass the destination home themselves.
|
|
38
|
+
*/
|
|
39
|
+
export declare function resolveHookAdapterHome(explicitHome?: string, env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform | HookHostPlatform): string;
|
|
34
40
|
/** Install or repair the stable adapter and atomically retarget its implementation. */
|
|
35
|
-
export declare function installHookAdapter(target: HookAdapterTarget, homeDir?: string, platform?: NodeJS.Platform | HookHostPlatform): {
|
|
41
|
+
export declare function installHookAdapter(target: HookAdapterTarget, homeDir?: string, platform?: NodeJS.Platform | HookHostPlatform, env?: NodeJS.ProcessEnv): {
|
|
36
42
|
path: string;
|
|
37
43
|
changed: boolean;
|
|
38
44
|
};
|
package/dist/hook-adapter.js
CHANGED
|
@@ -3,6 +3,8 @@ import os from 'node:os';
|
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { atomicWriteFileSync } from './atomic-file.js';
|
|
5
5
|
import { withTargetFileLock } from './file-lock.js';
|
|
6
|
+
import { sameLocalPath } from './local-path.js';
|
|
7
|
+
import { isWindowsAbsolute } from './platform.js';
|
|
6
8
|
const ADAPTER_MARKER = '# notifai managed hook adapter';
|
|
7
9
|
const WIN32_ADAPTER_MARKER = '// notifai managed hook adapter';
|
|
8
10
|
const ADAPTER_VERSION = 2;
|
|
@@ -36,12 +38,43 @@ export function hookHostPlatform(platform = process.platform) {
|
|
|
36
38
|
export function hookAdapterPath(homeDir = os.userInfo().homedir) {
|
|
37
39
|
return path.join(homeDir, '.notifai', 'bin', 'hook-adapter');
|
|
38
40
|
}
|
|
41
|
+
function envRequestedHomes(env = process.env, platform = process.platform) {
|
|
42
|
+
if (platform === 'win32') {
|
|
43
|
+
const profile = env['USERPROFILE'];
|
|
44
|
+
const home = env['HOME'];
|
|
45
|
+
// accountHome accepts a Windows-absolute HOME ahead of USERPROFILE.
|
|
46
|
+
// Validate both: one real value must not conceal a relocated other one.
|
|
47
|
+
// Git Bash/MSYS HOME is intentionally ignored by accountHome as well.
|
|
48
|
+
return [
|
|
49
|
+
...(typeof profile === 'string' && profile !== '' ? [profile] : []),
|
|
50
|
+
...(typeof home === 'string' && isWindowsAbsolute(home) ? [home] : []),
|
|
51
|
+
];
|
|
52
|
+
}
|
|
53
|
+
const home = env['HOME'];
|
|
54
|
+
return typeof home === 'string' && home !== '' ? [home] : [];
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Adapter identity is the OS account home. A mutable HOME is not a trusted
|
|
58
|
+
* isolation context: honouring it would retarget every live harness hook.
|
|
59
|
+
* Tests and other explicit callers pass the destination home themselves.
|
|
60
|
+
*/
|
|
61
|
+
export function resolveHookAdapterHome(explicitHome, env = process.env, platform = process.platform) {
|
|
62
|
+
if (explicitHome !== undefined && explicitHome !== '')
|
|
63
|
+
return explicitHome;
|
|
64
|
+
const osHome = os.userInfo().homedir;
|
|
65
|
+
const comparisonPlatform = platform === 'win32' ? 'win32' : 'linux';
|
|
66
|
+
if (envRequestedHomes(env, platform).some((home) => !sameLocalPath(home, osHome, comparisonPlatform))) {
|
|
67
|
+
throw new Error(`Refusing to install the shared hook adapter: HOME or USERPROFILE does not match this account's OS home. Isolated programmatic verification must pass an explicit adapter home; a mutable home cannot retarget trusted hook identity.`);
|
|
68
|
+
}
|
|
69
|
+
return osHome;
|
|
70
|
+
}
|
|
39
71
|
/** Install or repair the stable adapter and atomically retarget its implementation. */
|
|
40
|
-
export function installHookAdapter(target, homeDir, platform = process.platform) {
|
|
72
|
+
export function installHookAdapter(target, homeDir, platform = process.platform, env = process.env) {
|
|
41
73
|
const host = hookHostPlatform(platform);
|
|
42
74
|
assertUsableTarget(target, host);
|
|
43
|
-
const
|
|
44
|
-
|
|
75
|
+
const resolvedHome = resolveHookAdapterHome(homeDir, env, platform);
|
|
76
|
+
const file = hookAdapterPath(resolvedHome);
|
|
77
|
+
ensureManagedDirectories(resolvedHome, host);
|
|
45
78
|
const source = hookAdapterSource(target, host);
|
|
46
79
|
return withTargetFileLock(file, () => {
|
|
47
80
|
const existing = existsSync(file) ? readSafeManagedFile(file) : null;
|
package/dist/hook-adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-adapter.js","sourceRoot":"","sources":["../src/hook-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hook-adapter.js","sourceRoot":"","sources":["../src/hook-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/hook-events.d.ts
CHANGED
|
@@ -1,6 +1,73 @@
|
|
|
1
1
|
/** Canonical lifecycle event vocabulary shared by installation and execution. */
|
|
2
2
|
import { type HookInstallableHarness } from './harnesses.js';
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
/**
|
|
4
|
+
* One harness-neutral table for the lifecycle events this CLI build serves.
|
|
5
|
+
*
|
|
6
|
+
* Builders, generated-plugin discovery lists, ownership regexes, and
|
|
7
|
+
* `HOOK_EVENTS` all derive from this. Per-harness *shape* (async Stop,
|
|
8
|
+
* Cursor `loop_limit`, OpenCode native joint names) stays at the adapter;
|
|
9
|
+
* this table owns names, budgets, and which harnesses receive each event.
|
|
10
|
+
*
|
|
11
|
+
* Timeouts are seconds. Document Stop is not taken from `timeoutSeconds`:
|
|
12
|
+
* Question Routing hosts use the full-window budget, and the Cursor `stop`
|
|
13
|
+
* handler uses the non-routing blocking budget.
|
|
14
|
+
*/
|
|
15
|
+
export declare const HOOK_EVENT_TABLE: readonly [{
|
|
16
|
+
readonly notifai: "session-start";
|
|
17
|
+
readonly document: "SessionStart";
|
|
18
|
+
readonly cursor: "sessionStart";
|
|
19
|
+
readonly openclaw: true;
|
|
20
|
+
readonly opencodeDiscovery: false;
|
|
21
|
+
readonly timeoutSeconds: 5;
|
|
22
|
+
}, {
|
|
23
|
+
readonly notifai: "subagent-start";
|
|
24
|
+
readonly document: "SubagentStart";
|
|
25
|
+
readonly cursor: null;
|
|
26
|
+
readonly openclaw: true;
|
|
27
|
+
readonly opencodeDiscovery: false;
|
|
28
|
+
readonly timeoutSeconds: 5;
|
|
29
|
+
}, {
|
|
30
|
+
readonly notifai: "activation-stop";
|
|
31
|
+
readonly document: null;
|
|
32
|
+
readonly cursor: "stop";
|
|
33
|
+
readonly openclaw: false;
|
|
34
|
+
readonly opencodeDiscovery: false;
|
|
35
|
+
readonly timeoutSeconds: 5;
|
|
36
|
+
readonly cursorLoopLimit: 1;
|
|
37
|
+
}, {
|
|
38
|
+
readonly notifai: "user-prompt-submit";
|
|
39
|
+
readonly document: "UserPromptSubmit";
|
|
40
|
+
readonly cursor: "beforeSubmitPrompt";
|
|
41
|
+
readonly openclaw: true;
|
|
42
|
+
readonly opencodeDiscovery: true;
|
|
43
|
+
readonly timeoutSeconds: 15;
|
|
44
|
+
}, {
|
|
45
|
+
readonly notifai: "stop";
|
|
46
|
+
readonly document: "Stop";
|
|
47
|
+
readonly cursor: "stop";
|
|
48
|
+
readonly openclaw: true;
|
|
49
|
+
readonly opencodeDiscovery: true;
|
|
50
|
+
readonly timeoutSeconds: 5;
|
|
51
|
+
readonly cursorLoopLimit: 3;
|
|
52
|
+
}, {
|
|
53
|
+
readonly notifai: "session-end";
|
|
54
|
+
readonly document: "SessionEnd";
|
|
55
|
+
readonly cursor: "sessionEnd";
|
|
56
|
+
readonly openclaw: true;
|
|
57
|
+
readonly opencodeDiscovery: true;
|
|
58
|
+
readonly timeoutSeconds: 3;
|
|
59
|
+
}];
|
|
60
|
+
export type HookEvent = (typeof HOOK_EVENT_TABLE)[number]['notifai'];
|
|
61
|
+
export declare const HOOK_EVENTS: readonly HookEvent[];
|
|
62
|
+
/** Alternation of Notifai hook-event tokens for command ownership regexes. */
|
|
63
|
+
export declare const HOOK_EVENT_PATTERN: string;
|
|
64
|
+
export declare const HOOK_EVENT_COMMAND_RE: RegExp;
|
|
65
|
+
/**
|
|
66
|
+
* OpenCode has no settings document, so discovery reconstructs the joints
|
|
67
|
+
* the generated module reports as handlers. Session start/subagent start
|
|
68
|
+
* arrive through `experimental.chat.system.transform` rather than this list.
|
|
69
|
+
*/
|
|
70
|
+
export declare const OPENCODE_EVENTS: (readonly ["SessionStart" | "SubagentStart" | "UserPromptSubmit" | "Stop" | "SessionEnd", "session-start" | "subagent-start" | "stop" | "user-prompt-submit" | "session-end"])[];
|
|
71
|
+
export declare const OPENCLAW_EVENTS: (readonly ["SessionStart" | "SubagentStart" | "UserPromptSubmit" | "Stop" | "SessionEnd", "session-start" | "subagent-start" | "stop" | "user-prompt-submit" | "session-end"])[];
|
|
5
72
|
/** Lifecycle handlers one installed harness must carry in this CLI build. */
|
|
6
73
|
export declare function requiredHookEvents(harness: HookInstallableHarness): readonly HookEvent[];
|
package/dist/hook-events.js
CHANGED
|
@@ -1,22 +1,84 @@
|
|
|
1
1
|
/** Canonical lifecycle event vocabulary shared by installation and execution. */
|
|
2
2
|
import {} from './harnesses.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
/**
|
|
4
|
+
* One harness-neutral table for the lifecycle events this CLI build serves.
|
|
5
|
+
*
|
|
6
|
+
* Builders, generated-plugin discovery lists, ownership regexes, and
|
|
7
|
+
* `HOOK_EVENTS` all derive from this. Per-harness *shape* (async Stop,
|
|
8
|
+
* Cursor `loop_limit`, OpenCode native joint names) stays at the adapter;
|
|
9
|
+
* this table owns names, budgets, and which harnesses receive each event.
|
|
10
|
+
*
|
|
11
|
+
* Timeouts are seconds. Document Stop is not taken from `timeoutSeconds`:
|
|
12
|
+
* Question Routing hosts use the full-window budget, and the Cursor `stop`
|
|
13
|
+
* handler uses the non-routing blocking budget.
|
|
14
|
+
*/
|
|
15
|
+
export const HOOK_EVENT_TABLE = [
|
|
16
|
+
{
|
|
17
|
+
notifai: 'session-start',
|
|
18
|
+
document: 'SessionStart',
|
|
19
|
+
cursor: 'sessionStart',
|
|
20
|
+
openclaw: true,
|
|
21
|
+
opencodeDiscovery: false,
|
|
22
|
+
timeoutSeconds: 5,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
notifai: 'subagent-start',
|
|
26
|
+
document: 'SubagentStart',
|
|
27
|
+
cursor: null,
|
|
28
|
+
openclaw: true,
|
|
29
|
+
opencodeDiscovery: false,
|
|
30
|
+
timeoutSeconds: 5,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
notifai: 'activation-stop',
|
|
34
|
+
document: null,
|
|
35
|
+
cursor: 'stop',
|
|
36
|
+
openclaw: false,
|
|
37
|
+
opencodeDiscovery: false,
|
|
38
|
+
timeoutSeconds: 5,
|
|
39
|
+
cursorLoopLimit: 1,
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
notifai: 'user-prompt-submit',
|
|
43
|
+
document: 'UserPromptSubmit',
|
|
44
|
+
cursor: 'beforeSubmitPrompt',
|
|
45
|
+
openclaw: true,
|
|
46
|
+
opencodeDiscovery: true,
|
|
47
|
+
timeoutSeconds: 15,
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
notifai: 'stop',
|
|
51
|
+
document: 'Stop',
|
|
52
|
+
cursor: 'stop',
|
|
53
|
+
openclaw: true,
|
|
54
|
+
opencodeDiscovery: true,
|
|
55
|
+
timeoutSeconds: 5,
|
|
56
|
+
cursorLoopLimit: 3,
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
notifai: 'session-end',
|
|
60
|
+
document: 'SessionEnd',
|
|
61
|
+
cursor: 'sessionEnd',
|
|
62
|
+
openclaw: true,
|
|
63
|
+
opencodeDiscovery: true,
|
|
64
|
+
timeoutSeconds: 3,
|
|
65
|
+
},
|
|
13
66
|
];
|
|
67
|
+
export const HOOK_EVENTS = HOOK_EVENT_TABLE.map((row) => row.notifai);
|
|
68
|
+
/** Alternation of Notifai hook-event tokens for command ownership regexes. */
|
|
69
|
+
export const HOOK_EVENT_PATTERN = HOOK_EVENTS.join('|');
|
|
70
|
+
export const HOOK_EVENT_COMMAND_RE = new RegExp(` hook (${HOOK_EVENT_PATTERN})\\b`);
|
|
71
|
+
/**
|
|
72
|
+
* OpenCode has no settings document, so discovery reconstructs the joints
|
|
73
|
+
* the generated module reports as handlers. Session start/subagent start
|
|
74
|
+
* arrive through `experimental.chat.system.transform` rather than this list.
|
|
75
|
+
*/
|
|
76
|
+
export const OPENCODE_EVENTS = HOOK_EVENT_TABLE.filter((row) => row.opencodeDiscovery && row.document !== null).map((row) => [row.document, row.notifai]);
|
|
77
|
+
export const OPENCLAW_EVENTS = HOOK_EVENT_TABLE.filter((row) => row.openclaw && row.document !== null).map((row) => [row.document, row.notifai]);
|
|
14
78
|
/** Lifecycle handlers one installed harness must carry in this CLI build. */
|
|
15
79
|
export function requiredHookEvents(harness) {
|
|
16
80
|
if (harness === 'opencode' || harness === 'openclaw')
|
|
17
81
|
return [];
|
|
18
|
-
return harness === 'cursor'
|
|
19
|
-
? ['session-start', 'activation-stop', 'user-prompt-submit', 'stop', 'session-end']
|
|
20
|
-
: ['session-start', 'subagent-start', 'user-prompt-submit', 'stop', 'session-end'];
|
|
82
|
+
return HOOK_EVENT_TABLE.filter((row) => harness === 'cursor' ? row.cursor !== null : row.document !== null).map((row) => row.notifai);
|
|
21
83
|
}
|
|
22
84
|
//# sourceMappingURL=hook-events.js.map
|
package/dist/hook-events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-events.js","sourceRoot":"","sources":["../src/hook-events.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,OAAO,EAA+B,MAAM,gBAAgB,CAAA;AAE5D,
|
|
1
|
+
{"version":3,"file":"hook-events.js","sourceRoot":"","sources":["../src/hook-events.ts"],"names":[],"mappings":"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"}
|
package/dist/hook-lifecycle.js
CHANGED
|
@@ -7,7 +7,7 @@ import { acknowledgementBlockContext, amendAcceptedAnswers, answersContext, fini
|
|
|
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';
|
|
10
|
-
import { clearFrozenSubmission, dropPendingQuestion, isSamePending, pendingQuestions, rememberQuestionState, sourceContextAtHookEvent, summarizeRequestIds, } from './hook-question-state.js';
|
|
10
|
+
import { admitQueuedQuestion, clearFrozenSubmission, dropPendingQuestion, isSamePending, pendingQuestions, questionSubmissionAttempted, queuedQuestionStillEligible, rememberQuestionState, sourceContextAtHookEvent, summarizeRequestIds, } from './hook-question-state.js';
|
|
11
11
|
import { clearSessionState, markSessionEnded, pendingList, readSessionState, sessionHasEnded, sessionStatePath, updateSessionState, writeSessionState, writeSessionStateUnlocked, } from './hook-session-state.js';
|
|
12
12
|
import { userPromptContextOutput } from './session-activation.js';
|
|
13
13
|
import { QUESTION_STOP_TEARDOWN_HEADROOM_SECONDS, QUESTION_SUBMISSION_COMPLETION_HEADROOM_SECONDS, QUESTION_WAITER_CEILING_SECONDS, } from './question-timing.js';
|
|
@@ -106,16 +106,29 @@ async function prepareQuestionSubmission(ctx, options) {
|
|
|
106
106
|
owner_deadline_at: options.ownerDeadlineAt,
|
|
107
107
|
};
|
|
108
108
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
109
|
+
function submitQuestion(ctx, sessionId, entry, intent, notes) {
|
|
110
|
+
try {
|
|
111
|
+
const attempt = admitQueuedQuestion(sessionId, ctx.env, entry, intent, ctx.now(), async () => {
|
|
112
|
+
const receipt = await ctx.client.submit({
|
|
113
|
+
request_id: intent.request_id,
|
|
114
|
+
idempotency_key: intent.idempotency_key,
|
|
115
|
+
draft: intent.draft,
|
|
116
|
+
}, 0);
|
|
117
|
+
if (receipt.request_id !== intent.request_id) {
|
|
118
|
+
throw new Error(`server replay returned ${receipt.request_id}, expected reserved ${intent.request_id}`);
|
|
119
|
+
}
|
|
120
|
+
return receipt;
|
|
121
|
+
});
|
|
122
|
+
if (attempt === null)
|
|
123
|
+
notes.push('the question was retired before submission; not uploading it');
|
|
124
|
+
return attempt;
|
|
125
|
+
}
|
|
126
|
+
catch (err) {
|
|
127
|
+
// Only synchronous local admission failed. The callback returns a promise,
|
|
128
|
+
// so transport failures stay on the caller's ambiguous-response path.
|
|
129
|
+
notes.push(`could not admit the queued question; preserving it without upload: ${String(err)}`);
|
|
130
|
+
return null;
|
|
117
131
|
}
|
|
118
|
-
return receipt;
|
|
119
132
|
}
|
|
120
133
|
function canSubmitCompleteWindow(ctx, intent, fallbackWindowSeconds) {
|
|
121
134
|
const frozenWindowSeconds = intent.draft.reply?.expires_in_seconds ?? fallbackWindowSeconds;
|
|
@@ -441,7 +454,7 @@ export async function handleUserPromptSubmit(ctx, envelope) {
|
|
|
441
454
|
const retiring = [...(current.retiring ?? [])];
|
|
442
455
|
const matchedNow = pendingAnsweredByPrompt(envelope.prompt, pendingList(current));
|
|
443
456
|
const unmatched = pendingList(current).filter((entry) => !matchedNow.some((item) => isSamePending(item, entry)));
|
|
444
|
-
for (const entry of matchedNow.filter(
|
|
457
|
+
for (const entry of matchedNow.filter(questionSubmissionAttempted)) {
|
|
445
458
|
const retirement = retiringQuestion(entry, 'answered_elsewhere', envelope.cwd);
|
|
446
459
|
if (retirement !== null &&
|
|
447
460
|
!retiring.some((parked) => parked.request_id === retirement.request_id)) {
|
|
@@ -474,7 +487,7 @@ export async function handleUserPromptSubmit(ctx, envelope) {
|
|
|
474
487
|
if (current.continuation !== undefined) {
|
|
475
488
|
next.continuation = { ...current.continuation, count: 0 };
|
|
476
489
|
}
|
|
477
|
-
return matchedNow.reduce((remembered, entry) => rememberQuestionState(remembered, entry, entry
|
|
490
|
+
return matchedNow.reduce((remembered, entry) => rememberQuestionState(remembered, entry, questionSubmissionAttempted(entry) ? 'retired' : 'withdrawn'), next);
|
|
478
491
|
});
|
|
479
492
|
// The bridge that lets a plain `notifai ask` find the hook's canonical
|
|
480
493
|
// session: an agent shell command gets no hook payload, and not every
|
|
@@ -989,6 +1002,10 @@ async function escalate(ctx, envelope, sessionId, unasked, alreadyLive, notes, h
|
|
|
989
1002
|
const submitted = [];
|
|
990
1003
|
const admissionAnswers = [];
|
|
991
1004
|
for (const entry of unasked) {
|
|
1005
|
+
if (!queuedQuestionStillEligible(sessionId, ctx.env, entry)) {
|
|
1006
|
+
notes.push('the question was retired before submission; not uploading it');
|
|
1007
|
+
continue;
|
|
1008
|
+
}
|
|
992
1009
|
// The service owns how long the answer is accepted. This process begins
|
|
993
1010
|
// before submission, so its larger maximum-window budget includes startup
|
|
994
1011
|
// headroom and remains alive through the complete committed window.
|
|
@@ -1063,7 +1080,10 @@ async function escalate(ctx, envelope, sessionId, unasked, alreadyLive, notes, h
|
|
|
1063
1080
|
let receipt;
|
|
1064
1081
|
let admissionConfirmed = false;
|
|
1065
1082
|
try {
|
|
1066
|
-
|
|
1083
|
+
const attempt = submitQuestion(ctx, sessionId, entry, intent, notes);
|
|
1084
|
+
if (attempt === null)
|
|
1085
|
+
continue;
|
|
1086
|
+
receipt = await attempt;
|
|
1067
1087
|
admissionConfirmed = true;
|
|
1068
1088
|
}
|
|
1069
1089
|
catch (caught) {
|
|
@@ -1113,7 +1133,10 @@ async function escalate(ctx, envelope, sessionId, unasked, alreadyLive, notes, h
|
|
|
1113
1133
|
notes.push('the Agent Session ended before recovered submission');
|
|
1114
1134
|
continue;
|
|
1115
1135
|
}
|
|
1116
|
-
|
|
1136
|
+
const attempt = submitQuestion(ctx, sessionId, entry, intent, notes);
|
|
1137
|
+
if (attempt === null)
|
|
1138
|
+
continue;
|
|
1139
|
+
receipt = await attempt;
|
|
1117
1140
|
admissionConfirmed = true;
|
|
1118
1141
|
}
|
|
1119
1142
|
catch (retryErr) {
|
|
@@ -1247,7 +1270,7 @@ async function escalate(ctx, envelope, sessionId, unasked, alreadyLive, notes, h
|
|
|
1247
1270
|
if (!retiring.some((parked) => parked.request_id === retirement.request_id)) {
|
|
1248
1271
|
retiring.push(retirement);
|
|
1249
1272
|
}
|
|
1250
|
-
return { ...current, retiring };
|
|
1273
|
+
return rememberQuestionState({ ...current, retiring }, live, 'retired');
|
|
1251
1274
|
});
|
|
1252
1275
|
}
|
|
1253
1276
|
if (sessionHasEnded(sessionId, ctx.env)) {
|
|
@@ -1258,6 +1281,12 @@ async function escalate(ctx, envelope, sessionId, unasked, alreadyLive, notes, h
|
|
|
1258
1281
|
notes.push('the Agent Session ended during submission; queued the question for retirement');
|
|
1259
1282
|
continue;
|
|
1260
1283
|
}
|
|
1284
|
+
if (!pendingList(readSessionState(sessionId, ctx.env)).some((candidate) => isSamePending(candidate, entry))) {
|
|
1285
|
+
// A local close won after admission. Never resurrect the queue or wait
|
|
1286
|
+
// for an answer to a retired question; settle its reserved remote id.
|
|
1287
|
+
await drainRetirements(ctx, sessionId, ctx.env);
|
|
1288
|
+
continue;
|
|
1289
|
+
}
|
|
1261
1290
|
submitted.push(live);
|
|
1262
1291
|
}
|
|
1263
1292
|
if (admissionAnswers.length > 0) {
|