@vainplex/openclaw-cortex 0.2.2 → 0.3.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.
Files changed (64) hide show
  1. package/README.md +56 -19
  2. package/dist/src/config.d.ts.map +1 -1
  3. package/dist/src/config.js +27 -0
  4. package/dist/src/config.js.map +1 -1
  5. package/dist/src/patterns/index.d.ts +7 -0
  6. package/dist/src/patterns/index.d.ts.map +1 -0
  7. package/dist/src/patterns/index.js +6 -0
  8. package/dist/src/patterns/index.js.map +1 -0
  9. package/dist/src/patterns/lang-de.d.ts +4 -0
  10. package/dist/src/patterns/lang-de.d.ts.map +1 -0
  11. package/dist/src/patterns/lang-de.js +43 -0
  12. package/dist/src/patterns/lang-de.js.map +1 -0
  13. package/dist/src/patterns/lang-en.d.ts +4 -0
  14. package/dist/src/patterns/lang-en.d.ts.map +1 -0
  15. package/dist/src/patterns/lang-en.js +44 -0
  16. package/dist/src/patterns/lang-en.js.map +1 -0
  17. package/dist/src/patterns/lang-es.d.ts +4 -0
  18. package/dist/src/patterns/lang-es.d.ts.map +1 -0
  19. package/dist/src/patterns/lang-es.js +47 -0
  20. package/dist/src/patterns/lang-es.js.map +1 -0
  21. package/dist/src/patterns/lang-fr.d.ts +4 -0
  22. package/dist/src/patterns/lang-fr.d.ts.map +1 -0
  23. package/dist/src/patterns/lang-fr.js +46 -0
  24. package/dist/src/patterns/lang-fr.js.map +1 -0
  25. package/dist/src/patterns/lang-it.d.ts +4 -0
  26. package/dist/src/patterns/lang-it.d.ts.map +1 -0
  27. package/dist/src/patterns/lang-it.js +47 -0
  28. package/dist/src/patterns/lang-it.js.map +1 -0
  29. package/dist/src/patterns/lang-ja.d.ts +4 -0
  30. package/dist/src/patterns/lang-ja.d.ts.map +1 -0
  31. package/dist/src/patterns/lang-ja.js +46 -0
  32. package/dist/src/patterns/lang-ja.js.map +1 -0
  33. package/dist/src/patterns/lang-ko.d.ts +4 -0
  34. package/dist/src/patterns/lang-ko.d.ts.map +1 -0
  35. package/dist/src/patterns/lang-ko.js +46 -0
  36. package/dist/src/patterns/lang-ko.js.map +1 -0
  37. package/dist/src/patterns/lang-pt.d.ts +4 -0
  38. package/dist/src/patterns/lang-pt.d.ts.map +1 -0
  39. package/dist/src/patterns/lang-pt.js +47 -0
  40. package/dist/src/patterns/lang-pt.js.map +1 -0
  41. package/dist/src/patterns/lang-ru.d.ts +4 -0
  42. package/dist/src/patterns/lang-ru.d.ts.map +1 -0
  43. package/dist/src/patterns/lang-ru.js +46 -0
  44. package/dist/src/patterns/lang-ru.js.map +1 -0
  45. package/dist/src/patterns/lang-zh.d.ts +4 -0
  46. package/dist/src/patterns/lang-zh.d.ts.map +1 -0
  47. package/dist/src/patterns/lang-zh.js +46 -0
  48. package/dist/src/patterns/lang-zh.js.map +1 -0
  49. package/dist/src/patterns/registry.d.ts +38 -0
  50. package/dist/src/patterns/registry.d.ts.map +1 -0
  51. package/dist/src/patterns/registry.js +220 -0
  52. package/dist/src/patterns/registry.js.map +1 -0
  53. package/dist/src/patterns/types.d.ts +53 -0
  54. package/dist/src/patterns/types.d.ts.map +1 -0
  55. package/dist/src/patterns/types.js +2 -0
  56. package/dist/src/patterns/types.js.map +1 -0
  57. package/dist/src/patterns.d.ts +12 -12
  58. package/dist/src/patterns.d.ts.map +1 -1
  59. package/dist/src/patterns.js +39 -88
  60. package/dist/src/patterns.js.map +1 -1
  61. package/dist/src/types.d.ts +10 -1
  62. package/dist/src/types.d.ts.map +1 -1
  63. package/dist/src/types.js.map +1 -1
  64. package/package.json +1 -1
package/README.md CHANGED
@@ -206,15 +206,24 @@ cd openclaw-cortex && npm install && npm run build
206
206
 
207
207
  ## Configure
208
208
 
209
- Add to your OpenClaw config:
209
+ Add to your OpenClaw config (`openclaw.json`):
210
210
 
211
211
  ```json
212
212
  {
213
213
  "plugins": {
214
- "openclaw-cortex": {
215
- "enabled": true,
214
+ "entries": {
215
+ "openclaw-cortex": { "enabled": true }
216
+ }
217
+ }
218
+ }
219
+ ```
220
+
221
+ Then create `~/.openclaw/plugins/openclaw-cortex/config.json`:
222
+
223
+ ```json
224
+ {
216
225
  "patterns": {
217
- "language": "both"
226
+ "language": "all"
218
227
  },
219
228
  "threadTracker": {
220
229
  "enabled": true,
@@ -319,15 +328,44 @@ Restart OpenClaw after configuring.
319
328
  └── hot-snapshot.md # Pre-compaction snapshot
320
329
  ```
321
330
 
322
- ### Pattern Languages
331
+ ### Pattern Languages (v0.3.0)
323
332
 
324
- Thread and decision detection supports English, German, or both:
333
+ Thread and decision detection supports **10 languages** out of the box:
325
334
 
326
- - **Decision patterns**: "we decided", "let's do", "the plan is", "wir machen", "beschlossen"
327
- - **Closure patterns**: "is done", "it works", "fixed ✅", "erledigt", "gefixt"
328
- - **Wait patterns**: "waiting for", "blocked by", "warte auf"
329
- - **Topic patterns**: "back to", "now about", "jetzt zu", "bzgl."
330
- - **Mood detection**: frustrated, excited, tense, productive, exploratory
335
+ | Language | Code | Decision | Closure | Wait | Mood |
336
+ |----------|------|----------|---------|------|------|
337
+ | English | `en` | "we decided", "let's do", "the plan is" | "is done", "fixed ✅" | "waiting for", "blocked by" | ✅ |
338
+ | German | `de` | "wir machen", "beschlossen" | "erledigt", "gefixt" | "warte auf" | ✅ |
339
+ | French | `fr` | "nous avons décidé", "on fait" | "c'est fait", "résolu" | "en attente de" | ✅ |
340
+ | Spanish | `es` | "decidimos", "el plan es" | "está hecho", "resuelto" | "esperando" | ✅ |
341
+ | Portuguese | `pt` | "decidimos", "o plano é" | "está feito", "resolvido" | "aguardando" | ✅ |
342
+ | Italian | `it` | "abbiamo deciso", "il piano è" | "è fatto", "risolto" | "in attesa di" | ✅ |
343
+ | Chinese | `zh` | "我们决定", "计划是" | "已完成", "已解决" | "等待", "阻塞" | ✅ |
344
+ | Japanese | `ja` | "決定しました", "方針は" | "完了", "解決済み" | "待ち" | ✅ |
345
+ | Korean | `ko` | "결정했습니다", "계획은" | "완료", "해결" | "대기 중" | ✅ |
346
+ | Russian | `ru` | "мы решили", "план такой" | "готово", "исправлено" | "ждём", "заблокировано" | ✅ |
347
+
348
+ Configure via `patternLanguage`:
349
+ ```jsonc
350
+ "both" // backward-compat: EN + DE
351
+ "all" // all 10 languages
352
+ ["en", "fr", "es"] // specific languages
353
+ "de" // single language
354
+ ```
355
+
356
+ **Custom patterns** — add your own via config:
357
+ ```json
358
+ {
359
+ "patterns": {
360
+ "language": "all",
361
+ "custom": {
362
+ "mode": "extend",
363
+ "decision": ["my custom pattern"],
364
+ "close": ["zakończone"]
365
+ }
366
+ }
367
+ }
368
+ ```
331
369
 
332
370
  ### LLM Enhancement Flow
333
371
 
@@ -359,7 +397,7 @@ The LLM sees a conversation snippet (configurable batch size) and returns:
359
397
 
360
398
  ```bash
361
399
  npm install
362
- npm test # 288 tests
400
+ npm test # 516 tests
363
401
  npm run typecheck # TypeScript strict mode
364
402
  npm run build # Compile to dist/
365
403
  ```
@@ -371,7 +409,7 @@ npm run build # Compile to dist/
371
409
  - LLM enhancement: async, batched, fire-and-forget (never blocks hooks)
372
410
  - Atomic file writes via `.tmp` + rename
373
411
  - Noise filter prevents garbage threads from polluting state
374
- - Tested with 288 unit + integration tests
412
+ - Tested with 516 unit + integration tests
375
413
 
376
414
  ## Architecture
377
415
 
@@ -385,12 +423,11 @@ MIT — see [LICENSE](LICENSE)
385
423
 
386
424
  | # | Plugin | Status | Description |
387
425
  |---|--------|--------|-------------|
388
- | 1 | [@vainplex/nats-eventstore](https://github.com/alberthild/openclaw-nats-eventstore) | ✅ Published | NATS JetStream event persistence |
389
- | 2 | **@vainplex/openclaw-cortex** | ✅ Published | Conversation intelligence — threads, decisions, boot context (this plugin) |
390
- | 3 | [@vainplex/openclaw-knowledge-engine](https://github.com/alberthild/openclaw-knowledge-engine) | ✅ Published | Real-time knowledge extraction |
391
- | 4 | @vainplex/openclaw-governance | 📋 Planned | Policy enforcement + guardrails |
392
- | 5 | @vainplex/openclaw-memory-engine | 📋 Planned | Unified memory layer |
393
- | 6 | @vainplex/openclaw-health-monitor | 📋 Planned | System health + auto-healing |
426
+ | 1 | [@vainplex/nats-eventstore](https://github.com/alberthild/vainplex-openclaw/tree/main/packages/openclaw-nats-eventstore) | ✅ Published | NATS JetStream event persistence |
427
+ | 2 | **@vainplex/openclaw-cortex** | ✅ Published | Conversation intelligence — threads, decisions, boot context, 10 languages (this plugin) |
428
+ | 3 | [@vainplex/openclaw-knowledge-engine](https://github.com/alberthild/vainplex-openclaw/tree/main/packages/openclaw-knowledge-engine) | ✅ Published | Real-time knowledge extraction |
429
+ | 4 | [@vainplex/openclaw-governance](https://github.com/alberthild/vainplex-openclaw/tree/main/packages/openclaw-governance) | Published | Policy-as-code engine trust scoring, audit trail, production safeguards |
430
+ | 5 | @vainplex/openclaw-health-monitor | 📋 Planned | System health + auto-healing |
394
431
 
395
432
  ## License
396
433
 
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,QAAQ,EAAE,YAuCtB,CAAC;AAoBF,wBAAgB,aAAa,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,CAkDlF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EACpB,GAAG,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9B,MAAM,CAIR"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,QAAQ,EAAE,YAuCtB,CAAC;AA6CF,wBAAgB,aAAa,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,CAmDlF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EACpB,GAAG,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9B,MAAM,CAIR"}
@@ -52,8 +52,34 @@ function str(value, fallback) {
52
52
  function lang(value) {
53
53
  if (value === "en" || value === "de" || value === "both")
54
54
  return value;
55
+ if (value === "all")
56
+ return "all";
57
+ if (typeof value === "string")
58
+ return value;
59
+ if (Array.isArray(value) && value.every(v => typeof v === "string")) {
60
+ return value;
61
+ }
55
62
  return "both";
56
63
  }
64
+ function resolveCustomPatterns(value) {
65
+ if (!value || typeof value !== "object")
66
+ return undefined;
67
+ const raw = value;
68
+ const strArr = (v) => {
69
+ if (!Array.isArray(v))
70
+ return undefined;
71
+ return v.filter((s) => typeof s === "string");
72
+ };
73
+ return {
74
+ decision: strArr(raw.decision),
75
+ close: strArr(raw.close),
76
+ wait: strArr(raw.wait),
77
+ topic: strArr(raw.topic),
78
+ topicBlacklist: strArr(raw.topicBlacklist),
79
+ highImpactKeywords: strArr(raw.highImpactKeywords),
80
+ mode: raw.mode === "override" ? "override" : "extend",
81
+ };
82
+ }
57
83
  export function resolveConfig(pluginConfig) {
58
84
  const raw = pluginConfig ?? {};
59
85
  const tt = (raw.threadTracker ?? {});
@@ -93,6 +119,7 @@ export function resolveConfig(pluginConfig) {
93
119
  },
94
120
  patterns: {
95
121
  language: lang(pt.language),
122
+ custom: resolveCustomPatterns(pt.custom),
96
123
  },
97
124
  llm: {
98
125
  enabled: bool(lm.enabled, DEFAULTS.llm.enabled),
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Public API re-exports for the patterns module.
3
+ * Backward-compatible with the original src/patterns.ts API.
4
+ */
5
+ export { PatternRegistry, BUILTIN_LANGUAGES } from "./registry.js";
6
+ export type { LanguagePack, PatternSet, CustomPatternConfig } from "./types.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/patterns/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACnE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Public API re-exports for the patterns module.
3
+ * Backward-compatible with the original src/patterns.ts API.
4
+ */
5
+ export { PatternRegistry, BUILTIN_LANGUAGES } from "./registry.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/patterns/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { LanguagePack } from "./types.js";
2
+ export declare const LANG_DE: LanguagePack;
3
+ export default LANG_DE;
4
+ //# sourceMappingURL=lang-de.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lang-de.d.ts","sourceRoot":"","sources":["../../../src/patterns/lang-de.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,OAAO,EAAE,YA6CrB,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,43 @@
1
+ export const LANG_DE = {
2
+ code: "de",
3
+ name: "Deutsch",
4
+ nameEn: "German",
5
+ patterns: {
6
+ decision: [
7
+ /(?:entschieden|beschlossen|machen wir|wir machen|der plan ist|ansatz:)/i,
8
+ ],
9
+ close: [
10
+ /(?:^|\s)(?:ist |schon )?(?:erledigt|gefixt|gelöst|fertig)(?:\s|[.!]|$)/i,
11
+ /(?:^|\s)(?:es |das )funktioniert(?:\s|[.!]|$)/i,
12
+ ],
13
+ wait: [
14
+ /(?:warte auf|blockiert durch|brauche.*erst)/i,
15
+ ],
16
+ topic: [
17
+ /(?:zurück zu|jetzt zu|bzgl\.?|wegen|lass uns (?:über|mal))\s+(?:dem?|die|das)?\s*(\w[\w\s-]{3,40})/i,
18
+ ],
19
+ },
20
+ topicBlacklist: [
21
+ "das", "die", "der", "es", "was", "hier", "dort",
22
+ "nichts", "etwas", "alles",
23
+ "mir", "dir", "ihm", "uns",
24
+ "heute", "morgen", "gestern",
25
+ "noch", "schon", "jetzt", "dann", "also", "aber", "oder",
26
+ ],
27
+ highImpactKeywords: [
28
+ "architektur", "sicherheit", "migration", "löschen",
29
+ "produktion", "kritisch", "strategie", "vertrag",
30
+ ],
31
+ moodPatterns: {
32
+ frustrated: /(?:mist|nervig|genervt|schon wieder|zum kotzen)/i,
33
+ excited: /(?:geil|krass|boom|läuft|perfekt|mega)/i,
34
+ tense: /(?:vorsicht|heikel|kritisch|dringend|achtung|gefährlich)/i,
35
+ productive: /(?:erledigt|fertig|gebaut|läuft)/i,
36
+ exploratory: /(?:was wäre wenn|könnte man|idee|vielleicht)/i,
37
+ },
38
+ noisePrefixes: [
39
+ "ich", "wir", "du", "er", "sie", "es", "nichts", "etwas",
40
+ ],
41
+ };
42
+ export default LANG_DE;
43
+ //# sourceMappingURL=lang-de.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lang-de.js","sourceRoot":"","sources":["../../../src/patterns/lang-de.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAiB;IACnC,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,QAAQ;IAEhB,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,yEAAyE;SAC1E;QACD,KAAK,EAAE;YACL,yEAAyE;YACzE,gDAAgD;SACjD;QACD,IAAI,EAAE;YACJ,8CAA8C;SAC/C;QACD,KAAK,EAAE;YACL,qGAAqG;SACtG;KACF;IAED,cAAc,EAAE;QACd,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM;QAChD,QAAQ,EAAE,OAAO,EAAE,OAAO;QAC1B,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;QAC1B,OAAO,EAAE,QAAQ,EAAE,SAAS;QAC5B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KACzD;IAED,kBAAkB,EAAE;QAClB,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS;QACnD,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS;KACjD;IAED,YAAY,EAAE;QACZ,UAAU,EAAE,kDAAkD;QAC9D,OAAO,EAAE,yCAAyC;QAClD,KAAK,EAAE,2DAA2D;QAClE,UAAU,EAAE,mCAAmC;QAC/C,WAAW,EAAE,+CAA+C;KAC7D;IAED,aAAa,EAAE;QACb,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO;KACzD;CACF,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { LanguagePack } from "./types.js";
2
+ export declare const LANG_EN: LanguagePack;
3
+ export default LANG_EN;
4
+ //# sourceMappingURL=lang-en.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lang-en.d.ts","sourceRoot":"","sources":["../../../src/patterns/lang-en.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,OAAO,EAAE,YA8CrB,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,44 @@
1
+ export const LANG_EN = {
2
+ code: "en",
3
+ name: "English",
4
+ nameEn: "English",
5
+ patterns: {
6
+ decision: [
7
+ /(?:decided|decision|agreed|let'?s do|the plan is|approach:)/i,
8
+ ],
9
+ close: [
10
+ /(?:^|\s)(?:is |it's |that's |all )?(?:done|fixed|solved|closed)(?:\s|[.!]|$)/i,
11
+ /(?:^|\s)(?:it |that )works(?:\s|[.!]|$)/i,
12
+ /✅/,
13
+ ],
14
+ wait: [
15
+ /(?:waiting for|blocked by|need.*first)/i,
16
+ ],
17
+ topic: [
18
+ /(?:back to|now about|regarding|let's (?:talk|discuss|look at))\s+(?:the\s+)?(\w[\w\s-]{3,40})/i,
19
+ ],
20
+ },
21
+ topicBlacklist: [
22
+ "it", "that", "this", "the", "them", "what", "which", "there",
23
+ "nothing", "something", "everything",
24
+ "me", "you", "him", "her", "us",
25
+ "today", "tomorrow", "yesterday",
26
+ ],
27
+ highImpactKeywords: [
28
+ "architecture", "security", "migration", "delete",
29
+ "production", "deploy", "breaking", "major",
30
+ "critical", "strategy", "budget", "contract",
31
+ ],
32
+ moodPatterns: {
33
+ frustrated: /(?:fuck|shit|damn|sucks)/i,
34
+ excited: /(?:nice|awesome|brilliant|sick)/i,
35
+ tense: /(?:careful|risky|urgent)/i,
36
+ productive: /(?:done|fixed|works|deployed|shipped)/i,
37
+ exploratory: /(?:what if|idea|maybe|experiment)/i,
38
+ },
39
+ noisePrefixes: [
40
+ "i", "we", "he", "she", "it", "nothing", "something",
41
+ ],
42
+ };
43
+ export default LANG_EN;
44
+ //# sourceMappingURL=lang-en.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lang-en.js","sourceRoot":"","sources":["../../../src/patterns/lang-en.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,8DAA8D;SAC/D;QACD,KAAK,EAAE;YACL,+EAA+E;YAC/E,0CAA0C;YAC1C,GAAG;SACJ;QACD,IAAI,EAAE;YACJ,yCAAyC;SAC1C;QACD,KAAK,EAAE;YACL,gGAAgG;SACjG;KACF;IAED,cAAc,EAAE;QACd,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;QAC7D,SAAS,EAAE,WAAW,EAAE,YAAY;QACpC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI;QAC/B,OAAO,EAAE,UAAU,EAAE,WAAW;KACjC;IAED,kBAAkB,EAAE;QAClB,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ;QACjD,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO;QAC3C,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU;KAC7C;IAED,YAAY,EAAE;QACZ,UAAU,EAAE,2BAA2B;QACvC,OAAO,EAAE,kCAAkC;QAC3C,KAAK,EAAE,2BAA2B;QAClC,UAAU,EAAE,wCAAwC;QACpD,WAAW,EAAE,oCAAoC;KAClD;IAED,aAAa,EAAE;QACb,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW;KACrD;CACF,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { LanguagePack } from "./types.js";
2
+ export declare const LANG_ES: LanguagePack;
3
+ export default LANG_ES;
4
+ //# sourceMappingURL=lang-es.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lang-es.d.ts","sourceRoot":"","sources":["../../../src/patterns/lang-es.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_ES = {
2
+ code: "es",
3
+ name: "Español",
4
+ nameEn: "Spanish",
5
+ patterns: {
6
+ decision: [
7
+ /(?:decidido|decisión|hagamos|el plan es|enfoque:)/i,
8
+ /(?:acordado|optamos por|elegimos|vamos con)/i,
9
+ ],
10
+ close: [
11
+ /(?:^|\s)(?:está |ya )?(?:hecho|resuelto|cerrado|terminado|listo)(?:\s|[.!]|$)/i,
12
+ /(?:^|\s)(?:ya )?funciona(?:\s|[.!]|$)/i,
13
+ ],
14
+ wait: [
15
+ /(?:esperando|bloqueado por|necesitamos.*primero)/i,
16
+ /(?:pendiente de|falta.*antes)/i,
17
+ ],
18
+ topic: [
19
+ /(?:volvamos a|ahora sobre|respecto a|hablemos de|en cuanto a)\s+(?:el |la |los |las )?([a-záéíóúñüA-ZÁÉÍÓÚÑÜ\w][a-záéíóúñüA-ZÁÉÍÓÚÑÜ\w\s-]{3,40})/i,
20
+ ],
21
+ },
22
+ topicBlacklist: [
23
+ "el", "la", "los", "las", "un", "una", "unos", "unas",
24
+ "esto", "eso", "aquello", "ese", "esta",
25
+ "yo", "tú", "él", "ella", "nosotros", "ellos", "ellas",
26
+ "nada", "algo", "todo",
27
+ "aquí", "allí", "ahora", "entonces", "pero", "porque",
28
+ "hoy", "mañana", "ayer",
29
+ ],
30
+ highImpactKeywords: [
31
+ "arquitectura", "seguridad", "migración", "eliminar",
32
+ "producción", "desplegar", "crítico", "estrategia",
33
+ "presupuesto", "contrato", "importante",
34
+ ],
35
+ moodPatterns: {
36
+ frustrated: /(?:mierda|joder|hostia|coño|qué asco|me cago)/i,
37
+ excited: /(?:genial|increíble|perfecto|brutal|guay|mola)/i,
38
+ tense: /(?:cuidado|peligroso|urgente|crítico|ojo|atención)/i,
39
+ productive: /(?:hecho|terminado|desplegado|arreglado|listo)/i,
40
+ exploratory: /(?:y si|quizás|idea|a lo mejor|podríamos|probemos)/i,
41
+ },
42
+ noisePrefixes: [
43
+ "yo", "tú", "él", "ella", "nosotros", "nada", "algo",
44
+ ],
45
+ };
46
+ export default LANG_ES;
47
+ //# sourceMappingURL=lang-es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lang-es.js","sourceRoot":"","sources":["../../../src/patterns/lang-es.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,oDAAoD;YACpD,8CAA8C;SAC/C;QACD,KAAK,EAAE;YACL,gFAAgF;YAChF,wCAAwC;SACzC;QACD,IAAI,EAAE;YACJ,mDAAmD;YACnD,gCAAgC;SACjC;QACD,KAAK,EAAE;YACL,oJAAoJ;SACrJ;KACF;IAED,cAAc,EAAE;QACd,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM;QACrD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;QACvC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO;QACtD,MAAM,EAAE,MAAM,EAAE,MAAM;QACtB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ;QACrD,KAAK,EAAE,QAAQ,EAAE,MAAM;KACxB;IAED,kBAAkB,EAAE;QAClB,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU;QACpD,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY;QAClD,aAAa,EAAE,UAAU,EAAE,YAAY;KACxC;IAED,YAAY,EAAE;QACZ,UAAU,EAAE,gDAAgD;QAC5D,OAAO,EAAE,iDAAiD;QAC1D,KAAK,EAAE,qDAAqD;QAC5D,UAAU,EAAE,iDAAiD;QAC7D,WAAW,EAAE,qDAAqD;KACnE;IAED,aAAa,EAAE;QACb,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;KACrD;CACF,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { LanguagePack } from "./types.js";
2
+ export declare const LANG_FR: LanguagePack;
3
+ export default LANG_FR;
4
+ //# sourceMappingURL=lang-fr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lang-fr.d.ts","sourceRoot":"","sources":["../../../src/patterns/lang-fr.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_FR = {
2
+ code: "fr",
3
+ name: "Français",
4
+ nameEn: "French",
5
+ patterns: {
6
+ decision: [
7
+ /(?:décidé|décision|on fait|le plan est|approche\s*:)/i,
8
+ /(?:convenu|arrêté|choisi de|opté pour)/i,
9
+ ],
10
+ close: [
11
+ /(?:^|\s)(?:c'est |est )?(?:fait|terminé|résolu|fermé|fini)(?:\s|[.!]|$)/i,
12
+ /(?:^|\s)(?:ça |il )(?:marche|fonctionne)(?:\s|[.!]|$)/i,
13
+ ],
14
+ wait: [
15
+ /(?:en attente de|bloqué par|il faut d'abord)/i,
16
+ /(?:attend[s]? (?:le|la|les|que)|besoin (?:de|d').*avant)/i,
17
+ ],
18
+ topic: [
19
+ /(?:revenons à|maintenant|concernant|parlons de|à propos de)\s+(?:la?\s+)?([a-zàâçéèêëîïôûùüÿñæœA-ZÀÂÇÉÈÊËÎÏÔÛÙÜŸÑÆŒ\w][a-zàâçéèêëîïôûùüÿñæœA-ZÀÂÇÉÈÊËÎÏÔÛÙÜŸÑÆŒ\w\s-]{3,40})/i,
20
+ ],
21
+ },
22
+ topicBlacklist: [
23
+ "le", "la", "les", "un", "une", "des", "ce", "cette", "ces",
24
+ "il", "elle", "on", "nous", "vous", "ils", "elles",
25
+ "ça", "cela", "rien", "tout", "quelque", "chose",
26
+ "ici", "là", "maintenant", "alors", "donc", "mais", "ou",
27
+ "aujourd'hui", "demain", "hier",
28
+ ],
29
+ highImpactKeywords: [
30
+ "architecture", "sécurité", "migration", "supprimer",
31
+ "production", "déployer", "critique", "stratégie",
32
+ "budget", "contrat", "majeur",
33
+ ],
34
+ moodPatterns: {
35
+ frustrated: /(?:merde|putain|chiant|énervant|bordel|fait chier)/i,
36
+ excited: /(?:génial|super|trop bien|magnifique|parfait|incroyable)/i,
37
+ tense: /(?:attention|risqué|critique|urgent|dangereux|prudence)/i,
38
+ productive: /(?:terminé|fait|déployé|livré|corrigé)/i,
39
+ exploratory: /(?:et si|peut-être|idée|hypothèse|on pourrait|essayons)/i,
40
+ },
41
+ noisePrefixes: [
42
+ "je", "tu", "il", "elle", "on", "nous", "vous", "ils", "elles", "rien", "quelque",
43
+ ],
44
+ };
45
+ export default LANG_FR;
46
+ //# sourceMappingURL=lang-fr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lang-fr.js","sourceRoot":"","sources":["../../../src/patterns/lang-fr.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAiB;IACnC,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,QAAQ;IAEhB,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,uDAAuD;YACvD,yCAAyC;SAC1C;QACD,KAAK,EAAE;YACL,0EAA0E;YAC1E,wDAAwD;SACzD;QACD,IAAI,EAAE;YACJ,+CAA+C;YAC/C,2DAA2D;SAC5D;QACD,KAAK,EAAE;YACL,+KAA+K;SAChL;KACF;IAED,cAAc,EAAE;QACd,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK;QAC3D,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;QAClD,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO;QAChD,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI;QACxD,aAAa,EAAE,QAAQ,EAAE,MAAM;KAChC;IAED,kBAAkB,EAAE;QAClB,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW;QACpD,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW;QACjD,QAAQ,EAAE,SAAS,EAAE,QAAQ;KAC9B;IAED,YAAY,EAAE;QACZ,UAAU,EAAE,qDAAqD;QACjE,OAAO,EAAE,2DAA2D;QACpE,KAAK,EAAE,0DAA0D;QACjE,UAAU,EAAE,yCAAyC;QACrD,WAAW,EAAE,0DAA0D;KACxE;IAED,aAAa,EAAE;QACb,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS;KAClF;CACF,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { LanguagePack } from "./types.js";
2
+ export declare const LANG_IT: LanguagePack;
3
+ export default LANG_IT;
4
+ //# sourceMappingURL=lang-it.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lang-it.d.ts","sourceRoot":"","sources":["../../../src/patterns/lang-it.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_IT = {
2
+ code: "it",
3
+ name: "Italiano",
4
+ nameEn: "Italian",
5
+ patterns: {
6
+ decision: [
7
+ /(?:deciso|decisione|facciamo|il piano è|approccio:)/i,
8
+ /(?:concordato|scelto di|optiamo per|andiamo con)/i,
9
+ ],
10
+ close: [
11
+ /(?:^|\s)(?:è |già )?(?:fatto|risolto|chiuso|terminato|finito)(?:\s|[.!]|$)/i,
12
+ /(?:^|\s)(?:già )?funziona(?:\s|[.!]|$)/i,
13
+ ],
14
+ wait: [
15
+ /(?:aspettando|bloccato da|serve.*prima)/i,
16
+ /(?:in attesa di|manca.*prima)/i,
17
+ ],
18
+ topic: [
19
+ /(?:torniamo a|adesso|riguardo|parliamo di|per quanto riguarda)\s+(?:il |la |lo |i |le |gli )?([a-zàèéìíòóùúA-ZÀÈÉÌÍÒÓÙÚ\w][a-zàèéìíòóùúA-ZÀÈÉÌÍÒÓÙÚ\w\s-]{3,40})/i,
20
+ ],
21
+ },
22
+ topicBlacklist: [
23
+ "il", "la", "lo", "i", "le", "gli", "un", "una", "uno",
24
+ "questo", "quello", "questa", "quella",
25
+ "io", "tu", "lui", "lei", "noi", "loro",
26
+ "niente", "qualcosa", "tutto",
27
+ "qui", "lì", "adesso", "allora", "ma", "perché",
28
+ "oggi", "domani", "ieri",
29
+ ],
30
+ highImpactKeywords: [
31
+ "architettura", "sicurezza", "migrazione", "eliminare",
32
+ "produzione", "deploy", "critico", "strategia",
33
+ "budget", "contratto", "importante",
34
+ ],
35
+ moodPatterns: {
36
+ frustrated: /(?:cazzo|merda|cavolo|che palle|mannaggia|che schifo)/i,
37
+ excited: /(?:fantastico|bellissimo|perfetto|grande|mitico|fichissimo)/i,
38
+ tense: /(?:attenzione|pericoloso|urgente|critico|occhio|prudenza)/i,
39
+ productive: /(?:fatto|terminato|deployato|sistemato|finito)/i,
40
+ exploratory: /(?:e se|forse|idea|magari|potremmo|proviamo)/i,
41
+ },
42
+ noisePrefixes: [
43
+ "io", "tu", "lui", "lei", "noi", "niente", "qualcosa",
44
+ ],
45
+ };
46
+ export default LANG_IT;
47
+ //# sourceMappingURL=lang-it.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lang-it.js","sourceRoot":"","sources":["../../../src/patterns/lang-it.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAiB;IACnC,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,SAAS;IAEjB,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,sDAAsD;YACtD,mDAAmD;SACpD;QACD,KAAK,EAAE;YACL,6EAA6E;YAC7E,yCAAyC;SAC1C;QACD,IAAI,EAAE;YACJ,0CAA0C;YAC1C,gCAAgC;SACjC;QACD,KAAK,EAAE;YACL,mKAAmK;SACpK;KACF;IAED,cAAc,EAAE;QACd,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK;QACtD,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ;QACtC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM;QACvC,QAAQ,EAAE,UAAU,EAAE,OAAO;QAC7B,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ;QAC/C,MAAM,EAAE,QAAQ,EAAE,MAAM;KACzB;IAED,kBAAkB,EAAE;QAClB,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW;QACtD,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW;QAC9C,QAAQ,EAAE,WAAW,EAAE,YAAY;KACpC;IAED,YAAY,EAAE;QACZ,UAAU,EAAE,wDAAwD;QACpE,OAAO,EAAE,8DAA8D;QACvE,KAAK,EAAE,4DAA4D;QACnE,UAAU,EAAE,iDAAiD;QAC7D,WAAW,EAAE,+CAA+C;KAC7D;IAED,aAAa,EAAE;QACb,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU;KACtD;CACF,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { LanguagePack } from "./types.js";
2
+ export declare const LANG_JA: LanguagePack;
3
+ export default LANG_JA;
4
+ //# sourceMappingURL=lang-ja.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lang-ja.d.ts","sourceRoot":"","sources":["../../../src/patterns/lang-ja.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_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,4 @@
1
+ import type { LanguagePack } from "./types.js";
2
+ export declare const LANG_KO: LanguagePack;
3
+ export default LANG_KO;
4
+ //# sourceMappingURL=lang-ko.d.ts.map
@@ -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"}