@vainplex/openclaw-cortex 0.2.1 → 0.3.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 +13 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/src/config-loader.d.ts +23 -0
- package/dist/src/config-loader.d.ts.map +1 -0
- package/dist/src/config-loader.js +105 -0
- package/dist/src/config-loader.js.map +1 -0
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +27 -0
- package/dist/src/config.js.map +1 -1
- package/dist/src/patterns/index.d.ts +7 -0
- package/dist/src/patterns/index.d.ts.map +1 -0
- package/dist/src/patterns/index.js +6 -0
- package/dist/src/patterns/index.js.map +1 -0
- package/dist/src/patterns/lang-de.d.ts +4 -0
- package/dist/src/patterns/lang-de.d.ts.map +1 -0
- package/dist/src/patterns/lang-de.js +43 -0
- package/dist/src/patterns/lang-de.js.map +1 -0
- package/dist/src/patterns/lang-en.d.ts +4 -0
- package/dist/src/patterns/lang-en.d.ts.map +1 -0
- package/dist/src/patterns/lang-en.js +44 -0
- package/dist/src/patterns/lang-en.js.map +1 -0
- package/dist/src/patterns/lang-es.d.ts +4 -0
- package/dist/src/patterns/lang-es.d.ts.map +1 -0
- package/dist/src/patterns/lang-es.js +47 -0
- package/dist/src/patterns/lang-es.js.map +1 -0
- package/dist/src/patterns/lang-fr.d.ts +4 -0
- package/dist/src/patterns/lang-fr.d.ts.map +1 -0
- package/dist/src/patterns/lang-fr.js +46 -0
- package/dist/src/patterns/lang-fr.js.map +1 -0
- package/dist/src/patterns/lang-it.d.ts +4 -0
- package/dist/src/patterns/lang-it.d.ts.map +1 -0
- package/dist/src/patterns/lang-it.js +47 -0
- package/dist/src/patterns/lang-it.js.map +1 -0
- package/dist/src/patterns/lang-ja.d.ts +4 -0
- package/dist/src/patterns/lang-ja.d.ts.map +1 -0
- package/dist/src/patterns/lang-ja.js +46 -0
- package/dist/src/patterns/lang-ja.js.map +1 -0
- package/dist/src/patterns/lang-ko.d.ts +4 -0
- package/dist/src/patterns/lang-ko.d.ts.map +1 -0
- package/dist/src/patterns/lang-ko.js +46 -0
- package/dist/src/patterns/lang-ko.js.map +1 -0
- package/dist/src/patterns/lang-pt.d.ts +4 -0
- package/dist/src/patterns/lang-pt.d.ts.map +1 -0
- package/dist/src/patterns/lang-pt.js +47 -0
- package/dist/src/patterns/lang-pt.js.map +1 -0
- package/dist/src/patterns/lang-ru.d.ts +4 -0
- package/dist/src/patterns/lang-ru.d.ts.map +1 -0
- package/dist/src/patterns/lang-ru.js +46 -0
- package/dist/src/patterns/lang-ru.js.map +1 -0
- package/dist/src/patterns/lang-zh.d.ts +4 -0
- package/dist/src/patterns/lang-zh.d.ts.map +1 -0
- package/dist/src/patterns/lang-zh.js +46 -0
- package/dist/src/patterns/lang-zh.js.map +1 -0
- package/dist/src/patterns/registry.d.ts +38 -0
- package/dist/src/patterns/registry.d.ts.map +1 -0
- package/dist/src/patterns/registry.js +220 -0
- package/dist/src/patterns/registry.js.map +1 -0
- package/dist/src/patterns/types.d.ts +53 -0
- package/dist/src/patterns/types.d.ts.map +1 -0
- package/dist/src/patterns/types.js +2 -0
- package/dist/src/patterns/types.js.map +1 -0
- package/dist/src/patterns.d.ts +12 -12
- package/dist/src/patterns.d.ts.map +1 -1
- package/dist/src/patterns.js +39 -88
- package/dist/src/patterns.js.map +1 -1
- package/dist/src/types.d.ts +10 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/openclaw.plugin.json +6 -2
- package/package.json +4 -3
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export const LANG_JA = {
|
|
2
|
+
code: "ja",
|
|
3
|
+
name: "日本語",
|
|
4
|
+
nameEn: "Japanese",
|
|
5
|
+
patterns: {
|
|
6
|
+
decision: [
|
|
7
|
+
/(?:決め[たる]|決定し[たま]|方針[はを]|にしよう|にする)/,
|
|
8
|
+
/(?:採用す[るる]|確定し[たま]|これで[行い]く)/,
|
|
9
|
+
],
|
|
10
|
+
close: [
|
|
11
|
+
/(?:完了|解決し[たま]|直[しっ]た|終わ[っり]|閉じ[たる])/,
|
|
12
|
+
/(?:できた|動い[たて]|問題な[いし]|OK[だです])/,
|
|
13
|
+
],
|
|
14
|
+
wait: [
|
|
15
|
+
/(?:待[っち]て|ブロック|先に.*必要|まだ.*できない)/,
|
|
16
|
+
/(?:待機中|依存し[てた]|前提[はが])/,
|
|
17
|
+
],
|
|
18
|
+
topic: [
|
|
19
|
+
/(?:に[つ]いて|に戻[るっ]|話[をし]|見てみ[よる])\s*([\u3040-\u309f\u30a0-\u30ff\u4e00-\u9fff\w]{2,20})/,
|
|
20
|
+
/(?:について|の件|関して)\s*([\u3040-\u309f\u30a0-\u30ff\u4e00-\u9fff\w]{2,20})/,
|
|
21
|
+
],
|
|
22
|
+
},
|
|
23
|
+
topicBlacklist: [
|
|
24
|
+
"これ", "それ", "あれ", "ここ", "そこ",
|
|
25
|
+
"私", "僕", "あなた", "彼", "彼女", "我々",
|
|
26
|
+
"何", "どれ", "どこ",
|
|
27
|
+
"今日", "明日", "昨日",
|
|
28
|
+
],
|
|
29
|
+
highImpactKeywords: [
|
|
30
|
+
"アーキテクチャ", "セキュリティ", "マイグレーション", "削除",
|
|
31
|
+
"本番", "デプロイ", "重要", "戦略",
|
|
32
|
+
"予算", "契約", "重大",
|
|
33
|
+
],
|
|
34
|
+
moodPatterns: {
|
|
35
|
+
frustrated: /(?:くそ|最悪|ひどい|うざい|ムカつく|やばい)/,
|
|
36
|
+
excited: /(?:すごい|最高|完璧|やった|素晴らしい|神)/,
|
|
37
|
+
tense: /(?:気をつけ|危険|緊急|注意|慎重|リスク)/,
|
|
38
|
+
productive: /(?:完了|修正済|デプロイ[済し]|リリース[済し]|直した)/,
|
|
39
|
+
exploratory: /(?:もし|かもしれ|アイデア|試し[てに]|どうだろう|検討)/,
|
|
40
|
+
},
|
|
41
|
+
noisePrefixes: [
|
|
42
|
+
"私", "僕", "俺", "我々", "何",
|
|
43
|
+
],
|
|
44
|
+
};
|
|
45
|
+
export default LANG_JA;
|
|
46
|
+
//# sourceMappingURL=lang-ja.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lang-ja.js","sourceRoot":"","sources":["../../../src/patterns/lang-ja.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAiB;IACnC,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,KAAK;IACX,MAAM,EAAE,UAAU;IAElB,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,oCAAoC;YACpC,8BAA8B;SAC/B;QACD,KAAK,EAAE;YACL,qCAAqC;YACrC,gCAAgC;SACjC;QACD,IAAI,EAAE;YACJ,iCAAiC;YACjC,wBAAwB;SACzB;QACD,KAAK,EAAE;YACL,uFAAuF;YACvF,uEAAuE;SACxE;KACF;IAED,cAAc,EAAE;QACd,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;QAC5B,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI;QAChC,GAAG,EAAE,IAAI,EAAE,IAAI;QACf,IAAI,EAAE,IAAI,EAAE,IAAI;KACjB;IAED,kBAAkB,EAAE;QAClB,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI;QACrC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;QACxB,IAAI,EAAE,IAAI,EAAE,IAAI;KACjB;IAED,YAAY,EAAE;QACZ,UAAU,EAAE,4BAA4B;QACxC,OAAO,EAAE,2BAA2B;QACpC,KAAK,EAAE,0BAA0B;QACjC,UAAU,EAAE,kCAAkC;QAC9C,WAAW,EAAE,kCAAkC;KAChD;IAED,aAAa,EAAE;QACb,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;KACzB;CACF,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lang-ko.d.ts","sourceRoot":"","sources":["../../../src/patterns/lang-ko.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,OAAO,EAAE,YAgDrB,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export const LANG_KO = {
|
|
2
|
+
code: "ko",
|
|
3
|
+
name: "한국어",
|
|
4
|
+
nameEn: "Korean",
|
|
5
|
+
patterns: {
|
|
6
|
+
decision: [
|
|
7
|
+
/(?:결정|하기로|계획은|으로 가자|방침[은이])/,
|
|
8
|
+
/(?:확정|정했[다어]|채택|선택했[다어]|이걸로)/,
|
|
9
|
+
],
|
|
10
|
+
close: [
|
|
11
|
+
/(?:완료|해결[됐했]|고쳤[다어]|끝났[다어]|닫[았힌])/,
|
|
12
|
+
/(?:됐다|작동[한해]|문제없[다어]|OK)/,
|
|
13
|
+
],
|
|
14
|
+
wait: [
|
|
15
|
+
/(?:기다[려리]|블로킹|먼저.*필요|아직.*안 [돼됨])/,
|
|
16
|
+
/(?:대기 중|의존|전제[는가])/,
|
|
17
|
+
],
|
|
18
|
+
topic: [
|
|
19
|
+
/(?:에 대해|로 돌아가|이야기|살펴보[자면])\s*([\uac00-\ud7af\w]{2,20})/,
|
|
20
|
+
/(?:관해서|의 건|관련해)\s*([\uac00-\ud7af\w]{2,20})/,
|
|
21
|
+
],
|
|
22
|
+
},
|
|
23
|
+
topicBlacklist: [
|
|
24
|
+
"이것", "그것", "저것", "여기", "거기",
|
|
25
|
+
"나", "너", "그", "그녀", "우리", "그들",
|
|
26
|
+
"뭐", "어디", "어떤",
|
|
27
|
+
"오늘", "내일", "어제",
|
|
28
|
+
],
|
|
29
|
+
highImpactKeywords: [
|
|
30
|
+
"아키텍처", "보안", "마이그레이션", "삭제",
|
|
31
|
+
"프로덕션", "배포", "중요", "전략",
|
|
32
|
+
"예산", "계약", "중대",
|
|
33
|
+
],
|
|
34
|
+
moodPatterns: {
|
|
35
|
+
frustrated: /(?:씨발|젠장|짜증|최악|미치겠|빡치)/,
|
|
36
|
+
excited: /(?:대박|최고|완벽|굿|멋지[다네]|짱)/,
|
|
37
|
+
tense: /(?:조심|위험|긴급|주의|신중|리스크)/,
|
|
38
|
+
productive: /(?:완료|수정[됨완]|배포[됨완]|출시|고침)/,
|
|
39
|
+
exploratory: /(?:만약|혹시|아이디어|해볼[까까]|어떨까|검토)/,
|
|
40
|
+
},
|
|
41
|
+
noisePrefixes: [
|
|
42
|
+
"나", "너", "우리", "뭐", "아무것",
|
|
43
|
+
],
|
|
44
|
+
};
|
|
45
|
+
export default LANG_KO;
|
|
46
|
+
//# sourceMappingURL=lang-ko.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lang-ko.js","sourceRoot":"","sources":["../../../src/patterns/lang-ko.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAiB;IACnC,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,KAAK;IACX,MAAM,EAAE,QAAQ;IAEhB,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,6BAA6B;YAC7B,8BAA8B;SAC/B;QACD,KAAK,EAAE;YACL,mCAAmC;YACnC,0BAA0B;SAC3B;QACD,IAAI,EAAE;YACJ,kCAAkC;YAClC,oBAAoB;SACrB;QACD,KAAK,EAAE;YACL,wDAAwD;YACxD,6CAA6C;SAC9C;KACF;IAED,cAAc,EAAE;QACd,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;QAC5B,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;QAC/B,GAAG,EAAE,IAAI,EAAE,IAAI;QACf,IAAI,EAAE,IAAI,EAAE,IAAI;KACjB;IAED,kBAAkB,EAAE;QAClB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI;QAC5B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;QACxB,IAAI,EAAE,IAAI,EAAE,IAAI;KACjB;IAED,YAAY,EAAE;QACZ,UAAU,EAAE,wBAAwB;QACpC,OAAO,EAAE,yBAAyB;QAClC,KAAK,EAAE,wBAAwB;QAC/B,UAAU,EAAE,4BAA4B;QACxC,WAAW,EAAE,8BAA8B;KAC5C;IAED,aAAa,EAAE;QACb,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK;KAC3B;CACF,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lang-pt.d.ts","sourceRoot":"","sources":["../../../src/patterns/lang-pt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,OAAO,EAAE,YAiDrB,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export const LANG_PT = {
|
|
2
|
+
code: "pt",
|
|
3
|
+
name: "Português",
|
|
4
|
+
nameEn: "Portuguese",
|
|
5
|
+
patterns: {
|
|
6
|
+
decision: [
|
|
7
|
+
/(?:decidido|decisão|vamos fazer|o plano é|abordagem:)/i,
|
|
8
|
+
/(?:combinado|optamos por|escolhemos|ficou definido)/i,
|
|
9
|
+
],
|
|
10
|
+
close: [
|
|
11
|
+
/(?:^|\s)(?:está |já )?(?:feito|resolvido|fechado|terminado|pronto)(?:\s|[.!]|$)/i,
|
|
12
|
+
/(?:^|\s)(?:já )?funciona(?:\s|[.!]|$)/i,
|
|
13
|
+
],
|
|
14
|
+
wait: [
|
|
15
|
+
/(?:esperando|bloqueado por|precisamos.*primeiro)/i,
|
|
16
|
+
/(?:pendente|falta.*antes)/i,
|
|
17
|
+
],
|
|
18
|
+
topic: [
|
|
19
|
+
/(?:voltando a|agora sobre|quanto a|vamos falar de|em relação a)\s+(?:o |a |os |as )?([a-záâãàéêíóôõúçA-ZÁÂÃÀÉÊÍÓÔÕÚÇ\w][a-záâãàéêíóôõúçA-ZÁÂÃÀÉÊÍÓÔÕÚÇ\w\s-]{3,40})/i,
|
|
20
|
+
],
|
|
21
|
+
},
|
|
22
|
+
topicBlacklist: [
|
|
23
|
+
"o", "a", "os", "as", "um", "uma", "uns", "umas",
|
|
24
|
+
"isso", "isto", "aquilo", "esse", "esta",
|
|
25
|
+
"eu", "tu", "ele", "ela", "nós", "eles", "elas",
|
|
26
|
+
"nada", "algo", "tudo",
|
|
27
|
+
"aqui", "ali", "agora", "então", "mas", "porque",
|
|
28
|
+
"hoje", "amanhã", "ontem",
|
|
29
|
+
],
|
|
30
|
+
highImpactKeywords: [
|
|
31
|
+
"arquitetura", "segurança", "migração", "deletar",
|
|
32
|
+
"produção", "deploy", "crítico", "estratégia",
|
|
33
|
+
"orçamento", "contrato", "importante",
|
|
34
|
+
],
|
|
35
|
+
moodPatterns: {
|
|
36
|
+
frustrated: /(?:merda|porra|caralho|droga|que saco|inferno)/i,
|
|
37
|
+
excited: /(?:genial|incrível|perfeito|massa|demais|show)/i,
|
|
38
|
+
tense: /(?:cuidado|perigoso|urgente|crítico|atenção)/i,
|
|
39
|
+
productive: /(?:feito|terminado|deployado|arrumado|pronto)/i,
|
|
40
|
+
exploratory: /(?:e se|talvez|ideia|será que|poderíamos|testemos)/i,
|
|
41
|
+
},
|
|
42
|
+
noisePrefixes: [
|
|
43
|
+
"eu", "tu", "ele", "ela", "nós", "nada", "algo",
|
|
44
|
+
],
|
|
45
|
+
};
|
|
46
|
+
export default LANG_PT;
|
|
47
|
+
//# sourceMappingURL=lang-pt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lang-pt.js","sourceRoot":"","sources":["../../../src/patterns/lang-pt.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAiB;IACnC,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,YAAY;IAEpB,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,wDAAwD;YACxD,sDAAsD;SACvD;QACD,KAAK,EAAE;YACL,kFAAkF;YAClF,wCAAwC;SACzC;QACD,IAAI,EAAE;YACJ,mDAAmD;YACnD,4BAA4B;SAC7B;QACD,KAAK,EAAE;YACL,sKAAsK;SACvK;KACF;IAED,cAAc,EAAE;QACd,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM;QAChD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;QACxC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM;QAC/C,MAAM,EAAE,MAAM,EAAE,MAAM;QACtB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ;QAChD,MAAM,EAAE,QAAQ,EAAE,OAAO;KAC1B;IAED,kBAAkB,EAAE;QAClB,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS;QACjD,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY;QAC7C,WAAW,EAAE,UAAU,EAAE,YAAY;KACtC;IAED,YAAY,EAAE;QACZ,UAAU,EAAE,iDAAiD;QAC7D,OAAO,EAAE,iDAAiD;QAC1D,KAAK,EAAE,+CAA+C;QACtD,UAAU,EAAE,gDAAgD;QAC5D,WAAW,EAAE,qDAAqD;KACnE;IAED,aAAa,EAAE;QACb,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM;KAChD;CACF,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lang-ru.d.ts","sourceRoot":"","sources":["../../../src/patterns/lang-ru.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,OAAO,EAAE,YAgDrB,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export const LANG_RU = {
|
|
2
|
+
code: "ru",
|
|
3
|
+
name: "Русский",
|
|
4
|
+
nameEn: "Russian",
|
|
5
|
+
patterns: {
|
|
6
|
+
decision: [
|
|
7
|
+
/(?:решили|решение|давайте сделаем|план[:\s]|подход:)/i,
|
|
8
|
+
/(?:договорились|выбрали|остановились на|утвердили)/i,
|
|
9
|
+
],
|
|
10
|
+
close: [
|
|
11
|
+
/(?:^|\s)(?:уже )?(?:сделано|решено|закрыто|готово|исправлено)(?:\s|[.!]|$)/i,
|
|
12
|
+
/(?:^|\s)(?:уже )?работает(?:\s|[.!]|$)/i,
|
|
13
|
+
],
|
|
14
|
+
wait: [
|
|
15
|
+
/(?:ждём|заблокировано|нужно.*сначала)/i,
|
|
16
|
+
/(?:ожидаем|зависит от|сперва нужно)/i,
|
|
17
|
+
],
|
|
18
|
+
topic: [
|
|
19
|
+
/(?:вернёмся к|теперь о|по поводу|давайте обсудим|касательно)\s+([а-яёА-ЯЁ\w][а-яёА-ЯЁ\w\s-]{3,40})/i,
|
|
20
|
+
],
|
|
21
|
+
},
|
|
22
|
+
topicBlacklist: [
|
|
23
|
+
"это", "то", "этот", "тот", "эта", "та", "здесь", "там",
|
|
24
|
+
"я", "ты", "он", "она", "мы", "они", "вы",
|
|
25
|
+
"ничего", "что-то", "всё",
|
|
26
|
+
"сегодня", "завтра", "вчера",
|
|
27
|
+
"ещё", "уже", "сейчас", "потом", "тоже", "но", "или",
|
|
28
|
+
],
|
|
29
|
+
highImpactKeywords: [
|
|
30
|
+
"архитектура", "безопасность", "миграция", "удалить",
|
|
31
|
+
"продакшн", "деплой", "критический", "стратегия",
|
|
32
|
+
"бюджет", "контракт", "важный",
|
|
33
|
+
],
|
|
34
|
+
moodPatterns: {
|
|
35
|
+
frustrated: /(?:блять|чёрт|пиздец|задолбало|бесит|ёпт)/i,
|
|
36
|
+
excited: /(?:круто|офигенно|класс|супер|шикарно|огонь)/i,
|
|
37
|
+
tense: /(?:осторожно|опасно|срочно|критично|внимание|риск)/i,
|
|
38
|
+
productive: /(?:сделано|готово|задеплоил|починил|выкатил)/i,
|
|
39
|
+
exploratory: /(?:а если|может быть|идея|попробуем|как насчёт|вариант)/i,
|
|
40
|
+
},
|
|
41
|
+
noisePrefixes: [
|
|
42
|
+
"я", "мы", "ты", "он", "она", "ничего", "что-то",
|
|
43
|
+
],
|
|
44
|
+
};
|
|
45
|
+
export default LANG_RU;
|
|
46
|
+
//# sourceMappingURL=lang-ru.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lang-ru.js","sourceRoot":"","sources":["../../../src/patterns/lang-ru.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAiB;IACnC,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;IAEjB,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,uDAAuD;YACvD,qDAAqD;SACtD;QACD,KAAK,EAAE;YACL,6EAA6E;YAC7E,yCAAyC;SAC1C;QACD,IAAI,EAAE;YACJ,wCAAwC;YACxC,sCAAsC;SACvC;QACD,KAAK,EAAE;YACL,qGAAqG;SACtG;KACF;IAED,cAAc,EAAE;QACd,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK;QACvD,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI;QACzC,QAAQ,EAAE,QAAQ,EAAE,KAAK;QACzB,SAAS,EAAE,QAAQ,EAAE,OAAO;QAC5B,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;KACrD;IAED,kBAAkB,EAAE;QAClB,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS;QACpD,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW;QAChD,QAAQ,EAAE,UAAU,EAAE,QAAQ;KAC/B;IAED,YAAY,EAAE;QACZ,UAAU,EAAE,4CAA4C;QACxD,OAAO,EAAE,+CAA+C;QACxD,KAAK,EAAE,qDAAqD;QAC5D,UAAU,EAAE,+CAA+C;QAC3D,WAAW,EAAE,0DAA0D;KACxE;IAED,aAAa,EAAE;QACb,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ;KACjD;CACF,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lang-zh.d.ts","sourceRoot":"","sources":["../../../src/patterns/lang-zh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,OAAO,EAAE,YAgDrB,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export const LANG_ZH = {
|
|
2
|
+
code: "zh",
|
|
3
|
+
name: "中文",
|
|
4
|
+
nameEn: "Chinese",
|
|
5
|
+
patterns: {
|
|
6
|
+
decision: [
|
|
7
|
+
/(?:决定|已决定|方案[是为]|我们[用采]|确定了|就这么[定办])/,
|
|
8
|
+
/(?:敲定|拍板|最终[选方]|采用|选择了)/,
|
|
9
|
+
],
|
|
10
|
+
close: [
|
|
11
|
+
/(?:完成|搞定|解决了|已[关修]|修好了|结束了)/,
|
|
12
|
+
/(?:好了|没问题了|可以了|OK了|行了)/,
|
|
13
|
+
],
|
|
14
|
+
wait: [
|
|
15
|
+
/(?:等待|等[着]?|被.*阻塞|需要.*才能|还差)/,
|
|
16
|
+
/(?:卡在|依赖于|前提是)/,
|
|
17
|
+
],
|
|
18
|
+
topic: [
|
|
19
|
+
/(?:关于|回到|讨论|说[说到]|看看)\s*([\u4e00-\u9fff\w]{2,20})/,
|
|
20
|
+
/(?:至于|针对|聊聊)\s*([\u4e00-\u9fff\w]{2,20})/,
|
|
21
|
+
],
|
|
22
|
+
},
|
|
23
|
+
topicBlacklist: [
|
|
24
|
+
"这个", "那个", "什么", "哪个", "这里", "那里",
|
|
25
|
+
"我", "你", "他", "她", "我们", "他们",
|
|
26
|
+
"没有", "东西", "事情",
|
|
27
|
+
"今天", "明天", "昨天",
|
|
28
|
+
],
|
|
29
|
+
highImpactKeywords: [
|
|
30
|
+
"架构", "安全", "迁移", "删除",
|
|
31
|
+
"生产", "部署", "关键", "策略",
|
|
32
|
+
"预算", "合同", "重大",
|
|
33
|
+
],
|
|
34
|
+
moodPatterns: {
|
|
35
|
+
frustrated: /(?:靠|妈的|草|烦死|崩溃|要命|坑爹)/,
|
|
36
|
+
excited: /(?:太好了|牛逼|厉害|完美|太棒了|666)/,
|
|
37
|
+
tense: /(?:小心|危险|紧急|注意|当心|风险)/,
|
|
38
|
+
productive: /(?:搞定|完成|修好|部署了|上线了)/,
|
|
39
|
+
exploratory: /(?:如果|或许|想法|试试|要不|可以考虑)/,
|
|
40
|
+
},
|
|
41
|
+
noisePrefixes: [
|
|
42
|
+
"我", "你", "他", "她", "我们", "没有",
|
|
43
|
+
],
|
|
44
|
+
};
|
|
45
|
+
export default LANG_ZH;
|
|
46
|
+
//# sourceMappingURL=lang-zh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lang-zh.js","sourceRoot":"","sources":["../../../src/patterns/lang-zh.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAiB;IACnC,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,SAAS;IAEjB,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,sCAAsC;YACtC,yBAAyB;SAC1B;QACD,KAAK,EAAE;YACL,6BAA6B;YAC7B,wBAAwB;SACzB;QACD,IAAI,EAAE;YACJ,8BAA8B;YAC9B,gBAAgB;SACjB;QACD,KAAK,EAAE;YACL,mDAAmD;YACnD,0CAA0C;SAC3C;KACF;IAED,cAAc,EAAE;QACd,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;QAClC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI;QAC9B,IAAI,EAAE,IAAI,EAAE,IAAI;QAChB,IAAI,EAAE,IAAI,EAAE,IAAI;KACjB;IAED,kBAAkB,EAAE;QAClB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;QACtB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;QACtB,IAAI,EAAE,IAAI,EAAE,IAAI;KACjB;IAED,YAAY,EAAE;QACZ,UAAU,EAAE,wBAAwB;QACpC,OAAO,EAAE,0BAA0B;QACnC,KAAK,EAAE,uBAAuB;QAC9B,UAAU,EAAE,sBAAsB;QAClC,WAAW,EAAE,yBAAyB;KACvC;IAED,aAAa,EAAE;QACb,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI;KAC/B;CACF,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { Mood } from "../types.js";
|
|
2
|
+
import type { LanguagePack, PatternSet, CustomPatternConfig } from "./types.js";
|
|
3
|
+
/** All built-in language codes. */
|
|
4
|
+
export declare const BUILTIN_LANGUAGES: string[];
|
|
5
|
+
export declare class PatternRegistry {
|
|
6
|
+
private packs;
|
|
7
|
+
private customConfig;
|
|
8
|
+
private cachedPatterns;
|
|
9
|
+
private cachedBlacklist;
|
|
10
|
+
private cachedKeywords;
|
|
11
|
+
private cachedMoodPatterns;
|
|
12
|
+
private cachedNoisePrefixPattern;
|
|
13
|
+
/** Async load — supports all languages including lazy-loaded ones. */
|
|
14
|
+
load(codes: string[], custom?: CustomPatternConfig): Promise<void>;
|
|
15
|
+
/** Synchronous load — works for EN/DE and any runtime-registered packs. */
|
|
16
|
+
loadSync(codes: string[], custom?: CustomPatternConfig): void;
|
|
17
|
+
/** Register a language pack at runtime. */
|
|
18
|
+
registerLanguagePack(pack: LanguagePack): void;
|
|
19
|
+
/** Get merged pattern set (cached). */
|
|
20
|
+
getPatterns(): PatternSet;
|
|
21
|
+
/** Get merged topic blacklist (cached). */
|
|
22
|
+
getBlacklist(): Set<string>;
|
|
23
|
+
/** Get merged high-impact keywords (cached, deduplicated). */
|
|
24
|
+
getHighImpactKeywords(): string[];
|
|
25
|
+
/** Get merged mood patterns (cached). */
|
|
26
|
+
getMoodPatterns(): Record<Exclude<Mood, "neutral">, RegExp>;
|
|
27
|
+
/** Get noise prefix regex (cached). */
|
|
28
|
+
getNoisePrefixPattern(): RegExp | null;
|
|
29
|
+
/** Get loaded language codes. */
|
|
30
|
+
getLoadedLanguages(): string[];
|
|
31
|
+
/** Compile custom pattern strings to RegExp. */
|
|
32
|
+
private compileCustomStrings;
|
|
33
|
+
/** Apply custom patterns to merged set. */
|
|
34
|
+
private applyCustomPatterns;
|
|
35
|
+
/** Invalidate all caches. */
|
|
36
|
+
private invalidateCache;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/patterns/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AA+BhF,mCAAmC;AACnC,eAAO,MAAM,iBAAiB,UAE7B,CAAC;AAEF,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,cAAc,CAA2B;IACjD,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,kBAAkB,CAAyD;IACnF,OAAO,CAAC,wBAAwB,CAAuB;IAEvD,sEAAsE;IAChE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxE,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,mBAAmB,GAAG,IAAI;IAY7D,2CAA2C;IAC3C,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAM9C,uCAAuC;IACvC,WAAW,IAAI,UAAU;IAmBzB,2CAA2C;IAC3C,YAAY,IAAI,GAAG,CAAC,MAAM,CAAC;IAa3B,8DAA8D;IAC9D,qBAAqB,IAAI,MAAM,EAAE;IAajC,yCAAyC;IACzC,eAAe,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IA8B3D,uCAAuC;IACvC,qBAAqB,IAAI,MAAM,GAAG,IAAI;IAiBtC,iCAAiC;IACjC,kBAAkB,IAAI,MAAM,EAAE;IAI9B,gDAAgD;IAChD,OAAO,CAAC,oBAAoB;IAU5B,2CAA2C;IAC3C,OAAO,CAAC,mBAAmB;IAuB3B,6BAA6B;IAC7B,OAAO,CAAC,eAAe;CAOxB"}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import { LANG_EN } from "./lang-en.js";
|
|
2
|
+
import { LANG_DE } from "./lang-de.js";
|
|
3
|
+
/** Universal mood patterns (emoji — language-independent). */
|
|
4
|
+
const BASE_MOOD = {
|
|
5
|
+
frustrated: [/(?:wtf|argh)/i],
|
|
6
|
+
excited: [/(?:🎯|🚀)/],
|
|
7
|
+
tense: [/(?:⚠️|‼️)/],
|
|
8
|
+
productive: [/(?:✅)/],
|
|
9
|
+
exploratory: [/(?:🤔|💡)/],
|
|
10
|
+
};
|
|
11
|
+
/** Map of built-in language packs available synchronously. */
|
|
12
|
+
const SYNC_PACKS = {
|
|
13
|
+
en: LANG_EN,
|
|
14
|
+
de: LANG_DE,
|
|
15
|
+
};
|
|
16
|
+
/** Lazy loaders for additional languages. */
|
|
17
|
+
const ASYNC_LOADERS = {
|
|
18
|
+
fr: async () => (await import("./lang-fr.js")).default,
|
|
19
|
+
es: async () => (await import("./lang-es.js")).default,
|
|
20
|
+
pt: async () => (await import("./lang-pt.js")).default,
|
|
21
|
+
it: async () => (await import("./lang-it.js")).default,
|
|
22
|
+
zh: async () => (await import("./lang-zh.js")).default,
|
|
23
|
+
ja: async () => (await import("./lang-ja.js")).default,
|
|
24
|
+
ko: async () => (await import("./lang-ko.js")).default,
|
|
25
|
+
ru: async () => (await import("./lang-ru.js")).default,
|
|
26
|
+
};
|
|
27
|
+
/** All built-in language codes. */
|
|
28
|
+
export const BUILTIN_LANGUAGES = [
|
|
29
|
+
"en", "de", "fr", "es", "pt", "it", "zh", "ja", "ko", "ru",
|
|
30
|
+
];
|
|
31
|
+
export class PatternRegistry {
|
|
32
|
+
packs = [];
|
|
33
|
+
customConfig = null;
|
|
34
|
+
cachedPatterns = null;
|
|
35
|
+
cachedBlacklist = null;
|
|
36
|
+
cachedKeywords = null;
|
|
37
|
+
cachedMoodPatterns = null;
|
|
38
|
+
cachedNoisePrefixPattern = null;
|
|
39
|
+
/** Async load — supports all languages including lazy-loaded ones. */
|
|
40
|
+
async load(codes, custom) {
|
|
41
|
+
this.packs = [];
|
|
42
|
+
this.customConfig = custom ?? null;
|
|
43
|
+
this.invalidateCache();
|
|
44
|
+
for (const code of codes) {
|
|
45
|
+
if (SYNC_PACKS[code]) {
|
|
46
|
+
this.packs.push(SYNC_PACKS[code]);
|
|
47
|
+
}
|
|
48
|
+
else if (ASYNC_LOADERS[code]) {
|
|
49
|
+
this.packs.push(await ASYNC_LOADERS[code]());
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/** Synchronous load — works for EN/DE and any runtime-registered packs. */
|
|
54
|
+
loadSync(codes, custom) {
|
|
55
|
+
this.packs = [];
|
|
56
|
+
this.customConfig = custom ?? null;
|
|
57
|
+
this.invalidateCache();
|
|
58
|
+
for (const code of codes) {
|
|
59
|
+
if (SYNC_PACKS[code]) {
|
|
60
|
+
this.packs.push(SYNC_PACKS[code]);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/** Register a language pack at runtime. */
|
|
65
|
+
registerLanguagePack(pack) {
|
|
66
|
+
this.packs = this.packs.filter(p => p.code !== pack.code);
|
|
67
|
+
this.packs.push(pack);
|
|
68
|
+
this.invalidateCache();
|
|
69
|
+
}
|
|
70
|
+
/** Get merged pattern set (cached). */
|
|
71
|
+
getPatterns() {
|
|
72
|
+
if (this.cachedPatterns)
|
|
73
|
+
return this.cachedPatterns;
|
|
74
|
+
const merged = { decision: [], close: [], wait: [], topic: [] };
|
|
75
|
+
for (const pack of this.packs) {
|
|
76
|
+
merged.decision.push(...pack.patterns.decision);
|
|
77
|
+
merged.close.push(...pack.patterns.close);
|
|
78
|
+
merged.wait.push(...pack.patterns.wait);
|
|
79
|
+
merged.topic.push(...pack.patterns.topic);
|
|
80
|
+
}
|
|
81
|
+
if (this.customConfig) {
|
|
82
|
+
this.applyCustomPatterns(merged);
|
|
83
|
+
}
|
|
84
|
+
this.cachedPatterns = merged;
|
|
85
|
+
return merged;
|
|
86
|
+
}
|
|
87
|
+
/** Get merged topic blacklist (cached). */
|
|
88
|
+
getBlacklist() {
|
|
89
|
+
if (this.cachedBlacklist)
|
|
90
|
+
return this.cachedBlacklist;
|
|
91
|
+
const set = new Set();
|
|
92
|
+
for (const pack of this.packs) {
|
|
93
|
+
for (const word of pack.topicBlacklist)
|
|
94
|
+
set.add(word);
|
|
95
|
+
}
|
|
96
|
+
if (this.customConfig?.topicBlacklist) {
|
|
97
|
+
for (const word of this.customConfig.topicBlacklist)
|
|
98
|
+
set.add(word);
|
|
99
|
+
}
|
|
100
|
+
this.cachedBlacklist = set;
|
|
101
|
+
return set;
|
|
102
|
+
}
|
|
103
|
+
/** Get merged high-impact keywords (cached, deduplicated). */
|
|
104
|
+
getHighImpactKeywords() {
|
|
105
|
+
if (this.cachedKeywords)
|
|
106
|
+
return this.cachedKeywords;
|
|
107
|
+
const set = new Set();
|
|
108
|
+
for (const pack of this.packs) {
|
|
109
|
+
for (const kw of pack.highImpactKeywords)
|
|
110
|
+
set.add(kw);
|
|
111
|
+
}
|
|
112
|
+
if (this.customConfig?.highImpactKeywords) {
|
|
113
|
+
for (const kw of this.customConfig.highImpactKeywords)
|
|
114
|
+
set.add(kw);
|
|
115
|
+
}
|
|
116
|
+
this.cachedKeywords = [...set];
|
|
117
|
+
return this.cachedKeywords;
|
|
118
|
+
}
|
|
119
|
+
/** Get merged mood patterns (cached). */
|
|
120
|
+
getMoodPatterns() {
|
|
121
|
+
if (this.cachedMoodPatterns)
|
|
122
|
+
return this.cachedMoodPatterns;
|
|
123
|
+
const sources = {
|
|
124
|
+
frustrated: [...BASE_MOOD.frustrated],
|
|
125
|
+
excited: [...BASE_MOOD.excited],
|
|
126
|
+
tense: [...BASE_MOOD.tense],
|
|
127
|
+
productive: [...BASE_MOOD.productive],
|
|
128
|
+
exploratory: [...BASE_MOOD.exploratory],
|
|
129
|
+
};
|
|
130
|
+
for (const pack of this.packs) {
|
|
131
|
+
if (!pack.moodPatterns)
|
|
132
|
+
continue;
|
|
133
|
+
for (const [mood, pattern] of Object.entries(pack.moodPatterns)) {
|
|
134
|
+
if (pattern) {
|
|
135
|
+
sources[mood].push(pattern);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
const merged = {};
|
|
140
|
+
for (const [mood, patterns] of Object.entries(sources)) {
|
|
141
|
+
const combined = patterns.map(p => p.source).join("|");
|
|
142
|
+
merged[mood] = new RegExp(combined, "i");
|
|
143
|
+
}
|
|
144
|
+
this.cachedMoodPatterns = merged;
|
|
145
|
+
return merged;
|
|
146
|
+
}
|
|
147
|
+
/** Get noise prefix regex (cached). */
|
|
148
|
+
getNoisePrefixPattern() {
|
|
149
|
+
if (this.cachedNoisePrefixPattern !== null) {
|
|
150
|
+
return this.cachedNoisePrefixPattern;
|
|
151
|
+
}
|
|
152
|
+
const prefixes = [];
|
|
153
|
+
for (const pack of this.packs) {
|
|
154
|
+
if (pack.noisePrefixes)
|
|
155
|
+
prefixes.push(...pack.noisePrefixes);
|
|
156
|
+
}
|
|
157
|
+
if (prefixes.length === 0)
|
|
158
|
+
return null;
|
|
159
|
+
const deduped = [...new Set(prefixes)];
|
|
160
|
+
const pattern = new RegExp(`^(${deduped.join("|")})\\s`, "i");
|
|
161
|
+
this.cachedNoisePrefixPattern = pattern;
|
|
162
|
+
return pattern;
|
|
163
|
+
}
|
|
164
|
+
/** Get loaded language codes. */
|
|
165
|
+
getLoadedLanguages() {
|
|
166
|
+
return this.packs.map(p => p.code);
|
|
167
|
+
}
|
|
168
|
+
/** Compile custom pattern strings to RegExp. */
|
|
169
|
+
compileCustomStrings(strings) {
|
|
170
|
+
if (!strings)
|
|
171
|
+
return [];
|
|
172
|
+
return strings
|
|
173
|
+
.map(s => {
|
|
174
|
+
try {
|
|
175
|
+
return new RegExp(s, "i");
|
|
176
|
+
}
|
|
177
|
+
catch {
|
|
178
|
+
return null;
|
|
179
|
+
}
|
|
180
|
+
})
|
|
181
|
+
.filter((r) => r !== null);
|
|
182
|
+
}
|
|
183
|
+
/** Apply custom patterns to merged set. */
|
|
184
|
+
applyCustomPatterns(merged) {
|
|
185
|
+
if (!this.customConfig)
|
|
186
|
+
return;
|
|
187
|
+
const cfg = this.customConfig;
|
|
188
|
+
const compiled = {
|
|
189
|
+
decision: this.compileCustomStrings(cfg.decision),
|
|
190
|
+
close: this.compileCustomStrings(cfg.close),
|
|
191
|
+
wait: this.compileCustomStrings(cfg.wait),
|
|
192
|
+
topic: this.compileCustomStrings(cfg.topic),
|
|
193
|
+
};
|
|
194
|
+
if (cfg.mode === "override") {
|
|
195
|
+
if (compiled.decision.length)
|
|
196
|
+
merged.decision = compiled.decision;
|
|
197
|
+
if (compiled.close.length)
|
|
198
|
+
merged.close = compiled.close;
|
|
199
|
+
if (compiled.wait.length)
|
|
200
|
+
merged.wait = compiled.wait;
|
|
201
|
+
if (compiled.topic.length)
|
|
202
|
+
merged.topic = compiled.topic;
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
merged.decision.push(...compiled.decision);
|
|
206
|
+
merged.close.push(...compiled.close);
|
|
207
|
+
merged.wait.push(...compiled.wait);
|
|
208
|
+
merged.topic.push(...compiled.topic);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
/** Invalidate all caches. */
|
|
212
|
+
invalidateCache() {
|
|
213
|
+
this.cachedPatterns = null;
|
|
214
|
+
this.cachedBlacklist = null;
|
|
215
|
+
this.cachedKeywords = null;
|
|
216
|
+
this.cachedMoodPatterns = null;
|
|
217
|
+
this.cachedNoisePrefixPattern = null;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/patterns/registry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,8DAA8D;AAC9D,MAAM,SAAS,GAA+C;IAC5D,UAAU,EAAE,CAAC,eAAe,CAAC;IAC7B,OAAO,EAAE,CAAC,WAAW,CAAC;IACtB,KAAK,EAAE,CAAC,WAAW,CAAC;IACpB,UAAU,EAAE,CAAC,OAAO,CAAC;IACrB,WAAW,EAAE,CAAC,WAAW,CAAC;CAC3B,CAAC;AAEF,8DAA8D;AAC9D,MAAM,UAAU,GAAiC;IAC/C,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;CACZ,CAAC;AAEF,6CAA6C;AAC7C,MAAM,aAAa,GAAgD;IACjE,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO;IACtD,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO;IACtD,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO;IACtD,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO;IACtD,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO;IACtD,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO;IACtD,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO;IACtD,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO;CACvD,CAAC;AAEF,mCAAmC;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC3D,CAAC;AAEF,MAAM,OAAO,eAAe;IAClB,KAAK,GAAmB,EAAE,CAAC;IAC3B,YAAY,GAA+B,IAAI,CAAC;IAChD,cAAc,GAAsB,IAAI,CAAC;IACzC,eAAe,GAAuB,IAAI,CAAC;IAC3C,cAAc,GAAoB,IAAI,CAAC;IACvC,kBAAkB,GAAoD,IAAI,CAAC;IAC3E,wBAAwB,GAAkB,IAAI,CAAC;IAEvD,sEAAsE;IACtE,KAAK,CAAC,IAAI,CAAC,KAAe,EAAE,MAA4B;QACtD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,IAAI,CAAC;QACnC,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,QAAQ,CAAC,KAAe,EAAE,MAA4B;QACpD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,IAAI,CAAC;QACnC,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,oBAAoB,CAAC,IAAkB;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,uCAAuC;IACvC,WAAW;QACT,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC,cAAc,CAAC;QAEpD,MAAM,MAAM,GAAe,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC5E,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,2CAA2C;IAC3C,YAAY;QACV,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO,IAAI,CAAC,eAAe,CAAC;QACtD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,cAAc;gBAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,CAAC;YACtC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc;gBAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;QAC3B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,8DAA8D;IAC9D,qBAAqB;QACnB,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC,cAAc,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,kBAAkB;gBAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE,kBAAkB,EAAE,CAAC;YAC1C,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,kBAAkB;gBAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,yCAAyC;IACzC,eAAe;QACb,IAAI,IAAI,CAAC,kBAAkB;YAAE,OAAO,IAAI,CAAC,kBAAkB,CAAC;QAE5D,MAAM,OAAO,GAA+C;YAC1D,UAAU,EAAE,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC;YACrC,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC/B,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;YAC3B,UAAU,EAAE,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC;YACrC,WAAW,EAAE,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC;SACxC,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,YAAY;gBAAE,SAAS;YACjC,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChE,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAgC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,EAA8C,CAAC;QAC9D,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvD,MAAM,CAAC,IAAgC,CAAC,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,uCAAuC;IACvC,qBAAqB;QACnB,IAAI,IAAI,CAAC,wBAAwB,KAAK,IAAI,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,wBAAwB,CAAC;QACvC,CAAC;QAED,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,aAAa;gBAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACvC,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9D,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC;QACxC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,iCAAiC;IACjC,kBAAkB;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,gDAAgD;IACxC,oBAAoB,CAAC,OAA6B;QACxD,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QACxB,OAAO,OAAO;aACX,GAAG,CAAC,CAAC,CAAC,EAAE;YACP,IAAI,CAAC;gBAAC,OAAO,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAAC,CAAC;YAClC,MAAM,CAAC;gBAAC,OAAO,IAAI,CAAC;YAAC,CAAC;QACxB,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,2CAA2C;IACnC,mBAAmB,CAAC,MAAkB;QAC5C,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;QAC9B,MAAM,QAAQ,GAAG;YACf,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC;YACjD,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC;YAC3C,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC;YACzC,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC;SAC5C,CAAC;QAEF,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC5B,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM;gBAAE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;YAClE,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM;gBAAE,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YACzD,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM;gBAAE,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YACtD,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM;gBAAE,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,6BAA6B;IACrB,eAAe;QACrB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;IACvC,CAAC;CACF"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { Mood } from "../types.js";
|
|
2
|
+
/** A complete language pack for pattern-based detection. */
|
|
3
|
+
export type LanguagePack = {
|
|
4
|
+
/** ISO 639-1 code (e.g., "en", "de", "fr", "zh") */
|
|
5
|
+
code: string;
|
|
6
|
+
/** Name in the language itself (e.g., "English", "Deutsch", "Français") */
|
|
7
|
+
name: string;
|
|
8
|
+
/** English name for logs (e.g., "English", "German", "French") */
|
|
9
|
+
nameEn: string;
|
|
10
|
+
/** Core detection patterns */
|
|
11
|
+
patterns: {
|
|
12
|
+
/** Patterns matching decision-indicating phrases */
|
|
13
|
+
decision: RegExp[];
|
|
14
|
+
/** Patterns matching thread closure phrases */
|
|
15
|
+
close: RegExp[];
|
|
16
|
+
/** Patterns matching blocked/waiting states */
|
|
17
|
+
wait: RegExp[];
|
|
18
|
+
/** Patterns matching topic shifts — MUST have capture group 1 */
|
|
19
|
+
topic: RegExp[];
|
|
20
|
+
};
|
|
21
|
+
/** Words to filter out as noise when extracting thread titles */
|
|
22
|
+
topicBlacklist: string[];
|
|
23
|
+
/** Keywords indicating high-impact decisions */
|
|
24
|
+
highImpactKeywords: string[];
|
|
25
|
+
/**
|
|
26
|
+
* Language-specific mood words (optional).
|
|
27
|
+
* Merged with universal base patterns (emoji).
|
|
28
|
+
*/
|
|
29
|
+
moodPatterns?: Partial<Record<Exclude<Mood, "neutral">, RegExp>>;
|
|
30
|
+
/**
|
|
31
|
+
* Pronoun/noise prefixes for topic filtering (optional).
|
|
32
|
+
* These get compiled into a prefix regex for isNoiseTopic().
|
|
33
|
+
*/
|
|
34
|
+
noisePrefixes?: string[];
|
|
35
|
+
};
|
|
36
|
+
/** Merged pattern set — result of combining multiple language packs. */
|
|
37
|
+
export type PatternSet = {
|
|
38
|
+
decision: RegExp[];
|
|
39
|
+
close: RegExp[];
|
|
40
|
+
wait: RegExp[];
|
|
41
|
+
topic: RegExp[];
|
|
42
|
+
};
|
|
43
|
+
/** Custom pattern config from user. */
|
|
44
|
+
export type CustomPatternConfig = {
|
|
45
|
+
decision?: string[];
|
|
46
|
+
close?: string[];
|
|
47
|
+
wait?: string[];
|
|
48
|
+
topic?: string[];
|
|
49
|
+
topicBlacklist?: string[];
|
|
50
|
+
highImpactKeywords?: string[];
|
|
51
|
+
mode?: "extend" | "override";
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/patterns/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC,4DAA4D;AAC5D,MAAM,MAAM,YAAY,GAAG;IACzB,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IAEf,8BAA8B;IAC9B,QAAQ,EAAE;QACR,oDAAoD;QACpD,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,+CAA+C;QAC/C,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,+CAA+C;QAC/C,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,iEAAiE;QACjE,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;IAEF,iEAAiE;IACjE,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB,gDAAgD;IAChD,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAE7B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAEjE;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF,wEAAwE;AACxE,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF,uCAAuC;AACvC,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;CAC9B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/patterns/types.ts"],"names":[],"mappings":""}
|