@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.
Files changed (72) hide show
  1. package/README.md +13 -3
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +3 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/config-loader.d.ts +23 -0
  6. package/dist/src/config-loader.d.ts.map +1 -0
  7. package/dist/src/config-loader.js +105 -0
  8. package/dist/src/config-loader.js.map +1 -0
  9. package/dist/src/config.d.ts.map +1 -1
  10. package/dist/src/config.js +27 -0
  11. package/dist/src/config.js.map +1 -1
  12. package/dist/src/patterns/index.d.ts +7 -0
  13. package/dist/src/patterns/index.d.ts.map +1 -0
  14. package/dist/src/patterns/index.js +6 -0
  15. package/dist/src/patterns/index.js.map +1 -0
  16. package/dist/src/patterns/lang-de.d.ts +4 -0
  17. package/dist/src/patterns/lang-de.d.ts.map +1 -0
  18. package/dist/src/patterns/lang-de.js +43 -0
  19. package/dist/src/patterns/lang-de.js.map +1 -0
  20. package/dist/src/patterns/lang-en.d.ts +4 -0
  21. package/dist/src/patterns/lang-en.d.ts.map +1 -0
  22. package/dist/src/patterns/lang-en.js +44 -0
  23. package/dist/src/patterns/lang-en.js.map +1 -0
  24. package/dist/src/patterns/lang-es.d.ts +4 -0
  25. package/dist/src/patterns/lang-es.d.ts.map +1 -0
  26. package/dist/src/patterns/lang-es.js +47 -0
  27. package/dist/src/patterns/lang-es.js.map +1 -0
  28. package/dist/src/patterns/lang-fr.d.ts +4 -0
  29. package/dist/src/patterns/lang-fr.d.ts.map +1 -0
  30. package/dist/src/patterns/lang-fr.js +46 -0
  31. package/dist/src/patterns/lang-fr.js.map +1 -0
  32. package/dist/src/patterns/lang-it.d.ts +4 -0
  33. package/dist/src/patterns/lang-it.d.ts.map +1 -0
  34. package/dist/src/patterns/lang-it.js +47 -0
  35. package/dist/src/patterns/lang-it.js.map +1 -0
  36. package/dist/src/patterns/lang-ja.d.ts +4 -0
  37. package/dist/src/patterns/lang-ja.d.ts.map +1 -0
  38. package/dist/src/patterns/lang-ja.js +46 -0
  39. package/dist/src/patterns/lang-ja.js.map +1 -0
  40. package/dist/src/patterns/lang-ko.d.ts +4 -0
  41. package/dist/src/patterns/lang-ko.d.ts.map +1 -0
  42. package/dist/src/patterns/lang-ko.js +46 -0
  43. package/dist/src/patterns/lang-ko.js.map +1 -0
  44. package/dist/src/patterns/lang-pt.d.ts +4 -0
  45. package/dist/src/patterns/lang-pt.d.ts.map +1 -0
  46. package/dist/src/patterns/lang-pt.js +47 -0
  47. package/dist/src/patterns/lang-pt.js.map +1 -0
  48. package/dist/src/patterns/lang-ru.d.ts +4 -0
  49. package/dist/src/patterns/lang-ru.d.ts.map +1 -0
  50. package/dist/src/patterns/lang-ru.js +46 -0
  51. package/dist/src/patterns/lang-ru.js.map +1 -0
  52. package/dist/src/patterns/lang-zh.d.ts +4 -0
  53. package/dist/src/patterns/lang-zh.d.ts.map +1 -0
  54. package/dist/src/patterns/lang-zh.js +46 -0
  55. package/dist/src/patterns/lang-zh.js.map +1 -0
  56. package/dist/src/patterns/registry.d.ts +38 -0
  57. package/dist/src/patterns/registry.d.ts.map +1 -0
  58. package/dist/src/patterns/registry.js +220 -0
  59. package/dist/src/patterns/registry.js.map +1 -0
  60. package/dist/src/patterns/types.d.ts +53 -0
  61. package/dist/src/patterns/types.d.ts.map +1 -0
  62. package/dist/src/patterns/types.js +2 -0
  63. package/dist/src/patterns/types.js.map +1 -0
  64. package/dist/src/patterns.d.ts +12 -12
  65. package/dist/src/patterns.d.ts.map +1 -1
  66. package/dist/src/patterns.js +39 -88
  67. package/dist/src/patterns.js.map +1 -1
  68. package/dist/src/types.d.ts +10 -1
  69. package/dist/src/types.d.ts.map +1 -1
  70. package/dist/src/types.js.map +1 -1
  71. package/openclaw.plugin.json +6 -2
  72. package/package.json +4 -3
package/README.md CHANGED
@@ -381,7 +381,17 @@ See [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) for the full design document in
381
381
 
382
382
  MIT — see [LICENSE](LICENSE)
383
383
 
384
- ## Related
384
+ ## Part of the Vainplex Plugin Suite
385
385
 
386
- - [@vainplex/nats-eventstore](https://www.npmjs.com/package/@vainplex/nats-eventstore) Publish OpenClaw events to NATS JetStream
387
- - [OpenClaw](https://github.com/openclaw/openclaw) — Multi-channel AI gateway
386
+ | # | Plugin | Status | Description |
387
+ |---|--------|--------|-------------|
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 |
394
+
395
+ ## License
396
+
397
+ MIT — see [LICENSE](LICENSE)
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAe,MAAM,gBAAgB,CAAC;AAErE,QAAA,MAAM,MAAM;;;;;kBAOI,iBAAiB;CA8ChC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAe,MAAM,gBAAgB,CAAC;AAErE,QAAA,MAAM,MAAM;;;;;kBAOI,iBAAiB;CA8ChC,CAAC;AAEF,eAAe,MAAM,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { registerCortexHooks } from "./src/hooks.js";
2
- import { resolveConfig, resolveWorkspace } from "./src/config.js";
2
+ import { resolveWorkspace } from "./src/config.js";
3
+ import { loadConfig } from "./src/config-loader.js";
3
4
  import { loadJson, rebootDir } from "./src/storage.js";
4
5
  const plugin = {
5
6
  id: "openclaw-cortex",
@@ -7,7 +8,7 @@ const plugin = {
7
8
  description: "Conversation intelligence — thread tracking, decision extraction, boot context, pre-compaction snapshots",
8
9
  version: "0.1.0",
9
10
  register(api) {
10
- const config = resolveConfig(api.pluginConfig);
11
+ const { config } = loadConfig(api.pluginConfig, api.logger);
11
12
  if (!config.enabled) {
12
13
  api.logger.info("[cortex] Disabled via config");
13
14
  return;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGvD,MAAM,MAAM,GAAG;IACb,EAAE,EAAE,iBAAiB;IACrB,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACT,0GAA0G;IAC5G,OAAO,EAAE,OAAO;IAEhB,QAAQ,CAAC,GAAsB;QAC7B,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAE/C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QAED,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QAE3E,6BAA6B;QAC7B,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAEjC,iCAAiC;QACjC,GAAG,CAAC,eAAe,CAAC;YAClB,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,4DAA4D;YACzE,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBAC3C,MAAM,IAAI,GAAG,QAAQ,CACnB,GAAG,SAAS,CAAC,SAAS,CAAC,eAAe,CACvC,CAAC;oBACF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;oBACnC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;oBAClE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;oBACtE,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC;oBAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC;oBAExC,OAAO;wBACL,IAAI,EAAE;4BACJ,mBAAmB;4BACnB,YAAY,SAAS,UAAU,WAAW,SAAS;4BACnD,SAAS,IAAI,EAAE;4BACf,YAAY,OAAO,EAAE;yBACtB,CAAC,IAAI,CAAC,IAAI,CAAC;qBACb,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,EAAE,IAAI,EAAE,4CAA4C,EAAE,CAAC;gBAChE,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGvD,MAAM,MAAM,GAAG;IACb,EAAE,EAAE,iBAAiB;IACrB,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACT,0GAA0G;IAC5G,OAAO,EAAE,OAAO;IAEhB,QAAQ,CAAC,GAAsB;QAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAE5D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QAED,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QAE3E,6BAA6B;QAC7B,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAEjC,iCAAiC;QACjC,GAAG,CAAC,eAAe,CAAC;YAClB,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,4DAA4D;YACzE,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBAC3C,MAAM,IAAI,GAAG,QAAQ,CACnB,GAAG,SAAS,CAAC,SAAS,CAAC,eAAe,CACvC,CAAC;oBACF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;oBACnC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;oBAClE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;oBACtE,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC;oBAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC;oBAExC,OAAO;wBACL,IAAI,EAAE;4BACJ,mBAAmB;4BACnB,YAAY,SAAS,UAAU,WAAW,SAAS;4BACnD,SAAS,IAAI,EAAE;4BACf,YAAY,OAAO,EAAE;yBACtB,CAAC,IAAI,CAAC,IAAI,CAAC;qBACb,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,EAAE,IAAI,EAAE,4CAA4C,EAAE,CAAC;gBAChE,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { CortexConfig, PluginLogger } from "./types.js";
2
+ /** Minimal inline config that lives in openclaw.json */
3
+ export interface InlineConfig {
4
+ readonly enabled?: boolean;
5
+ /** Override path to external config file */
6
+ readonly configPath?: string;
7
+ }
8
+ export interface ConfigLoadResult {
9
+ readonly config: CortexConfig;
10
+ readonly source: "inline" | "file" | "defaults";
11
+ readonly filePath?: string;
12
+ }
13
+ /**
14
+ * Load cortex config with the following priority:
15
+ *
16
+ * 1. Legacy inline config (full config in openclaw.json) → use it directly
17
+ * 2. External file (configPath or default location) → read + resolve
18
+ * 3. Graceful defaults → everything enabled, fail-open
19
+ *
20
+ * NEVER throws. Worst case: returns defaults with a warning.
21
+ */
22
+ export declare function loadConfig(pluginConfig: Record<string, unknown> | undefined, logger: PluginLogger): ConfigLoadResult;
23
+ //# sourceMappingURL=config-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/config-loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG7D,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,4CAA4C;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAsFD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACjD,MAAM,EAAE,YAAY,GACnB,gBAAgB,CAkClB"}
@@ -0,0 +1,105 @@
1
+ import { readFileSync, existsSync, mkdirSync, writeFileSync } from "node:fs";
2
+ import { join, dirname } from "node:path";
3
+ import { resolveConfig, DEFAULTS } from "./config.js";
4
+ const DEFAULT_CONFIG_DIR = join(process.env["HOME"] ?? "/tmp", ".openclaw", "plugins", "openclaw-cortex");
5
+ const DEFAULT_CONFIG_FILENAME = "config.json";
6
+ function isRecord(v) {
7
+ return typeof v === "object" && v !== null && !Array.isArray(v);
8
+ }
9
+ /**
10
+ * Determine whether pluginConfig is a full (legacy) inline config
11
+ * or just the minimal inline pointer.
12
+ *
13
+ * Heuristic: if it has keys beyond `enabled` and `configPath`,
14
+ * treat it as legacy inline config.
15
+ */
16
+ function isLegacyInlineConfig(raw) {
17
+ const inlineOnlyKeys = new Set(["enabled", "configPath"]);
18
+ return Object.keys(raw).some((k) => !inlineOnlyKeys.has(k));
19
+ }
20
+ /**
21
+ * Read and parse a JSON file. Returns null on any error.
22
+ */
23
+ function readJsonFile(path, logger) {
24
+ try {
25
+ if (!existsSync(path))
26
+ return null;
27
+ const raw = readFileSync(path, "utf-8");
28
+ const parsed = JSON.parse(raw);
29
+ if (!isRecord(parsed)) {
30
+ logger.warn(`[cortex] Config file is not an object: ${path}`);
31
+ return null;
32
+ }
33
+ return parsed;
34
+ }
35
+ catch (e) {
36
+ logger.warn(`[cortex] Failed to read config file ${path}: ${e instanceof Error ? e.message : String(e)}`);
37
+ return null;
38
+ }
39
+ }
40
+ /**
41
+ * Apply inline `enabled` override to a file-loaded config (immutably).
42
+ */
43
+ function applyInlineOverrides(fileConfig, inline) {
44
+ if (typeof inline["enabled"] === "boolean") {
45
+ return { ...fileConfig, enabled: inline["enabled"] };
46
+ }
47
+ return fileConfig;
48
+ }
49
+ /**
50
+ * Bootstrap a default config file and return its contents.
51
+ * Returns null if writing or reading back fails.
52
+ */
53
+ function bootstrapConfig(path, logger) {
54
+ try {
55
+ const dir = dirname(path);
56
+ if (!existsSync(dir))
57
+ mkdirSync(dir, { recursive: true });
58
+ writeFileSync(path, JSON.stringify(DEFAULTS, null, 2) + "\n", "utf-8");
59
+ logger.info(`[cortex] Created default config at ${path}`);
60
+ return readJsonFile(path, logger);
61
+ }
62
+ catch (e) {
63
+ logger.warn(`[cortex] Failed to write default config: ${e instanceof Error ? e.message : String(e)}`);
64
+ return null;
65
+ }
66
+ }
67
+ /**
68
+ * Load cortex config with the following priority:
69
+ *
70
+ * 1. Legacy inline config (full config in openclaw.json) → use it directly
71
+ * 2. External file (configPath or default location) → read + resolve
72
+ * 3. Graceful defaults → everything enabled, fail-open
73
+ *
74
+ * NEVER throws. Worst case: returns defaults with a warning.
75
+ */
76
+ export function loadConfig(pluginConfig, logger) {
77
+ const raw = pluginConfig ?? {};
78
+ // Priority 1: Legacy inline config (backward compatible)
79
+ if (isLegacyInlineConfig(raw)) {
80
+ logger.info("[cortex] Using inline config from openclaw.json");
81
+ return { config: resolveConfig(raw), source: "inline" };
82
+ }
83
+ // Priority 2: External config file
84
+ const configPath = typeof raw["configPath"] === "string"
85
+ ? raw["configPath"]
86
+ : join(DEFAULT_CONFIG_DIR, DEFAULT_CONFIG_FILENAME);
87
+ const fileConfig = readJsonFile(configPath, logger);
88
+ if (fileConfig !== null) {
89
+ const merged = applyInlineOverrides(fileConfig, raw);
90
+ logger.info(`[cortex] Loaded config from ${configPath}`);
91
+ return { config: resolveConfig(merged), source: "file", filePath: configPath };
92
+ }
93
+ // File missing → bootstrap with defaults
94
+ if (!existsSync(configPath)) {
95
+ const bootstrapped = bootstrapConfig(configPath, logger);
96
+ if (bootstrapped !== null) {
97
+ const merged = applyInlineOverrides(bootstrapped, raw);
98
+ return { config: resolveConfig(merged), source: "file", filePath: configPath };
99
+ }
100
+ }
101
+ // Priority 3: Graceful defaults (file broken or unwritable)
102
+ logger.warn("[cortex] Falling back to default config");
103
+ return { config: resolveConfig(undefined), source: "defaults" };
104
+ }
105
+ //# sourceMappingURL=config-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/config-loader.ts"],"names":[],"mappings":"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"}
@@ -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":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAiB;IACpC,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,EAAE;IACb,aAAa,EAAE;QACb,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,EAAE;KACf;IACD,eAAe,EAAE;QACf,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,GAAG;QACjB,iBAAiB,EAAE,EAAE;KACtB;IACD,WAAW,EAAE;QACX,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,KAAK;QACf,cAAc,EAAE,IAAI;QACpB,gBAAgB,EAAE,CAAC;QACnB,kBAAkB,EAAE,EAAE;QACtB,mBAAmB,EAAE,EAAE;KACxB;IACD,aAAa,EAAE;QACb,OAAO,EAAE,IAAI;QACb,mBAAmB,EAAE,EAAE;KACxB;IACD,SAAS,EAAE;QACT,OAAO,EAAE,IAAI;KACd;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM;KACjB;IACD,GAAG,EAAE;QACH,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,2BAA2B;QACrC,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,CAAC;KACb;CACF,CAAC;AAEF,SAAS,IAAI,CAAC,KAAc,EAAE,QAAiB;IAC7C,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACvD,CAAC;AAED,SAAS,GAAG,CAAC,KAAc,EAAE,QAAgB;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,GAAG,CAAC,KAAc,EAAE,QAAgB;IAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtD,CAAC;AAED,SAAS,IAAI,CAAC,KAAc;IAC1B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACvE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,YAAsC;IAClE,MAAM,GAAG,GAAG,YAAY,IAAI,EAAE,CAAC;IAC/B,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAA4B,CAAC;IAChE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAA4B,CAAC;IAClE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAA4B,CAAC;IAC9D,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAA4B,CAAC;IAChE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAA4B,CAAC;IAC5D,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAA4B,CAAC;IAC3D,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAA4B,CAAC;IAEtD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;QAC5C,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC;QACjD,aAAa,EAAE;YACb,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;YACzD,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC;YAC9D,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC;SAClE;QACD,eAAe,EAAE;YACf,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC;YAC3D,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC;YACzE,iBAAiB,EAAE,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAE,QAAQ,CAAC,eAAe,CAAC,iBAAiB,CAAC;SACzF;QACD,WAAW,EAAE;YACX,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC;YACvD,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzD,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC;YAC5E,gBAAgB,EAAE,GAAG,CAAC,EAAE,CAAC,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAAC,gBAAgB,CAAC;YACjF,kBAAkB,EAAE,GAAG,CAAC,EAAE,CAAC,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAAC,kBAAkB,CAAC;YACvF,mBAAmB,EAAE,GAAG,CAAC,EAAE,CAAC,mBAAmB,EAAE,QAAQ,CAAC,WAAW,CAAC,mBAAmB,CAAC;SAC3F;QACD,aAAa,EAAE;YACb,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;YACzD,mBAAmB,EAAE,GAAG,CAAC,EAAE,CAAC,mBAAmB,EAAE,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC;SAC7F;QACD,SAAS,EAAE;YACT,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC;SACtD;QACD,QAAQ,EAAE;YACR,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;SAC5B;QACD,GAAG,EAAE;YACH,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;YAC/C,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;YACjD,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;YACxC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;YAC3C,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;YACpD,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;SACrD;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAoB,EACpB,GAA+B;IAE/B,IAAI,MAAM,CAAC,SAAS;QAAE,OAAO,MAAM,CAAC,SAAS,CAAC;IAC9C,IAAI,GAAG,EAAE,YAAY;QAAE,OAAO,GAAG,CAAC,YAAY,CAAC;IAC/C,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AACpD,CAAC"}
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"}