@stevenvo780/autologic 2.0.0 → 2.2.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 (105) hide show
  1. package/README.md +2 -0
  2. package/dist/atoms/index.d.ts +1 -1
  3. package/dist/atoms/index.d.ts.map +1 -1
  4. package/dist/atoms/index.js +91 -3
  5. package/dist/atoms/index.js.map +1 -1
  6. package/dist/atoms/keyword-extractor.d.ts +9 -0
  7. package/dist/atoms/keyword-extractor.d.ts.map +1 -1
  8. package/dist/atoms/keyword-extractor.js +64 -2
  9. package/dist/atoms/keyword-extractor.js.map +1 -1
  10. package/dist/atoms/math-parser.d.ts +11 -0
  11. package/dist/atoms/math-parser.d.ts.map +1 -0
  12. package/dist/atoms/math-parser.js +44 -0
  13. package/dist/atoms/math-parser.js.map +1 -0
  14. package/dist/compiler-frontend.d.ts +9 -0
  15. package/dist/compiler-frontend.d.ts.map +1 -0
  16. package/dist/compiler-frontend.js +142 -0
  17. package/dist/compiler-frontend.js.map +1 -0
  18. package/dist/context/discourse-state.d.ts +10 -0
  19. package/dist/context/discourse-state.d.ts.map +1 -0
  20. package/dist/context/discourse-state.js +26 -0
  21. package/dist/context/discourse-state.js.map +1 -0
  22. package/dist/discourse/markers-es.d.ts.map +1 -1
  23. package/dist/discourse/markers-es.js +23 -0
  24. package/dist/discourse/markers-es.js.map +1 -1
  25. package/dist/discourse/pattern-detector.d.ts.map +1 -1
  26. package/dist/discourse/pattern-detector.js +2 -1
  27. package/dist/discourse/pattern-detector.js.map +1 -1
  28. package/dist/discourse/role-classifier.js +38 -6
  29. package/dist/discourse/role-classifier.js.map +1 -1
  30. package/dist/formalize.d.ts +16 -0
  31. package/dist/formalize.d.ts.map +1 -1
  32. package/dist/formalize.js +128 -0
  33. package/dist/formalize.js.map +1 -1
  34. package/dist/formula/argument-builder.d.ts.map +1 -1
  35. package/dist/formula/argument-builder.js +124 -15
  36. package/dist/formula/argument-builder.js.map +1 -1
  37. package/dist/formula/ast-compiler.d.ts +6 -0
  38. package/dist/formula/ast-compiler.d.ts.map +1 -0
  39. package/dist/formula/ast-compiler.js +105 -0
  40. package/dist/formula/ast-compiler.js.map +1 -0
  41. package/dist/formula/ast.d.ts +81 -0
  42. package/dist/formula/ast.d.ts.map +1 -0
  43. package/dist/formula/ast.js +52 -0
  44. package/dist/formula/ast.js.map +1 -0
  45. package/dist/formula/connectors.js +1 -1
  46. package/dist/formula/connectors.js.map +1 -1
  47. package/dist/formula/first-order.js +74 -7
  48. package/dist/formula/first-order.js.map +1 -1
  49. package/dist/formula/helpers.d.ts +8 -0
  50. package/dist/formula/helpers.d.ts.map +1 -0
  51. package/dist/formula/helpers.js +166 -0
  52. package/dist/formula/helpers.js.map +1 -0
  53. package/dist/formula/index.d.ts +1 -0
  54. package/dist/formula/index.d.ts.map +1 -1
  55. package/dist/formula/index.js +5 -3
  56. package/dist/formula/index.js.map +1 -1
  57. package/dist/formula/modal.d.ts.map +1 -1
  58. package/dist/formula/modal.js +56 -67
  59. package/dist/formula/modal.js.map +1 -1
  60. package/dist/formula/probabilistic.d.ts +3 -0
  61. package/dist/formula/probabilistic.d.ts.map +1 -0
  62. package/dist/formula/probabilistic.js +55 -0
  63. package/dist/formula/probabilistic.js.map +1 -0
  64. package/dist/formula/propositional.d.ts +2 -2
  65. package/dist/formula/propositional.d.ts.map +1 -1
  66. package/dist/formula/propositional.js +99 -88
  67. package/dist/formula/propositional.js.map +1 -1
  68. package/dist/formula/temporal.d.ts.map +1 -1
  69. package/dist/formula/temporal.js +87 -62
  70. package/dist/formula/temporal.js.map +1 -1
  71. package/dist/generator/validator.d.ts +20 -0
  72. package/dist/generator/validator.d.ts.map +1 -1
  73. package/dist/generator/validator.js +112 -0
  74. package/dist/generator/validator.js.map +1 -1
  75. package/dist/index.d.ts +6 -17
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +8 -17
  78. package/dist/index.js.map +1 -1
  79. package/dist/llm-parser.d.ts +29 -0
  80. package/dist/llm-parser.d.ts.map +1 -0
  81. package/dist/llm-parser.js +122 -0
  82. package/dist/llm-parser.js.map +1 -0
  83. package/dist/local-slm-web.d.ts +8 -0
  84. package/dist/local-slm-web.d.ts.map +1 -0
  85. package/dist/local-slm-web.js +87 -0
  86. package/dist/local-slm-web.js.map +1 -0
  87. package/dist/nl-linter/index.d.ts +10 -0
  88. package/dist/nl-linter/index.d.ts.map +1 -0
  89. package/dist/nl-linter/index.js +45 -0
  90. package/dist/nl-linter/index.js.map +1 -0
  91. package/dist/nl-linter/rules.d.ts +6 -0
  92. package/dist/nl-linter/rules.d.ts.map +1 -0
  93. package/dist/nl-linter/rules.js +93 -0
  94. package/dist/nl-linter/rules.js.map +1 -0
  95. package/dist/nl-linter/types.d.ts +14 -0
  96. package/dist/nl-linter/types.d.ts.map +1 -0
  97. package/dist/nl-linter/types.js +3 -0
  98. package/dist/nl-linter/types.js.map +1 -0
  99. package/dist/segmenter/clause-splitter.d.ts.map +1 -1
  100. package/dist/segmenter/clause-splitter.js +208 -10
  101. package/dist/segmenter/clause-splitter.js.map +1 -1
  102. package/dist/types.d.ts +22 -0
  103. package/dist/types.d.ts.map +1 -1
  104. package/package.json +14 -3
  105. package/readme.md +666 -1
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.DEFAULT_RULES = void 0;
18
+ exports.lintNaturalLanguage = lintNaturalLanguage;
19
+ const rules_1 = require("./rules");
20
+ exports.DEFAULT_RULES = [
21
+ rules_1.anaphoricRule,
22
+ rules_1.cognitiveDensityRule,
23
+ rules_1.fuzzyQuantifiersRule,
24
+ rules_1.logicalCompletenessRule
25
+ ];
26
+ /**
27
+ * Escanea de forma asíncrona un texto buscando posibles violaciones de formalización sintiéndose como un Linter "ESLint".
28
+ * Totalmente compatible con ejecución en cliente.
29
+ */
30
+ function lintNaturalLanguage(text, rules = exports.DEFAULT_RULES) {
31
+ if (!text || text.trim() === '')
32
+ return [];
33
+ let diagnostics = [];
34
+ for (const rule of rules) {
35
+ const result = rule.evaluate(text);
36
+ if (result && result.length) {
37
+ diagnostics = diagnostics.concat(result);
38
+ }
39
+ }
40
+ // Ordenar por aparición en el texto
41
+ return diagnostics.sort((a, b) => a.start - b.start);
42
+ }
43
+ __exportStar(require("./types"), exports);
44
+ __exportStar(require("./rules"), exports);
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nl-linter/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAcA,kDAaC;AA1BD,mCAA6G;AAEhG,QAAA,aAAa,GAAa;IACrC,qBAAa;IACb,4BAAoB;IACpB,4BAAoB;IACpB,+BAAuB;CACxB,CAAC;AAEF;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,IAAY,EAAE,QAAkB,qBAAa;IAC/E,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAE3C,IAAI,WAAW,GAAyB,EAAE,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;IACJ,CAAC;IAED,oCAAoC;IACpC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AACvD,CAAC;AAED,0CAAwB;AACxB,0CAAwB"}
@@ -0,0 +1,6 @@
1
+ import type { NLRule } from './types';
2
+ export declare const anaphoricRule: NLRule;
3
+ export declare const cognitiveDensityRule: NLRule;
4
+ export declare const fuzzyQuantifiersRule: NLRule;
5
+ export declare const logicalCompletenessRule: NLRule;
6
+ //# sourceMappingURL=rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/nl-linter/rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAsB,MAAM,SAAS,CAAC;AAG1D,eAAO,MAAM,aAAa,EAAE,MAmB3B,CAAC;AAGF,eAAO,MAAM,oBAAoB,EAAE,MAyBlC,CAAC;AAGF,eAAO,MAAM,oBAAoB,EAAE,MAmBlC,CAAC;AAGF,eAAO,MAAM,uBAAuB,EAAE,MAoBrC,CAAC"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.logicalCompletenessRule = exports.fuzzyQuantifiersRule = exports.cognitiveDensityRule = exports.anaphoricRule = void 0;
4
+ // 1. Ambigüedad Anafórica
5
+ exports.anaphoricRule = {
6
+ id: 'nl-anaphoric-ambiguity',
7
+ name: 'Ambigüedad Anafórica',
8
+ severity: 'warning',
9
+ evaluate: (text) => {
10
+ const diags = [];
11
+ const regex = /\b(este|ese|aquel|el cual|los cuales|lo anterior|su)\b/gi;
12
+ let match;
13
+ while ((match = regex.exec(text)) !== null) {
14
+ diags.push({
15
+ id: 'nl-anaphoric-ambiguity',
16
+ severity: 'warning',
17
+ message: `El pronombre anafórico '${match[1]}' puede confundir al modelo o diluir la abstracción. Si es posible, usa el sujeto explícito.`,
18
+ start: match.index,
19
+ end: match.index + match[0].length
20
+ });
21
+ }
22
+ return diags;
23
+ }
24
+ };
25
+ // 2. Densidad Cognitiva (Oraciones extremadamente largas)
26
+ exports.cognitiveDensityRule = {
27
+ id: 'nl-cognitive-density',
28
+ name: 'Densidad Cognitiva Alta',
29
+ severity: 'warning',
30
+ evaluate: (text) => {
31
+ const diags = [];
32
+ const sentences = text.split(/(?<=[.!?])\s+/);
33
+ let currentOffset = 0;
34
+ for (const sentence of sentences) {
35
+ const wordCount = sentence.split(/\s+/).filter(w => w.length > 0).length;
36
+ if (wordCount > 40) {
37
+ const startIndex = text.indexOf(sentence, currentOffset);
38
+ diags.push({
39
+ id: 'nl-cognitive-density',
40
+ severity: 'warning',
41
+ message: `Oración muy larga (${wordCount} palabras). El contexto semántico formal pierde precisión en oraciones kilométricas sin puntuación. Divídela.`,
42
+ start: startIndex >= 0 ? startIndex : currentOffset,
43
+ end: startIndex >= 0 ? startIndex + sentence.length : currentOffset + sentence.length
44
+ });
45
+ }
46
+ currentOffset += sentence.length;
47
+ }
48
+ return diags;
49
+ }
50
+ };
51
+ // 3. Cuantificación difusa
52
+ exports.fuzzyQuantifiersRule = {
53
+ id: 'nl-fuzzy-quantifier',
54
+ name: 'Cuantificador Difuso',
55
+ severity: 'error',
56
+ evaluate: (text) => {
57
+ const diags = [];
58
+ const regex = /\b(frecuentemente|la mayoría de|casi nunca|a veces|probablemente|en ocasiones)\b/gi;
59
+ let match;
60
+ while ((match = regex.exec(text)) !== null) {
61
+ diags.push({
62
+ id: 'nl-fuzzy-quantifier',
63
+ severity: 'error',
64
+ message: `Término difuso '${match[1]}'. La lógica proposicional exacta requiere condicionales definidos o cuantificadores absolutos (todos, ninguno).`,
65
+ start: match.index,
66
+ end: match.index + match[0].length
67
+ });
68
+ }
69
+ return diags;
70
+ }
71
+ };
72
+ // 4. Completitud lógica (ausencia de conectores de inferencia en textos argumentativos)
73
+ exports.logicalCompletenessRule = {
74
+ id: 'nl-missing-relations',
75
+ name: 'Falta de Relaciones Estructurales',
76
+ severity: 'warning',
77
+ evaluate: (text) => {
78
+ const diags = [];
79
+ const hasConclusion = /\b(por lo tanto|en consecuencia|ergo|luego|se concluye|por ende)\b/i.test(text);
80
+ const hasImplication = /\b(si\s.*entonces|solo si|siempre que)\b/i.test(text);
81
+ if (!hasConclusion && !hasImplication && text.length > 60) {
82
+ diags.push({
83
+ id: 'nl-missing-relations',
84
+ severity: 'warning',
85
+ message: 'El texto carece de conectores lógicos evidentes (ej. "si... entonces", "por lo tanto"). ¿Deseas evaluarlo solo como premisas aisladas?',
86
+ start: 0,
87
+ end: Math.min(text.length, 60)
88
+ });
89
+ }
90
+ return diags;
91
+ }
92
+ };
93
+ //# sourceMappingURL=rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/nl-linter/rules.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export interface NLLinterDiagnostic {
2
+ id: string;
3
+ severity: 'warning' | 'error';
4
+ message: string;
5
+ start: number;
6
+ end: number;
7
+ }
8
+ export interface NLRule {
9
+ id: string;
10
+ name: string;
11
+ severity: 'warning' | 'error';
12
+ evaluate: (text: string) => NLLinterDiagnostic[];
13
+ }
14
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/nl-linter/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,kBAAkB,EAAE,CAAC;CAClD"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/nl-linter/types.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"clause-splitter.d.ts","sourceRoot":"","sources":["../../src/segmenter/clause-splitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,MAAM,EAAkB,QAAQ,EAAc,MAAM,UAAU,CAAC;AAW7E;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAe,GAAG,MAAM,EAAE,CAkElF"}
1
+ {"version":3,"file":"clause-splitter.d.ts","sourceRoot":"","sources":["../../src/segmenter/clause-splitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,MAAM,EAAkB,QAAQ,EAAc,MAAM,UAAU,CAAC;AAW7E;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAe,GAAG,MAAM,EAAE,CA8ElF"}
@@ -16,17 +16,28 @@ function splitClauses(sentence, language = 'es') {
16
16
  const NON_SPLITTING_ROLES = new Set([
17
17
  'negation', 'universal', 'existential',
18
18
  'necessity', 'possibility',
19
+ 'temporal_next', 'temporal_always', 'temporal_eventually',
19
20
  ]);
20
- // Excepción: marcadores largos (>= 4 palabras) pueden dividir
21
+ // Filtrar matches que dividen, pero asegurar que "and"/"or"/"adversative" solo dividan
22
+ // si realmente hay verbos a ambos lados (esto evita destruir oraciones por "y" intrascendentes).
21
23
  const splittingMatches = allMatches.filter(m => {
22
- if (NON_SPLITTING_ROLES.has(m.marker.role)) {
23
- // Solo dividir si es un marcador largo (compuesto de múltiples palabras)
24
- const wordCount = m.marker.text.split(/\s+/).length;
25
- return wordCount >= 3; // "no es el caso que" SÍ divide, "no" NO divide
24
+ if (NON_SPLITTING_ROLES.has(m.marker.role))
25
+ return false;
26
+ // Si es conector débil, verificar si a su alrededor hay suficiente texto para justificar corte
27
+ if (['and', 'or', 'adversative'].includes(m.marker.role)) {
28
+ const left = sentence.slice(0, m.startPos);
29
+ const right = sentence.slice(m.endPos);
30
+ if (left.trim().split(/\s+/).length < 2 || right.trim().split(/\s+/).length < 2)
31
+ return false;
26
32
  }
27
33
  return true;
28
34
  });
35
+ console.log("Splitting matches:", splittingMatches.map(m => m.marker.text));
29
36
  if (splittingMatches.length === 0) {
37
+ const coordinatedClauses = splitBySimpleCoordinators(sentence, allMatches);
38
+ if (coordinatedClauses.length > 1) {
39
+ return normalizeClauses(coordinatedClauses);
40
+ }
30
41
  // Sin marcadores que dividan: intentar dividir por comas significativas
31
42
  // Pero anotar los marcadores encontrados en la cláusula resultante
32
43
  const commaClauses = splitByCommas(sentence);
@@ -46,7 +57,7 @@ function splitClauses(sentence, language = 'es') {
46
57
  }
47
58
  }
48
59
  }
49
- return commaClauses;
60
+ return normalizeClauses(commaClauses);
50
61
  }
51
62
  // 3. Dividir la oración usando las posiciones de los marcadores que sí cortan
52
63
  const clauses = buildClauses(sentence, splittingMatches);
@@ -65,7 +76,7 @@ function splitClauses(sentence, language = 'es') {
65
76
  });
66
77
  }
67
78
  }
68
- return clauses;
79
+ return normalizeClauses(mergeLeadingModifierClauses(clauses));
69
80
  }
70
81
  /**
71
82
  * Encuentra todos los marcadores discursivos en un texto.
@@ -168,9 +179,9 @@ function buildClauses(sentence, matches) {
168
179
  index: 0,
169
180
  }];
170
181
  }
171
- // Post-paso: subdividir cláusulas de condición que contienen comas
182
+ // Post-paso: subdividir cláusulas de condición y cláusulas largas con comas
172
183
  // (e.g. "llueve, la calle se moja" → "llueve" + "la calle se moja")
173
- return postSplitConditionalClauses(clauses);
184
+ return postSplitCommaRichClauses(postSplitConditionalClauses(clauses));
174
185
  }
175
186
  /**
176
187
  * Post-procesamiento: si una cláusula con marcador de condición contiene
@@ -210,13 +221,155 @@ function postSplitConditionalClauses(clauses) {
210
221
  }
211
222
  return result;
212
223
  }
224
+ function postSplitCommaRichClauses(clauses) {
225
+ const result = [];
226
+ let reindex = 0;
227
+ for (const clause of clauses) {
228
+ const commaParts = clause.text.split(',').map(part => cleanClauseText(part)).filter(Boolean);
229
+ if (commaParts.length <= 1 || !shouldSplitCommaParts(commaParts)) {
230
+ result.push({
231
+ ...clause,
232
+ index: reindex++,
233
+ });
234
+ continue;
235
+ }
236
+ commaParts.forEach((part, partIndex) => {
237
+ result.push({
238
+ text: part,
239
+ markers: partIndex === 0 ? clause.markers : [],
240
+ index: reindex++,
241
+ });
242
+ });
243
+ }
244
+ return result;
245
+ }
246
+ function shouldSplitCommaParts(parts) {
247
+ return parts.every(part => looksClauseLike(stripClauseLead(part)));
248
+ }
249
+ function stripClauseLead(text) {
250
+ return cleanClauseText(text).replace(/^(?:y|o|pero|aunque|además|también|no solo|sino que|ni que|sí)\s+/iu, '');
251
+ }
252
+ function mergeLeadingModifierClauses(clauses) {
253
+ if (clauses.length < 2)
254
+ return clauses;
255
+ const unaryRoles = new Set([
256
+ 'negation',
257
+ 'universal',
258
+ 'existential',
259
+ 'necessity',
260
+ 'possibility',
261
+ 'temporal_next',
262
+ 'temporal_always',
263
+ 'temporal_eventually'
264
+ ]);
265
+ const [first, second, ...rest] = clauses;
266
+ const isUnaryLead = first.markers.length > 0 &&
267
+ first.markers.every((marker) => unaryRoles.has(marker.role)) &&
268
+ first.text.split(/\s+/).filter(Boolean).length <= 4;
269
+ if (!isUnaryLead)
270
+ return clauses;
271
+ const mergedSecond = {
272
+ ...second,
273
+ markers: [...first.markers, ...second.markers],
274
+ };
275
+ return [mergedSecond, ...rest].map((clause, index) => ({
276
+ ...clause,
277
+ index,
278
+ }));
279
+ }
280
+ function normalizeClauses(clauses) {
281
+ if (clauses.length === 0)
282
+ return clauses;
283
+ const cleaned = [];
284
+ for (const clause of clauses) {
285
+ const normalizedText = cleanClauseText(clause.text);
286
+ if (!normalizedText && clause.markers.length === 0) {
287
+ continue;
288
+ }
289
+ cleaned.push({
290
+ ...clause,
291
+ text: normalizedText,
292
+ });
293
+ }
294
+ const merged = [];
295
+ for (let index = 0; index < cleaned.length; index++) {
296
+ const current = cleaned[index];
297
+ const next = cleaned[index + 1];
298
+ if (!current)
299
+ continue;
300
+ if (!current.text && current.markers.length > 0 && next) {
301
+ next.markers = [...current.markers, ...next.markers];
302
+ continue;
303
+ }
304
+ const currentText = current.text.toLowerCase();
305
+ const words = currentText.split(/\s+/).length;
306
+ // Es un preámbulo si no parece cláusula, O termina en palabras de subordinación, O es muy corto
307
+ const isPreamble = currentText.endsWith(' que') ||
308
+ currentText.endsWith(' si') ||
309
+ currentText.endsWith(' como') ||
310
+ currentText.endsWith(' cuando') ||
311
+ currentText.endsWith(' donde') ||
312
+ currentText === 'que' || currentText === 'si' ||
313
+ (words <= 3 && !looksClauseLike(current.text));
314
+ const isFragment = (!looksClauseLike(current.text) && current.markers.length === 0) || (isPreamble && current.markers.length === 0 && next);
315
+ if (isFragment && next) {
316
+ // Fusionar texto y marcadores.
317
+ // Si `next` tiene texto muy corto, el merge acumula todo limpiamente.
318
+ next.text = cleanClauseText(`${current.text} ${next.text}`);
319
+ next.markers = [...current.markers, ...next.markers];
320
+ continue;
321
+ }
322
+ merged.push(current);
323
+ }
324
+ return merged.map((clause, index) => ({
325
+ ...clause,
326
+ text: cleanClauseText(clause.text),
327
+ index,
328
+ }));
329
+ }
330
+ function looksClauseLike(text) {
331
+ const tokens = text
332
+ .toLowerCase()
333
+ .split(/\s+/)
334
+ .map(token => token.replace(/^[^\p{L}\p{N}]+|[^\p{L}\p{N}]+$/gu, ''))
335
+ .filter(Boolean);
336
+ if (tokens.length === 0)
337
+ return false;
338
+ return tokens.some(token => isVerbLikeToken(token));
339
+ }
340
+ function isVerbLikeToken(token) {
341
+ const commonVerbs = new Set([
342
+ 'es', 'son', 'era', 'eran', 'fue', 'fueron', 'sea', 'sean',
343
+ 'está', 'están', 'estaba', 'estaban', 'esté', 'estén',
344
+ 'hay', 'ha', 'han', 'había', 'habían', 'hubo', 'hubieron',
345
+ 'tiene', 'tienen',
346
+ 'sabe', 'saben', 'sabemos', 'conoce', 'conocen', 'ignora', 'ignoran',
347
+ 'debe', 'deben', 'puede', 'pueden', 'paga', 'pagó', 'pagan',
348
+ 'recibe', 'reciben', 'puede', 'pueden', 'entra', 'entran',
349
+ 'vuelve', 'vuelven', 'pasa', 'pasan', 'detecta', 'detectan',
350
+ 'registra', 'registra', 'permanece', 'permanece', 'comienza', 'continúa',
351
+ 'termina', 'ocurre', 'completa', 'conserva', 'invalide', 'dirigirse',
352
+ 'leer', 'leído', 'oyen', 'observan', 'queda', 'establecida',
353
+ 'is', 'are', 'was', 'were', 'be', 'been', 'being', 'will', 'would',
354
+ 'have', 'has', 'had', 'do', 'does', 'did', 'can', 'could', 'may', 'might', 'must',
355
+ 'study', 'studies', 'continue', 'continues', 'pass', 'passes', 'passing',
356
+ 'rain', 'rains', 'grow', 'grows', 'increase', 'increases', 'rise', 'rises',
357
+ 'prosper', 'prospers', 'improve', 'improves', 'find', 'finds', 'protect', 'protects',
358
+ 'obey', 'obeys', 'activate', 'activates', 'respond', 'responds', 'register', 'registers'
359
+ ]);
360
+ if (commonVerbs.has(token))
361
+ return true;
362
+ if (token.length <= 3)
363
+ return false;
364
+ return /(?:ar|er|ir|ado|ido|ando|iendo|aba|aban|ía|ían|ará|erá|irá|ría|rían|aste|iste|aron|ieron|ado|ido|ando|iendo)$/u.test(token);
365
+ }
213
366
  /**
214
367
  * Divide por comas cuando no hay marcadores discursivos.
215
368
  */
216
369
  function splitByCommas(sentence) {
217
370
  // Solo dividir si la coma separa cláusulas sustantivas (al menos 3 palabras a cada lado)
218
371
  const parts = sentence.split(',').map(s => s.trim()).filter(s => s.length > 0);
219
- if (parts.length <= 1 || parts.some(p => p.split(/\s+/).length < 2)) {
372
+ if (parts.length <= 1 || parts.some(p => !looksClauseLike(p))) {
220
373
  return [{
221
374
  text: cleanClauseText(sentence),
222
375
  markers: [],
@@ -229,6 +382,51 @@ function splitByCommas(sentence) {
229
382
  index,
230
383
  }));
231
384
  }
385
+ function splitBySimpleCoordinators(sentence, allMatches) {
386
+ for (const connector of [
387
+ { text: ' y ', role: 'and' },
388
+ { text: ' o ', role: 'or' },
389
+ ]) {
390
+ const index = sentence.toLowerCase().indexOf(connector.text);
391
+ if (index === -1)
392
+ continue;
393
+ const left = cleanClauseText(sentence.slice(0, index));
394
+ const right = cleanClauseText(sentence.slice(index + connector.text.length));
395
+ if (!left || !right)
396
+ continue;
397
+ if (!looksClauseLike(stripClauseLead(left)) || !looksClauseLike(stripClauseLead(right)))
398
+ continue;
399
+ const rightMarkers = allMatches
400
+ .filter(match => match.startPos >= index)
401
+ .map(match => ({
402
+ text: match.marker.text,
403
+ role: match.marker.role,
404
+ position: match.startPos,
405
+ }));
406
+ return [
407
+ {
408
+ text: left,
409
+ markers: allMatches
410
+ .filter(match => match.startPos < index)
411
+ .map(match => ({
412
+ text: match.marker.text,
413
+ role: match.marker.role,
414
+ position: match.startPos,
415
+ })),
416
+ index: 0,
417
+ },
418
+ {
419
+ text: right,
420
+ markers: [
421
+ { text: connector.text.trim(), role: connector.role, position: index },
422
+ ...rightMarkers,
423
+ ],
424
+ index: 1,
425
+ },
426
+ ];
427
+ }
428
+ return [];
429
+ }
232
430
  /**
233
431
  * Limpia el texto de una cláusula.
234
432
  */
@@ -1 +1 @@
1
- {"version":3,"file":"clause-splitter.js","sourceRoot":"","sources":["../../src/segmenter/clause-splitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clause-splitter.js","sourceRoot":"","sources":["../../src/segmenter/clause-splitter.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -41,6 +41,22 @@ export interface FormalizationResult {
41
41
  ok: boolean;
42
42
  errors: string[];
43
43
  };
44
+ /** Resultado de ejecución con st-lang (si validateOutput=true) */
45
+ stExecution?: STExecutionResult;
46
+ }
47
+ export interface STExecutionResult {
48
+ /** true si ST se ejecutó sin errores de parser/runtime */
49
+ ok: boolean;
50
+ /** Código de salida del runtime ST */
51
+ exitCode: number;
52
+ /** true si la ejecución fue abortada por timeout */
53
+ timedOut: boolean;
54
+ /** Duración total de la ejecución en milisegundos */
55
+ durationMs: number;
56
+ /** Mensajes de error resumidos */
57
+ errors: string[];
58
+ /** Estados devueltos por check/derive/prove ejecutados */
59
+ resultStatuses: string[];
44
60
  }
45
61
  export interface Sentence {
46
62
  /** Texto original de la oración */
@@ -142,6 +158,12 @@ export interface AtomEntry {
142
158
  predicate?: string;
143
159
  /** Para first-order: variables/constantes */
144
160
  terms?: string[];
161
+ /** Huella semántica ligera para unificación */
162
+ subject?: string;
163
+ object?: string;
164
+ polarity?: 'positive' | 'negative';
165
+ relationKind?: 'copula' | 'action' | 'unknown';
166
+ keywords?: string[];
145
167
  }
146
168
  export interface FormulaEntry {
147
169
  /** Fórmula en sintaxis ST */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA,yCAAyC;AACzC,MAAM,MAAM,YAAY,GACpB,yBAAyB,GACzB,uBAAuB,GACvB,SAAS,GACT,kBAAkB,GAClB,cAAc,GACd,8BAA8B,GAC9B,cAAc,GACd,uBAAuB,GACvB,0BAA0B,GAC1B,qBAAqB,GACrB,YAAY,CAAC;AAEjB,yBAAyB;AACzB,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;AAEnC,oCAAoC;AACpC,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;AAI5D,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,mEAAmE;IACnE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kDAAkD;IAClD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qDAAqD;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,cAAc,CAAC,EAAE,YAAY,CAAC;IAC9B,gBAAgB,CAAC,EAAE,SAAS,CAAC;CAC9B;AAID,MAAM,WAAW,mBAAmB;IAClC,uCAAuC;IACvC,EAAE,EAAE,OAAO,CAAC;IACZ,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,8BAA8B;IAC9B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,sCAAsC;IACtC,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,mCAAmC;IACnC,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,mEAAmE;IACnE,YAAY,CAAC,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACjD,kEAAkE;IAClE,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,0DAA0D;IAC1D,EAAE,EAAE,OAAO,CAAC;IACZ,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,QAAQ,EAAE,OAAO,CAAC;IAClB,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,0DAA0D;IAC1D,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAID,MAAM,WAAW,QAAQ;IACvB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,MAAM;IACrB,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,qCAAqC;IACrC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,gDAAgD;AAChD,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,MAAM,MAAM,UAAU,GAClB,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,KAAK,GACL,IAAI,GACJ,aAAa,GACb,UAAU,GACV,WAAW,GACX,aAAa,GACb,WAAW,GACX,aAAa,GACb,eAAe,GACf,UAAU,GACV,eAAe,GACf,gBAAgB,GAChB,iBAAiB,GACjB,qBAAqB,CAAC;AAE1B,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,aAAa,GACb,aAAa,GACb,UAAU,GACV,WAAW,GACX,YAAY,CAAC;AAEjB,2CAA2C;AAC3C,MAAM,WAAW,gBAAgB;IAC/B,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,aAAa;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID,MAAM,WAAW,iBAAiB;IAChC,2BAA2B;IAC3B,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,mCAAmC;IACnC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,0BAA0B;IAC1B,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,sBAAsB;IACtB,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,MAAM,MAAM,YAAY,GACpB,aAAa,GACb,eAAe,GACf,aAAa,GACb,aAAa,GACb,WAAW,GACX,UAAU,GACV,WAAW,GACX,aAAa,GACb,OAAO,GACP,UAAU,GACV,SAAS,CAAC;AAEd,MAAM,WAAW,cAAc;IAC7B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,yCAAyC;IACzC,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,qDAAqD;IACrD,SAAS,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,WAAW,GAAG,aAAa,GACxE,eAAe,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,qBAAqB,CAAC;IACnF,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,iCAAiC;IACjC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,kBAAkB;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,iCAAiC;IACjC,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,YAAY,CAAC;CAC7D;AAID,MAAM,WAAW,SAAS;IACxB,oDAAoD;IACpD,EAAE,EAAE,MAAM,CAAC;IACX,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IACnC,YAAY,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAID,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,MAAM,EAAE,eAAe,CAAC;IACxB,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,eAAe,GACvB,OAAO,GACP,QAAQ,GACR,OAAO,GACP,OAAO,GACP,WAAW,GACX,QAAQ,CAAC;AAIb,MAAM,MAAM,eAAe,GACvB,cAAc,GACd,eAAe,GACf,wBAAwB,GACxB,uBAAuB,GACvB,sBAAsB,GACtB,sBAAsB,GACtB,mBAAmB,GACnB,0BAA0B,GAC1B,yBAAyB,GACzB,kBAAkB,GAClB,0BAA0B,GAC1B,4BAA4B,CAAC;AAIjC,MAAM,WAAW,UAAU;IACzB,yBAAyB;IACzB,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IAChD,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAID,MAAM,WAAW,KAAK;IACpB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kBAAkB;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;CAClB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stevenvo780/autologic",
3
- "version": "2.0.0",
3
+ "version": "2.2.0",
4
4
  "description": "Formalizador automático de texto natural a lógica formal ST, sin IA. NLP basado en reglas.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -19,9 +19,17 @@
19
19
  "scripts": {
20
20
  "build": "tsc",
21
21
  "dev": "tsc --watch",
22
- "test": "vitest run",
22
+ "test": "NODE_OPTIONS=--max-old-space-size=8192 vitest run",
23
+ "test:corpus": "NODE_OPTIONS=--max-old-space-size=8192 vitest run tests/corpus.test.ts",
24
+ "test:frontend": "vitest run tests/frontend-formalization.test.ts",
25
+ "test:stress": "vitest run tests/stress-matrix.test.ts tests/known-limitations.test.ts",
26
+ "test:stress:debug": "AUTOLOGIC_DEBUG_TESTS=1 AUTOLOGIC_ST_EXEC_TIMEOUT_MS=2500 vitest run --reporter=verbose tests/stress-matrix.test.ts tests/known-limitations.test.ts",
27
+ "test:long": "vitest run tests/long-formalization.test.ts",
28
+ "test:validated-hard": "vitest run tests/validated-hard-cases.test.ts",
29
+ "test:validated-hard:debug": "AUTOLOGIC_DEBUG_TESTS=1 AUTOLOGIC_ST_EXEC_TIMEOUT_MS=2500 vitest run --reporter=verbose tests/validated-hard-cases.test.ts",
30
+ "report:long": "npm run build && node scripts/report-long-formalization.mjs",
23
31
  "test:watch": "vitest",
24
- "test:coverage": "vitest run --coverage",
32
+ "test:coverage": "NODE_OPTIONS=--max-old-space-size=8192 vitest run --coverage",
25
33
  "lint": "tsc --noEmit",
26
34
  "clean": "rm -rf dist",
27
35
  "prepublishOnly": "npm run clean && npm run build && npm run test"
@@ -47,5 +55,8 @@
47
55
  "@vitest/coverage-v8": "^2.1.9",
48
56
  "typescript": "^5.5.0",
49
57
  "vitest": "^2.0.0"
58
+ },
59
+ "dependencies": {
60
+ "@huggingface/transformers": "^3.8.1"
50
61
  }
51
62
  }