@sensigo/realm-cli 0.32.0 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/gate/gate-expiry-timer.d.ts +19 -0
- package/dist/agent/gate/gate-expiry-timer.d.ts.map +1 -0
- package/dist/agent/gate/gate-expiry-timer.js +83 -0
- package/dist/agent/gate/gate-expiry-timer.js.map +1 -0
- package/dist/agent/gate/slack-gate-notifier.d.ts +24 -2
- package/dist/agent/gate/slack-gate-notifier.d.ts.map +1 -1
- package/dist/agent/gate/slack-gate-notifier.js +101 -8
- package/dist/agent/gate/slack-gate-notifier.js.map +1 -1
- package/dist/agent/mcp/mcp-extensions.d.ts +8 -1
- package/dist/agent/mcp/mcp-extensions.d.ts.map +1 -1
- package/dist/agent/providers/anthropic-provider.d.ts +31 -0
- package/dist/agent/providers/anthropic-provider.d.ts.map +1 -1
- package/dist/agent/providers/anthropic-provider.js +169 -25
- package/dist/agent/providers/anthropic-provider.js.map +1 -1
- package/dist/agent/providers/llm-provider.d.ts +17 -0
- package/dist/agent/providers/llm-provider.d.ts.map +1 -1
- package/dist/agent/providers/llm-provider.js +16 -0
- package/dist/agent/providers/llm-provider.js.map +1 -1
- package/dist/agent/run-agent.d.ts.map +1 -1
- package/dist/agent/run-agent.js +141 -4
- package/dist/agent/run-agent.js.map +1 -1
- package/dist/commands/abandon.d.ts.map +1 -1
- package/dist/commands/abandon.js +4 -1
- package/dist/commands/abandon.js.map +1 -1
- package/dist/commands/drain.d.ts +24 -0
- package/dist/commands/drain.d.ts.map +1 -1
- package/dist/commands/drain.js +152 -12
- package/dist/commands/drain.js.map +1 -1
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +6 -2
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +1 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/inspect.d.ts.map +1 -1
- package/dist/commands/inspect.js +35 -7
- package/dist/commands/inspect.js.map +1 -1
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +54 -15
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/listen.d.ts +32 -2
- package/dist/commands/listen.d.ts.map +1 -1
- package/dist/commands/listen.js +100 -0
- package/dist/commands/listen.js.map +1 -1
- package/dist/commands/purge.d.ts.map +1 -1
- package/dist/commands/purge.js +15 -7
- package/dist/commands/purge.js.map +1 -1
- package/dist/commands/reclaim.d.ts.map +1 -1
- package/dist/commands/reclaim.js +8 -0
- package/dist/commands/reclaim.js.map +1 -1
- package/dist/commands/resume.d.ts +1 -0
- package/dist/commands/resume.d.ts.map +1 -1
- package/dist/commands/resume.js +13 -5
- package/dist/commands/resume.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +17 -1
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +72 -2
- package/dist/commands/validate.js.map +1 -1
- package/dist/index.js +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { RunStore, WorkflowDefinition, PendingGate, ExtensionRegistry } from '@sensigo/realm';
|
|
2
|
+
export interface GateExpiryTimerDeps {
|
|
3
|
+
store: RunStore;
|
|
4
|
+
definition: WorkflowDefinition;
|
|
5
|
+
registry?: ExtensionRegistry;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Schedules an `expire_gate` enactment attempt at `gate.expires_at` — a self-rescheduling
|
|
9
|
+
* `setTimeout` chain when the delay exceeds Node's 32-bit ceiling. No-ops (returns a no-op cancel
|
|
10
|
+
* function) for a finding-only gate (`on_expiry` absent) or one with no enforce clock at all
|
|
11
|
+
* (`expires_at` absent) — nothing schedulable, matching every other enactment point's own gating.
|
|
12
|
+
* Enactment refusals/failures are swallowed to a `console.warn` — this is a best-effort ATTENDED
|
|
13
|
+
* lever, never a hard dependency: a race with any OTHER enactment point (submit/execute_step/
|
|
14
|
+
* reclaim/drain --expired/the listen sweeper) is safe by construction via the [F1] arm matrix's
|
|
15
|
+
* NOOPs. The returned cancel function MUST be called on gate resolution or process exit — every
|
|
16
|
+
* call site wires it into its own `finally`/cleanup.
|
|
17
|
+
*/
|
|
18
|
+
export declare function scheduleGateExpiryTimer(runId: string, gate: PendingGate, deps: GateExpiryTimerDeps): () => void;
|
|
19
|
+
//# sourceMappingURL=gate-expiry-timer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gate-expiry-timer.d.ts","sourceRoot":"","sources":["../../../src/agent/gate/gate-expiry-timer.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,QAAQ,EACR,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EAElB,MAAM,gBAAgB,CAAC;AAUxB,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,QAAQ,CAAC;IAChB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,mBAAmB,GACxB,MAAM,IAAI,CA6DZ"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
// gate-expiry-timer.ts — issue #291, Deliverable 4e: the ATTENDING-PROCESS enactment timer host
|
|
2
|
+
// (Amendment 4's "attended runs = canon parity" enactment host — the CLI process holding an open
|
|
3
|
+
// gate schedules ONE enactment timer at the frozen `expires_at`). A STANDALONE module (never
|
|
4
|
+
// folded into slack-gate-notifier.ts) specifically so run-agent.ts can import it without
|
|
5
|
+
// reintroducing the circular dependency slack-gate-notifier.ts's own header comment already
|
|
6
|
+
// warns against ("avoids circular dependency with run-agent.ts"). Shared by all THREE wait-sites:
|
|
7
|
+
// slack-gate-notifier.ts's `handleBidirectionalGate`, run-agent.ts's non-Slack poll loop, and
|
|
8
|
+
// run.ts's interactive prompt.
|
|
9
|
+
import { applySettlement, drainFinalizers } from '@sensigo/realm';
|
|
10
|
+
/** Node's `setTimeout` delay is a 32-bit signed int; a delay exceeding 2^31-1 ms (~24.8 days)
|
|
11
|
+
* overflows and fires IMMEDIATELY instead of throwing or clamping (lane-1 F-7) — self-reschedule
|
|
12
|
+
* in MAX_TIMEOUT_MS-sized hops so a >24.8-day `timeout_seconds` still gets an attended enactment
|
|
13
|
+
* at its REAL deadline, not instantly. The [F1] `not_expired` arm makes even an accidental
|
|
14
|
+
* premature fire safe (a harmless refusal, never a wrong enactment) — this clamping exists for
|
|
15
|
+
* ATTENDED-LIVENESS correctness (don't lose the attended lever for long timeouts), not safety. */
|
|
16
|
+
const MAX_TIMEOUT_MS = 2 ** 31 - 1;
|
|
17
|
+
/**
|
|
18
|
+
* Schedules an `expire_gate` enactment attempt at `gate.expires_at` — a self-rescheduling
|
|
19
|
+
* `setTimeout` chain when the delay exceeds Node's 32-bit ceiling. No-ops (returns a no-op cancel
|
|
20
|
+
* function) for a finding-only gate (`on_expiry` absent) or one with no enforce clock at all
|
|
21
|
+
* (`expires_at` absent) — nothing schedulable, matching every other enactment point's own gating.
|
|
22
|
+
* Enactment refusals/failures are swallowed to a `console.warn` — this is a best-effort ATTENDED
|
|
23
|
+
* lever, never a hard dependency: a race with any OTHER enactment point (submit/execute_step/
|
|
24
|
+
* reclaim/drain --expired/the listen sweeper) is safe by construction via the [F1] arm matrix's
|
|
25
|
+
* NOOPs. The returned cancel function MUST be called on gate resolution or process exit — every
|
|
26
|
+
* call site wires it into its own `finally`/cleanup.
|
|
27
|
+
*/
|
|
28
|
+
export function scheduleGateExpiryTimer(runId, gate, deps) {
|
|
29
|
+
if (gate.expires_at === undefined || gate.on_expiry === undefined) {
|
|
30
|
+
return () => { };
|
|
31
|
+
}
|
|
32
|
+
const expiresAtMs = new Date(gate.expires_at).getTime();
|
|
33
|
+
let timer;
|
|
34
|
+
let cancelled = false;
|
|
35
|
+
const fire = async () => {
|
|
36
|
+
if (cancelled)
|
|
37
|
+
return;
|
|
38
|
+
const remainingMs = expiresAtMs - Date.now();
|
|
39
|
+
if (remainingMs > 0) {
|
|
40
|
+
schedule(remainingMs);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
const delta = { kind: 'expire_gate', gateId: gate.gate_id };
|
|
45
|
+
let outcome;
|
|
46
|
+
if (deps.store.settleStep !== undefined) {
|
|
47
|
+
outcome = await deps.store.settleStep(runId, delta, deps.definition, { now: new Date() });
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
const fresh = await deps.store.get(runId);
|
|
51
|
+
const pure = applySettlement(fresh, delta, deps.definition, { now: new Date() });
|
|
52
|
+
outcome = pure.applied ? { ...pure, run: await deps.store.update(pure.run) } : pure;
|
|
53
|
+
}
|
|
54
|
+
if (outcome.applied) {
|
|
55
|
+
console.log(`⏰ gate '${gate.gate_id}' on run '${runId}' expired — enacted via the attending-process timer (enacted_via: timer).`);
|
|
56
|
+
if (outcome.transitioned) {
|
|
57
|
+
const drainOutcome = await drainFinalizers(deps.store, deps.definition, deps.registry, runId);
|
|
58
|
+
for (const w of drainOutcome.warnings)
|
|
59
|
+
console.warn(`⚠ ${w}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// A refusal (already_settled/not_expired/gate_mismatch/run_terminal) is a benign race with
|
|
63
|
+
// another enactment point — silently absorbed, exactly like enactExpiredGateIfDue's own
|
|
64
|
+
// advisory-not-crash posture.
|
|
65
|
+
}
|
|
66
|
+
catch (err) {
|
|
67
|
+
console.warn(`⚠ realm: the attending-process gate-expiry timer failed for run '${runId}' ` +
|
|
68
|
+
`(${err instanceof Error ? err.message : String(err)}) — another enactment point ` +
|
|
69
|
+
`(submit/execute_step/reclaim/drain --expired/listen) will still catch it.`);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
const schedule = (delayMs) => {
|
|
73
|
+
const clamped = Math.max(0, Math.min(delayMs, MAX_TIMEOUT_MS));
|
|
74
|
+
timer = setTimeout(() => void fire(), clamped);
|
|
75
|
+
};
|
|
76
|
+
schedule(expiresAtMs - Date.now());
|
|
77
|
+
return () => {
|
|
78
|
+
cancelled = true;
|
|
79
|
+
if (timer !== undefined)
|
|
80
|
+
clearTimeout(timer);
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=gate-expiry-timer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gate-expiry-timer.js","sourceRoot":"","sources":["../../../src/agent/gate/gate-expiry-timer.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,10 +26,32 @@ export declare function postGateViaApi(botToken: string, channelId: string, gate
|
|
|
26
26
|
export declare function postSlackReply(botToken: string, channelId: string, threadTs: string, text: string): Promise<void>;
|
|
27
27
|
/**
|
|
28
28
|
* Starts reminder and escalation timers for an open gate.
|
|
29
|
-
*
|
|
30
|
-
*
|
|
29
|
+
*
|
|
30
|
+
* Issue #291 (Deliverable 6 — the authored notify clock): the REMINDER leg now repeats when the
|
|
31
|
+
* gate carries a frozen `reminder_seconds` ([F-A2-1]): every `reminder_seconds` (record-keyed
|
|
32
|
+
* precedence over `reminderIntervalMs` [F-A2-2] — the author's declared value always wins when
|
|
33
|
+
* present), up to `reminder_max` occurrences (frozen at mint, default 3) OR until the frozen
|
|
34
|
+
* `expires_at` is reached, whichever comes first — the occurrence that would land at/after
|
|
35
|
+
* `expires_at` is the FINAL one, with wording switched to the enforcement fact (never soliciting
|
|
36
|
+
* a doomed response). A PURE-notify gate (`reminder_seconds` frozen, no `expires_at`) is bounded
|
|
37
|
+
* by `reminder_max` alone, all plain-wording occurrences. When the author declared NO
|
|
38
|
+
* `reminder_seconds`, the OPERATOR fallback (`reminderIntervalMs`) stays exactly as before —
|
|
39
|
+
* SINGLE-SHOT, unchanged behavior for existing deployments ([F-A2-3] — repeating it would alter
|
|
40
|
+
* an unchanged config's Slack volume). The ESCALATION leg is completely untouched either way.
|
|
41
|
+
* Returns a cleanup function that clears every pending timer — must be called when the gate
|
|
42
|
+
* resolves. Exported for testing.
|
|
31
43
|
*/
|
|
32
44
|
export declare function startGateReminderTimers(botToken: string, channelId: string, threadTs: string, gate: PendingGate, reminderIntervalMs: number, escalationThresholdMs: number): () => void;
|
|
45
|
+
/**
|
|
46
|
+
* Issue #291 (Amendment: "dead-notification advisory" — [F-A2-1]/pedestal-lane Q5 rule 2): warns
|
|
47
|
+
* ONCE, at notifier wiring, when the OPERATOR fallback's own reminder/escalation config could
|
|
48
|
+
* never fire before the frozen enforce clock expires — never solicits a response the gate will
|
|
49
|
+
* already have refused. Only meaningful for the operator-fallback path (an AUTHORED
|
|
50
|
+
* `reminder_seconds` already gets its own load-time cross-validation — [Amendment 2],
|
|
51
|
+
* yaml-loader.ts's `reminder_seconds >= timeout_seconds` DEAD_GATE_CONFIG warn — this is the
|
|
52
|
+
* SAME check's CLI-side counterpart for the config the loader cannot see). Exported for testing.
|
|
53
|
+
*/
|
|
54
|
+
export declare function checkDeadNotificationAdvisory(gate: PendingGate, reminderIntervalMs: number, escalationThresholdMs: number): string | undefined;
|
|
33
55
|
/** Parameters for the bidirectional gate handler. Exported for testing. */
|
|
34
56
|
export interface BidirectionalGateParams {
|
|
35
57
|
gate: PendingGate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slack-gate-notifier.d.ts","sourceRoot":"","sources":["../../../src/agent/gate/slack-gate-notifier.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"slack-gate-notifier.d.ts","sourceRoot":"","sources":["../../../src/agent/gate/slack-gate-notifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { submitHumanResponse, } from '@sensigo/realm';
|
|
6
6
|
import { startSlackGateServer } from './slack-gate-server.js';
|
|
7
7
|
import { connectSocketMode } from './slack-socket-client.js';
|
|
8
|
+
import { scheduleGateExpiryTimer } from './gate-expiry-timer.js';
|
|
8
9
|
/**
|
|
9
10
|
* Formats a gate preview object as human-readable Slack mrkdwn text.
|
|
10
11
|
* Uses `headline` and `message` fields when present; falls back to indented JSON.
|
|
@@ -119,17 +120,66 @@ export async function postSlackReply(botToken, channelId, threadTs, text) {
|
|
|
119
120
|
console.warn(`Slack reply failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
120
121
|
}
|
|
121
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* Issue #291 ([F-A2-1]/[F-A2-2]/[F-A2-3] — the authored notify clock): builds the reminder
|
|
125
|
+
* message text for one occurrence. `isFinal` (only ever true when `gate.expires_at` is frozen)
|
|
126
|
+
* switches the wording to the enforcement fact rather than soliciting a doomed response —
|
|
127
|
+
* finding-only (no `on_expiry`) gets its own variant with no "will enact" claim.
|
|
128
|
+
*/
|
|
129
|
+
function buildReminderText(gate, isFinal) {
|
|
130
|
+
if (!isFinal) {
|
|
131
|
+
return `⏰ Reminder: gate \`${gate.step_name}\` is still waiting for a response.`;
|
|
132
|
+
}
|
|
133
|
+
const overdueMin = Math.max(0, Math.round((Date.now() - new Date(gate.expires_at).getTime()) / 60_000));
|
|
134
|
+
if (gate.on_expiry !== undefined) {
|
|
135
|
+
return (`⏰ gate \`${gate.step_name}\` expired ${overdueMin}m ago — will enact ${gate.on_expiry}; ` +
|
|
136
|
+
`realm run drain --expired.`);
|
|
137
|
+
}
|
|
138
|
+
return (`⏰ gate \`${gate.step_name}\` expired ${overdueMin}m ago — finding-only (no on_expiry ` +
|
|
139
|
+
`declared, nothing will be enacted); still waiting for a response.`);
|
|
140
|
+
}
|
|
122
141
|
/**
|
|
123
142
|
* Starts reminder and escalation timers for an open gate.
|
|
124
|
-
*
|
|
125
|
-
*
|
|
143
|
+
*
|
|
144
|
+
* Issue #291 (Deliverable 6 — the authored notify clock): the REMINDER leg now repeats when the
|
|
145
|
+
* gate carries a frozen `reminder_seconds` ([F-A2-1]): every `reminder_seconds` (record-keyed
|
|
146
|
+
* precedence over `reminderIntervalMs` [F-A2-2] — the author's declared value always wins when
|
|
147
|
+
* present), up to `reminder_max` occurrences (frozen at mint, default 3) OR until the frozen
|
|
148
|
+
* `expires_at` is reached, whichever comes first — the occurrence that would land at/after
|
|
149
|
+
* `expires_at` is the FINAL one, with wording switched to the enforcement fact (never soliciting
|
|
150
|
+
* a doomed response). A PURE-notify gate (`reminder_seconds` frozen, no `expires_at`) is bounded
|
|
151
|
+
* by `reminder_max` alone, all plain-wording occurrences. When the author declared NO
|
|
152
|
+
* `reminder_seconds`, the OPERATOR fallback (`reminderIntervalMs`) stays exactly as before —
|
|
153
|
+
* SINGLE-SHOT, unchanged behavior for existing deployments ([F-A2-3] — repeating it would alter
|
|
154
|
+
* an unchanged config's Slack volume). The ESCALATION leg is completely untouched either way.
|
|
155
|
+
* Returns a cleanup function that clears every pending timer — must be called when the gate
|
|
156
|
+
* resolves. Exported for testing.
|
|
126
157
|
*/
|
|
127
158
|
export function startGateReminderTimers(botToken, channelId, threadTs, gate, reminderIntervalMs, escalationThresholdMs) {
|
|
128
|
-
const
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
159
|
+
const authored = gate.reminder_seconds !== undefined;
|
|
160
|
+
const effectiveReminderMs = authored ? gate.reminder_seconds * 1000 : reminderIntervalMs;
|
|
161
|
+
// [F-A2-3]: the operator fallback stays single-shot — reminder_max only ever bounds the
|
|
162
|
+
// AUTHORED cycle (reminder_max is frozen alongside reminder_seconds — always defined together).
|
|
163
|
+
const reminderMax = authored ? (gate.reminder_max ?? 3) : 1;
|
|
164
|
+
const expiresAtMs = gate.expires_at !== undefined ? new Date(gate.expires_at).getTime() : undefined;
|
|
165
|
+
let reminderTimer;
|
|
166
|
+
let occurrence = 0;
|
|
167
|
+
let cancelled = false;
|
|
168
|
+
const scheduleNext = () => {
|
|
169
|
+
if (cancelled || occurrence >= reminderMax)
|
|
170
|
+
return;
|
|
171
|
+
const nextFireAtMs = Date.now() + effectiveReminderMs;
|
|
172
|
+
const isFinal = expiresAtMs !== undefined && nextFireAtMs >= expiresAtMs;
|
|
173
|
+
reminderTimer = setTimeout(() => {
|
|
174
|
+
occurrence += 1;
|
|
175
|
+
postSlackReply(botToken, channelId, threadTs, buildReminderText(gate, isFinal)).catch((err) => {
|
|
176
|
+
console.warn(`Reminder post failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
177
|
+
});
|
|
178
|
+
if (!isFinal)
|
|
179
|
+
scheduleNext();
|
|
180
|
+
}, effectiveReminderMs);
|
|
181
|
+
};
|
|
182
|
+
scheduleNext();
|
|
133
183
|
const escalationTimer = setTimeout(() => {
|
|
134
184
|
const elapsedMin = Math.round((Date.now() - new Date(gate.opened_at).getTime()) / 60_000);
|
|
135
185
|
const mention = gate.owner !== undefined ? `${gate.owner} — ` : '';
|
|
@@ -139,10 +189,38 @@ export function startGateReminderTimers(botToken, channelId, threadTs, gate, rem
|
|
|
139
189
|
});
|
|
140
190
|
}, escalationThresholdMs);
|
|
141
191
|
return () => {
|
|
142
|
-
|
|
192
|
+
cancelled = true;
|
|
193
|
+
if (reminderTimer !== undefined)
|
|
194
|
+
clearTimeout(reminderTimer);
|
|
143
195
|
clearTimeout(escalationTimer);
|
|
144
196
|
};
|
|
145
197
|
}
|
|
198
|
+
/**
|
|
199
|
+
* Issue #291 (Amendment: "dead-notification advisory" — [F-A2-1]/pedestal-lane Q5 rule 2): warns
|
|
200
|
+
* ONCE, at notifier wiring, when the OPERATOR fallback's own reminder/escalation config could
|
|
201
|
+
* never fire before the frozen enforce clock expires — never solicits a response the gate will
|
|
202
|
+
* already have refused. Only meaningful for the operator-fallback path (an AUTHORED
|
|
203
|
+
* `reminder_seconds` already gets its own load-time cross-validation — [Amendment 2],
|
|
204
|
+
* yaml-loader.ts's `reminder_seconds >= timeout_seconds` DEAD_GATE_CONFIG warn — this is the
|
|
205
|
+
* SAME check's CLI-side counterpart for the config the loader cannot see). Exported for testing.
|
|
206
|
+
*/
|
|
207
|
+
export function checkDeadNotificationAdvisory(gate, reminderIntervalMs, escalationThresholdMs) {
|
|
208
|
+
if (gate.reminder_seconds !== undefined || gate.expires_at === undefined)
|
|
209
|
+
return undefined;
|
|
210
|
+
const windowMs = new Date(gate.expires_at).getTime() - new Date(gate.opened_at).getTime();
|
|
211
|
+
const deadReminder = reminderIntervalMs >= windowMs;
|
|
212
|
+
const deadEscalation = escalationThresholdMs >= windowMs;
|
|
213
|
+
if (!deadReminder && !deadEscalation)
|
|
214
|
+
return undefined;
|
|
215
|
+
const parts = [];
|
|
216
|
+
if (deadReminder)
|
|
217
|
+
parts.push(`the reminder (${reminderIntervalMs}ms)`);
|
|
218
|
+
if (deadEscalation)
|
|
219
|
+
parts.push(`the escalation (${escalationThresholdMs}ms)`);
|
|
220
|
+
return (`dead notification: ${parts.join(' and ')} on gate '${gate.step_name}' will never fire ` +
|
|
221
|
+
`before its authored timeout_seconds elapses (${windowMs}ms window) — the operator ` +
|
|
222
|
+
`reminder/escalation config never reaches the human before the gate expires.`);
|
|
223
|
+
}
|
|
146
224
|
/**
|
|
147
225
|
* Handles a gate using Slack bidirectional resolution:
|
|
148
226
|
* - Events API (when signing secret is present) or Socket Mode (when app token is present)
|
|
@@ -274,6 +352,20 @@ export async function handleBidirectionalGate(params) {
|
|
|
274
352
|
const clearTimers = gateThreadTs !== undefined
|
|
275
353
|
? startGateReminderTimers(slackBotToken, slackChannelId, gateThreadTs, gate, gateReminderIntervalMs, gateEscalationThresholdMs)
|
|
276
354
|
: () => { };
|
|
355
|
+
// issue #291 (dead-notification advisory): printed once, at notifier wiring.
|
|
356
|
+
if (gateThreadTs !== undefined) {
|
|
357
|
+
const advisory = checkDeadNotificationAdvisory(gate, gateReminderIntervalMs, gateEscalationThresholdMs);
|
|
358
|
+
if (advisory !== undefined)
|
|
359
|
+
console.warn(`⚠ ${advisory}`);
|
|
360
|
+
}
|
|
361
|
+
// issue #291 (Deliverable 4e, Amendment 4): the ATTENDING-PROCESS enactment timer — independent
|
|
362
|
+
// of Slack notification wiring (it fires regardless of whether a thread anchor exists; this
|
|
363
|
+
// process is holding the gate open either way). A no-op for a finding-only/non-expiring gate.
|
|
364
|
+
const clearExpiryTimer = scheduleGateExpiryTimer(runId, gate, {
|
|
365
|
+
store,
|
|
366
|
+
definition,
|
|
367
|
+
...(registry !== undefined ? { registry } : {}),
|
|
368
|
+
});
|
|
277
369
|
try {
|
|
278
370
|
// Poll the store as the unified done-detector — resolves when candidate processor
|
|
279
371
|
// calls submitHumanResponse OR when the terminal command is used.
|
|
@@ -282,6 +374,7 @@ export async function handleBidirectionalGate(params) {
|
|
|
282
374
|
finally {
|
|
283
375
|
abortController.abort();
|
|
284
376
|
clearTimers();
|
|
377
|
+
clearExpiryTimer();
|
|
285
378
|
serverHandle?.close();
|
|
286
379
|
// Let the resolving candidate's confirmation (or submit-error) reply flush before process.exit()
|
|
287
380
|
// can truncate it on a run-completing gate. BOUNDED by DRAIN_TIMEOUT_MS so a hung Slack can't
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slack-gate-notifier.js","sourceRoot":"","sources":["../../../src/agent/gate/slack-gate-notifier.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"slack-gate-notifier.js","sourceRoot":"","sources":["../../../src/agent/gate/slack-gate-notifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ToolCallRecord, McpServerConfig } from '@sensigo/realm';
|
|
1
|
+
import type { ToolCallRecord, McpServerConfig, StructuredOutputMeta } from '@sensigo/realm';
|
|
2
2
|
export type { ToolCallRecord, McpServerConfig };
|
|
3
3
|
export interface McpTool {
|
|
4
4
|
name: string;
|
|
@@ -24,6 +24,13 @@ export interface StepWithToolsResult {
|
|
|
24
24
|
* observability field only.
|
|
25
25
|
*/
|
|
26
26
|
correctionCount?: number;
|
|
27
|
+
/**
|
|
28
|
+
* Issue #236: additive, present only on the tools-path leg the design's by-construction-only
|
|
29
|
+
* coverage note describes (G6 makes every tools-bearing step ineligible for strict end-to-end,
|
|
30
|
+
* so this is never populated by AnthropicProvider in v1 — the field exists so a FUTURE
|
|
31
|
+
* provider/version can populate it without another interface change).
|
|
32
|
+
*/
|
|
33
|
+
structuredOutput?: StructuredOutputMeta;
|
|
27
34
|
}
|
|
28
35
|
export interface McpClient {
|
|
29
36
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-extensions.d.ts","sourceRoot":"","sources":["../../../src/agent/mcp/mcp-extensions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-extensions.d.ts","sourceRoot":"","sources":["../../../src/agent/mcp/mcp-extensions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC5F,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC;AAGhD,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAGD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAGD,MAAM,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAGjG,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,SAAS,EAAE,cAAc,EAAE,CAAC;IAE5B;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAGD,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACpE,8CAA8C;IAC9C,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1F;;;;OAIG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B"}
|
|
@@ -1,5 +1,20 @@
|
|
|
1
|
+
import { type StructuredOutputMeta } from '@sensigo/realm';
|
|
1
2
|
import { ToolCapableLlmProvider } from './llm-provider.js';
|
|
2
3
|
import type { ToolDefinition, ToolExecutor, StepWithToolsResult } from '../mcp/mcp-extensions.js';
|
|
4
|
+
/**
|
|
5
|
+
* Thrown when the ladder's OWN drop-strict retry ALSO fails — design §4 [R2-7]: (a) carries the
|
|
6
|
+
* `structuredOutput` meta so a catch site can still disclose the downgrade even though no result
|
|
7
|
+
* was ever produced (run-agent's sticky map is armed from this on failure paths too), (b) sets
|
|
8
|
+
* the ORIGINAL (retry) error as `cause`, (c) adopts that error's own message verbatim — run-agent
|
|
9
|
+
* prints `err.message` directly at its two LLM-call catch sites, so this must describe what
|
|
10
|
+
* ACTUALLY failed (the retry's real error), never a generic wrapper string.
|
|
11
|
+
*/
|
|
12
|
+
export declare class StructuredOutputLadderError extends Error {
|
|
13
|
+
readonly structuredOutput: StructuredOutputMeta;
|
|
14
|
+
constructor(message: string, structuredOutput: StructuredOutputMeta, options?: {
|
|
15
|
+
cause?: unknown;
|
|
16
|
+
});
|
|
17
|
+
}
|
|
3
18
|
/**
|
|
4
19
|
* Anthropic LLM provider for realm agent.
|
|
5
20
|
* Uses the Messages API and extracts JSON from the first text content block.
|
|
@@ -8,7 +23,23 @@ import type { ToolDefinition, ToolExecutor, StepWithToolsResult } from '../mcp/m
|
|
|
8
23
|
export declare class AnthropicProvider extends ToolCapableLlmProvider {
|
|
9
24
|
private readonly model;
|
|
10
25
|
constructor(model: string);
|
|
26
|
+
private getClient;
|
|
27
|
+
/**
|
|
28
|
+
* Shared body for `callStep`/`callStepWithMeta` (issue #236). `strictRequested` is `undefined`
|
|
29
|
+
* for `callStep`'s own byte-identical-behavior contract (no ladder state is even constructed);
|
|
30
|
+
* `true`/`false` for `callStepWithMeta`. Returns `meta` only when strict was ever requested for
|
|
31
|
+
* THIS invocation — a step that never opted in gets no `structuredOutput` meta at all.
|
|
32
|
+
*/
|
|
33
|
+
private callStepInternal;
|
|
11
34
|
callStep(prompt: string, inputSchema?: Record<string, unknown>, agentProfileInstructions?: string): Promise<Record<string, unknown>>;
|
|
35
|
+
/** issue #236 override — the only provider in this codebase that actually honors
|
|
36
|
+
* `opts.structuredOutputStrict`; the base class's default just wraps `callStep`. */
|
|
37
|
+
callStepWithMeta(prompt: string, inputSchema?: Record<string, unknown>, agentProfileInstructions?: string, opts?: {
|
|
38
|
+
structuredOutputStrict?: boolean;
|
|
39
|
+
}): Promise<{
|
|
40
|
+
output: Record<string, unknown>;
|
|
41
|
+
meta?: StructuredOutputMeta;
|
|
42
|
+
}>;
|
|
12
43
|
/**
|
|
13
44
|
* Agentic loop for tool-capable steps. Executes tool calls serially (V1 constraint).
|
|
14
45
|
* All tool results for one turn are accumulated into a single user message with an array
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic-provider.d.ts","sourceRoot":"","sources":["../../../src/agent/providers/anthropic-provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"anthropic-provider.d.ts","sourceRoot":"","sources":["../../../src/agent/providers/anthropic-provider.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAEV,cAAc,EACd,YAAY,EACZ,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AA8FlC;;;;;;;GAOG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;gBAE9C,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,oBAAoB,EACtC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAMhC;AA8DD;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,sBAAsB;IAC/C,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,MAAM;YAK5B,SAAS;IAoBvB;;;;;OAKG;YACW,gBAAgB;IA0GxB,QAAQ,CACZ,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,wBAAwB,CAAC,EAAE,MAAM,GAChC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAUnC;yFACqF;IACtE,gBAAgB,CAC7B,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,wBAAwB,CAAC,EAAE,MAAM,EACjC,IAAI,CAAC,EAAE;QAAE,sBAAsB,CAAC,EAAE,OAAO,CAAA;KAAE,GAC1C,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,oBAAoB,CAAA;KAAE,CAAC;IAS5E;;;;OAIG;IACG,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,cAAc,EAAE,EACvB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE;QACP,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACtC,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChD,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjD,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,wBAAwB,CAAC,EAAE,MAAM,CAAC;KACnC,GACA,OAAO,CAAC,mBAAmB,CAAC;CAwThC"}
|