@jhizzard/termdeck 0.7.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jhizzard/termdeck",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "Browser-based terminal multiplexer with metadata overlays, panel flashback memory recall, and AI-aware session management",
|
|
5
5
|
"bin": {
|
|
6
6
|
"termdeck": "./packages/cli/src/index.js"
|
|
@@ -69,7 +69,15 @@ const PATTERNS = {
|
|
|
69
69
|
// Stricter line-anchored variant for Claude Code, whose tool output (grep
|
|
70
70
|
// results, test logs, file contents) routinely mentions "Error" mid-line
|
|
71
71
|
// without representing an actual failure of the agent itself.
|
|
72
|
-
errorLineStart: /^\s*(error|Error|ERROR|exception|Exception|Traceback|fatal|FATAL|segmentation fault|panic|EACCES|ECONNREFUSED|ENOENT|command not found|undefined reference|cannot find module|failed with exit code|No such file or directory|Permission denied)\b/m
|
|
72
|
+
errorLineStart: /^\s*(error|Error|ERROR|exception|Exception|Traceback|fatal|FATAL|segmentation fault|panic|EACCES|ECONNREFUSED|ENOENT|command not found|undefined reference|cannot find module|failed with exit code|No such file or directory|Permission denied)\b/m,
|
|
73
|
+
// Sprint 33: PATTERNS.error misses the most common Unix shell errors —
|
|
74
|
+
// `cat: /foo: No such file or directory`, `bash: foo: command not found`,
|
|
75
|
+
// `rm: cannot remove ...: Permission denied`. These have a colon-prefix
|
|
76
|
+
// shape (`<cmd>: ...: <phrase>`) that distinguishes them from prose
|
|
77
|
+
// mentioning the same words. Each branch requires either the colon-prefix
|
|
78
|
+
// structure or a stand-alone anchored keyword. Validated against an
|
|
79
|
+
// adversarial prose suite (see tests/analyzer-error-fixtures.test.js).
|
|
80
|
+
shellError: /(?:^|\n)(?:[^\n]*:\s+(?:.*?:\s+)?(?:No such file or directory|Permission denied|Is a directory|Not a directory|command not found)\b|[^\n]*?\(\d+\)\s+Could not resolve host\b|\s*ModuleNotFoundError:\s+\S|\s*Segmentation fault\b|\s*fatal:\s+\S)/m
|
|
73
81
|
};
|
|
74
82
|
|
|
75
83
|
class Session {
|
|
@@ -345,7 +353,11 @@ class Session {
|
|
|
345
353
|
const pattern = this.meta.type === 'claude-code'
|
|
346
354
|
? PATTERNS.errorLineStart
|
|
347
355
|
: PATTERNS.error;
|
|
348
|
-
|
|
356
|
+
// Sprint 33 fix: the structured patterns above miss `cat: /foo: No such
|
|
357
|
+
// file or directory` and friends — the most common Unix shell error
|
|
358
|
+
// shapes Josh hits day-to-day. Fall through to PATTERNS.shellError so
|
|
359
|
+
// the analyzer flips status='errored' and Flashback can fire.
|
|
360
|
+
if (!pattern.test(clean) && !PATTERNS.shellError.test(clean)) return;
|
|
349
361
|
|
|
350
362
|
const oldStatus = this.meta.status;
|
|
351
363
|
this.meta.status = 'errored';
|