@vainplex/openclaw-cortex 0.3.0 → 0.4.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/README.md +89 -55
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +3 -0
- package/dist/src/config.js.map +1 -1
- package/dist/src/hooks.d.ts.map +1 -1
- package/dist/src/hooks.js +13 -1
- package/dist/src/hooks.js.map +1 -1
- package/dist/src/trace-analyzer/analyzer.d.ts +59 -0
- package/dist/src/trace-analyzer/analyzer.d.ts.map +1 -0
- package/dist/src/trace-analyzer/analyzer.js +175 -0
- package/dist/src/trace-analyzer/analyzer.js.map +1 -0
- package/dist/src/trace-analyzer/chain-reconstructor.d.ts +52 -0
- package/dist/src/trace-analyzer/chain-reconstructor.d.ts.map +1 -0
- package/dist/src/trace-analyzer/chain-reconstructor.js +190 -0
- package/dist/src/trace-analyzer/chain-reconstructor.js.map +1 -0
- package/dist/src/trace-analyzer/classifier.d.ts +28 -0
- package/dist/src/trace-analyzer/classifier.d.ts.map +1 -0
- package/dist/src/trace-analyzer/classifier.js +271 -0
- package/dist/src/trace-analyzer/classifier.js.map +1 -0
- package/dist/src/trace-analyzer/config.d.ts +78 -0
- package/dist/src/trace-analyzer/config.d.ts.map +1 -0
- package/dist/src/trace-analyzer/config.js +161 -0
- package/dist/src/trace-analyzer/config.js.map +1 -0
- package/dist/src/trace-analyzer/events.d.ts +70 -0
- package/dist/src/trace-analyzer/events.d.ts.map +1 -0
- package/dist/src/trace-analyzer/events.js +228 -0
- package/dist/src/trace-analyzer/events.js.map +1 -0
- package/dist/src/trace-analyzer/hooks.d.ts +22 -0
- package/dist/src/trace-analyzer/hooks.d.ts.map +1 -0
- package/dist/src/trace-analyzer/hooks.js +151 -0
- package/dist/src/trace-analyzer/hooks.js.map +1 -0
- package/dist/src/trace-analyzer/index.d.ts +32 -0
- package/dist/src/trace-analyzer/index.d.ts.map +1 -0
- package/dist/src/trace-analyzer/index.js +30 -0
- package/dist/src/trace-analyzer/index.js.map +1 -0
- package/dist/src/trace-analyzer/nats-trace-source.d.ts +10 -0
- package/dist/src/trace-analyzer/nats-trace-source.d.ts.map +1 -0
- package/dist/src/trace-analyzer/nats-trace-source.js +151 -0
- package/dist/src/trace-analyzer/nats-trace-source.js.map +1 -0
- package/dist/src/trace-analyzer/output-generator.d.ts +29 -0
- package/dist/src/trace-analyzer/output-generator.d.ts.map +1 -0
- package/dist/src/trace-analyzer/output-generator.js +142 -0
- package/dist/src/trace-analyzer/output-generator.js.map +1 -0
- package/dist/src/trace-analyzer/redactor.d.ts +14 -0
- package/dist/src/trace-analyzer/redactor.d.ts.map +1 -0
- package/dist/src/trace-analyzer/redactor.js +137 -0
- package/dist/src/trace-analyzer/redactor.js.map +1 -0
- package/dist/src/trace-analyzer/report.d.ts +93 -0
- package/dist/src/trace-analyzer/report.d.ts.map +1 -0
- package/dist/src/trace-analyzer/report.js +108 -0
- package/dist/src/trace-analyzer/report.js.map +1 -0
- package/dist/src/trace-analyzer/signals/correction.d.ts +11 -0
- package/dist/src/trace-analyzer/signals/correction.d.ts.map +1 -0
- package/dist/src/trace-analyzer/signals/correction.js +54 -0
- package/dist/src/trace-analyzer/signals/correction.js.map +1 -0
- package/dist/src/trace-analyzer/signals/dissatisfied.d.ts +11 -0
- package/dist/src/trace-analyzer/signals/dissatisfied.d.ts.map +1 -0
- package/dist/src/trace-analyzer/signals/dissatisfied.js +60 -0
- package/dist/src/trace-analyzer/signals/dissatisfied.js.map +1 -0
- package/dist/src/trace-analyzer/signals/doom-loop.d.ts +13 -0
- package/dist/src/trace-analyzer/signals/doom-loop.d.ts.map +1 -0
- package/dist/src/trace-analyzer/signals/doom-loop.js +156 -0
- package/dist/src/trace-analyzer/signals/doom-loop.js.map +1 -0
- package/dist/src/trace-analyzer/signals/hallucination.d.ts +11 -0
- package/dist/src/trace-analyzer/signals/hallucination.d.ts.map +1 -0
- package/dist/src/trace-analyzer/signals/hallucination.js +67 -0
- package/dist/src/trace-analyzer/signals/hallucination.js.map +1 -0
- package/dist/src/trace-analyzer/signals/index.d.ts +16 -0
- package/dist/src/trace-analyzer/signals/index.d.ts.map +1 -0
- package/dist/src/trace-analyzer/signals/index.js +92 -0
- package/dist/src/trace-analyzer/signals/index.js.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/index.d.ts +4 -0
- package/dist/src/trace-analyzer/signals/lang/index.d.ts.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/index.js +2 -0
- package/dist/src/trace-analyzer/signals/lang/index.js.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/registry.d.ts +41 -0
- package/dist/src/trace-analyzer/signals/lang/registry.d.ts.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/registry.js +111 -0
- package/dist/src/trace-analyzer/signals/lang/registry.js.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-de.d.ts +10 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-de.d.ts.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-de.js +60 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-de.js.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-en.d.ts +4 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-en.d.ts.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-en.js +55 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-en.js.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-es.d.ts +9 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-es.d.ts.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-es.js +59 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-es.js.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-fr.d.ts +10 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-fr.d.ts.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-fr.js +60 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-fr.js.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-it.d.ts +9 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-it.d.ts.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-it.js +59 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-it.js.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-ja.d.ts +9 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-ja.d.ts.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-ja.js +59 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-ja.js.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-ko.d.ts +9 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-ko.d.ts.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-ko.js +59 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-ko.js.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-pt.d.ts +9 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-pt.d.ts.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-pt.js +59 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-pt.js.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-ru.d.ts +9 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-ru.d.ts.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-ru.js +59 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-ru.js.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-zh.d.ts +8 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-zh.d.ts.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-zh.js +58 -0
- package/dist/src/trace-analyzer/signals/lang/signal-lang-zh.js.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/types.d.ts +76 -0
- package/dist/src/trace-analyzer/signals/lang/types.d.ts.map +1 -0
- package/dist/src/trace-analyzer/signals/lang/types.js +12 -0
- package/dist/src/trace-analyzer/signals/lang/types.js.map +1 -0
- package/dist/src/trace-analyzer/signals/repeat-fail.d.ts +24 -0
- package/dist/src/trace-analyzer/signals/repeat-fail.d.ts.map +1 -0
- package/dist/src/trace-analyzer/signals/repeat-fail.js +112 -0
- package/dist/src/trace-analyzer/signals/repeat-fail.js.map +1 -0
- package/dist/src/trace-analyzer/signals/tool-fail.d.ts +10 -0
- package/dist/src/trace-analyzer/signals/tool-fail.d.ts.map +1 -0
- package/dist/src/trace-analyzer/signals/tool-fail.js +99 -0
- package/dist/src/trace-analyzer/signals/tool-fail.js.map +1 -0
- package/dist/src/trace-analyzer/signals/types.d.ts +54 -0
- package/dist/src/trace-analyzer/signals/types.d.ts.map +1 -0
- package/dist/src/trace-analyzer/signals/types.js +9 -0
- package/dist/src/trace-analyzer/signals/types.js.map +1 -0
- package/dist/src/trace-analyzer/signals/unverified-claim.d.ts +11 -0
- package/dist/src/trace-analyzer/signals/unverified-claim.d.ts.map +1 -0
- package/dist/src/trace-analyzer/signals/unverified-claim.js +84 -0
- package/dist/src/trace-analyzer/signals/unverified-claim.js.map +1 -0
- package/dist/src/trace-analyzer/trace-source.d.ts +31 -0
- package/dist/src/trace-analyzer/trace-source.d.ts.map +1 -0
- package/dist/src/trace-analyzer/trace-source.js +5 -0
- package/dist/src/trace-analyzer/trace-source.js.map +1 -0
- package/dist/src/trace-analyzer/util.d.ts +17 -0
- package/dist/src/trace-analyzer/util.d.ts.map +1 -0
- package/dist/src/trace-analyzer/util.js +26 -0
- package/dist/src/trace-analyzer/util.js.map +1 -0
- package/dist/src/types.d.ts +2 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ConversationChain } from "../chain-reconstructor.js";
|
|
2
|
+
import type { PluginLogger } from "../../types.js";
|
|
3
|
+
import type { TraceAnalyzerConfig } from "../config.js";
|
|
4
|
+
import type { Finding } from "./types.js";
|
|
5
|
+
import { type RepeatFailState } from "./repeat-fail.js";
|
|
6
|
+
import { type SignalPatternSet } from "./lang/index.js";
|
|
7
|
+
export type { RepeatFailState } from "./repeat-fail.js";
|
|
8
|
+
export { createRepeatFailState } from "./repeat-fail.js";
|
|
9
|
+
export { SignalPatternRegistry } from "./lang/index.js";
|
|
10
|
+
export type { SignalPatternSet } from "./lang/index.js";
|
|
11
|
+
/**
|
|
12
|
+
* Run all enabled signal detectors across all chains.
|
|
13
|
+
* Returns Finding[] (unclassified — classification is null).
|
|
14
|
+
*/
|
|
15
|
+
export declare function detectAllSignals(chains: ConversationChain[], signalConfig: TraceAnalyzerConfig["signals"], repeatFailState?: RepeatFailState, signalPatterns?: SignalPatternSet, logger?: PluginLogger): Finding[];
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/trace-analyzer/signals/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,mBAAmB,EAAY,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAiB,OAAO,EAAE,MAAM,YAAY,CAAC;AAKzD,OAAO,EAAqB,KAAK,eAAe,EAAyB,MAAM,kBAAkB,CAAC;AAGlG,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE/E,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AA8DxD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,iBAAiB,EAAE,EAC3B,YAAY,EAAE,mBAAmB,CAAC,SAAS,CAAC,EAC5C,eAAe,CAAC,EAAE,eAAe,EACjC,cAAc,CAAC,EAAE,gBAAgB,EACjC,MAAM,CAAC,EAAE,YAAY,GACpB,OAAO,EAAE,CAaX"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
// ============================================================
|
|
2
|
+
// Signal Registry — Runs All Enabled Detectors
|
|
3
|
+
// ============================================================
|
|
4
|
+
//
|
|
5
|
+
// Central registry that invokes each detector on each chain
|
|
6
|
+
// and collects FailureSignal[] into Finding[].
|
|
7
|
+
// ============================================================
|
|
8
|
+
import { randomUUID } from "node:crypto";
|
|
9
|
+
import { detectCorrections } from "./correction.js";
|
|
10
|
+
import { detectToolFails } from "./tool-fail.js";
|
|
11
|
+
import { detectDoomLoops } from "./doom-loop.js";
|
|
12
|
+
import { detectDissatisfied } from "./dissatisfied.js";
|
|
13
|
+
import { detectRepeatFails, createRepeatFailState } from "./repeat-fail.js";
|
|
14
|
+
import { detectHallucinations } from "./hallucination.js";
|
|
15
|
+
import { detectUnverifiedClaims } from "./unverified-claim.js";
|
|
16
|
+
import { SignalPatternRegistry } from "./lang/index.js";
|
|
17
|
+
export { createRepeatFailState } from "./repeat-fail.js";
|
|
18
|
+
export { SignalPatternRegistry } from "./lang/index.js";
|
|
19
|
+
/** Lazily-created default EN+DE patterns for backward compat. */
|
|
20
|
+
let _defaultPatterns = null;
|
|
21
|
+
function getDefaultPatterns() {
|
|
22
|
+
if (_defaultPatterns)
|
|
23
|
+
return _defaultPatterns;
|
|
24
|
+
const registry = new SignalPatternRegistry();
|
|
25
|
+
registry.loadSync(["en", "de"]);
|
|
26
|
+
_defaultPatterns = registry.getPatterns();
|
|
27
|
+
return _defaultPatterns;
|
|
28
|
+
}
|
|
29
|
+
/** Minimal no-op logger for backward compatibility when no logger is provided. */
|
|
30
|
+
const NOOP_LOGGER = {
|
|
31
|
+
info: () => { },
|
|
32
|
+
warn: () => { },
|
|
33
|
+
error: () => { },
|
|
34
|
+
debug: () => { },
|
|
35
|
+
};
|
|
36
|
+
/** All registered signal detectors in execution order. */
|
|
37
|
+
const DETECTOR_REGISTRY = [
|
|
38
|
+
{ signal: "SIG-CORRECTION", detect: (c, p) => detectCorrections(c, p) },
|
|
39
|
+
{ signal: "SIG-DISSATISFIED", detect: (c, p) => detectDissatisfied(c, p) },
|
|
40
|
+
{ signal: "SIG-HALLUCINATION", detect: (c, p) => detectHallucinations(c, p) },
|
|
41
|
+
{ signal: "SIG-UNVERIFIED-CLAIM", detect: (c, p) => detectUnverifiedClaims(c, p) },
|
|
42
|
+
{ signal: "SIG-TOOL-FAIL", detect: (c) => detectToolFails(c) },
|
|
43
|
+
{ signal: "SIG-DOOM-LOOP", detect: (c) => detectDoomLoops(c) },
|
|
44
|
+
{ signal: "SIG-REPEAT-FAIL", detect: (c, _p, rf) => detectRepeatFails(c, rf) },
|
|
45
|
+
];
|
|
46
|
+
/** Run one detector on a chain, collecting findings. */
|
|
47
|
+
function runDetector(entry, chain, signalConfig, patterns, rfState, log) {
|
|
48
|
+
const cfg = signalConfig[entry.signal];
|
|
49
|
+
if (cfg?.enabled === false)
|
|
50
|
+
return [];
|
|
51
|
+
try {
|
|
52
|
+
const signals = entry.detect(chain, patterns, rfState);
|
|
53
|
+
return signals.map(s => {
|
|
54
|
+
if (cfg?.severity)
|
|
55
|
+
s.severity = cfg.severity;
|
|
56
|
+
return makeFinding(chain, s);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
log.warn(`[trace-analyzer] ${entry.signal} detector error: ${err instanceof Error ? err.message : String(err)}`);
|
|
61
|
+
return [];
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Run all enabled signal detectors across all chains.
|
|
66
|
+
* Returns Finding[] (unclassified — classification is null).
|
|
67
|
+
*/
|
|
68
|
+
export function detectAllSignals(chains, signalConfig, repeatFailState, signalPatterns, logger) {
|
|
69
|
+
const findings = [];
|
|
70
|
+
const rfState = repeatFailState ?? createRepeatFailState();
|
|
71
|
+
const patterns = signalPatterns ?? getDefaultPatterns();
|
|
72
|
+
const log = logger ?? NOOP_LOGGER;
|
|
73
|
+
for (const chain of chains) {
|
|
74
|
+
for (const entry of DETECTOR_REGISTRY) {
|
|
75
|
+
findings.push(...runDetector(entry, chain, signalConfig, patterns, rfState, log));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return findings;
|
|
79
|
+
}
|
|
80
|
+
function makeFinding(chain, signal) {
|
|
81
|
+
return {
|
|
82
|
+
id: randomUUID(),
|
|
83
|
+
chainId: chain.id,
|
|
84
|
+
agent: chain.agent,
|
|
85
|
+
session: chain.session,
|
|
86
|
+
signal,
|
|
87
|
+
detectedAt: Date.now(),
|
|
88
|
+
occurredAt: chain.events[signal.eventRange.start]?.ts ?? chain.startTs,
|
|
89
|
+
classification: null,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/trace-analyzer/signals/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/trace-analyzer/signals/lang/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAChF,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/trace-analyzer/signals/lang/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { SignalLanguagePack } from "./types.js";
|
|
2
|
+
/** Merged signal pattern set — result of combining loaded packs. */
|
|
3
|
+
export type SignalPatternSet = {
|
|
4
|
+
correction: {
|
|
5
|
+
indicators: RegExp[];
|
|
6
|
+
shortNegatives: RegExp[];
|
|
7
|
+
};
|
|
8
|
+
question: {
|
|
9
|
+
indicators: RegExp[];
|
|
10
|
+
};
|
|
11
|
+
dissatisfaction: {
|
|
12
|
+
indicators: RegExp[];
|
|
13
|
+
satisfactionOverrides: RegExp[];
|
|
14
|
+
resolutionIndicators: RegExp[];
|
|
15
|
+
};
|
|
16
|
+
completion: {
|
|
17
|
+
claims: RegExp[];
|
|
18
|
+
};
|
|
19
|
+
systemState: {
|
|
20
|
+
claims: RegExp[];
|
|
21
|
+
opinionExclusions: RegExp[];
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
/** All built-in signal language codes. */
|
|
25
|
+
export declare const BUILTIN_SIGNAL_LANGUAGES: string[];
|
|
26
|
+
export declare class SignalPatternRegistry {
|
|
27
|
+
private packs;
|
|
28
|
+
private cached;
|
|
29
|
+
/** Async load — supports all 10 languages including lazy-loaded ones. */
|
|
30
|
+
load(codes: string[]): Promise<void>;
|
|
31
|
+
/** Synchronous load — works for EN/DE and any runtime-registered packs. */
|
|
32
|
+
loadSync(codes: string[]): void;
|
|
33
|
+
/** Register a custom signal language pack at runtime. */
|
|
34
|
+
registerSignalLanguagePack(pack: SignalLanguagePack): void;
|
|
35
|
+
/** Get merged patterns (cached). Includes universal patterns. */
|
|
36
|
+
getPatterns(): SignalPatternSet;
|
|
37
|
+
/** Get loaded language codes. */
|
|
38
|
+
getLoadedLanguages(): string[];
|
|
39
|
+
private merge;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../../src/trace-analyzer/signals/lang/registry.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAIrD,oEAAoE;AACpE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE;QAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,cAAc,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC/D,QAAQ,EAAE;QAAE,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACnC,eAAe,EAAE;QACf,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,qBAAqB,EAAE,MAAM,EAAE,CAAC;QAChC,oBAAoB,EAAE,MAAM,EAAE,CAAC;KAChC,CAAC;IACF,UAAU,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACjC,WAAW,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,iBAAiB,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAChE,CAAC;AA+BF,0CAA0C;AAC1C,eAAO,MAAM,wBAAwB,UAEpC,CAAC;AAEF,qBAAa,qBAAqB;IAChC,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,MAAM,CAAiC;IAE/C,yEAAyE;IACnE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAc1C,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAY/B,yDAAyD;IACzD,0BAA0B,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAM1D,iEAAiE;IACjE,WAAW,IAAI,gBAAgB;IAM/B,iCAAiC;IACjC,kBAAkB,IAAI,MAAM,EAAE;IAI9B,OAAO,CAAC,KAAK;CAiCd"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
// ============================================================
|
|
2
|
+
// Signal Pattern Registry
|
|
3
|
+
// ============================================================
|
|
4
|
+
//
|
|
5
|
+
// Manages per-language signal pattern packs for the
|
|
6
|
+
// trace analyzer's language-sensitive detectors.
|
|
7
|
+
// Same architectural conventions as src/patterns/registry.ts:
|
|
8
|
+
// - EN/DE loaded synchronously (always available)
|
|
9
|
+
// - Other languages loaded asynchronously on demand
|
|
10
|
+
// - Merged patterns cached until invalidation
|
|
11
|
+
// ============================================================
|
|
12
|
+
import { SIGNAL_LANG_EN } from "./signal-lang-en.js";
|
|
13
|
+
import { SIGNAL_LANG_DE } from "./signal-lang-de.js";
|
|
14
|
+
/** Universal patterns — language-independent (emoji/symbols/punctuation). */
|
|
15
|
+
const UNIVERSAL_PATTERNS = {
|
|
16
|
+
question: [/\?\s*$/m],
|
|
17
|
+
completion: [/[✅✓☑]/],
|
|
18
|
+
satisfaction: [/[👍🎉💯❤️]/],
|
|
19
|
+
};
|
|
20
|
+
/** Map of built-in language packs available synchronously. */
|
|
21
|
+
const SYNC_PACKS = {
|
|
22
|
+
en: SIGNAL_LANG_EN,
|
|
23
|
+
de: SIGNAL_LANG_DE,
|
|
24
|
+
};
|
|
25
|
+
/** Lazy loaders for additional languages. */
|
|
26
|
+
const ASYNC_LOADERS = {
|
|
27
|
+
fr: async () => (await import("./signal-lang-fr.js")).default,
|
|
28
|
+
es: async () => (await import("./signal-lang-es.js")).default,
|
|
29
|
+
pt: async () => (await import("./signal-lang-pt.js")).default,
|
|
30
|
+
it: async () => (await import("./signal-lang-it.js")).default,
|
|
31
|
+
zh: async () => (await import("./signal-lang-zh.js")).default,
|
|
32
|
+
ja: async () => (await import("./signal-lang-ja.js")).default,
|
|
33
|
+
ko: async () => (await import("./signal-lang-ko.js")).default,
|
|
34
|
+
ru: async () => (await import("./signal-lang-ru.js")).default,
|
|
35
|
+
};
|
|
36
|
+
/** All built-in signal language codes. */
|
|
37
|
+
export const BUILTIN_SIGNAL_LANGUAGES = [
|
|
38
|
+
"en", "de", "fr", "es", "pt", "it", "zh", "ja", "ko", "ru",
|
|
39
|
+
];
|
|
40
|
+
export class SignalPatternRegistry {
|
|
41
|
+
packs = [];
|
|
42
|
+
cached = null;
|
|
43
|
+
/** Async load — supports all 10 languages including lazy-loaded ones. */
|
|
44
|
+
async load(codes) {
|
|
45
|
+
this.packs = [];
|
|
46
|
+
this.cached = null;
|
|
47
|
+
for (const code of codes) {
|
|
48
|
+
const lc = code.toLowerCase();
|
|
49
|
+
if (SYNC_PACKS[lc]) {
|
|
50
|
+
this.packs.push(SYNC_PACKS[lc]);
|
|
51
|
+
}
|
|
52
|
+
else if (ASYNC_LOADERS[lc]) {
|
|
53
|
+
this.packs.push(await ASYNC_LOADERS[lc]());
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/** Synchronous load — works for EN/DE and any runtime-registered packs. */
|
|
58
|
+
loadSync(codes) {
|
|
59
|
+
this.packs = [];
|
|
60
|
+
this.cached = null;
|
|
61
|
+
for (const code of codes) {
|
|
62
|
+
const lc = code.toLowerCase();
|
|
63
|
+
if (SYNC_PACKS[lc]) {
|
|
64
|
+
this.packs.push(SYNC_PACKS[lc]);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/** Register a custom signal language pack at runtime. */
|
|
69
|
+
registerSignalLanguagePack(pack) {
|
|
70
|
+
this.packs = this.packs.filter(p => p.code !== pack.code);
|
|
71
|
+
this.packs.push(pack);
|
|
72
|
+
this.cached = null;
|
|
73
|
+
}
|
|
74
|
+
/** Get merged patterns (cached). Includes universal patterns. */
|
|
75
|
+
getPatterns() {
|
|
76
|
+
if (this.cached)
|
|
77
|
+
return this.cached;
|
|
78
|
+
this.cached = this.merge();
|
|
79
|
+
return this.cached;
|
|
80
|
+
}
|
|
81
|
+
/** Get loaded language codes. */
|
|
82
|
+
getLoadedLanguages() {
|
|
83
|
+
return this.packs.map(p => p.code);
|
|
84
|
+
}
|
|
85
|
+
merge() {
|
|
86
|
+
const merged = {
|
|
87
|
+
correction: { indicators: [], shortNegatives: [] },
|
|
88
|
+
question: { indicators: [...UNIVERSAL_PATTERNS.question] },
|
|
89
|
+
dissatisfaction: {
|
|
90
|
+
indicators: [],
|
|
91
|
+
satisfactionOverrides: [...UNIVERSAL_PATTERNS.satisfaction],
|
|
92
|
+
resolutionIndicators: [],
|
|
93
|
+
},
|
|
94
|
+
completion: { claims: [...UNIVERSAL_PATTERNS.completion] },
|
|
95
|
+
systemState: { claims: [], opinionExclusions: [] },
|
|
96
|
+
};
|
|
97
|
+
for (const pack of this.packs) {
|
|
98
|
+
merged.correction.indicators.push(...pack.correction.indicators);
|
|
99
|
+
merged.correction.shortNegatives.push(...pack.correction.shortNegatives);
|
|
100
|
+
merged.question.indicators.push(...pack.question.indicators);
|
|
101
|
+
merged.dissatisfaction.indicators.push(...pack.dissatisfaction.indicators);
|
|
102
|
+
merged.dissatisfaction.satisfactionOverrides.push(...pack.dissatisfaction.satisfactionOverrides);
|
|
103
|
+
merged.dissatisfaction.resolutionIndicators.push(...pack.dissatisfaction.resolutionIndicators);
|
|
104
|
+
merged.completion.claims.push(...pack.completion.claims);
|
|
105
|
+
merged.systemState.claims.push(...pack.systemState.claims);
|
|
106
|
+
merged.systemState.opinionExclusions.push(...pack.systemState.opinionExclusions);
|
|
107
|
+
}
|
|
108
|
+
return merged;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../../src/trace-analyzer/signals/lang/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { SignalLanguagePack } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* German signal patterns.
|
|
4
|
+
* Note: German umlauts (ä, ö, ü, ß) are NOT matched by \b in standard JS regex.
|
|
5
|
+
* Patterns with purely ASCII German words can use \b; patterns with umlauts
|
|
6
|
+
* use non-capturing groups or direct matching instead.
|
|
7
|
+
*/
|
|
8
|
+
export declare const SIGNAL_LANG_DE: SignalLanguagePack;
|
|
9
|
+
export default SIGNAL_LANG_DE;
|
|
10
|
+
//# sourceMappingURL=signal-lang-de.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal-lang-de.d.ts","sourceRoot":"","sources":["../../../../../src/trace-analyzer/signals/lang/signal-lang-de.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,kBAwD5B,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* German signal patterns.
|
|
3
|
+
* Note: German umlauts (ä, ö, ü, ß) are NOT matched by \b in standard JS regex.
|
|
4
|
+
* Patterns with purely ASCII German words can use \b; patterns with umlauts
|
|
5
|
+
* use non-capturing groups or direct matching instead.
|
|
6
|
+
*/
|
|
7
|
+
export const SIGNAL_LANG_DE = {
|
|
8
|
+
code: "de",
|
|
9
|
+
name: "Deutsch",
|
|
10
|
+
nameEn: "German",
|
|
11
|
+
correction: {
|
|
12
|
+
indicators: [
|
|
13
|
+
/(?:falsch|das ist falsch|so nicht|das stimmt nicht|du hast dich geirrt)/i,
|
|
14
|
+
/(?:stopp|vergiss das|das war falsch|korrektur|nochmal|das meine ich nicht)/i,
|
|
15
|
+
/(?:du hast einen fehler|nicht korrekt|das ist nicht richtig)/i,
|
|
16
|
+
],
|
|
17
|
+
shortNegatives: [
|
|
18
|
+
/^\s*(?:nein|halt|nicht das|nö)\s*[.!]?\s*$/i,
|
|
19
|
+
],
|
|
20
|
+
},
|
|
21
|
+
question: {
|
|
22
|
+
indicators: [
|
|
23
|
+
/(?:soll ich|möchtest du|willst du|darf ich|ist das ok|passt das|oder\?|ist es)/i,
|
|
24
|
+
],
|
|
25
|
+
},
|
|
26
|
+
dissatisfaction: {
|
|
27
|
+
indicators: [
|
|
28
|
+
/(?:vergiss es|lass gut sein|lassen wir das|ich mach.s selbst|schon gut|nicht hilfreich)/i,
|
|
29
|
+
/(?:das bringt nichts|hoffnungslos|sinnlos|unmöglich|du kannst das nicht)/i,
|
|
30
|
+
/(?:nutzlos|zwecklos|bringt doch nichts)/i,
|
|
31
|
+
],
|
|
32
|
+
satisfactionOverrides: [
|
|
33
|
+
/(?:danke|vielen dank|super|perfekt|prima|passt|gut gemacht|wunderbar)/i,
|
|
34
|
+
],
|
|
35
|
+
resolutionIndicators: [
|
|
36
|
+
/(?:entschuldigung|tut mir leid|lass mich|ich versuche|versuch ich)/i,
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
completion: {
|
|
40
|
+
claims: [
|
|
41
|
+
/(?:erledigt|erfolg(?:reich)?|fertig|gemacht|deployed|gefixt|gelöst|abgeschlossen)/i,
|
|
42
|
+
/(?:habe ich (?:jetzt |nun )?(?:gemacht|erledigt|deployed|gefixt))/i,
|
|
43
|
+
/(?:ist jetzt (?:fertig|erledigt|online|aktiv))/i,
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
systemState: {
|
|
47
|
+
claims: [
|
|
48
|
+
/(?:speicherplatz|festplattenauslastung) (?:ist|beträgt|liegt bei) (?:bei )?\d+/i,
|
|
49
|
+
/(?:service|server|daemon|prozess) ist (?:aktiv|gestoppt|gestartet|inaktiv|down)/i,
|
|
50
|
+
/(?:datei|config) (?:existiert|ist vorhanden)/i,
|
|
51
|
+
/es gibt \d+ (?:fehler|warnungen|verbindungen|prozesse|dateien)/i,
|
|
52
|
+
],
|
|
53
|
+
opinionExclusions: [
|
|
54
|
+
/(?:ich glaube|ich denke|wahrscheinlich|vielleicht)/i,
|
|
55
|
+
/(?:es scheint|sieht aus)/i,
|
|
56
|
+
],
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
export default SIGNAL_LANG_DE;
|
|
60
|
+
//# sourceMappingURL=signal-lang-de.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal-lang-de.js","sourceRoot":"","sources":["../../../../../src/trace-analyzer/signals/lang/signal-lang-de.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAuB;IAChD,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,QAAQ;IAEhB,UAAU,EAAE;QACV,UAAU,EAAE;YACV,0EAA0E;YAC1E,6EAA6E;YAC7E,+DAA+D;SAChE;QACD,cAAc,EAAE;YACd,6CAA6C;SAC9C;KACF;IAED,QAAQ,EAAE;QACR,UAAU,EAAE;YACV,iFAAiF;SAClF;KACF;IAED,eAAe,EAAE;QACf,UAAU,EAAE;YACV,0FAA0F;YAC1F,2EAA2E;YAC3E,0CAA0C;SAC3C;QACD,qBAAqB,EAAE;YACrB,wEAAwE;SACzE;QACD,oBAAoB,EAAE;YACpB,qEAAqE;SACtE;KACF;IAED,UAAU,EAAE;QACV,MAAM,EAAE;YACN,oFAAoF;YACpF,oEAAoE;YACpE,iDAAiD;SAClD;KACF;IAED,WAAW,EAAE;QACX,MAAM,EAAE;YACN,iFAAiF;YACjF,kFAAkF;YAClF,+CAA+C;YAC/C,iEAAiE;SAClE;QACD,iBAAiB,EAAE;YACjB,qDAAqD;YACrD,2BAA2B;SAC5B;KACF;CACF,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal-lang-en.d.ts","sourceRoot":"","sources":["../../../../../src/trace-analyzer/signals/lang/signal-lang-en.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,eAAO,MAAM,cAAc,EAAE,kBAyD5B,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export const SIGNAL_LANG_EN = {
|
|
2
|
+
code: "en",
|
|
3
|
+
name: "English",
|
|
4
|
+
nameEn: "English",
|
|
5
|
+
correction: {
|
|
6
|
+
indicators: [
|
|
7
|
+
/\b(?:wrong|that's not right|incorrect|no that's|you're wrong|that's wrong|fix that|undo)\b/i,
|
|
8
|
+
/\b(?:actually no|wait no|not what i asked|not what i meant)\b/i,
|
|
9
|
+
/\b(?:you made a mistake|that's incorrect|correction)\b/i,
|
|
10
|
+
],
|
|
11
|
+
shortNegatives: [
|
|
12
|
+
/^\s*(?:no|nope|stop)\s*[.!]?\s*$/i,
|
|
13
|
+
],
|
|
14
|
+
},
|
|
15
|
+
question: {
|
|
16
|
+
indicators: [
|
|
17
|
+
/\b(?:shall i|should i|do you want|is that ok|okay so|right\?|is it)\b/i,
|
|
18
|
+
],
|
|
19
|
+
},
|
|
20
|
+
dissatisfaction: {
|
|
21
|
+
indicators: [
|
|
22
|
+
/\b(?:forget it|never mind|nevermind|i'?ll do it myself|this is useless|pointless|hopeless)\b/i,
|
|
23
|
+
/\b(?:you can't do this|not helpful|waste of time|give up|doesn't work)\b/i,
|
|
24
|
+
/\b(?:this is garbage|useless|i give up|what a waste)\b/i,
|
|
25
|
+
],
|
|
26
|
+
satisfactionOverrides: [
|
|
27
|
+
/\b(?:thanks|thank you|perfect|great|good job|excellent|awesome|nice)\b/i,
|
|
28
|
+
],
|
|
29
|
+
resolutionIndicators: [
|
|
30
|
+
/\b(?:sorry|i apologize|let me try|here'?s another|let me fix|i'?ll try again)\b/i,
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
completion: {
|
|
34
|
+
claims: [
|
|
35
|
+
/\b(?:done|completed|fixed|resolved|deployed|finished)\b/i,
|
|
36
|
+
/\bi(?:'ve| have) (?:just |now )?(?:done|completed|deployed|fixed|resolved)\b/i,
|
|
37
|
+
/\bit(?:'s| is| has been) (?:now )?(?:done|deployed|fixed|live|running)\b/i,
|
|
38
|
+
],
|
|
39
|
+
},
|
|
40
|
+
systemState: {
|
|
41
|
+
claims: [
|
|
42
|
+
/\b(?:disk usage|memory|cpu|load) (?:is|beträgt) (?:at )?\d+/i,
|
|
43
|
+
/\b(?:service|server|daemon|process) is (?:running|stopped|active|down|inactive)\b/i,
|
|
44
|
+
/\b(?:file|config) (?:exists|is present)\b/i,
|
|
45
|
+
/\bthere (?:are|is) \d+ (?:errors?|warnings?|connections?|processes|files)\b/i,
|
|
46
|
+
/\b(?:port|listening on) \d+\b.*is (?:open|closed|in use)\b/i,
|
|
47
|
+
],
|
|
48
|
+
opinionExclusions: [
|
|
49
|
+
/\b(?:i think|probably|maybe)\b/i,
|
|
50
|
+
/\b(?:it seems|looks like)\b/i,
|
|
51
|
+
],
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
export default SIGNAL_LANG_EN;
|
|
55
|
+
//# sourceMappingURL=signal-lang-en.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal-lang-en.js","sourceRoot":"","sources":["../../../../../src/trace-analyzer/signals/lang/signal-lang-en.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAuB;IAChD,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;IAEjB,UAAU,EAAE;QACV,UAAU,EAAE;YACV,6FAA6F;YAC7F,gEAAgE;YAChE,yDAAyD;SAC1D;QACD,cAAc,EAAE;YACd,mCAAmC;SACpC;KACF;IAED,QAAQ,EAAE;QACR,UAAU,EAAE;YACV,wEAAwE;SACzE;KACF;IAED,eAAe,EAAE;QACf,UAAU,EAAE;YACV,+FAA+F;YAC/F,2EAA2E;YAC3E,yDAAyD;SAC1D;QACD,qBAAqB,EAAE;YACrB,yEAAyE;SAC1E;QACD,oBAAoB,EAAE;YACpB,kFAAkF;SACnF;KACF;IAED,UAAU,EAAE;QACV,MAAM,EAAE;YACN,0DAA0D;YAC1D,+EAA+E;YAC/E,2EAA2E;SAC5E;KACF;IAED,WAAW,EAAE;QACX,MAAM,EAAE;YACN,8DAA8D;YAC9D,oFAAoF;YACpF,4CAA4C;YAC5C,8EAA8E;YAC9E,6DAA6D;SAC9D;QACD,iBAAiB,EAAE;YACjB,iCAAiC;YACjC,8BAA8B;SAC/B;KACF;CACF,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SignalLanguagePack } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Spanish signal patterns.
|
|
4
|
+
* Note: Accented characters (á, é, í, ó, ú, ñ) are NOT matched by \b
|
|
5
|
+
* in standard JS regex. Avoid \b around accented words.
|
|
6
|
+
*/
|
|
7
|
+
export declare const SIGNAL_LANG_ES: SignalLanguagePack;
|
|
8
|
+
export default SIGNAL_LANG_ES;
|
|
9
|
+
//# sourceMappingURL=signal-lang-es.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal-lang-es.d.ts","sourceRoot":"","sources":["../../../../../src/trace-analyzer/signals/lang/signal-lang-es.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,kBAwD5B,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spanish signal patterns.
|
|
3
|
+
* Note: Accented characters (á, é, í, ó, ú, ñ) are NOT matched by \b
|
|
4
|
+
* in standard JS regex. Avoid \b around accented words.
|
|
5
|
+
*/
|
|
6
|
+
export const SIGNAL_LANG_ES = {
|
|
7
|
+
code: "es",
|
|
8
|
+
name: "Español",
|
|
9
|
+
nameEn: "Spanish",
|
|
10
|
+
correction: {
|
|
11
|
+
indicators: [
|
|
12
|
+
/(?:mal|eso está mal|incorrecto|equivocado|te equivocas|eso no es)/i,
|
|
13
|
+
/(?:no es eso|no es lo que pedí|no es lo que quise decir)/i,
|
|
14
|
+
/(?:en realidad no|espera no|corrige eso|otra vez)/i,
|
|
15
|
+
],
|
|
16
|
+
shortNegatives: [
|
|
17
|
+
/^\s*(?:no)\s*[.!]?\s*$/i,
|
|
18
|
+
],
|
|
19
|
+
},
|
|
20
|
+
question: {
|
|
21
|
+
indicators: [
|
|
22
|
+
/(?:¿|debo|quieres que|quiere que|te parece bien|está bien\s*\?)/i,
|
|
23
|
+
],
|
|
24
|
+
},
|
|
25
|
+
dissatisfaction: {
|
|
26
|
+
indicators: [
|
|
27
|
+
/(?:olvídalo|déjalo|ya da igual|lo hago yo|esto es inútil|no sirve)/i,
|
|
28
|
+
/(?:no puedes hacer esto|no es útil|pérdida de tiempo|no funciona|me rindo)/i,
|
|
29
|
+
/(?:es una porquería|olvidémonos|no tiene sentido)/i,
|
|
30
|
+
],
|
|
31
|
+
satisfactionOverrides: [
|
|
32
|
+
/(?:gracias|perfecto|genial|excelente|buen trabajo|increíble)/i,
|
|
33
|
+
],
|
|
34
|
+
resolutionIndicators: [
|
|
35
|
+
/(?:lo siento|perdón|disculpa|déjame intentar|voy a intentar de nuevo)/i,
|
|
36
|
+
],
|
|
37
|
+
},
|
|
38
|
+
completion: {
|
|
39
|
+
claims: [
|
|
40
|
+
/(?:hecho|listo|completado|resuelto|desplegado|arreglado|terminado)/i,
|
|
41
|
+
/(?:ya lo |lo he )(?:hecho|completado|desplegado|arreglado)/i,
|
|
42
|
+
/(?:ya está|está listo|ha sido desplegado|funcionando)/i,
|
|
43
|
+
],
|
|
44
|
+
},
|
|
45
|
+
systemState: {
|
|
46
|
+
claims: [
|
|
47
|
+
/(?:uso de disco|memoria|cpu|carga) (?:es|está en|al) (?:de )?\d+/i,
|
|
48
|
+
/(?:el )?(?:servicio|servidor|daemon|proceso) está (?:activo|detenido|corriendo|inactivo|caído)/i,
|
|
49
|
+
/(?:el )?(?:archivo|config) (?:existe|está presente)/i,
|
|
50
|
+
/hay \d+ (?:errores?|advertencias?|conexiones?|procesos|archivos)/i,
|
|
51
|
+
],
|
|
52
|
+
opinionExclusions: [
|
|
53
|
+
/(?:creo que|pienso que|probablemente|quizás|tal vez)/i,
|
|
54
|
+
/(?:parece que|parece ser)/i,
|
|
55
|
+
],
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
export default SIGNAL_LANG_ES;
|
|
59
|
+
//# sourceMappingURL=signal-lang-es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal-lang-es.js","sourceRoot":"","sources":["../../../../../src/trace-analyzer/signals/lang/signal-lang-es.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAuB;IAChD,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;IAEjB,UAAU,EAAE;QACV,UAAU,EAAE;YACV,oEAAoE;YACpE,2DAA2D;YAC3D,oDAAoD;SACrD;QACD,cAAc,EAAE;YACd,yBAAyB;SAC1B;KACF;IAED,QAAQ,EAAE;QACR,UAAU,EAAE;YACV,kEAAkE;SACnE;KACF;IAED,eAAe,EAAE;QACf,UAAU,EAAE;YACV,qEAAqE;YACrE,6EAA6E;YAC7E,oDAAoD;SACrD;QACD,qBAAqB,EAAE;YACrB,+DAA+D;SAChE;QACD,oBAAoB,EAAE;YACpB,wEAAwE;SACzE;KACF;IAED,UAAU,EAAE;QACV,MAAM,EAAE;YACN,qEAAqE;YACrE,6DAA6D;YAC7D,wDAAwD;SACzD;KACF;IAED,WAAW,EAAE;QACX,MAAM,EAAE;YACN,mEAAmE;YACnE,iGAAiG;YACjG,sDAAsD;YACtD,mEAAmE;SACpE;QACD,iBAAiB,EAAE;YACjB,uDAAuD;YACvD,4BAA4B;SAC7B;KACF;CACF,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { SignalLanguagePack } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* French signal patterns.
|
|
4
|
+
* Note: French accented characters (é, è, ê, ç, etc.) are NOT matched by \b
|
|
5
|
+
* in standard JS regex. Use (?:\s|^) / (?:\s|$) or direct matching for
|
|
6
|
+
* accented words.
|
|
7
|
+
*/
|
|
8
|
+
export declare const SIGNAL_LANG_FR: SignalLanguagePack;
|
|
9
|
+
export default SIGNAL_LANG_FR;
|
|
10
|
+
//# sourceMappingURL=signal-lang-fr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal-lang-fr.d.ts","sourceRoot":"","sources":["../../../../../src/trace-analyzer/signals/lang/signal-lang-fr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,kBAwD5B,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* French signal patterns.
|
|
3
|
+
* Note: French accented characters (é, è, ê, ç, etc.) are NOT matched by \b
|
|
4
|
+
* in standard JS regex. Use (?:\s|^) / (?:\s|$) or direct matching for
|
|
5
|
+
* accented words.
|
|
6
|
+
*/
|
|
7
|
+
export const SIGNAL_LANG_FR = {
|
|
8
|
+
code: "fr",
|
|
9
|
+
name: "Français",
|
|
10
|
+
nameEn: "French",
|
|
11
|
+
correction: {
|
|
12
|
+
indicators: [
|
|
13
|
+
/(?:^|\s)(?:faux|c'est faux|c'est pas ça|incorrect|erreur)(?:\s|[.!,;]|$)/i,
|
|
14
|
+
/(?:tu te trompes|vous vous trompez|ce n'est pas (?:ça|correct))/i,
|
|
15
|
+
/(?:pas du tout|c'est pas ce que j'ai demandé|non en fait|attends non|corrige|recommence)/i,
|
|
16
|
+
],
|
|
17
|
+
shortNegatives: [
|
|
18
|
+
/^\s*(?:non)\s*[.!]?\s*$/i,
|
|
19
|
+
],
|
|
20
|
+
},
|
|
21
|
+
question: {
|
|
22
|
+
indicators: [
|
|
23
|
+
/(?:est-ce que je dois|dois-je|voulez-vous|veux-tu|tu veux|c'est bon\s*\?)/i,
|
|
24
|
+
],
|
|
25
|
+
},
|
|
26
|
+
dissatisfaction: {
|
|
27
|
+
indicators: [
|
|
28
|
+
/(?:laisse tomber|oublie|tant pis|je vais le faire moi-même|c'est inutile)/i,
|
|
29
|
+
/(?:ça sert à rien|tu peux pas faire ça|pas utile|perte de temps)/i,
|
|
30
|
+
/(?:ça marche pas|n'importe quoi|c'est nul|lâche l'affaire)/i,
|
|
31
|
+
],
|
|
32
|
+
satisfactionOverrides: [
|
|
33
|
+
/(?:merci|parfait|génial|super|excellent|bon travail|bravo)/i,
|
|
34
|
+
],
|
|
35
|
+
resolutionIndicators: [
|
|
36
|
+
/(?:désolé|pardon|je m'excuse|laisse-moi essayer|je réessaie)/i,
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
completion: {
|
|
40
|
+
claims: [
|
|
41
|
+
/(?:terminé|fait|fini|résolu|déployé|corrigé|accompli)/i,
|
|
42
|
+
/(?:j'ai (?:tout |maintenant )?(?:terminé|fait|fini|déployé|corrigé))/i,
|
|
43
|
+
/(?:c'est (?:maintenant )?(?:fait|terminé|déployé|en ligne|corrigé))/i,
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
systemState: {
|
|
47
|
+
claims: [
|
|
48
|
+
/(?:utilisation (?:du )?disque|mémoire|cpu|charge) (?:est|à) (?:de )?\d+/i,
|
|
49
|
+
/(?:le )?(?:service|serveur|daemon|processus) est (?:actif|arrêté|en marche|inactif|down)/i,
|
|
50
|
+
/(?:le )?(?:fichier|config) (?:existe|est présent)/i,
|
|
51
|
+
/il y a \d+ (?:erreurs?|avertissements?|connexions?|processus|fichiers)/i,
|
|
52
|
+
],
|
|
53
|
+
opinionExclusions: [
|
|
54
|
+
/(?:je crois|je pense|probablement|peut-être)/i,
|
|
55
|
+
/(?:il semble|on dirait)/i,
|
|
56
|
+
],
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
export default SIGNAL_LANG_FR;
|
|
60
|
+
//# sourceMappingURL=signal-lang-fr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal-lang-fr.js","sourceRoot":"","sources":["../../../../../src/trace-analyzer/signals/lang/signal-lang-fr.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAuB;IAChD,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,QAAQ;IAEhB,UAAU,EAAE;QACV,UAAU,EAAE;YACV,2EAA2E;YAC3E,kEAAkE;YAClE,2FAA2F;SAC5F;QACD,cAAc,EAAE;YACd,0BAA0B;SAC3B;KACF;IAED,QAAQ,EAAE;QACR,UAAU,EAAE;YACV,4EAA4E;SAC7E;KACF;IAED,eAAe,EAAE;QACf,UAAU,EAAE;YACV,4EAA4E;YAC5E,mEAAmE;YACnE,6DAA6D;SAC9D;QACD,qBAAqB,EAAE;YACrB,6DAA6D;SAC9D;QACD,oBAAoB,EAAE;YACpB,+DAA+D;SAChE;KACF;IAED,UAAU,EAAE;QACV,MAAM,EAAE;YACN,wDAAwD;YACxD,uEAAuE;YACvE,sEAAsE;SACvE;KACF;IAED,WAAW,EAAE;QACX,MAAM,EAAE;YACN,0EAA0E;YAC1E,2FAA2F;YAC3F,oDAAoD;YACpD,yEAAyE;SAC1E;QACD,iBAAiB,EAAE;YACjB,+CAA+C;YAC/C,0BAA0B;SAC3B;KACF;CACF,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SignalLanguagePack } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Italian signal patterns.
|
|
4
|
+
* Note: Accented characters (à, è, é, ì, ò, ù) are NOT matched by \b
|
|
5
|
+
* in standard JS regex. Avoid \b around accented words.
|
|
6
|
+
*/
|
|
7
|
+
export declare const SIGNAL_LANG_IT: SignalLanguagePack;
|
|
8
|
+
export default SIGNAL_LANG_IT;
|
|
9
|
+
//# sourceMappingURL=signal-lang-it.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal-lang-it.d.ts","sourceRoot":"","sources":["../../../../../src/trace-analyzer/signals/lang/signal-lang-it.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,kBAwD5B,CAAC;AAEF,eAAe,cAAc,CAAC"}
|