instar 1.3.664 → 1.3.666
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 +52 -0
- package/dist/commands/server.js.map +1 -1
- package/dist/core/IdleErrorClassifier.d.ts +44 -0
- package/dist/core/IdleErrorClassifier.d.ts.map +1 -0
- package/dist/core/IdleErrorClassifier.js +87 -0
- package/dist/core/IdleErrorClassifier.js.map +1 -0
- 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 +19 -0
- package/dist/core/SessionManager.d.ts.map +1 -1
- package/dist/core/SessionManager.js +71 -3
- package/dist/core/SessionManager.js.map +1 -1
- package/dist/core/paneTail.d.ts +38 -0
- package/dist/core/paneTail.d.ts.map +1 -0
- package/dist/core/paneTail.js +64 -0
- package/dist/core/paneTail.js.map +1 -0
- 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 +29 -3
- 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/package.json +1 -1
- package/scripts/lint-guard-manifest.js +1 -0
- package/src/data/builtin-manifest.json +20 -20
- package/upgrades/1.3.666.md +131 -0
- package/upgrades/side-effects/idle-error-tailgate-corroboration.md +65 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IdleErrorClassifier — precise "did this idle session's turn die on a transient
|
|
3
|
+
* API error?" signal (CMT-1785), replacing a bare `.includes()` over the pane buffer.
|
|
4
|
+
*
|
|
5
|
+
* THE PROBLEM it fixes: the old check fired on any TERMINAL_ERROR_PATTERN appearing
|
|
6
|
+
* ANYWHERE in the last 30 pane lines — so a stale error scrolled up (the turn already
|
|
7
|
+
* recovered), or a token merely QUOTED in content (the agent discussing an API error,
|
|
8
|
+
* a pasted log, or even the agent reading the source that lists these codes), spuriously
|
|
9
|
+
* triggered a transient-API recovery on a healthy session.
|
|
10
|
+
*
|
|
11
|
+
* THE FIX: tail-gate + a two-tier BEGINS-WITH frame discriminator. This is a SIGNAL
|
|
12
|
+
* (Signal vs Authority) — it feeds the existing rateLimitSentinel recovery actuator and
|
|
13
|
+
* gains no blocking authority. The match set is a STRICT SUBSET of the old buffer-wide
|
|
14
|
+
* match, so it can only SUPPRESS spurious fires, never add one.
|
|
15
|
+
*
|
|
16
|
+
* Spec: docs/specs/idle-error-tailgate-corroboration.md
|
|
17
|
+
*/
|
|
18
|
+
export interface IdleErrorClassification {
|
|
19
|
+
/** The signal: did the turn END in a Claude-emitted transient-API error? */
|
|
20
|
+
isTerminalError: boolean;
|
|
21
|
+
/** Which TERMINAL_ERROR_PATTERN matched (audit). */
|
|
22
|
+
matchedPattern?: string;
|
|
23
|
+
/** The lead-stripped, length-clamped, newline-stripped matched line (audit). */
|
|
24
|
+
matchedLine?: string;
|
|
25
|
+
/** 1-based depth of the match from the end of the tail window (audit). */
|
|
26
|
+
tailDepthFromEnd?: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Classify whether the LIVE TAIL of an idle session's pane shows a Claude-emitted
|
|
30
|
+
* terminal transient-API error (the turn died on it) vs a stale/quoted mention.
|
|
31
|
+
*
|
|
32
|
+
* - TAIL-GATED: only the last `tailLines` non-empty lines are considered.
|
|
33
|
+
* - WHOLE-WINDOW SCAN: every tail line is checked (a wrapped error's lead line may sit
|
|
34
|
+
* mid-window), nearest-the-prompt first.
|
|
35
|
+
* - FRAME-DISCRIMINATED (two tiers, on the line AFTER stripLineLead()):
|
|
36
|
+
* Tier A — the stripped line BEGINS WITH `API Error:` (fires alone).
|
|
37
|
+
* Tier B — the line WAS glyph-led AND the stripped line BEGINS WITH one of `patterns`.
|
|
38
|
+
* A token merely CONTAINED mid-line (prose / quoted literal / a tool's own `Error:`)
|
|
39
|
+
* qualifies under neither tier.
|
|
40
|
+
*/
|
|
41
|
+
export declare function classifyIdleError(paneText: string, patterns: readonly string[], opts?: {
|
|
42
|
+
tailLines?: number;
|
|
43
|
+
}): IdleErrorClassification;
|
|
44
|
+
//# sourceMappingURL=IdleErrorClassifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IdleErrorClassifier.d.ts","sourceRoot":"","sources":["../../src/core/IdleErrorClassifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,MAAM,WAAW,uBAAuB;IACtC,4EAA4E;IAC5E,eAAe,EAAE,OAAO,CAAC;IACzB,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAuBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,IAAI,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5B,uBAAuB,CAyCzB"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IdleErrorClassifier — precise "did this idle session's turn die on a transient
|
|
3
|
+
* API error?" signal (CMT-1785), replacing a bare `.includes()` over the pane buffer.
|
|
4
|
+
*
|
|
5
|
+
* THE PROBLEM it fixes: the old check fired on any TERMINAL_ERROR_PATTERN appearing
|
|
6
|
+
* ANYWHERE in the last 30 pane lines — so a stale error scrolled up (the turn already
|
|
7
|
+
* recovered), or a token merely QUOTED in content (the agent discussing an API error,
|
|
8
|
+
* a pasted log, or even the agent reading the source that lists these codes), spuriously
|
|
9
|
+
* triggered a transient-API recovery on a healthy session.
|
|
10
|
+
*
|
|
11
|
+
* THE FIX: tail-gate + a two-tier BEGINS-WITH frame discriminator. This is a SIGNAL
|
|
12
|
+
* (Signal vs Authority) — it feeds the existing rateLimitSentinel recovery actuator and
|
|
13
|
+
* gains no blocking authority. The match set is a STRICT SUBSET of the old buffer-wide
|
|
14
|
+
* match, so it can only SUPPRESS spurious fires, never add one.
|
|
15
|
+
*
|
|
16
|
+
* Spec: docs/specs/idle-error-tailgate-corroboration.md
|
|
17
|
+
*/
|
|
18
|
+
import { liveTail, stripLineLead, wasGlyphLed } from './paneTail.js';
|
|
19
|
+
/** Tier A: Claude Code's canonical own-API-failure frame. */
|
|
20
|
+
const API_ERROR_FRAME = /^api error:/i;
|
|
21
|
+
/** Audit clamp for matchedLine. */
|
|
22
|
+
const MAX_MATCHED_LINE = 200;
|
|
23
|
+
/** Default live-tail window (non-empty lines). 20 clears the post-error input-box chrome
|
|
24
|
+
* (top/bottom box borders + input row + footer hints + a usage line ≈ 6-12 non-empty rows,
|
|
25
|
+
* worst case higher) WITH margin, while staying well inside the 45-row capture so a stale
|
|
26
|
+
* error at the TOP of the buffer (after real recovered work) is still excluded. The frame
|
|
27
|
+
* discriminator — not the window — carries the quoted-content precision, so a generous
|
|
28
|
+
* window only risks a rare stale re-fire, which the non-destructive verify-first actuator
|
|
29
|
+
* absorbs as a no-op (the cheap direction; a MISSED live error costs the 15m idle-kill). */
|
|
30
|
+
const DEFAULT_TAIL_LINES = 20;
|
|
31
|
+
function startsWithCi(haystack, needle) {
|
|
32
|
+
return haystack.slice(0, needle.length).toLowerCase() === needle.toLowerCase();
|
|
33
|
+
}
|
|
34
|
+
function clampLine(line) {
|
|
35
|
+
return line.replace(/[\r\n]+/g, ' ').slice(0, MAX_MATCHED_LINE);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Classify whether the LIVE TAIL of an idle session's pane shows a Claude-emitted
|
|
39
|
+
* terminal transient-API error (the turn died on it) vs a stale/quoted mention.
|
|
40
|
+
*
|
|
41
|
+
* - TAIL-GATED: only the last `tailLines` non-empty lines are considered.
|
|
42
|
+
* - WHOLE-WINDOW SCAN: every tail line is checked (a wrapped error's lead line may sit
|
|
43
|
+
* mid-window), nearest-the-prompt first.
|
|
44
|
+
* - FRAME-DISCRIMINATED (two tiers, on the line AFTER stripLineLead()):
|
|
45
|
+
* Tier A — the stripped line BEGINS WITH `API Error:` (fires alone).
|
|
46
|
+
* Tier B — the line WAS glyph-led AND the stripped line BEGINS WITH one of `patterns`.
|
|
47
|
+
* A token merely CONTAINED mid-line (prose / quoted literal / a tool's own `Error:`)
|
|
48
|
+
* qualifies under neither tier.
|
|
49
|
+
*/
|
|
50
|
+
export function classifyIdleError(paneText, patterns, opts) {
|
|
51
|
+
const miss = { isTerminalError: false };
|
|
52
|
+
if (!paneText || !paneText.trim())
|
|
53
|
+
return miss;
|
|
54
|
+
const tailLines = opts?.tailLines ?? DEFAULT_TAIL_LINES;
|
|
55
|
+
const lines = liveTail(paneText, tailLines);
|
|
56
|
+
// Scan nearest-the-prompt first (the most recent line is the session's terminal state).
|
|
57
|
+
for (let i = lines.length - 1; i >= 0; i--) {
|
|
58
|
+
const raw = lines[i];
|
|
59
|
+
const stripped = stripLineLead(raw);
|
|
60
|
+
const depthFromEnd = lines.length - i;
|
|
61
|
+
// Tier A — Claude's own `API Error:` frame, fires regardless of glyph lead.
|
|
62
|
+
if (API_ERROR_FRAME.test(stripped)) {
|
|
63
|
+
// Prefer a structured code present on the same framed line as the audit pattern.
|
|
64
|
+
const pat = patterns.find((p) => p !== 'API Error:' && stripped.includes(p)) ?? 'API Error:';
|
|
65
|
+
return {
|
|
66
|
+
isTerminalError: true,
|
|
67
|
+
matchedPattern: pat,
|
|
68
|
+
matchedLine: clampLine(stripped),
|
|
69
|
+
tailDepthFromEnd: depthFromEnd,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
// Tier B — a glyph-led line whose content BEGINS WITH one of the terminal patterns.
|
|
73
|
+
if (wasGlyphLed(raw)) {
|
|
74
|
+
const pat = patterns.find((p) => startsWithCi(stripped, p));
|
|
75
|
+
if (pat) {
|
|
76
|
+
return {
|
|
77
|
+
isTerminalError: true,
|
|
78
|
+
matchedPattern: pat,
|
|
79
|
+
matchedLine: clampLine(stripped),
|
|
80
|
+
tailDepthFromEnd: depthFromEnd,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return miss;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=IdleErrorClassifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IdleErrorClassifier.js","sourceRoot":"","sources":["../../src/core/IdleErrorClassifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAarE,6DAA6D;AAC7D,MAAM,eAAe,GAAG,cAAc,CAAC;AACvC,mCAAmC;AACnC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B;;;;;;6FAM6F;AAC7F,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B,SAAS,YAAY,CAAC,QAAgB,EAAE,MAAc;IACpD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;AACjF,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAgB,EAChB,QAA2B,EAC3B,IAA6B;IAE7B,MAAM,IAAI,GAA4B,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IACjE,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IAE/C,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,kBAAkB,CAAC;IACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAE5C,wFAAwF;IACxF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAEtC,4EAA4E;QAC5E,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,iFAAiF;YACjF,MAAM,GAAG,GACP,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC;YACnF,OAAO;gBACL,eAAe,EAAE,IAAI;gBACrB,cAAc,EAAE,GAAG;gBACnB,WAAW,EAAE,SAAS,CAAC,QAAQ,CAAC;gBAChC,gBAAgB,EAAE,YAAY;aAC/B,CAAC;QACJ,CAAC;QAED,oFAAoF;QACpF,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5D,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO;oBACL,eAAe,EAAE,IAAI;oBACrB,cAAc,EAAE,GAAG;oBACnB,WAAW,EAAE,SAAS,CAAC,QAAQ,CAAC;oBAChC,gBAAgB,EAAE,YAAY;iBAC/B,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostUpdateMigrator.d.ts","sourceRoot":"","sources":["../../src/core/PostUpdateMigrator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PostUpdateMigrator.d.ts","sourceRoot":"","sources":["../../src/core/PostUpdateMigrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -3969,6 +3969,15 @@ setTimeout(() => process.exit(0), 2000);
|
|
|
3969
3969
|
patched = true;
|
|
3970
3970
|
result.upgraded.push('CLAUDE.md: added Real-Check Verification section');
|
|
3971
3971
|
}
|
|
3972
|
+
// Permission-Prompt Floor (spec: framework-permission-prompt-robustness) — Agent
|
|
3973
|
+
// Awareness Standard + Migration Parity: existing agents learn that an always-on
|
|
3974
|
+
// floor auto-answers a framework approval prompt the host can't otherwise clear,
|
|
3975
|
+
// why it has no enable flag, and the two proactive Q&A triggers. Content-sniffed.
|
|
3976
|
+
if (!content.includes('Permission-Prompt Floor')) {
|
|
3977
|
+
content += `\n### Permission-Prompt Floor (you are never blocked by a framework approval prompt)\n\nAn always-on safety floor (\`PermissionPromptAutoResolver\`) auto-answers a framework approval prompt your host cannot otherwise clear — e.g. Claude Code 2.1.176-177's \`cd\`-with-redirect "Do you want to proceed? ❯ 1. Yes / 2. No" prompt, which runs before all permission rules so \`--dangerously-skip-permissions\` does NOT suppress it. It presses the approve key (\`Enter\`) itself, so a remote-driven session is never silently wedged on a terminal Y/N you can't answer from Telegram/dashboard. It is ON in code with NO enable flag — a stale persisted \`false\` could re-disable the very safety it provides (the exact trap that caused this bug), so the only opt-out is \`monitoring.permissionPromptAutoResolver.emergencyDisable\` (absent ⇒ on). If it genuinely cannot clear a prompt (a host UI change / unrecognized menu), it raises ONE Attention item — it never freezes silently. Visible in \`GET /guards\` (\`on-confirmed\`); audit at \`logs/permission-prompt-resolver.jsonl\` (matched-pattern names only, never raw pane text).\n- **When the user asks** (PROACTIVE): "why did my session auto-continue past a Yes/No prompt?" → the floor auto-answered it (a low-level command/tool prompt is never the user's decision; the agent has full machine access). "why did I get a 'wedged on an approval prompt' notice?" → the floor couldn't auto-clear it; the prompt's wording may have changed (a drift signal worth a look).\n`;
|
|
3978
|
+
patched = true;
|
|
3979
|
+
result.upgraded.push('CLAUDE.md: added Permission-Prompt Floor section');
|
|
3980
|
+
}
|
|
3972
3981
|
// Playwright Profile Registry (spec: playwright-profile-registry.md) — Agent
|
|
3973
3982
|
// Awareness Standard + Migration Parity item 3: existing agents learn the
|
|
3974
3983
|
// /playwright-profiles surface (list / session-context / create / assign /
|