slopless 0.2.9 → 0.2.11

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 (73) hide show
  1. package/README.md +9 -9
  2. package/dist/cli.js +8 -2
  3. package/dist/cli.js.map +1 -1
  4. package/dist/registries/academic-slop.js +4 -0
  5. package/dist/registries/academic-slop.js.map +1 -1
  6. package/dist/registries/narrative-slop.js +4 -0
  7. package/dist/registries/narrative-slop.js.map +1 -1
  8. package/dist/rules/academic-slop/academic-boilerplate.js +17 -0
  9. package/dist/rules/academic-slop/academic-boilerplate.js.map +1 -0
  10. package/dist/rules/academic-slop/academic-formula-frames.js +17 -0
  11. package/dist/rules/academic-slop/academic-formula-frames.js.map +1 -0
  12. package/dist/rules/academic-slop/data/academic-boilerplate.json +22 -0
  13. package/dist/rules/academic-slop/data/academic-formula-frames.json +252 -0
  14. package/dist/rules/narrative-slop/emotion-telling.js +58 -0
  15. package/dist/rules/narrative-slop/emotion-telling.js.map +1 -0
  16. package/dist/rules/narrative-slop/empty-beat.js +124 -0
  17. package/dist/rules/narrative-slop/empty-beat.js.map +1 -0
  18. package/dist/rules/narrative-slop/low-information-beat-density.js +24 -1
  19. package/dist/rules/narrative-slop/low-information-beat-density.js.map +1 -1
  20. package/dist/rules/narrative-slop/perception-verb-density.js +4 -0
  21. package/dist/rules/narrative-slop/perception-verb-density.js.map +1 -1
  22. package/dist/rules/orthography/colon-dramatic.js +38 -1
  23. package/dist/rules/orthography/colon-dramatic.js.map +1 -1
  24. package/dist/rules/phrases/corporate-speak.js +30 -1
  25. package/dist/rules/phrases/corporate-speak.js.map +1 -1
  26. package/dist/rules/phrases/data/corporate-abstraction-patterns.json +60 -0
  27. package/dist/rules/phrases/data/corporate-speak.json +20 -0
  28. package/dist/rules/phrases/data/prohibited-phrases.json +6 -1
  29. package/dist/rules/semantic-thinness/patterns/abstract-agency-personification.json +145 -0
  30. package/dist/rules/semantic-thinness/patterns/body-knows.json +17 -2
  31. package/dist/rules/semantic-thinness/patterns/deictic-summary.json +10 -2
  32. package/dist/rules/semantic-thinness/patterns/emotion-as-substance.json +17 -1
  33. package/dist/rules/semantic-thinness/patterns/empty-scene-state.json +18 -1
  34. package/dist/rules/semantic-thinness/patterns/recursive-meaning-frame.json +79 -0
  35. package/dist/rules/semantic-thinness/private/concrete-guards.js +9 -0
  36. package/dist/rules/semantic-thinness/private/concrete-guards.js.map +1 -1
  37. package/dist/rules/semantic-thinness/private/pattern-data-c.js +2 -0
  38. package/dist/rules/semantic-thinness/private/pattern-data-c.js.map +1 -1
  39. package/dist/rules/semantic-thinness/private/pattern-data-e.js +5 -0
  40. package/dist/rules/semantic-thinness/private/pattern-data-e.js.map +1 -0
  41. package/dist/rules/semantic-thinness/private/pattern-data.js +3 -1
  42. package/dist/rules/semantic-thinness/private/pattern-data.js.map +1 -1
  43. package/dist/rules/semantic-thinness/private/pattern-matcher.js +7 -1
  44. package/dist/rules/semantic-thinness/private/pattern-matcher.js.map +1 -1
  45. package/dist/rules/syntactic-patterns/contrast/contrastive-aphorism.js +2 -151
  46. package/dist/rules/syntactic-patterns/contrast/contrastive-aphorism.js.map +1 -1
  47. package/dist/rules/syntactic-patterns/contrast/private/inline-contrast-connector.js +16 -0
  48. package/dist/rules/syntactic-patterns/contrast/private/inline-contrast-connector.js.map +1 -0
  49. package/dist/rules/syntactic-patterns/contrast/private/inline-not-because-reframe.js +22 -0
  50. package/dist/rules/syntactic-patterns/contrast/private/inline-not-because-reframe.js.map +1 -0
  51. package/dist/rules/syntactic-patterns/contrast/private/inline-short-negation.js +62 -0
  52. package/dist/rules/syntactic-patterns/contrast/private/inline-short-negation.js.map +1 -0
  53. package/dist/rules/syntactic-patterns/contrast/private/negation-context-gates.js +72 -0
  54. package/dist/rules/syntactic-patterns/contrast/private/negation-context-gates.js.map +1 -0
  55. package/dist/rules/syntactic-patterns/contrast/private/negation-reframe-matcher.js +20 -17
  56. package/dist/rules/syntactic-patterns/contrast/private/negation-reframe-matcher.js.map +1 -1
  57. package/dist/rules/syntactic-patterns/contrast/private/same-sentence-contrast.js +47 -16
  58. package/dist/rules/syntactic-patterns/contrast/private/same-sentence-contrast.js.map +1 -1
  59. package/dist/rules/syntactic-patterns/contrast/private/single-sentence-aphorism.js +178 -0
  60. package/dist/rules/syntactic-patterns/contrast/private/single-sentence-aphorism.js.map +1 -0
  61. package/dist/rules/syntactic-patterns/lead-ins/generic-signposting.js +50 -0
  62. package/dist/rules/syntactic-patterns/lead-ins/generic-signposting.js.map +1 -1
  63. package/dist/rules/words/llm-vocabulary-density.js +41 -1
  64. package/dist/rules/words/llm-vocabulary-density.js.map +1 -1
  65. package/dist/rules/words/llm-vocabulary.js +5 -7
  66. package/dist/rules/words/llm-vocabulary.js.map +1 -1
  67. package/dist/rules/words/private/vocabulary-context.js +125 -0
  68. package/dist/rules/words/private/vocabulary-context.js.map +1 -0
  69. package/dist/rules/words/prohibited-words.js +2 -2
  70. package/dist/rules/words/prohibited-words.js.map +1 -1
  71. package/dist/shared/matchers/concrete-evidence.js +4 -0
  72. package/dist/shared/matchers/concrete-evidence.js.map +1 -1
  73. package/package.json +10 -6
@@ -0,0 +1,72 @@
1
+ import { FACTUAL_NEGATION_CONNECTORS, hasCommaBeforeNegation } from "./negation-reframe-parts.js";
2
+ const INLINE_COMMA_ABSTRACT_WORDS = new Set([
3
+ "alignment",
4
+ "answer",
5
+ "change",
6
+ "clarity",
7
+ "comfort",
8
+ "complexity",
9
+ "direction",
10
+ "execution",
11
+ "failure",
12
+ "fix",
13
+ "focus",
14
+ "growth",
15
+ "impact",
16
+ "intention",
17
+ "lesson",
18
+ "meaning",
19
+ "momentum",
20
+ "perfection",
21
+ "point",
22
+ "progress",
23
+ "purpose",
24
+ "signal",
25
+ "solution",
26
+ "strategy",
27
+ "truth",
28
+ "value",
29
+ "work"
30
+ ]);
31
+ const META_CONTEXT_WORDS = new Set([
32
+ "code",
33
+ "comment",
34
+ "commit",
35
+ "coverage",
36
+ "detector",
37
+ "diff",
38
+ "example",
39
+ "expected",
40
+ "filename",
41
+ "fixture",
42
+ "implementation",
43
+ "literal",
44
+ "markdown",
45
+ "matcher",
46
+ "normalized",
47
+ "output",
48
+ "prompt",
49
+ "production",
50
+ "quoted",
51
+ "raw",
52
+ "screenshot",
53
+ "sentence",
54
+ "string",
55
+ "tag"
56
+ ]);
57
+ export function hasAbstractCommaContrast(sentence, tokens, negationStart) {
58
+ return (hasCommaBeforeNegation(sentence.text, negationStart) &&
59
+ tokens.some((token) => INLINE_COMMA_ABSTRACT_WORDS.has(token.normalized)));
60
+ }
61
+ export function hasAbstractNegationPayoff(tokens) {
62
+ return tokens.some((token) => INLINE_COMMA_ABSTRACT_WORDS.has(token.normalized));
63
+ }
64
+ export function hasFactualConnectorAfterNegation(tokens, negationIndex) {
65
+ return tokens
66
+ .slice(negationIndex + 1)
67
+ .some((token) => FACTUAL_NEGATION_CONNECTORS.has(token.normalized));
68
+ }
69
+ export function hasMetaContext(tokens) {
70
+ return tokens.some((token) => META_CONTEXT_WORDS.has(token.normalized));
71
+ }
72
+ //# sourceMappingURL=negation-context-gates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"negation-context-gates.js","sourceRoot":"","sources":["../../../../../src/rules/syntactic-patterns/contrast/private/negation-context-gates.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;AAIrC,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC;IAC1C,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,YAAY;IACZ,WAAW;IACX,WAAW;IACX,SAAS;IACT,KAAK;IACL,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,SAAS;IACT,UAAU;IACV,YAAY;IACZ,OAAO;IACP,UAAU;IACV,SAAS;IACT,QAAQ;IACR,UAAU;IACV,UAAU;IACV,OAAO;IACP,OAAO;IACP,MAAM;CACP,CAAC,CAAC;AACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,MAAM;IACN,SAAS;IACT,QAAQ;IACR,UAAU;IACV,UAAU;IACV,MAAM;IACN,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,gBAAgB;IAChB,SAAS;IACT,UAAU;IACV,SAAS;IACT,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,KAAK;IACL,YAAY;IACZ,UAAU;IACV,QAAQ;IACR,KAAK;CACN,CAAC,CAAC;AAEH,MAAM,UAAU,wBAAwB,CACtC,QAAuB,EACvB,MAAwB,EACxB,aAAqB;IAErB,OAAO,CACL,sBAAsB,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,2BAA2B,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAAwB;IAChE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAC3B,2BAA2B,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAClD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,MAAwB,EACxB,aAAqB;IAErB,OAAO,MAAM;SACV,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC;SACxB,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,2BAA2B,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAwB;IACrD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;AAC1E,CAAC"}
@@ -1,4 +1,8 @@
1
- import { DO_NEGATIONS, EXPLICIT_DO_AUXILIARIES, NEGATION_WORDS, PASSIVE_DEFINITION_VERBS, PRONOUN_REFRAME_STARTS, contrastPivotSubject, findCopularNegation, findNegationIndex, hasCommaBeforeNegation, isCompleteSentence, skipOptionalAdverbs, startsWithAny, startsWithSubjectOrPronoun, startsWithSubjectVerb, startsWithWords, stripLeadingPairPivot, validSubject, words } from "./negation-reframe-parts.js";
1
+ import { DO_NEGATIONS, EXPLICIT_DO_AUXILIARIES, NEGATION_WORDS, PASSIVE_DEFINITION_VERBS, PRONOUN_REFRAME_STARTS, contrastPivotSubject, findCopularNegation, findNegationIndex, isCompleteSentence, skipOptionalAdverbs, startsWithAny, startsWithSubjectOrPronoun, startsWithSubjectVerb, startsWithWords, stripLeadingPairPivot, validSubject, words } from "./negation-reframe-parts.js";
2
+ import { hasAbstractCommaContrast, hasFactualConnectorAfterNegation, hasMetaContext } from "./negation-context-gates.js";
3
+ import { hasInlineContrastConnectorAfterNegation } from "./inline-contrast-connector.js";
4
+ import { inlineNotBecauseReframe } from "./inline-not-because-reframe.js";
5
+ import { inlineNotJustCopularReframe, inlineShortNegatedBeat } from "./inline-short-negation.js";
2
6
  import { hasNegativeSlopPairSignal, negativeSlopReframe } from "./negative-slop-frames.js";
3
7
  import { makeMeaningReframe, meaningReframe } from "./meaning-reframe.js";
4
8
  import { hasConcreteCorrectionEvidence } from "../../../../shared/matchers/concrete-evidence.js";
@@ -10,21 +14,6 @@ const INLINE_NON_CONTRAST_NEGATION_FOLLOWERS = new Set([
10
14
  "every",
11
15
  "too"
12
16
  ]);
13
- const INLINE_CONTRAST_CONNECTORS = new Set([
14
- "also",
15
- "but",
16
- "instead",
17
- "rather"
18
- ]);
19
- function hasInlineContrastConnectorAfterNegation(tokens, negationIndex) {
20
- if (tokens[negationIndex + 1]?.normalized === "help" &&
21
- tokens[negationIndex + 2]?.normalized === "but") {
22
- return false;
23
- }
24
- return tokens
25
- .slice(negationIndex + 1)
26
- .some((token) => INLINE_CONTRAST_CONNECTORS.has(token.normalized));
27
- }
28
17
  function inlineNegationContrast(sentence) {
29
18
  const tokens = wordTokens(sentence.text);
30
19
  const negationIndex = findNegationIndex(tokens);
@@ -32,12 +21,26 @@ function inlineNegationContrast(sentence) {
32
21
  return undefined;
33
22
  }
34
23
  const negation = tokens[negationIndex];
24
+ const notBecauseMatch = inlineNotBecauseReframe(sentence, tokens);
25
+ if (notBecauseMatch !== undefined) {
26
+ return notBecauseMatch;
27
+ }
28
+ const notJustCopularMatch = inlineNotJustCopularReframe(sentence, tokens);
29
+ if (notJustCopularMatch !== undefined) {
30
+ return notJustCopularMatch;
31
+ }
32
+ const shortBeatMatch = inlineShortNegatedBeat(sentence, tokens);
33
+ if (shortBeatMatch !== undefined) {
34
+ return shortBeatMatch;
35
+ }
35
36
  if (negation?.normalized !== "not" ||
37
+ hasMetaContext(tokens) ||
38
+ hasFactualConnectorAfterNegation(tokens, negationIndex) ||
36
39
  INLINE_NON_CONTRAST_NEGATION_FOLLOWERS.has(tokens[negationIndex + 1]?.normalized ?? "")) {
37
40
  return undefined;
38
41
  }
39
42
  return !hasConcreteCorrectionEvidence(sentence.text) &&
40
- (hasCommaBeforeNegation(sentence.text, negation.start) ||
43
+ (hasAbstractCommaContrast(sentence, tokens, negation.start) ||
41
44
  hasInlineContrastConnectorAfterNegation(tokens, negationIndex))
42
45
  ? {
43
46
  end: sentence.end,
@@ -1 +1 @@
1
- {"version":3,"file":"negation-reframe-matcher.js","sourceRoot":"","sources":["../../../../../src/rules/syntactic-patterns/contrast/private/negation-reframe-matcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"negation-reframe-matcher.js","sourceRoot":"","sources":["../../../../../src/rules/syntactic-patterns/contrast/private/negation-reframe-matcher.ts"],"names":[],"mappings":"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"}
@@ -1,47 +1,78 @@
1
1
  import { cleanSentence, tokens } from "../../../../shared/matchers/prose-patterns.js";
2
+ import { hasConcreteImplementationSummary } from "../../../../shared/matchers/concrete-evidence.js";
2
3
  const PREFIXES = ["and ", "but ", "so ", "because "];
3
4
  const CONTRAST_FRAME_NOUNS = [
5
+ "alignment",
4
6
  "answer",
5
7
  "choice",
8
+ "change",
9
+ "clarity",
10
+ "execution",
6
11
  "fix",
7
12
  "focus",
8
13
  "move",
14
+ "momentum",
9
15
  "plan",
10
16
  "point",
11
17
  "problem",
12
18
  "strategy",
13
19
  "work"
14
20
  ];
21
+ const ABSTRACT_DEFINITION_TAILS = [
22
+ "coordinated",
23
+ "discipline",
24
+ "intention",
25
+ "motion",
26
+ "shared"
27
+ ];
15
28
  const DETERMINERS = ["a", "an", "the", "this", "that"];
16
29
  function hasAny(words, values) {
17
30
  return words.some((word) => values.includes(word));
18
31
  }
32
+ function matchesNotButContrast(words, notIndex, butIndex) {
33
+ return (words.length <= 14 &&
34
+ notIndex >= 0 &&
35
+ butIndex > notIndex &&
36
+ hasAny(words.slice(0, Math.min(notIndex, 5)), CONTRAST_FRAME_NOUNS) &&
37
+ !DETERMINERS.includes(words[butIndex + 1] ?? ""));
38
+ }
39
+ function matchesLessMoreAbout(words, thanIndex, amount) {
40
+ return (words.length <= 10 &&
41
+ words[2] === "is" &&
42
+ words[3] === amount &&
43
+ words[4] === "about" &&
44
+ thanIndex > 4);
45
+ }
46
+ function matchesDefinitionContrast(words) {
47
+ return (words.length <= 12 &&
48
+ words[1] === "is" &&
49
+ words[2] === "not" &&
50
+ (words[4] === "it" || words[5] === "it") &&
51
+ words.includes("is") &&
52
+ CONTRAST_FRAME_NOUNS.includes(words[0] ?? "") &&
53
+ words.some((word) => ABSTRACT_DEFINITION_TAILS.includes(word)));
54
+ }
19
55
  export function matchSameSentenceContrast(sentence) {
20
- const words = tokens(cleanSentence(sentence, PREFIXES));
56
+ const stripped = cleanSentence(sentence, PREFIXES);
57
+ if (hasConcreteImplementationSummary(stripped)) {
58
+ return undefined;
59
+ }
60
+ const words = tokens(stripped);
21
61
  const notIndex = words.indexOf("not");
22
62
  const butIndex = words.indexOf("but");
23
63
  const thanIndex = words.indexOf("than");
24
- if (words.length <= 14 &&
25
- notIndex >= 0 &&
26
- butIndex > notIndex &&
27
- hasAny(words.slice(0, Math.min(notIndex, 5)), CONTRAST_FRAME_NOUNS) &&
28
- !DETERMINERS.includes(words[butIndex + 1] ?? "")) {
64
+ if (matchesNotButContrast(words, notIndex, butIndex)) {
29
65
  return "not-x-but-y";
30
66
  }
31
- if (words.length <= 10 &&
32
- words[2] === "is" &&
33
- words[3] === "less" &&
34
- words[4] === "about" &&
35
- thanIndex > 4) {
67
+ if (matchesLessMoreAbout(words, thanIndex, "less")) {
36
68
  return "less-about-than";
37
69
  }
38
- if (words.length <= 10 &&
39
- words[2] === "is" &&
40
- words[3] === "more" &&
41
- words[4] === "about" &&
42
- thanIndex > 4) {
70
+ if (matchesLessMoreAbout(words, thanIndex, "more")) {
43
71
  return "more-about-than";
44
72
  }
73
+ if (matchesDefinitionContrast(words)) {
74
+ return "x-is-not-y-it-is-z";
75
+ }
45
76
  return undefined;
46
77
  }
47
78
  //# sourceMappingURL=same-sentence-contrast.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"same-sentence-contrast.js","sourceRoot":"","sources":["../../../../../src/rules/syntactic-patterns/contrast/private/same-sentence-contrast.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,MAAM,EACP,MAAM,+CAA+C,CAAC;AAEvD,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AACrD,MAAM,oBAAoB,GAAG;IAC3B,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,SAAS;IACT,UAAU;IACV,MAAM;CACP,CAAC;AACF,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEvD,SAAS,MAAM,CAAC,KAAwB,EAAE,MAAyB;IACjE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,QAAgB;IAEhB,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAExC,IACE,KAAK,CAAC,MAAM,IAAI,EAAE;QAClB,QAAQ,IAAI,CAAC;QACb,QAAQ,GAAG,QAAQ;QACnB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC;QACnE,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAChD,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,IACE,KAAK,CAAC,MAAM,IAAI,EAAE;QAClB,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;QACjB,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM;QACnB,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO;QACpB,SAAS,GAAG,CAAC,EACb,CAAC;QACD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,IACE,KAAK,CAAC,MAAM,IAAI,EAAE;QAClB,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;QACjB,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM;QACnB,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO;QACpB,SAAS,GAAG,CAAC,EACb,CAAC;QACD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"same-sentence-contrast.js","sourceRoot":"","sources":["../../../../../src/rules/syntactic-patterns/contrast/private/same-sentence-contrast.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,178 @@
1
+ import { cleanSentence, startsWithWords, tokens } from "../../../../shared/matchers/prose-patterns.js";
2
+ import { hasConcreteImplementationSummary } from "../../../../shared/matchers/concrete-evidence.js";
3
+ const PREFIXES = ["and ", "but ", "so ", "because "];
4
+ const ABSTRACT_CONTRAST_NOUNS = ["revelations", "vibe", "virtues"];
5
+ const ADVISORY_NEGATIVE_NOUNS = ["buffet", "elegance"];
6
+ const HUMAN_PLURAL_SUBJECTS = ["kids", "children", "people"];
7
+ const IMPERATIVE_CONTRAST_VERBS = ["bring"];
8
+ const ADVISORY_MODAL_SUBJECTS = ["i"];
9
+ const ADVISORY_MODAL_VERBS = ["give", "expect"];
10
+ const ARTICLE = { kind: "article" };
11
+ const ANY = { kind: "any" };
12
+ function exact(value) {
13
+ return { kind: "exact", value };
14
+ }
15
+ function oneOf(values) {
16
+ return { kind: "oneOf", values };
17
+ }
18
+ function partMatches(word, part) {
19
+ if (word === undefined) {
20
+ return false;
21
+ }
22
+ if (part.kind === "any") {
23
+ return true;
24
+ }
25
+ if (part.kind === "article") {
26
+ return word === "a" || word === "an" || word === "the";
27
+ }
28
+ if (part.kind === "exact") {
29
+ return word === part.value;
30
+ }
31
+ return part.values.includes(word);
32
+ }
33
+ function matchesPattern(words, pattern) {
34
+ if (words.length < pattern.length) {
35
+ return false;
36
+ }
37
+ for (let index = 0; index < pattern.length; index += 1) {
38
+ const part = pattern[index];
39
+ if (part === undefined || !partMatches(words[index], part)) {
40
+ return false;
41
+ }
42
+ }
43
+ return true;
44
+ }
45
+ function matchesArticleNounContrast(words, leadingVerbs, contrastNouns) {
46
+ return matchesPattern(words, [
47
+ oneOf(leadingVerbs),
48
+ ARTICLE,
49
+ ANY,
50
+ exact("not"),
51
+ ARTICLE,
52
+ oneOf(contrastNouns)
53
+ ]);
54
+ }
55
+ function matchesModalArticleNounContrast(words) {
56
+ return matchesPattern(words, [
57
+ oneOf(ADVISORY_MODAL_SUBJECTS),
58
+ exact("would"),
59
+ oneOf(ADVISORY_MODAL_VERBS),
60
+ ARTICLE,
61
+ ANY,
62
+ exact("not"),
63
+ ARTICLE,
64
+ oneOf(ADVISORY_NEGATIVE_NOUNS)
65
+ ]);
66
+ }
67
+ function matchesSubjectGetInContrast(words) {
68
+ return matchesPattern(words, [
69
+ oneOf(HUMAN_PLURAL_SUBJECTS),
70
+ exact("get"),
71
+ ANY,
72
+ exact("in"),
73
+ ANY,
74
+ exact("not"),
75
+ oneOf(ABSTRACT_CONTRAST_NOUNS)
76
+ ]);
77
+ }
78
+ function matchShortSingle(words) {
79
+ if (words.length <= 6 &&
80
+ words[0] === "better" &&
81
+ (words[2] === "create" || words[2] === "creates") &&
82
+ words[3] === "better") {
83
+ return "better-x-create-better-y";
84
+ }
85
+ if (words.length <= 8 &&
86
+ words.at(-3) === "it" &&
87
+ words.at(-2) === "changes" &&
88
+ words.at(-1) === "everything") {
89
+ return "it-changes-everything";
90
+ }
91
+ return undefined;
92
+ }
93
+ function matchPartSingle(words) {
94
+ if (matchesPattern(words, [
95
+ ANY,
96
+ ANY,
97
+ exact("is"),
98
+ exact("the"),
99
+ exact("part"),
100
+ exact("that"),
101
+ exact("sticks")
102
+ ])) {
103
+ return "part-that-sticks";
104
+ }
105
+ if (matchesPattern(words, [
106
+ oneOf(["that", "this", "it"]),
107
+ exact("is"),
108
+ exact("the"),
109
+ exact("part"),
110
+ exact("most"),
111
+ ANY,
112
+ exact("miss")
113
+ ])) {
114
+ return "part-most-x-miss";
115
+ }
116
+ return undefined;
117
+ }
118
+ function matchArticleContrastSingle(words) {
119
+ if (matchesArticleNounContrast(words, IMPERATIVE_CONTRAST_VERBS, ABSTRACT_CONTRAST_NOUNS)) {
120
+ return "imperative-contrast-aphorism";
121
+ }
122
+ if (matchesModalArticleNounContrast(words)) {
123
+ return "modal-advisory-contrast-aphorism";
124
+ }
125
+ if (matchesSubjectGetInContrast(words)) {
126
+ return "reps-not-revelations";
127
+ }
128
+ return undefined;
129
+ }
130
+ function matchLooseContrastSingle(words) {
131
+ if (words.length <= 10 &&
132
+ startsWithWords(words, ["mostly", "by", "treating"]) &&
133
+ words.includes("like") &&
134
+ words.includes("not") &&
135
+ ABSTRACT_CONTRAST_NOUNS.includes(words.at(-1) ?? "")) {
136
+ return "treating-like-not-virtues";
137
+ }
138
+ if (matchesPattern(words, [
139
+ exact("watch"),
140
+ exact("for"),
141
+ ARTICLE,
142
+ exact("pattern"),
143
+ exact("not"),
144
+ exact("one"),
145
+ exact("bad"),
146
+ ANY
147
+ ])) {
148
+ return "watch-for-pattern-not-week";
149
+ }
150
+ if (matchesPattern(words, [
151
+ ANY,
152
+ ANY,
153
+ ANY,
154
+ exact("like"),
155
+ ARTICLE,
156
+ ANY,
157
+ exact("problem"),
158
+ exact("not"),
159
+ ARTICLE,
160
+ ANY,
161
+ exact("problem")
162
+ ])) {
163
+ return "like-a-problem-not-a-problem";
164
+ }
165
+ return undefined;
166
+ }
167
+ export function matchSingleSentenceAphorism(sentence) {
168
+ const stripped = cleanSentence(sentence, PREFIXES);
169
+ const words = tokens(stripped);
170
+ if (hasConcreteImplementationSummary(stripped)) {
171
+ return undefined;
172
+ }
173
+ return (matchShortSingle(words) ??
174
+ matchPartSingle(words) ??
175
+ matchArticleContrastSingle(words) ??
176
+ matchLooseContrastSingle(words));
177
+ }
178
+ //# sourceMappingURL=single-sentence-aphorism.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"single-sentence-aphorism.js","sourceRoot":"","sources":["../../../../../src/rules/syntactic-patterns/contrast/private/single-sentence-aphorism.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,20 @@ const SEQUENCE_PATTERNS = [
57
57
  "a simple pattern works well",
58
58
  "a simple rule works well"
59
59
  ];
60
+ const EMPTY_ADVANTAGE_WORDS = ["advantage", "edge", "signal"];
61
+ const CONDITIONAL_ABSTRACTIONS = [
62
+ "conditions",
63
+ "conversation",
64
+ "conversations",
65
+ "impact",
66
+ "outcomes"
67
+ ];
68
+ const PROFOUND_TAILS = [
69
+ "big signal",
70
+ "profound implications",
71
+ "simple idea",
72
+ "small change"
73
+ ];
60
74
  const WHAT_FRAME_TAIL_STARTERS = [
61
75
  "boring",
62
76
  "clear",
@@ -222,14 +236,50 @@ function matchFormulaicContentSetup(text) {
222
236
  }
223
237
  return undefined;
224
238
  }
239
+ function matchGeneratedFormula(text) {
240
+ const words = tokens(text);
241
+ if (words[0] === "in" &&
242
+ words[1] === "a" &&
243
+ words[2] === "world" &&
244
+ words[3] === "where" &&
245
+ words.includes("becomes") &&
246
+ EMPTY_ADVANTAGE_WORDS.includes(words.at(-1) ?? "")) {
247
+ return "in-a-world-where-x-becomes-y";
248
+ }
249
+ if (words[0] === "if" &&
250
+ words[1] === "we" &&
251
+ (words[2] === "want" || words[2] === "care") &&
252
+ words.some((word) => CONDITIONAL_ABSTRACTIONS.includes(word)) &&
253
+ (words.includes("need") || words.includes("care"))) {
254
+ return "if-we-want-care-we-need-care";
255
+ }
256
+ if ((words[0] === "it" || words[0] === "this") &&
257
+ words[1] === "is" &&
258
+ PROFOUND_TAILS.some((tail) => text.includes(tail))) {
259
+ return "simple-profound-signal-frame";
260
+ }
261
+ if (words[0] === "this" &&
262
+ words[1] === "is" &&
263
+ words[2] === "the" &&
264
+ words[3] === "moment" &&
265
+ words[4] === "to" &&
266
+ words.includes("over")) {
267
+ return "this-is-the-moment-to-choose";
268
+ }
269
+ return undefined;
270
+ }
225
271
  function matchSignposting(sentence) {
226
272
  const stripped = cleanSentence(sentence, PREFIXES);
227
273
  const concreteImplementation = hasConcreteImplementationSummary(stripped);
228
274
  const abstract = matchAbstractFrame(stripped);
229
275
  const formulaicSetup = matchFormulaicContentSetup(stripped);
276
+ const generatedFormula = matchGeneratedFormula(stripped);
230
277
  if (abstract !== undefined && !concreteImplementation) {
231
278
  return { kind: "abstract-evaluation-frame", signal: abstract };
232
279
  }
280
+ if (generatedFormula !== undefined && !concreteImplementation) {
281
+ return { kind: "generated-formula", signal: generatedFormula };
282
+ }
233
283
  if (formulaicSetup !== undefined) {
234
284
  return { kind: "formulaic-content-setup", signal: formulaicSetup };
235
285
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generic-signposting.js","sourceRoot":"","sources":["../../../../src/rules/syntactic-patterns/lead-ins/generic-signposting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generic-signposting.js","sourceRoot":"","sources":["../../../../src/rules/syntactic-patterns/lead-ins/generic-signposting.ts"],"names":[],"mappings":"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"}