@raidiant/notifai 11.7.1 → 12.0.0-beta.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/CHANGELOG.md +48 -0
- package/NOTICE +16 -0
- package/THIRD_PARTY_NOTICES +725 -0
- package/bin/notifai.mjs +11387 -0
- package/data/install.ps1 +318 -0
- package/data/release.json +1 -0
- package/inventory.json +1 -0
- package/npm-adapter-files.json +52 -0
- package/package.json +14 -44
- package/README.md +0 -168
- package/dist/agent-update-notice.d.ts +0 -7
- package/dist/agent-update-notice.js +0 -77
- package/dist/agent-update-notice.js.map +0 -1
- package/dist/atomic-file.d.ts +0 -30
- package/dist/atomic-file.js +0 -148
- package/dist/atomic-file.js.map +0 -1
- package/dist/attendant-update.d.ts +0 -15
- package/dist/attendant-update.js +0 -96
- package/dist/attendant-update.js.map +0 -1
- package/dist/claude-wake.d.ts +0 -108
- package/dist/claude-wake.js +0 -369
- package/dist/claude-wake.js.map +0 -1
- package/dist/cli-bin.d.ts +0 -26
- package/dist/cli-bin.js +0 -220
- package/dist/cli-bin.js.map +0 -1
- package/dist/cli-contract.d.ts +0 -16
- package/dist/cli-contract.js +0 -27
- package/dist/cli-contract.js.map +0 -1
- package/dist/cli-release.d.ts +0 -36
- package/dist/cli-release.js +0 -85
- package/dist/cli-release.js.map +0 -1
- package/dist/client.d.ts +0 -109
- package/dist/client.js +0 -217
- package/dist/client.js.map +0 -1
- package/dist/codex-answer-control.d.ts +0 -14
- package/dist/codex-answer-control.js +0 -41
- package/dist/codex-answer-control.js.map +0 -1
- package/dist/codex-answer-presentation.d.ts +0 -18
- package/dist/codex-answer-presentation.js +0 -113
- package/dist/codex-answer-presentation.js.map +0 -1
- package/dist/codex-input-lifecycle.d.ts +0 -10
- package/dist/codex-input-lifecycle.js +0 -63
- package/dist/codex-input-lifecycle.js.map +0 -1
- package/dist/codex-native-control.d.ts +0 -13
- package/dist/codex-native-control.js +0 -120
- package/dist/codex-native-control.js.map +0 -1
- package/dist/codex-native-turn.d.ts +0 -37
- package/dist/codex-native-turn.js +0 -155
- package/dist/codex-native-turn.js.map +0 -1
- package/dist/codex-question-bindings.d.ts +0 -76
- package/dist/codex-question-bindings.js +0 -151
- package/dist/codex-question-bindings.js.map +0 -1
- package/dist/codex-queue-control.d.ts +0 -21
- package/dist/codex-queue-control.js +0 -59
- package/dist/codex-queue-control.js.map +0 -1
- package/dist/codex-tool-messages.d.ts +0 -7
- package/dist/codex-tool-messages.js +0 -126
- package/dist/codex-tool-messages.js.map +0 -1
- package/dist/codex-wake.d.ts +0 -58
- package/dist/codex-wake.js +0 -135
- package/dist/codex-wake.js.map +0 -1
- package/dist/command-session.d.ts +0 -14
- package/dist/command-session.js +0 -31
- package/dist/command-session.js.map +0 -1
- package/dist/commands-acknowledge.d.ts +0 -13
- package/dist/commands-acknowledge.js +0 -116
- package/dist/commands-acknowledge.js.map +0 -1
- package/dist/commands-agent-sessions.d.ts +0 -6
- package/dist/commands-agent-sessions.js +0 -51
- package/dist/commands-agent-sessions.js.map +0 -1
- package/dist/commands-ask.d.ts +0 -62
- package/dist/commands-ask.js +0 -503
- package/dist/commands-ask.js.map +0 -1
- package/dist/commands-auth.d.ts +0 -76
- package/dist/commands-auth.js +0 -421
- package/dist/commands-auth.js.map +0 -1
- package/dist/commands-close.d.ts +0 -6
- package/dist/commands-close.js +0 -273
- package/dist/commands-close.js.map +0 -1
- package/dist/commands-config.d.ts +0 -31
- package/dist/commands-config.js +0 -272
- package/dist/commands-config.js.map +0 -1
- package/dist/commands-core.d.ts +0 -145
- package/dist/commands-core.js +0 -190
- package/dist/commands-core.js.map +0 -1
- package/dist/commands-devices.d.ts +0 -41
- package/dist/commands-devices.js +0 -144
- package/dist/commands-devices.js.map +0 -1
- package/dist/commands-doctor.d.ts +0 -25
- package/dist/commands-doctor.js +0 -1553
- package/dist/commands-doctor.js.map +0 -1
- package/dist/commands-guidance.d.ts +0 -27
- package/dist/commands-guidance.js +0 -150
- package/dist/commands-guidance.js.map +0 -1
- package/dist/commands-harness-context.d.ts +0 -57
- package/dist/commands-harness-context.js +0 -102
- package/dist/commands-harness-context.js.map +0 -1
- package/dist/commands-hook-attend.d.ts +0 -70
- package/dist/commands-hook-attend.js +0 -655
- package/dist/commands-hook-attend.js.map +0 -1
- package/dist/commands-hook-diagnostics.d.ts +0 -37
- package/dist/commands-hook-diagnostics.js +0 -136
- package/dist/commands-hook-diagnostics.js.map +0 -1
- package/dist/commands-hook-install.d.ts +0 -26
- package/dist/commands-hook-install.js +0 -784
- package/dist/commands-hook-install.js.map +0 -1
- package/dist/commands-hook-run.d.ts +0 -29
- package/dist/commands-hook-run.js +0 -933
- package/dist/commands-hook-run.js.map +0 -1
- package/dist/commands-hook-shape.d.ts +0 -19
- package/dist/commands-hook-shape.js +0 -48
- package/dist/commands-hook-shape.js.map +0 -1
- package/dist/commands-init.d.ts +0 -42
- package/dist/commands-init.js +0 -901
- package/dist/commands-init.js.map +0 -1
- package/dist/commands-io.d.ts +0 -2
- package/dist/commands-io.js +0 -117
- package/dist/commands-io.js.map +0 -1
- package/dist/commands-logs.d.ts +0 -30
- package/dist/commands-logs.js +0 -201
- package/dist/commands-logs.js.map +0 -1
- package/dist/commands-native-acknowledge.d.ts +0 -8
- package/dist/commands-native-acknowledge.js +0 -114
- package/dist/commands-native-acknowledge.js.map +0 -1
- package/dist/commands-project.d.ts +0 -4
- package/dist/commands-project.js +0 -41
- package/dist/commands-project.js.map +0 -1
- package/dist/commands-receive.d.ts +0 -3
- package/dist/commands-receive.js +0 -59
- package/dist/commands-receive.js.map +0 -1
- package/dist/commands-send-support.d.ts +0 -59
- package/dist/commands-send-support.js +0 -258
- package/dist/commands-send-support.js.map +0 -1
- package/dist/commands-send.d.ts +0 -34
- package/dist/commands-send.js +0 -900
- package/dist/commands-send.js.map +0 -1
- package/dist/commands-setup-proof.d.ts +0 -43
- package/dist/commands-setup-proof.js +0 -134
- package/dist/commands-setup-proof.js.map +0 -1
- package/dist/commands-skill.d.ts +0 -21
- package/dist/commands-skill.js +0 -199
- package/dist/commands-skill.js.map +0 -1
- package/dist/commands-sounds.d.ts +0 -12
- package/dist/commands-sounds.js +0 -35
- package/dist/commands-sounds.js.map +0 -1
- package/dist/commands-update-check.d.ts +0 -6
- package/dist/commands-update-check.js +0 -102
- package/dist/commands-update-check.js.map +0 -1
- package/dist/commands-update-resume.d.ts +0 -7
- package/dist/commands-update-resume.js +0 -143
- package/dist/commands-update-resume.js.map +0 -1
- package/dist/commands-update-skill.d.ts +0 -5
- package/dist/commands-update-skill.js +0 -36
- package/dist/commands-update-skill.js.map +0 -1
- package/dist/commands-update.d.ts +0 -11
- package/dist/commands-update.js +0 -286
- package/dist/commands-update.js.map +0 -1
- package/dist/commands.d.ts +0 -26
- package/dist/commands.js +0 -27
- package/dist/commands.js.map +0 -1
- package/dist/config-schema.d.ts +0 -62
- package/dist/config-schema.js +0 -302
- package/dist/config-schema.js.map +0 -1
- package/dist/config.d.ts +0 -181
- package/dist/config.js +0 -357
- package/dist/config.js.map +0 -1
- package/dist/credentials.d.ts +0 -96
- package/dist/credentials.js +0 -342
- package/dist/credentials.js.map +0 -1
- package/dist/file-lock.d.ts +0 -34
- package/dist/file-lock.js +0 -367
- package/dist/file-lock.js.map +0 -1
- package/dist/generated-session-label.d.ts +0 -2
- package/dist/generated-session-label.js +0 -152
- package/dist/generated-session-label.js.map +0 -1
- package/dist/guidance-content.d.ts +0 -53
- package/dist/guidance-content.js +0 -248
- package/dist/guidance-content.js.map +0 -1
- package/dist/guidance-render.d.ts +0 -25
- package/dist/guidance-render.js +0 -47
- package/dist/guidance-render.js.map +0 -1
- package/dist/guidance.d.ts +0 -69
- package/dist/guidance.js +0 -173
- package/dist/guidance.js.map +0 -1
- package/dist/harness-session-title.d.ts +0 -22
- package/dist/harness-session-title.js +0 -74
- package/dist/harness-session-title.js.map +0 -1
- package/dist/harnesses.d.ts +0 -65
- package/dist/harnesses.js +0 -159
- package/dist/harnesses.js.map +0 -1
- package/dist/hermes-attendant.d.ts +0 -38
- package/dist/hermes-attendant.js +0 -337
- package/dist/hermes-attendant.js.map +0 -1
- package/dist/hermes-plugin.d.ts +0 -11
- package/dist/hermes-plugin.js +0 -299
- package/dist/hermes-plugin.js.map +0 -1
- package/dist/hook-acknowledgements.d.ts +0 -70
- package/dist/hook-acknowledgements.js +0 -490
- package/dist/hook-acknowledgements.js.map +0 -1
- package/dist/hook-adapter.d.ts +0 -48
- package/dist/hook-adapter.js +0 -419
- package/dist/hook-adapter.js.map +0 -1
- package/dist/hook-events.d.ts +0 -105
- package/dist/hook-events.js +0 -130
- package/dist/hook-events.js.map +0 -1
- package/dist/hook-gates.d.ts +0 -7
- package/dist/hook-gates.js +0 -20
- package/dist/hook-gates.js.map +0 -1
- package/dist/hook-input.d.ts +0 -10
- package/dist/hook-input.js +0 -64
- package/dist/hook-input.js.map +0 -1
- package/dist/hook-lifecycle.d.ts +0 -112
- package/dist/hook-lifecycle.js +0 -2031
- package/dist/hook-lifecycle.js.map +0 -1
- package/dist/hook-project-sessions.d.ts +0 -28
- package/dist/hook-project-sessions.js +0 -141
- package/dist/hook-project-sessions.js.map +0 -1
- package/dist/hook-question-lock.d.ts +0 -29
- package/dist/hook-question-lock.js +0 -217
- package/dist/hook-question-lock.js.map +0 -1
- package/dist/hook-question-retirement.d.ts +0 -74
- package/dist/hook-question-retirement.js +0 -314
- package/dist/hook-question-retirement.js.map +0 -1
- package/dist/hook-question-state.d.ts +0 -58
- package/dist/hook-question-state.js +0 -239
- package/dist/hook-question-state.js.map +0 -1
- package/dist/hook-session-state.d.ts +0 -127
- package/dist/hook-session-state.js +0 -488
- package/dist/hook-session-state.js.map +0 -1
- package/dist/hook-types.d.ts +0 -476
- package/dist/hook-types.js +0 -4
- package/dist/hook-types.js.map +0 -1
- package/dist/injection-render.d.ts +0 -36
- package/dist/injection-render.js +0 -61
- package/dist/injection-render.js.map +0 -1
- package/dist/install-hooks.d.ts +0 -470
- package/dist/install-hooks.js +0 -1622
- package/dist/install-hooks.js.map +0 -1
- package/dist/integration-health.d.ts +0 -26
- package/dist/integration-health.js +0 -133
- package/dist/integration-health.js.map +0 -1
- package/dist/interactive.d.ts +0 -22
- package/dist/interactive.js +0 -644
- package/dist/interactive.js.map +0 -1
- package/dist/invocation-context.d.ts +0 -47
- package/dist/invocation-context.js +0 -164
- package/dist/invocation-context.js.map +0 -1
- package/dist/local-path.d.ts +0 -7
- package/dist/local-path.js +0 -27
- package/dist/local-path.js.map +0 -1
- package/dist/logging.d.ts +0 -157
- package/dist/logging.js +0 -599
- package/dist/logging.js.map +0 -1
- package/dist/main-run.d.ts +0 -1
- package/dist/main-run.js +0 -42
- package/dist/main-run.js.map +0 -1
- package/dist/main.d.ts +0 -2
- package/dist/main.js +0 -12
- package/dist/main.js.map +0 -1
- package/dist/native-answer-operation.d.ts +0 -70
- package/dist/native-answer-operation.js +0 -247
- package/dist/native-answer-operation.js.map +0 -1
- package/dist/native-skills.d.ts +0 -64
- package/dist/native-skills.js +0 -167
- package/dist/native-skills.js.map +0 -1
- package/dist/node-floor.d.ts +0 -19
- package/dist/node-floor.js +0 -32
- package/dist/node-floor.js.map +0 -1
- package/dist/npm-invocation.d.ts +0 -34
- package/dist/npm-invocation.js +0 -53
- package/dist/npm-invocation.js.map +0 -1
- package/dist/openclaw-continuation-bridge.d.ts +0 -7
- package/dist/openclaw-continuation-bridge.js +0 -64
- package/dist/openclaw-continuation-bridge.js.map +0 -1
- package/dist/openclaw-gateway-readiness.d.ts +0 -1
- package/dist/openclaw-gateway-readiness.js +0 -24
- package/dist/openclaw-gateway-readiness.js.map +0 -1
- package/dist/openclaw-generation.d.ts +0 -21
- package/dist/openclaw-generation.js +0 -115
- package/dist/openclaw-generation.js.map +0 -1
- package/dist/openclaw-message-bridge.d.ts +0 -8
- package/dist/openclaw-message-bridge.js +0 -93
- package/dist/openclaw-message-bridge.js.map +0 -1
- package/dist/openclaw-pending.d.ts +0 -8
- package/dist/openclaw-pending.js +0 -47
- package/dist/openclaw-pending.js.map +0 -1
- package/dist/openclaw-plugin.d.ts +0 -75
- package/dist/openclaw-plugin.js +0 -1353
- package/dist/openclaw-plugin.js.map +0 -1
- package/dist/openclaw-session-access.d.ts +0 -12
- package/dist/openclaw-session-access.js +0 -79
- package/dist/openclaw-session-access.js.map +0 -1
- package/dist/opencode-plugin.d.ts +0 -88
- package/dist/opencode-plugin.js +0 -286
- package/dist/opencode-plugin.js.map +0 -1
- package/dist/orca-session-title.d.ts +0 -11
- package/dist/orca-session-title.js +0 -111
- package/dist/orca-session-title.js.map +0 -1
- package/dist/pack-feedback-slice.d.ts +0 -35
- package/dist/pack-feedback-slice.js +0 -126
- package/dist/pack-feedback-slice.js.map +0 -1
- package/dist/pairing-qr.d.ts +0 -5
- package/dist/pairing-qr.js +0 -24
- package/dist/pairing-qr.js.map +0 -1
- package/dist/pending-pairing.d.ts +0 -38
- package/dist/pending-pairing.js +0 -70
- package/dist/pending-pairing.js.map +0 -1
- package/dist/platform.d.ts +0 -67
- package/dist/platform.js +0 -140
- package/dist/platform.js.map +0 -1
- package/dist/process-identity.d.ts +0 -26
- package/dist/process-identity.js +0 -82
- package/dist/process-identity.js.map +0 -1
- package/dist/program.d.ts +0 -59
- package/dist/program.js +0 -691
- package/dist/program.js.map +0 -1
- package/dist/project-enablement.d.ts +0 -21
- package/dist/project-enablement.js +0 -71
- package/dist/project-enablement.js.map +0 -1
- package/dist/question-settlement-process.d.ts +0 -17
- package/dist/question-settlement-process.js +0 -35
- package/dist/question-settlement-process.js.map +0 -1
- package/dist/question-timing.d.ts +0 -46
- package/dist/question-timing.js +0 -48
- package/dist/question-timing.js.map +0 -1
- package/dist/readiness.d.ts +0 -153
- package/dist/readiness.js +0 -149
- package/dist/readiness.js.map +0 -1
- package/dist/release.d.ts +0 -31
- package/dist/release.js +0 -52
- package/dist/release.js.map +0 -1
- package/dist/send-attempts.d.ts +0 -26
- package/dist/send-attempts.js +0 -139
- package/dist/send-attempts.js.map +0 -1
- package/dist/send.d.ts +0 -115
- package/dist/send.js +0 -421
- package/dist/send.js.map +0 -1
- package/dist/session-activation.d.ts +0 -13
- package/dist/session-activation.js +0 -64
- package/dist/session-activation.js.map +0 -1
- package/dist/session-attendant-probe.d.ts +0 -85
- package/dist/session-attendant-probe.js +0 -173
- package/dist/session-attendant-probe.js.map +0 -1
- package/dist/session-attendant-state.d.ts +0 -70
- package/dist/session-attendant-state.js +0 -256
- package/dist/session-attendant-state.js.map +0 -1
- package/dist/session-attendant.d.ts +0 -143
- package/dist/session-attendant.js +0 -520
- package/dist/session-attendant.js.map +0 -1
- package/dist/session-delivery.d.ts +0 -249
- package/dist/session-delivery.js +0 -576
- package/dist/session-delivery.js.map +0 -1
- package/dist/session-handoff.d.ts +0 -98
- package/dist/session-handoff.js +0 -118
- package/dist/session-handoff.js.map +0 -1
- package/dist/session-input-wakes.d.ts +0 -78
- package/dist/session-input-wakes.js +0 -239
- package/dist/session-input-wakes.js.map +0 -1
- package/dist/session-inputs.d.ts +0 -57
- package/dist/session-inputs.js +0 -434
- package/dist/session-inputs.js.map +0 -1
- package/dist/session-labels.d.ts +0 -56
- package/dist/session-labels.js +0 -396
- package/dist/session-labels.js.map +0 -1
- package/dist/session-message-handoff.d.ts +0 -39
- package/dist/session-message-handoff.js +0 -107
- package/dist/session-message-handoff.js.map +0 -1
- package/dist/setup-destinations.d.ts +0 -23
- package/dist/setup-destinations.js +0 -44
- package/dist/setup-destinations.js.map +0 -1
- package/dist/skill-integrity.d.ts +0 -54
- package/dist/skill-integrity.js +0 -164
- package/dist/skill-integrity.js.map +0 -1
- package/dist/skill-source/manifest.json +0 -40
- package/dist/skill-source/notifai/SKILL.md +0 -350
- package/dist/skill-source/notifai/references/diagnostics.md +0 -36
- package/dist/skill-source/notifai/references/harness-setup.md +0 -384
- package/dist/skill-source/notifai/references/native-questions.md +0 -51
- package/dist/skill-source/notifai/references/notes-and-edits.md +0 -54
- package/dist/skill-source/notifai/references/send-details.md +0 -14
- package/dist/skill-source/notifai/references/updates.md +0 -116
- package/dist/skill-source/notifai/references/writing-examples.md +0 -56
- package/dist/sound-ref.d.ts +0 -23
- package/dist/sound-ref.js +0 -28
- package/dist/sound-ref.js.map +0 -1
- package/dist/ui/banner.d.ts +0 -22
- package/dist/ui/banner.js +0 -87
- package/dist/ui/banner.js.map +0 -1
- package/dist/ui/config-view.d.ts +0 -30
- package/dist/ui/config-view.js +0 -108
- package/dist/ui/config-view.js.map +0 -1
- package/dist/ui/help.d.ts +0 -44
- package/dist/ui/help.js +0 -107
- package/dist/ui/help.js.map +0 -1
- package/dist/ui/theme.d.ts +0 -90
- package/dist/ui/theme.js +0 -244
- package/dist/ui/theme.js.map +0 -1
- package/dist/update-handoff.d.ts +0 -29
- package/dist/update-handoff.js +0 -69
- package/dist/update-handoff.js.map +0 -1
- package/dist/url-policy.d.ts +0 -85
- package/dist/url-policy.js +0 -369
- package/dist/url-policy.js.map +0 -1
- package/dist/version.d.ts +0 -40
- package/dist/version.js +0 -132
- package/dist/version.js.map +0 -1
- package/dist/wake-support.d.ts +0 -40
- package/dist/wake-support.js +0 -95
- package/dist/wake-support.js.map +0 -1
|
@@ -1,490 +0,0 @@
|
|
|
1
|
-
/** Accepted-answer delivery and required Agent Acknowledgement obligations. */
|
|
2
|
-
import { withFileLock } from './file-lock.js';
|
|
3
|
-
import { confirmNativeAnswerTarget } from './native-answer-operation.js';
|
|
4
|
-
import { gate } from './hook-gates.js';
|
|
5
|
-
import { ACKNOWLEDGEMENT_SCOPE, TRANSPORT_LIMIT, acknowledgementCommand, acknowledgementDemand, quoted, } from './injection-render.js';
|
|
6
|
-
import { retiringQuestion } from './hook-question-retirement.js';
|
|
7
|
-
import { isSamePending, pendingHasChoices, rememberQuestionState } from './hook-question-state.js';
|
|
8
|
-
import { pendingList, readSessionState, sessionStatePath, updateSessionState, writeSessionStateUnlocked, } from './hook-session-state.js';
|
|
9
|
-
import { SESSION_MESSAGE_ID_PREFIX } from '@raidiant/notifai-protocol';
|
|
10
|
-
export function owedAcknowledgementId(owed) {
|
|
11
|
-
return 'message_id' in owed ? owed.message_id : owed.request_id;
|
|
12
|
-
}
|
|
13
|
-
/** Presented messages only: queued Codex input cannot hold its preceding turn. */
|
|
14
|
-
export function presentedMessageAcknowledgements(state) {
|
|
15
|
-
return (state.message_acknowledgement_due ?? []).filter((entry) => entry.queued_context === undefined);
|
|
16
|
-
}
|
|
17
|
-
/** Every presented acknowledgement this session still owes, request debt first. */
|
|
18
|
-
export function owedAcknowledgements(state) {
|
|
19
|
-
const waiting = new Set(state.waiting_answers?.map((answer) => answer.pending.request_id));
|
|
20
|
-
return [...(state.acknowledgement_due ?? []).filter((entry) => !waiting.has(entry.request_id)), ...presentedMessageAcknowledgements(state)];
|
|
21
|
-
}
|
|
22
|
-
/** Exact queued text entering the owning Codex turn proves presentation, not action. */
|
|
23
|
-
export function observeQueuedMessagePrompt(sessionId, env, prompt) {
|
|
24
|
-
if (prompt === undefined)
|
|
25
|
-
return [];
|
|
26
|
-
const presentedIds = [];
|
|
27
|
-
updateSessionState(sessionId, env, (current) => {
|
|
28
|
-
if (!(current.message_acknowledgement_due ?? []).some((entry) => entry.queued_context === prompt))
|
|
29
|
-
return current;
|
|
30
|
-
return {
|
|
31
|
-
...current,
|
|
32
|
-
message_acknowledgement_due: current.message_acknowledgement_due.map((entry) => {
|
|
33
|
-
if (entry.queued_context !== prompt)
|
|
34
|
-
return entry;
|
|
35
|
-
presentedIds.push(entry.message_id);
|
|
36
|
-
const presented = { ...entry };
|
|
37
|
-
delete presented.queued_context;
|
|
38
|
-
return presented;
|
|
39
|
-
}),
|
|
40
|
-
};
|
|
41
|
-
});
|
|
42
|
-
return presentedIds;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Record the acknowledgement a Session Message is owed, before it is written:
|
|
46
|
-
* an agent that acknowledges the moment it reads the message must find the
|
|
47
|
-
* debt already there to clear.
|
|
48
|
-
*/
|
|
49
|
-
export function recordMessageAcknowledgementDue(sessionId, env, due) {
|
|
50
|
-
updateSessionState(sessionId, env, (current) => {
|
|
51
|
-
const owed = current.message_acknowledgement_due ?? [];
|
|
52
|
-
if (owed.some((entry) => entry.message_id === due.message_id))
|
|
53
|
-
return current;
|
|
54
|
-
return { ...current, message_acknowledgement_due: [...owed, due] };
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* The answer as the agent should read it. For a question with choices the
|
|
59
|
-
* latest reply IS the answer — an earlier conflicting one was corrected by
|
|
60
|
-
* it. Free-text answers can arrive in parts, and every part reaches the
|
|
61
|
-
* agent in the order it was written, so it can tell expansion from
|
|
62
|
-
* correction itself.
|
|
63
|
-
*
|
|
64
|
-
* The continuation repeats only identity the agent actually registered and
|
|
65
|
-
* the answer the server accepted. It never invents trust, urgency, permission,
|
|
66
|
-
* or approval claims for the transport to assert.
|
|
67
|
-
*/
|
|
68
|
-
function answerContext(answered) {
|
|
69
|
-
const { pending, replies } = answered;
|
|
70
|
-
const latest = replies.at(-1);
|
|
71
|
-
if (latest === undefined)
|
|
72
|
-
return 'Notifai — no answer was recorded.';
|
|
73
|
-
const answeredQuestionIds = [...new Set(latest.answers.map((answer) => answer.question_id))];
|
|
74
|
-
const identity = answeredQuestionIds.length === 0
|
|
75
|
-
? ''
|
|
76
|
-
: `question_id${answeredQuestionIds.length === 1 ? '' : 's'} ${answeredQuestionIds.join(', ')}, `;
|
|
77
|
-
const question = `question ${quoted(pending.question)}`;
|
|
78
|
-
if (replies.length === 1 || pendingHasChoices(pending)) {
|
|
79
|
-
return `Notifai — ${identity}${question}; the user answered ${quoted(latest.text)}.`;
|
|
80
|
-
}
|
|
81
|
-
const parts = replies.map((reply) => quoted(reply.text)).join(', then ');
|
|
82
|
-
return (`Notifai — ${identity}${question}; the user answered in ${replies.length} parts, ` +
|
|
83
|
-
`in the order written: ${parts}. Later parts extend or correct earlier ones.`);
|
|
84
|
-
}
|
|
85
|
-
export function acknowledgementContext(answered) {
|
|
86
|
-
const due = answered.filter((entry) => entry.pending.request_id !== undefined);
|
|
87
|
-
if (due.length === 0) {
|
|
88
|
-
return ' Agent Acknowledgement is not required for the answered request(s).';
|
|
89
|
-
}
|
|
90
|
-
if (due.length === 1) {
|
|
91
|
-
const entry = due[0];
|
|
92
|
-
const requestId = entry.pending.request_id;
|
|
93
|
-
const textRequired = entry.agent_acknowledgement_text_required !== false;
|
|
94
|
-
return (` Agent Acknowledgement is required for request ${requestId}. Immediately, before doing the resumed work or ending this turn, run ` +
|
|
95
|
-
`\`${acknowledgementCommand(requestId, textRequired)}\`${acknowledgementDemand(textRequired)}.` +
|
|
96
|
-
ACKNOWLEDGEMENT_SCOPE);
|
|
97
|
-
}
|
|
98
|
-
const anyTextRequired = due.some((entry) => entry.agent_acknowledgement_text_required !== false);
|
|
99
|
-
const commands = due
|
|
100
|
-
.map((entry) => {
|
|
101
|
-
const requestId = entry.pending.request_id;
|
|
102
|
-
return `- ${requestId}: \`${acknowledgementCommand(requestId, entry.agent_acknowledgement_text_required !== false)}\``;
|
|
103
|
-
})
|
|
104
|
-
.join('\n');
|
|
105
|
-
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` +
|
|
106
|
-
commands +
|
|
107
|
-
ACKNOWLEDGEMENT_SCOPE);
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Every answer that has arrived, as one message. Several registered questions
|
|
111
|
-
* may resolve in one hook pass; the agent reads them together, each answer
|
|
112
|
-
* tied to the question that asked it, with a truthful note about anything
|
|
113
|
-
* still waiting.
|
|
114
|
-
*/
|
|
115
|
-
export function answersContext(answered, remaining) {
|
|
116
|
-
const tail = remaining > 0
|
|
117
|
-
? ` (${remaining} more registered question${remaining === 1 ? ' is' : 's are'} still waiting for an answer.)`
|
|
118
|
-
: '';
|
|
119
|
-
const guidance = acknowledgementContext(answered) + TRANSPORT_LIMIT;
|
|
120
|
-
if (answered.length === 1) {
|
|
121
|
-
return answerContext(answered[0]) + tail + guidance;
|
|
122
|
-
}
|
|
123
|
-
const lines = answered.map(({ pending, replies }) => {
|
|
124
|
-
const latest = replies.at(-1);
|
|
125
|
-
const answer = replies.length === 1 || pendingHasChoices(pending)
|
|
126
|
-
? quoted(latest.text)
|
|
127
|
-
: `${replies.map((reply) => quoted(reply.text)).join(', then ')} (parts in the order written; later parts extend or correct earlier ones)`;
|
|
128
|
-
const ids = [...new Set(latest.answers.map((entry) => entry.question_id))];
|
|
129
|
-
const identity = ids.length === 0 ? '' : `question_id${ids.length === 1 ? '' : 's'} ${ids.join(', ')}: `;
|
|
130
|
-
return `- ${identity}${quoted(pending.question)} → ${answer}`;
|
|
131
|
-
});
|
|
132
|
-
return `Notifai — the user answered ${answered.length} questions:\n${lines.join('\n')}${tail}${guidance}`;
|
|
133
|
-
}
|
|
134
|
-
export function stopAnswerOutput(context) {
|
|
135
|
-
return JSON.stringify({
|
|
136
|
-
decision: 'block',
|
|
137
|
-
reason: context,
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Close, truthfully retire, and forget every answered pending question in one
|
|
142
|
-
* state write, without dropping any other retirement debt or any question
|
|
143
|
-
* still waiting. Stop answers also open one bounded continuation generation;
|
|
144
|
-
* UserPromptSubmit answers ride the user's new turn.
|
|
145
|
-
*/
|
|
146
|
-
export function stageAcceptedAnswers(ctx, sessionId, answered, remaining) {
|
|
147
|
-
const accepted = {
|
|
148
|
-
// This is the effective obligation, including responses whose server flag
|
|
149
|
-
// predates mandatory acknowledgement. Persist it with the debt so absence
|
|
150
|
-
// of debt cannot turn an unclassified recovery journal into delivery proof.
|
|
151
|
-
answers: answered.map((answer) => ({
|
|
152
|
-
...answer,
|
|
153
|
-
agent_acknowledgement_required: answer.pending.request_id !== undefined,
|
|
154
|
-
})),
|
|
155
|
-
remaining,
|
|
156
|
-
recorded_at: ctx.now(),
|
|
157
|
-
};
|
|
158
|
-
updateSessionState(sessionId, ctx.env, (current) => {
|
|
159
|
-
current = answered.reduce((state, answer) => confirmNativeAnswerTarget(state, answer.pending), current);
|
|
160
|
-
const pendingRemaining = pendingList(current).filter((entry) => !answered.some(({ pending }) => isSamePending(entry, pending)));
|
|
161
|
-
const acknowledgementDue = [...(current.acknowledgement_due ?? [])];
|
|
162
|
-
for (const answer of answered) {
|
|
163
|
-
const requestId = answer.pending.request_id;
|
|
164
|
-
if (requestId !== undefined &&
|
|
165
|
-
!acknowledgementDue.some((entry) => entry.request_id === requestId)) {
|
|
166
|
-
acknowledgementDue.push({
|
|
167
|
-
request_id: requestId,
|
|
168
|
-
recorded_at: accepted.recorded_at,
|
|
169
|
-
text_required: answer.agent_acknowledgement_text_required !== false,
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
const next = {
|
|
174
|
-
...current,
|
|
175
|
-
accepted,
|
|
176
|
-
};
|
|
177
|
-
if (pendingRemaining.length > 0)
|
|
178
|
-
next.pending = pendingRemaining;
|
|
179
|
-
else
|
|
180
|
-
delete next.pending;
|
|
181
|
-
if (acknowledgementDue.length > 0)
|
|
182
|
-
next.acknowledgement_due = acknowledgementDue;
|
|
183
|
-
else
|
|
184
|
-
delete next.acknowledgement_due;
|
|
185
|
-
return answered.reduce((remembered, answer) => rememberQuestionState(remembered, answer.pending, 'answered'), next);
|
|
186
|
-
});
|
|
187
|
-
return accepted;
|
|
188
|
-
}
|
|
189
|
-
/** Amend the live accepted record in place, without resurrecting a settled one. */
|
|
190
|
-
export function amendAcceptedAnswers(ctx, sessionId, amend) {
|
|
191
|
-
updateSessionState(sessionId, ctx.env, (current) => current.accepted === undefined ? current : { ...current, accepted: amend(current.accepted) });
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Finish a route write that linearized before SessionEnd.
|
|
195
|
-
*
|
|
196
|
-
* Ordinary state writers stop at the ended marker. This one narrow completion
|
|
197
|
-
* is allowed through because the journal's own `delivery_committed_at` proves
|
|
198
|
-
* the irreversible write won the ordering first; without the matching finish,
|
|
199
|
-
* a later SessionStart would replay a write that already reached the harness.
|
|
200
|
-
*/
|
|
201
|
-
export function finishCommittedDelivery(ctx, sessionId, accepted, deliveredRoute) {
|
|
202
|
-
const file = sessionStatePath(sessionId, ctx.env);
|
|
203
|
-
withFileLock(`${file}.lock`, () => {
|
|
204
|
-
const current = readSessionState(sessionId, ctx.env);
|
|
205
|
-
if (current.accepted?.recorded_at !== accepted.recorded_at ||
|
|
206
|
-
current.accepted.delivery_committed_at === undefined) {
|
|
207
|
-
return;
|
|
208
|
-
}
|
|
209
|
-
let next = {
|
|
210
|
-
...current,
|
|
211
|
-
accepted: {
|
|
212
|
-
...current.accepted,
|
|
213
|
-
delivered_at: ctx.now(),
|
|
214
|
-
delivered_route: deliveredRoute,
|
|
215
|
-
},
|
|
216
|
-
};
|
|
217
|
-
if (deliveredRoute === 'session-queue')
|
|
218
|
-
next = archiveQueuedAnswers(next, current.accepted);
|
|
219
|
-
writeSessionStateUnlocked(file, sessionId, next);
|
|
220
|
-
});
|
|
221
|
-
}
|
|
222
|
-
/** Move a proven queue write out of the delivery slot without forgetting its answer. */
|
|
223
|
-
function archiveQueuedAnswers(current, accepted) {
|
|
224
|
-
current = classifyAcceptedAcknowledgements({ ...current, accepted });
|
|
225
|
-
accepted = current.accepted;
|
|
226
|
-
const delivered = [...(current.delivered_answers ?? [])];
|
|
227
|
-
const retiring = [...(current.retiring ?? [])];
|
|
228
|
-
const due = [...(current.acknowledgement_due ?? [])];
|
|
229
|
-
for (const answer of accepted.answers) {
|
|
230
|
-
const requestId = answer.pending.request_id;
|
|
231
|
-
if (due.some((entry) => entry.request_id === requestId)) {
|
|
232
|
-
const classified = { ...answer, agent_acknowledgement_required: true };
|
|
233
|
-
const index = delivered.findIndex((entry) => isSamePending(entry.pending, answer.pending));
|
|
234
|
-
if (index < 0)
|
|
235
|
-
delivered.push(classified);
|
|
236
|
-
else
|
|
237
|
-
delivered[index] = classified;
|
|
238
|
-
}
|
|
239
|
-
const retirement = retiringQuestion(answer.pending, 'answered');
|
|
240
|
-
if (retirement !== null && !retiring.some((entry) => entry.request_id === retirement.request_id)) {
|
|
241
|
-
retiring.push(retirement);
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
const next = {
|
|
245
|
-
...current,
|
|
246
|
-
retiring,
|
|
247
|
-
continuation: {
|
|
248
|
-
answered_at: accepted.recorded_at,
|
|
249
|
-
count: (current.continuation?.count ?? 0) + 1,
|
|
250
|
-
},
|
|
251
|
-
};
|
|
252
|
-
delete next.accepted;
|
|
253
|
-
if (delivered.length > 0)
|
|
254
|
-
next.delivered_answers = delivered;
|
|
255
|
-
else
|
|
256
|
-
delete next.delivered_answers;
|
|
257
|
-
if (due.length > 0)
|
|
258
|
-
next.acknowledgement_due = due;
|
|
259
|
-
return next;
|
|
260
|
-
}
|
|
261
|
-
/** An unclassified request cannot use missing local debt as acknowledgement proof. */
|
|
262
|
-
function classifyAcceptedAcknowledgements(current) {
|
|
263
|
-
if (current.accepted === undefined)
|
|
264
|
-
return current;
|
|
265
|
-
const accepted = current.accepted;
|
|
266
|
-
const due = [...(current.acknowledgement_due ?? [])];
|
|
267
|
-
const answers = accepted.answers.map((answer) => {
|
|
268
|
-
const requestId = answer.pending.request_id;
|
|
269
|
-
if (answer.agent_acknowledgement_required === true || requestId === undefined)
|
|
270
|
-
return answer;
|
|
271
|
-
if (!due.some((entry) => entry.request_id === requestId)) {
|
|
272
|
-
due.push({ request_id: requestId, recorded_at: accepted.recorded_at,
|
|
273
|
-
text_required: answer.agent_acknowledgement_text_required !== false });
|
|
274
|
-
}
|
|
275
|
-
return { ...answer, agent_acknowledgement_required: true };
|
|
276
|
-
});
|
|
277
|
-
return { ...current, accepted: { ...accepted, answers },
|
|
278
|
-
...(due.length === 0 ? {} : { acknowledgement_due: due }) };
|
|
279
|
-
}
|
|
280
|
-
export function classifyJournaledAcknowledgements(sessionId, env) {
|
|
281
|
-
return updateSessionState(sessionId, env, classifyAcceptedAcknowledgements).accepted;
|
|
282
|
-
}
|
|
283
|
-
/** Resume a queue write recorded by an earlier process without replaying it. */
|
|
284
|
-
export function recoverQueuedAnswers(sessionId, env) {
|
|
285
|
-
updateSessionState(sessionId, env, (current) => current.accepted?.delivered_route === 'session-queue' && current.accepted.delivered_at !== undefined
|
|
286
|
-
? archiveQueuedAnswers(current, current.accepted)
|
|
287
|
-
: current);
|
|
288
|
-
}
|
|
289
|
-
/** Forget one owed acknowledgement, dispatched by identifier: `sm_…` or a request id. */
|
|
290
|
-
export function clearAcknowledgementObligation(sessionId, env, id) {
|
|
291
|
-
if (id.startsWith(SESSION_MESSAGE_ID_PREFIX))
|
|
292
|
-
return clearMessageAcknowledgement(sessionId, env, id);
|
|
293
|
-
const requestId = id;
|
|
294
|
-
let cleared = false;
|
|
295
|
-
updateSessionState(sessionId, env, (current) => {
|
|
296
|
-
const due = current.acknowledgement_due ?? [];
|
|
297
|
-
const remaining = due.filter((entry) => entry.request_id !== requestId);
|
|
298
|
-
const delivered = (current.delivered_answers ?? []).filter((entry) => entry.pending.request_id !== requestId);
|
|
299
|
-
const waiting = (current.waiting_answers ?? []).filter((entry) => entry.pending.request_id !== requestId);
|
|
300
|
-
cleared = remaining.length !== due.length || delivered.length !== (current.delivered_answers?.length ?? 0);
|
|
301
|
-
if (!cleared)
|
|
302
|
-
return current;
|
|
303
|
-
const next = { ...current };
|
|
304
|
-
if (remaining.length > 0)
|
|
305
|
-
next.acknowledgement_due = remaining;
|
|
306
|
-
else
|
|
307
|
-
delete next.acknowledgement_due;
|
|
308
|
-
if (delivered.length > 0)
|
|
309
|
-
next.delivered_answers = delivered;
|
|
310
|
-
else
|
|
311
|
-
delete next.delivered_answers;
|
|
312
|
-
if (waiting.length > 0)
|
|
313
|
-
next.waiting_answers = waiting;
|
|
314
|
-
else
|
|
315
|
-
delete next.waiting_answers;
|
|
316
|
-
return next;
|
|
317
|
-
});
|
|
318
|
-
return cleared;
|
|
319
|
-
}
|
|
320
|
-
function clearMessageAcknowledgement(sessionId, env, messageId) {
|
|
321
|
-
let cleared = false;
|
|
322
|
-
updateSessionState(sessionId, env, (current) => {
|
|
323
|
-
const due = current.message_acknowledgement_due ?? [];
|
|
324
|
-
const remaining = due.filter((entry) => entry.message_id !== messageId);
|
|
325
|
-
cleared = remaining.length !== due.length;
|
|
326
|
-
if (!cleared)
|
|
327
|
-
return current;
|
|
328
|
-
const next = { ...current };
|
|
329
|
-
if (remaining.length > 0)
|
|
330
|
-
next.message_acknowledgement_due = remaining;
|
|
331
|
-
else
|
|
332
|
-
delete next.message_acknowledgement_due;
|
|
333
|
-
return next;
|
|
334
|
-
});
|
|
335
|
-
return cleared;
|
|
336
|
-
}
|
|
337
|
-
export function acknowledgementBlockContext(due) {
|
|
338
|
-
const anyTextRequired = due.some((entry) => entry.text_required !== false);
|
|
339
|
-
const commands = due
|
|
340
|
-
.map((entry) => {
|
|
341
|
-
const id = owedAcknowledgementId(entry);
|
|
342
|
-
return `- ${id}: \`${acknowledgementCommand(id, entry.text_required !== false)}\``;
|
|
343
|
-
})
|
|
344
|
-
.join('\n');
|
|
345
|
-
const requests = due.filter((entry) => !('message_id' in entry));
|
|
346
|
-
const messages = due.filter((entry) => 'message_id' in entry);
|
|
347
|
-
const subjects = [
|
|
348
|
-
...(requests.length === 0
|
|
349
|
-
? []
|
|
350
|
-
: [`request${requests.length === 1 ? '' : 's'} ${requests.map((entry) => entry.request_id).join(', ')}`]),
|
|
351
|
-
...(messages.length === 0
|
|
352
|
-
? []
|
|
353
|
-
: [`message${messages.length === 1 ? '' : 's'} ${messages.map((entry) => entry.message_id).join(', ')}`]),
|
|
354
|
-
].join(' and ');
|
|
355
|
-
const cause = requests.length === 0 ? 'message' : 'reply';
|
|
356
|
-
return (`Notifai — required Agent Acknowledgement${due.length === 1 ? '' : 's'} still missing for ${subjects}. ` +
|
|
357
|
-
`Before doing more resumed work or ending this turn, run ${due.length === 1 ? 'this command' : 'every command'}${acknowledgementDemand(anyTextRequired, cause)}:\n${commands}` +
|
|
358
|
-
ACKNOWLEDGEMENT_SCOPE);
|
|
359
|
-
}
|
|
360
|
-
/**
|
|
361
|
-
* How many turns in a row a session may be held waiting for an acknowledgement.
|
|
362
|
-
*
|
|
363
|
-
* The gate is the one place hooks deliberately break the fail-open rule, and it
|
|
364
|
-
* had no bound at all: an agent that could not or would not acknowledge — or a
|
|
365
|
-
* server that stayed unreachable, since an error here counts as unresolved —
|
|
366
|
-
* held every turn of that session for ever. Blocking a user's agent
|
|
367
|
-
* indefinitely does not get them an acknowledgement; it costs them the agent as
|
|
368
|
-
* well as the acknowledgement.
|
|
369
|
-
*/
|
|
370
|
-
const MAX_ACKNOWLEDGEMENT_BLOCKS = 3;
|
|
371
|
-
/**
|
|
372
|
-
* Hold the turn for an outstanding acknowledgement, or give up and let it
|
|
373
|
-
* through once holding has stopped being worth its cost.
|
|
374
|
-
*
|
|
375
|
-
* Returns the outcome that blocks the turn, or `null` to carry on.
|
|
376
|
-
*/
|
|
377
|
-
export function holdForAcknowledgement(ctx, sessionId, due, notes) {
|
|
378
|
-
if (due.length === 0)
|
|
379
|
-
return null;
|
|
380
|
-
const ids = subjectIds(due);
|
|
381
|
-
const blocks = (readSessionState(sessionId, ctx.env).acknowledgement_blocks ?? 0) + 1;
|
|
382
|
-
if (blocks > MAX_ACKNOWLEDGEMENT_BLOCKS) {
|
|
383
|
-
// Drop the obligation with the reason recorded. The answer was already
|
|
384
|
-
// delivered; what is lost is the agent's receipt for it, and the log is
|
|
385
|
-
// where that loss stays visible.
|
|
386
|
-
for (const owed of due)
|
|
387
|
-
clearAcknowledgementObligation(sessionId, ctx.env, owedAcknowledgementId(owed));
|
|
388
|
-
resetAcknowledgementBlocks(sessionId, ctx.env);
|
|
389
|
-
gate(ctx, 'proceeding', 'acknowledgement-abandoned', {
|
|
390
|
-
...ids,
|
|
391
|
-
blocks: blocks - 1,
|
|
392
|
-
limit: MAX_ACKNOWLEDGEMENT_BLOCKS,
|
|
393
|
-
});
|
|
394
|
-
notes.push(`no acknowledgement after ${MAX_ACKNOWLEDGEMENT_BLOCKS} turns; continuing without one rather than holding this session for ever`);
|
|
395
|
-
return null;
|
|
396
|
-
}
|
|
397
|
-
updateSessionState(sessionId, ctx.env, (current) => ({
|
|
398
|
-
...current,
|
|
399
|
-
acknowledgement_blocks: blocks,
|
|
400
|
-
}));
|
|
401
|
-
gate(ctx, 'held', 'acknowledgement-required', { ...ids, blocks });
|
|
402
|
-
return {
|
|
403
|
-
stdout: stopAnswerOutput(acknowledgementBlockContext(due)),
|
|
404
|
-
notes,
|
|
405
|
-
log: { stage: 'acknowledgement-required', ...ids },
|
|
406
|
-
};
|
|
407
|
-
}
|
|
408
|
-
/** Log fields naming owed acknowledgements; `request_ids` keeps its released meaning. */
|
|
409
|
-
function subjectIds(due) {
|
|
410
|
-
const requestIds = due.flatMap((entry) => ('message_id' in entry ? [] : [entry.request_id]));
|
|
411
|
-
const messageIds = due.flatMap((entry) => ('message_id' in entry ? [entry.message_id] : []));
|
|
412
|
-
return {
|
|
413
|
-
...(requestIds.length === 0 && messageIds.length > 0 ? {} : { request_ids: requestIds }),
|
|
414
|
-
...(messageIds.length === 0 ? {} : { message_ids: messageIds }),
|
|
415
|
-
};
|
|
416
|
-
}
|
|
417
|
-
/** A turn that was not held resets the streak; only consecutive holds count. */
|
|
418
|
-
export function resetAcknowledgementBlocks(sessionId, env) {
|
|
419
|
-
updateSessionState(sessionId, env, (current) => {
|
|
420
|
-
if (current.acknowledgement_blocks === undefined)
|
|
421
|
-
return current;
|
|
422
|
-
const next = { ...current };
|
|
423
|
-
delete next.acknowledgement_blocks;
|
|
424
|
-
return next;
|
|
425
|
-
});
|
|
426
|
-
}
|
|
427
|
-
/**
|
|
428
|
-
* Ask the service which owed acknowledgements now exist and forget those.
|
|
429
|
-
* Returns what is still owed; a failed check counts as still owed.
|
|
430
|
-
*/
|
|
431
|
-
export async function reconcileAcknowledgementObligations(ctx, sessionId, due) {
|
|
432
|
-
const unresolved = [];
|
|
433
|
-
for (const obligation of due) {
|
|
434
|
-
const id = owedAcknowledgementId(obligation);
|
|
435
|
-
try {
|
|
436
|
-
const acknowledgement = 'message_id' in obligation
|
|
437
|
-
? (await ctx.client.sessionMessageAcknowledgement(obligation.message_id)).agent_acknowledgement
|
|
438
|
-
: (await ctx.client.agentAcknowledgement(obligation.request_id, { waitSeconds: 0 }))
|
|
439
|
-
.agent_acknowledgement;
|
|
440
|
-
if (acknowledgement !== null) {
|
|
441
|
-
clearAcknowledgementObligation(sessionId, ctx.env, id);
|
|
442
|
-
}
|
|
443
|
-
else {
|
|
444
|
-
unresolved.push(obligation);
|
|
445
|
-
}
|
|
446
|
-
}
|
|
447
|
-
catch (err) {
|
|
448
|
-
unresolved.push(obligation);
|
|
449
|
-
ctx.log?.error('hook.gate', {
|
|
450
|
-
verdict: 'held',
|
|
451
|
-
reason: 'acknowledgement-required',
|
|
452
|
-
stage: 'reconcile-failed',
|
|
453
|
-
...('message_id' in obligation ? { message_id: id } : { request_id: id }),
|
|
454
|
-
message: err instanceof Error ? err.message : String(err),
|
|
455
|
-
});
|
|
456
|
-
}
|
|
457
|
-
}
|
|
458
|
-
return unresolved;
|
|
459
|
-
}
|
|
460
|
-
/**
|
|
461
|
-
* Retire the answered questions and close the journal.
|
|
462
|
-
*
|
|
463
|
-
* Called once an answer's delivery is acknowledged — by the route's own write,
|
|
464
|
-
* or by the successor Stop of a blocking continuation. The continuation counter
|
|
465
|
-
* grows with each settled generation, so the cap that bounds chained
|
|
466
|
-
* answer-to-question loops is a real count rather than a constant 1.
|
|
467
|
-
*/
|
|
468
|
-
export function settleAcceptedAnswers(ctx, sessionId, accepted, cwd) {
|
|
469
|
-
const retirements = accepted.answers
|
|
470
|
-
.map(({ pending }) => retiringQuestion(pending, 'answered', cwd))
|
|
471
|
-
.filter((entry) => entry !== null);
|
|
472
|
-
updateSessionState(sessionId, ctx.env, (current) => {
|
|
473
|
-
const retiring = [...(current.retiring ?? [])];
|
|
474
|
-
for (const retirement of retirements) {
|
|
475
|
-
const existing = retiring.findIndex((entry) => entry.request_id === retirement.request_id);
|
|
476
|
-
if (existing < 0)
|
|
477
|
-
retiring.push(retirement);
|
|
478
|
-
else
|
|
479
|
-
retiring[existing] = retirement;
|
|
480
|
-
}
|
|
481
|
-
const next = { ...current, retiring };
|
|
482
|
-
delete next.accepted;
|
|
483
|
-
next.continuation = {
|
|
484
|
-
answered_at: accepted.recorded_at,
|
|
485
|
-
count: (current.continuation?.count ?? 0) + 1,
|
|
486
|
-
};
|
|
487
|
-
return next;
|
|
488
|
-
});
|
|
489
|
-
}
|
|
490
|
-
//# sourceMappingURL=hook-acknowledgements.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hook-acknowledgements.js","sourceRoot":"","sources":["../src/hook-acknowledgements.ts"],"names":[],"mappings":"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"}
|
package/dist/hook-adapter.d.ts
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
export type HookHostPlatform = 'posix' | 'win32';
|
|
2
|
-
export interface HookAdapterFileTarget {
|
|
3
|
-
kind?: 'file';
|
|
4
|
-
execPath: string;
|
|
5
|
-
scriptPath: string;
|
|
6
|
-
}
|
|
7
|
-
export interface HookAdapterNpxTarget {
|
|
8
|
-
kind: 'npx';
|
|
9
|
-
execPath: string;
|
|
10
|
-
npmCli: string;
|
|
11
|
-
spec: string;
|
|
12
|
-
}
|
|
13
|
-
export type HookAdapterTarget = HookAdapterFileTarget | HookAdapterNpxTarget;
|
|
14
|
-
export declare function isNpxAdapterTarget(target: HookAdapterTarget): target is HookAdapterNpxTarget;
|
|
15
|
-
export interface HookAdapterInspection {
|
|
16
|
-
path: string;
|
|
17
|
-
target: HookAdapterTarget | null;
|
|
18
|
-
problems: string[];
|
|
19
|
-
}
|
|
20
|
-
/** Whether a parsed adapter runs the same installed CLI artifact as PATH. */
|
|
21
|
-
export declare function hookAdapterTargetsArtifact(target: HookAdapterTarget | null, artifactPath: string): boolean;
|
|
22
|
-
export declare function hookHostPlatform(platform?: NodeJS.Platform | HookHostPlatform): HookHostPlatform;
|
|
23
|
-
/**
|
|
24
|
-
* One user-level identity for every harness and every project/global install.
|
|
25
|
-
*
|
|
26
|
-
* The pathname is deliberately outside XDG configuration/state routing. XDG
|
|
27
|
-
* overrides routinely differ between shells, package managers, and harness
|
|
28
|
-
* processes; allowing one to select this path would put mutable environment
|
|
29
|
-
* back into every trusted definition. Only the user's home boundary selects
|
|
30
|
-
* it; CLI, Node, package-manager, checkout, and preference paths stay behind
|
|
31
|
-
* it and may change without changing hook identity.
|
|
32
|
-
*/
|
|
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;
|
|
40
|
-
/** Install or repair the stable adapter and atomically retarget its implementation. */
|
|
41
|
-
export declare function installHookAdapter(target: HookAdapterTarget, homeDir?: string, platform?: NodeJS.Platform | HookHostPlatform, env?: NodeJS.ProcessEnv): {
|
|
42
|
-
path: string;
|
|
43
|
-
changed: boolean;
|
|
44
|
-
};
|
|
45
|
-
/** Inspect the shared adapter without executing either it or its registered CLI. */
|
|
46
|
-
export declare function inspectHookAdapter(homeDir?: string, platform?: NodeJS.Platform | HookHostPlatform): HookAdapterInspection;
|
|
47
|
-
/** Generate the managed adapter source for one host. Exported so tests can pin bytes. */
|
|
48
|
-
export declare function hookAdapterSource(target: HookAdapterTarget, platform?: NodeJS.Platform | HookHostPlatform): string;
|