instar 1.3.665 → 1.3.667
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/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +64 -9
- package/dist/commands/server.js.map +1 -1
- package/dist/core/MessageSentinel.d.ts +62 -1
- package/dist/core/MessageSentinel.d.ts.map +1 -1
- package/dist/core/MessageSentinel.js +123 -1
- package/dist/core/MessageSentinel.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +9 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/SessionManager.d.ts +9 -0
- package/dist/core/SessionManager.d.ts.map +1 -1
- package/dist/core/SessionManager.js +31 -0
- package/dist/core/SessionManager.js.map +1 -1
- package/dist/core/paneTail.d.ts +9 -0
- package/dist/core/paneTail.d.ts.map +1 -1
- package/dist/core/paneTail.js +12 -0
- package/dist/core/paneTail.js.map +1 -1
- package/dist/core/types.d.ts +11 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/monitoring/PermissionPromptAutoResolver.d.ts +215 -0
- package/dist/monitoring/PermissionPromptAutoResolver.d.ts.map +1 -0
- package/dist/monitoring/PermissionPromptAutoResolver.js +475 -0
- package/dist/monitoring/PermissionPromptAutoResolver.js.map +1 -0
- package/dist/monitoring/PresenceProxy.d.ts.map +1 -1
- package/dist/monitoring/PresenceProxy.js +18 -0
- package/dist/monitoring/PresenceProxy.js.map +1 -1
- package/dist/monitoring/StuckSignatureClassifier.d.ts +1 -1
- package/dist/monitoring/StuckSignatureClassifier.d.ts.map +1 -1
- package/dist/monitoring/StuckSignatureClassifier.js +24 -0
- package/dist/monitoring/StuckSignatureClassifier.js.map +1 -1
- package/dist/monitoring/guardManifest.d.ts.map +1 -1
- package/dist/monitoring/guardManifest.js +15 -0
- package/dist/monitoring/guardManifest.js.map +1 -1
- package/dist/monitoring/guardPosture.d.ts.map +1 -1
- package/dist/monitoring/guardPosture.js +19 -0
- package/dist/monitoring/guardPosture.js.map +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +10 -5
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/scripts/lint-guard-manifest.js +1 -0
- package/src/data/builtin-manifest.json +64 -64
- package/upgrades/1.3.666.md +131 -0
- package/upgrades/1.3.667.md +32 -0
- package/upgrades/side-effects/operator-channel-sacred.md +31 -0
- package/upgrades/1.3.665.md +0 -68
package/dist/server/routes.js
CHANGED
|
@@ -14065,8 +14065,13 @@ export function createRoutes(ctx) {
|
|
|
14065
14065
|
// check must never block message delivery. Mirrors processUpdate's behavior.
|
|
14066
14066
|
if (ctx.sentinel) {
|
|
14067
14067
|
try {
|
|
14068
|
-
|
|
14069
|
-
|
|
14068
|
+
// Operator-channel-sacred: the single disposition helper decides — a 'pause'
|
|
14069
|
+
// consumes ONLY on a deterministic match; a bare-LLM/capacity-shed 'pause'
|
|
14070
|
+
// (the 2026-06-25 lockout mechanism) routes THROUGH (falls past this block to
|
|
14071
|
+
// normal routing) instead of consuming the operator's message; a long-form
|
|
14072
|
+
// genuine stop is rescued to a kill.
|
|
14073
|
+
const decision = await ctx.sentinel.decideInboundDisposition(text, Number(topicId));
|
|
14074
|
+
if (decision.disposition === 'kill' || decision.disposition === 'pause') {
|
|
14070
14075
|
// Resolve the topic's session. Prefer the on-disk registry (the
|
|
14071
14076
|
// persistent source of truth that both polling modes maintain) since
|
|
14072
14077
|
// a lifeline-owned adapter's in-memory topicToSession map may be empty;
|
|
@@ -14083,7 +14088,7 @@ export function createRoutes(ctx) {
|
|
|
14083
14088
|
if (!sessionName) {
|
|
14084
14089
|
sessionName = ctx.telegram?.getSessionForTopic(Number(topicId)) ?? null;
|
|
14085
14090
|
}
|
|
14086
|
-
if (
|
|
14091
|
+
if (decision.disposition === 'kill') {
|
|
14087
14092
|
if (sessionName) {
|
|
14088
14093
|
if (ctx.telegram?.onSentinelKillSession) {
|
|
14089
14094
|
ctx.telegram.onSentinelKillSession(sessionName); // saves resume UUID + kills
|
|
@@ -14111,8 +14116,8 @@ export function createRoutes(ctx) {
|
|
|
14111
14116
|
ctx.operatorStopRecorder?.(Number(topicId));
|
|
14112
14117
|
}
|
|
14113
14118
|
catch { /* the stop must succeed regardless */ }
|
|
14114
|
-
if (
|
|
14115
|
-
console.log(`[telegram-forward] sentinel stop reason: ${
|
|
14119
|
+
if (decision.reason) {
|
|
14120
|
+
console.log(`[telegram-forward] sentinel stop reason: ${decision.reason}`);
|
|
14116
14121
|
}
|
|
14117
14122
|
ctx.telegram?.sendToTopic(Number(topicId), sessionName
|
|
14118
14123
|
? 'Session terminated.\n\nSend a new message to start a fresh session.'
|