aiwcli 0.12.6 → 0.12.7

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 (124) hide show
  1. package/bin/dev.cmd +3 -3
  2. package/bin/dev.js +16 -16
  3. package/bin/run.cmd +3 -3
  4. package/bin/run.js +21 -21
  5. package/dist/commands/branch.js +7 -2
  6. package/dist/lib/bmad-installer.js +37 -37
  7. package/dist/lib/terminal.d.ts +2 -0
  8. package/dist/lib/terminal.js +57 -7
  9. package/dist/templates/CLAUDE.md +205 -205
  10. package/dist/templates/_shared/.claude/commands/handoff-resume.md +12 -12
  11. package/dist/templates/_shared/.claude/commands/handoff.md +12 -12
  12. package/dist/templates/_shared/.claude/settings.json +65 -65
  13. package/dist/templates/_shared/.codex/workflows/handoff.md +226 -226
  14. package/dist/templates/_shared/.windsurf/workflows/handoff.md +226 -226
  15. package/dist/templates/_shared/handoff-system/CLAUDE.md +421 -421
  16. package/dist/templates/_shared/handoff-system/lib/document-generator.ts +215 -215
  17. package/dist/templates/_shared/handoff-system/lib/handoff-reader.ts +158 -158
  18. package/dist/templates/_shared/handoff-system/scripts/resume_handoff.ts +373 -373
  19. package/dist/templates/_shared/handoff-system/scripts/save_handoff.ts +469 -469
  20. package/dist/templates/_shared/handoff-system/workflows/handoff-resume.md +66 -66
  21. package/dist/templates/_shared/handoff-system/workflows/handoff.md +254 -254
  22. package/dist/templates/_shared/hooks-ts/_utils/git-state.ts +2 -2
  23. package/dist/templates/_shared/hooks-ts/archive_plan.ts +159 -159
  24. package/dist/templates/_shared/hooks-ts/context_monitor.ts +147 -147
  25. package/dist/templates/_shared/hooks-ts/file-suggestion.ts +128 -128
  26. package/dist/templates/_shared/hooks-ts/pre_compact.ts +49 -49
  27. package/dist/templates/_shared/hooks-ts/session_end.ts +196 -196
  28. package/dist/templates/_shared/hooks-ts/session_start.ts +163 -163
  29. package/dist/templates/_shared/hooks-ts/task_create_capture.ts +48 -48
  30. package/dist/templates/_shared/hooks-ts/task_update_capture.ts +74 -74
  31. package/dist/templates/_shared/hooks-ts/user_prompt_submit.ts +93 -93
  32. package/dist/templates/_shared/lib-ts/CLAUDE.md +367 -367
  33. package/dist/templates/_shared/lib-ts/base/atomic-write.ts +138 -138
  34. package/dist/templates/_shared/lib-ts/base/constants.ts +303 -303
  35. package/dist/templates/_shared/lib-ts/base/git-state.ts +58 -58
  36. package/dist/templates/_shared/lib-ts/base/hook-utils.ts +582 -582
  37. package/dist/templates/_shared/lib-ts/base/inference.ts +301 -301
  38. package/dist/templates/_shared/lib-ts/base/logger.ts +247 -247
  39. package/dist/templates/_shared/lib-ts/base/state-io.ts +202 -202
  40. package/dist/templates/_shared/lib-ts/base/stop-words.ts +184 -184
  41. package/dist/templates/_shared/lib-ts/base/utils.ts +184 -184
  42. package/dist/templates/_shared/lib-ts/context/context-formatter.ts +566 -566
  43. package/dist/templates/_shared/lib-ts/context/context-selector.ts +524 -524
  44. package/dist/templates/_shared/lib-ts/context/context-store.ts +712 -712
  45. package/dist/templates/_shared/lib-ts/context/plan-manager.ts +312 -312
  46. package/dist/templates/_shared/lib-ts/context/task-tracker.ts +185 -185
  47. package/dist/templates/_shared/lib-ts/package.json +20 -20
  48. package/dist/templates/_shared/lib-ts/templates/formatters.ts +102 -102
  49. package/dist/templates/_shared/lib-ts/templates/plan-context.ts +58 -58
  50. package/dist/templates/_shared/lib-ts/tsconfig.json +13 -13
  51. package/dist/templates/_shared/lib-ts/types.ts +186 -186
  52. package/dist/templates/_shared/scripts/resolve_context.ts +33 -33
  53. package/dist/templates/_shared/scripts/status_line.ts +690 -690
  54. package/dist/templates/cc-native/.claude/commands/cc-native/rlm/ask.md +136 -136
  55. package/dist/templates/cc-native/.claude/commands/cc-native/rlm/index.md +21 -21
  56. package/dist/templates/cc-native/.claude/commands/cc-native/rlm/overview.md +56 -56
  57. package/dist/templates/cc-native/.claude/commands/cc-native/specdev.md +10 -10
  58. package/dist/templates/cc-native/.windsurf/workflows/cc-native/fix.md +8 -8
  59. package/dist/templates/cc-native/.windsurf/workflows/cc-native/implement.md +8 -8
  60. package/dist/templates/cc-native/.windsurf/workflows/cc-native/research.md +8 -8
  61. package/dist/templates/cc-native/CC-NATIVE-README.md +189 -189
  62. package/dist/templates/cc-native/TEMPLATE-SCHEMA.md +304 -304
  63. package/dist/templates/cc-native/_cc-native/agents/CLAUDE.md +143 -143
  64. package/dist/templates/cc-native/_cc-native/agents/PLAN-ORCHESTRATOR.md +213 -213
  65. package/dist/templates/cc-native/_cc-native/agents/plan-questions/PLAN-QUESTIONER.md +70 -70
  66. package/dist/templates/cc-native/_cc-native/cc-native.config.json +96 -96
  67. package/dist/templates/cc-native/_cc-native/hooks/CLAUDE.md +247 -247
  68. package/dist/templates/cc-native/_cc-native/hooks/cc-native-plan-review.ts +76 -76
  69. package/dist/templates/cc-native/_cc-native/hooks/enhance_plan_post_subagent.ts +54 -54
  70. package/dist/templates/cc-native/_cc-native/hooks/enhance_plan_post_write.ts +51 -51
  71. package/dist/templates/cc-native/_cc-native/hooks/mark_questions_asked.ts +53 -53
  72. package/dist/templates/cc-native/_cc-native/hooks/plan_questions_early.ts +61 -61
  73. package/dist/templates/cc-native/_cc-native/lib-ts/agent-selection.ts +163 -163
  74. package/dist/templates/cc-native/_cc-native/lib-ts/aggregate-agents.ts +156 -156
  75. package/dist/templates/cc-native/_cc-native/lib-ts/artifacts/format.ts +597 -597
  76. package/dist/templates/cc-native/_cc-native/lib-ts/artifacts/index.ts +26 -26
  77. package/dist/templates/cc-native/_cc-native/lib-ts/artifacts/tracker.ts +107 -107
  78. package/dist/templates/cc-native/_cc-native/lib-ts/artifacts/write.ts +119 -119
  79. package/dist/templates/cc-native/_cc-native/lib-ts/artifacts.ts +21 -21
  80. package/dist/templates/cc-native/_cc-native/lib-ts/cc-native-state.ts +319 -319
  81. package/dist/templates/cc-native/_cc-native/lib-ts/cli-output-parser.ts +144 -144
  82. package/dist/templates/cc-native/_cc-native/lib-ts/config.ts +57 -57
  83. package/dist/templates/cc-native/_cc-native/lib-ts/constants.ts +83 -83
  84. package/dist/templates/cc-native/_cc-native/lib-ts/corroboration.ts +119 -119
  85. package/dist/templates/cc-native/_cc-native/lib-ts/debug.ts +79 -79
  86. package/dist/templates/cc-native/_cc-native/lib-ts/graduation.ts +132 -132
  87. package/dist/templates/cc-native/_cc-native/lib-ts/index.ts +116 -116
  88. package/dist/templates/cc-native/_cc-native/lib-ts/json-parser.ts +168 -168
  89. package/dist/templates/cc-native/_cc-native/lib-ts/orchestrator.ts +70 -70
  90. package/dist/templates/cc-native/_cc-native/lib-ts/output-builder.ts +130 -130
  91. package/dist/templates/cc-native/_cc-native/lib-ts/plan-discovery.ts +80 -80
  92. package/dist/templates/cc-native/_cc-native/lib-ts/plan-enhancement.ts +41 -41
  93. package/dist/templates/cc-native/_cc-native/lib-ts/plan-questions.ts +101 -101
  94. package/dist/templates/cc-native/_cc-native/lib-ts/review-pipeline.ts +511 -511
  95. package/dist/templates/cc-native/_cc-native/lib-ts/reviewers/agent.ts +71 -71
  96. package/dist/templates/cc-native/_cc-native/lib-ts/reviewers/base/base-agent.ts +217 -217
  97. package/dist/templates/cc-native/_cc-native/lib-ts/reviewers/index.ts +12 -12
  98. package/dist/templates/cc-native/_cc-native/lib-ts/reviewers/providers/claude-agent.ts +66 -66
  99. package/dist/templates/cc-native/_cc-native/lib-ts/reviewers/providers/codex-agent.ts +184 -184
  100. package/dist/templates/cc-native/_cc-native/lib-ts/reviewers/providers/gemini-agent.ts +39 -39
  101. package/dist/templates/cc-native/_cc-native/lib-ts/reviewers/providers/orchestrator-claude-agent.ts +196 -196
  102. package/dist/templates/cc-native/_cc-native/lib-ts/reviewers/schemas.ts +201 -201
  103. package/dist/templates/cc-native/_cc-native/lib-ts/reviewers/types.ts +21 -21
  104. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/CLAUDE.md +480 -480
  105. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/embedding-indexer.ts +287 -287
  106. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/hyde.ts +148 -148
  107. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/index.ts +54 -54
  108. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/logger.ts +58 -58
  109. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/ollama-client.ts +208 -208
  110. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/retrieval-pipeline.ts +460 -460
  111. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/transcript-indexer.ts +446 -446
  112. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/transcript-loader.ts +280 -280
  113. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/transcript-searcher.ts +274 -274
  114. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/types.ts +201 -201
  115. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/vector-store.ts +278 -278
  116. package/dist/templates/cc-native/_cc-native/lib-ts/settings.ts +184 -184
  117. package/dist/templates/cc-native/_cc-native/lib-ts/state.ts +275 -275
  118. package/dist/templates/cc-native/_cc-native/lib-ts/tsconfig.json +18 -18
  119. package/dist/templates/cc-native/_cc-native/lib-ts/types.ts +329 -329
  120. package/dist/templates/cc-native/_cc-native/lib-ts/verdict.ts +72 -72
  121. package/dist/templates/cc-native/_cc-native/workflows/specdev.md +9 -9
  122. package/oclif.manifest.json +1 -1
  123. package/package.json +108 -108
  124. package/dist/templates/cc-native/_cc-native/lib-ts/nul +0 -3
@@ -1,184 +1,184 @@
1
- /**
2
- * Stop words for context ID generation.
3
- *
4
- * Generated from analysis of 1,424 prompts, context summaries, and plan files.
5
- * Words that appear frequently but don't help identify the specific task.
6
- *
7
- * ACTION VERBS ARE INTENTIONALLY EXCLUDED:
8
- * add, fix, update, create, implement, refactor, migrate, debug, remove, change,
9
- * move, rename, delete, build, test, deploy, verify, analyze, modify, write, run,
10
- * check, replace, save, sync, load, extract, install, clean, merge, etc.
11
- *
12
- * See SPEC.md §14.1
13
- */
14
-
15
- export const STOP_WORDS: ReadonlySet<string> = new Set([
16
- // ARTICLES
17
- "a", "about", "above",
18
-
19
- "absolutely", "accordingly", "across", "active", "actually", "after", "afterwards", "against", "ago", "ah",
20
- "aiw", "all", "allow", "almost", "along", "already", "alright", "also",
21
- "alternatively", "although", "always", // AUXILIARY/MODAL VERBS
22
- "am", "among", "an", // CONJUNCTIONS
23
- "and", "another",
24
- "any", "anybody", "anyone", "anything", "anyway", "anyways", "apparently", "appear",
25
- "are", "aren", "arent", "args", "around", "as", "ask",
26
- "assert", "async", "at", // SINGLE LETTERS
27
- "b",
28
-
29
- "based", "basic", "basically", "bat", "be", "because", "become",
30
- "been", "before", "begin", "behind", "being",
31
- "below", "below", "beside", "besides", "between", "beyond", "block",
32
-
33
- "both", "but", "by", "c", "can", "cant", "case",
34
- "cases", "cause", "cc", "certainly", "chunk",
35
-
36
- "clarification", "class", "clearly", "come",
37
-
38
- "complete", "completely", "consequently", "consider",
39
-
40
- "const", "contain", "contains", "continue", "conversely", "correct",
41
- "correctly", "could", "couldn", "couldnt", "critical", "current",
42
- "currently", "d",
43
-
44
- "def", "definitely", "dict", "did", "didn", "didnt", "different", "directory",
45
- "do", "does", "doesn", "doesn",
46
- "doesnt", "doing", "don", "done", "dont",
47
- "down", "during", "e", "each", "eh", "eight", "either", "elif", "else",
48
-
49
- "empty", "end", "enough", "entirely", "eprint", "er",
50
- "essentially", // SHORT NOISE
51
- "etc", "eventually", "every", "everybody", "everyone", "everything",
52
- "exactly", "example", "examples", "except", "exe",
53
-
54
- "existing", "expect", "expected", "f", "false",
55
-
56
- "feature", "features", "feel", "few", "finally", "find", "first",
57
- "five", "folder", "follow", "following", "footer", "for", "format",
58
- "four", "from", "full", "furthermore", "g",
59
- "general", "get", "getting", "give",
60
-
61
- // COMMON NON-ACTION VERBS
62
- "go", "going", "gonna", "gotta",
63
- "group", "h", "had", "hadn", "hadnt", "has", "hasn",
64
- "hasnt", "have", "haven", "havent", "having", "he", "header",
65
-
66
- "hello", "help", "hence", "her", "her", // ADVERBS OF PLACE/TIME
67
- "here", "heres", "hers", "herself",
68
- "hes", "hey", "hi", // GENERIC ADJECTIVES
69
- "high", "him", "himself", "his", "hm",
70
- "hmm", "how",
71
-
72
- // LINKING/TRANSITION WORDS
73
- "however", "huh", // PRONOUNS - Personal
74
- "i", "id", "if", "ill", // CONTRACTED FORMS
75
- "im",
76
- "immediately", "import", "important", "in", "include", "index", // GENERIC TECHNICAL NOUNS
77
- "information",
78
- "inside", "instead", "into", "is", "isn",
79
- "isnt", "issue", "it", "item", "items", "its",
80
- "itself", "ive", "j", "js", "json",
81
-
82
- // FILLER/HEDGE WORDS
83
- "just", "k", "keep", "kind", "kinda", "know", "l", "lambda", "last",
84
- "later", "least", "len", "less", "let", "lets", "level", "like",
85
- "likewise", "line", "lines", "list", "literally",
86
- "ll", "look", "looking", "low", "m", "main",
87
-
88
- "make", "making", "manual", "many", "may", "maybe", "md",
89
- "me", "mean", "meanwhile", "method", "might", "mine", "mode",
90
- "more", "moreover", "most", "much", "multiple", "must",
91
-
92
- // PRONOUNS - Possessive
93
- "my", "myself", "n", "nah", "near", "nearly", "need", "needed",
94
- "neither", "never", "nevertheless", "new", "next", "nine", // NEGATION
95
- "no", "nobody",
96
- "none", "none", "nonetheless", "no one", "nope", "nor",
97
- "not", "nothing", "now", "o", "obviously", "of",
98
- "off", "often",
99
-
100
- "oh", "ok", "okay", "on", "one", "ones",
101
- "only", "onto", "option", "optional", "options",
102
- "or", "other", "otherwise", "our", "ours",
103
-
104
- "ourselves", "out", "outside", "over", "overall", "p", "part", "parts", "pass",
105
-
106
- "per", "perhaps", "phase",
107
- "pl", "please",
108
- "point", "points", "possibly", "pretty", "previously", "primary", "probably",
109
- "process", "proper", "provide", "provided", "purpose",
110
- "put", // FILE EXTENSIONS
111
- "py", "q", "question", // QUERY LANGUAGE
112
- "questions",
113
- "quite", "r", "rather",
114
-
115
- // FRAGMENT WORDS
116
- "re", "real", "really", "recently",
117
-
118
- "region", "remain", "require",
119
-
120
- "required", "result", "return", "right", "s", "same", "say",
121
- "secondary", // DOCUMENT/CODE STRUCTURE
122
- "section", "see", "seem",
123
- // PROGRAMMING KEYWORDS
124
- "self", "set", "seven", "several",
125
- "shall", "she", "shes", "should",
126
- "shouldn", "shouldnt", "show", "similarly", "simple",
127
-
128
- "simply", "since", "single", "six", "so", // QUANTIFIERS
129
- "some", "somebody", // PRONOUNS - Indefinite
130
- "someone",
131
- "something", "sometimes", "somewhat", "soon", "sorta", "source", "specific", "stable",
132
- "start", "state", "status", "stay", // STRUCTURAL WORDS
133
- "step", "steps",
134
-
135
- "still", "str", "stuff", "such", "sys", "t",
136
- "take", "tell", "ten", "that", "thats", "the",
137
- "their", "theirs", "them", "themselves", "then", "there",
138
-
139
- "therefore", "theres", "these", "they", "theyre", "theyve",
140
- // OVERLY GENERIC TERMS
141
- "thing", "things", "think", // PRONOUNS - Demonstrative
142
- "this", "those", "though", "three",
143
- "through", "thus", "time", "times",
144
-
145
- // PREPOSITIONS
146
- "to", "today", "toml", "tomorrow", // SHORT FILLER
147
- "too", "totally",
148
- "toward", "towards", "true", "try", "trying", "ts",
149
-
150
- // NUMBER WORDS
151
- "two", "type", "types", "u", "uh", // SPEECH-TO-TEXT FILLERS (STT artifacts from voice input)
152
- "um", "under", "unless",
153
-
154
- "until", "up", "upon", "us", "used", "uses", // COMMON CODING TERMS
155
- "using",
156
- "v", "value", "ve", "version", "very", "via", "w",
157
- "wanna", // COMMON REQUEST PHRASES
158
- "want", "was", "wasn", "wasnt", "way", "ways",
159
- "we", "well", "were", "weren", "werent", "weve", // QUESTION WORDS
160
- "what",
161
- "whats", "when", "whenever", "where", "whereas",
162
-
163
- "wherever", "whether", "which", "while",
164
-
165
- // PRONOUNS - Relative
166
- "who", "whom", "whos", "whose", "why", "will", "with", "within", "without",
167
-
168
- "won", "wont", "work", "working", "works", "would", "wouldn", "wouldnt", "x", "y", "yaml", "yeah", "yep", "yes",
169
- "yesterday", "yet", "yield", "you", "youll", "your", "youre", "yours",
170
-
171
- "yourself", "youve", "yup", "z",
172
- ]);
173
-
174
- /**
175
- * Filter stop words from text.
176
- * Splits on whitespace, removes words in STOP_WORDS set and single-char words.
177
- * See SPEC.md §6.4
178
- */
179
- export function filterStopWords(text: string): string {
180
- return text
181
- .split(/\s+/)
182
- .filter((word) => word.length > 1 && !STOP_WORDS.has(word.toLowerCase()))
183
- .join(" ");
184
- }
1
+ /**
2
+ * Stop words for context ID generation.
3
+ *
4
+ * Generated from analysis of 1,424 prompts, context summaries, and plan files.
5
+ * Words that appear frequently but don't help identify the specific task.
6
+ *
7
+ * ACTION VERBS ARE INTENTIONALLY EXCLUDED:
8
+ * add, fix, update, create, implement, refactor, migrate, debug, remove, change,
9
+ * move, rename, delete, build, test, deploy, verify, analyze, modify, write, run,
10
+ * check, replace, save, sync, load, extract, install, clean, merge, etc.
11
+ *
12
+ * See SPEC.md §14.1
13
+ */
14
+
15
+ export const STOP_WORDS: ReadonlySet<string> = new Set([
16
+ // ARTICLES
17
+ "a", "about", "above",
18
+
19
+ "absolutely", "accordingly", "across", "active", "actually", "after", "afterwards", "against", "ago", "ah",
20
+ "aiw", "all", "allow", "almost", "along", "already", "alright", "also",
21
+ "alternatively", "although", "always", // AUXILIARY/MODAL VERBS
22
+ "am", "among", "an", // CONJUNCTIONS
23
+ "and", "another",
24
+ "any", "anybody", "anyone", "anything", "anyway", "anyways", "apparently", "appear",
25
+ "are", "aren", "arent", "args", "around", "as", "ask",
26
+ "assert", "async", "at", // SINGLE LETTERS
27
+ "b",
28
+
29
+ "based", "basic", "basically", "bat", "be", "because", "become",
30
+ "been", "before", "begin", "behind", "being",
31
+ "below", "below", "beside", "besides", "between", "beyond", "block",
32
+
33
+ "both", "but", "by", "c", "can", "cant", "case",
34
+ "cases", "cause", "cc", "certainly", "chunk",
35
+
36
+ "clarification", "class", "clearly", "come",
37
+
38
+ "complete", "completely", "consequently", "consider",
39
+
40
+ "const", "contain", "contains", "continue", "conversely", "correct",
41
+ "correctly", "could", "couldn", "couldnt", "critical", "current",
42
+ "currently", "d",
43
+
44
+ "def", "definitely", "dict", "did", "didn", "didnt", "different", "directory",
45
+ "do", "does", "doesn", "doesn",
46
+ "doesnt", "doing", "don", "done", "dont",
47
+ "down", "during", "e", "each", "eh", "eight", "either", "elif", "else",
48
+
49
+ "empty", "end", "enough", "entirely", "eprint", "er",
50
+ "essentially", // SHORT NOISE
51
+ "etc", "eventually", "every", "everybody", "everyone", "everything",
52
+ "exactly", "example", "examples", "except", "exe",
53
+
54
+ "existing", "expect", "expected", "f", "false",
55
+
56
+ "feature", "features", "feel", "few", "finally", "find", "first",
57
+ "five", "folder", "follow", "following", "footer", "for", "format",
58
+ "four", "from", "full", "furthermore", "g",
59
+ "general", "get", "getting", "give",
60
+
61
+ // COMMON NON-ACTION VERBS
62
+ "go", "going", "gonna", "gotta",
63
+ "group", "h", "had", "hadn", "hadnt", "has", "hasn",
64
+ "hasnt", "have", "haven", "havent", "having", "he", "header",
65
+
66
+ "hello", "help", "hence", "her", "her", // ADVERBS OF PLACE/TIME
67
+ "here", "heres", "hers", "herself",
68
+ "hes", "hey", "hi", // GENERIC ADJECTIVES
69
+ "high", "him", "himself", "his", "hm",
70
+ "hmm", "how",
71
+
72
+ // LINKING/TRANSITION WORDS
73
+ "however", "huh", // PRONOUNS - Personal
74
+ "i", "id", "if", "ill", // CONTRACTED FORMS
75
+ "im",
76
+ "immediately", "import", "important", "in", "include", "index", // GENERIC TECHNICAL NOUNS
77
+ "information",
78
+ "inside", "instead", "into", "is", "isn",
79
+ "isnt", "issue", "it", "item", "items", "its",
80
+ "itself", "ive", "j", "js", "json",
81
+
82
+ // FILLER/HEDGE WORDS
83
+ "just", "k", "keep", "kind", "kinda", "know", "l", "lambda", "last",
84
+ "later", "least", "len", "less", "let", "lets", "level", "like",
85
+ "likewise", "line", "lines", "list", "literally",
86
+ "ll", "look", "looking", "low", "m", "main",
87
+
88
+ "make", "making", "manual", "many", "may", "maybe", "md",
89
+ "me", "mean", "meanwhile", "method", "might", "mine", "mode",
90
+ "more", "moreover", "most", "much", "multiple", "must",
91
+
92
+ // PRONOUNS - Possessive
93
+ "my", "myself", "n", "nah", "near", "nearly", "need", "needed",
94
+ "neither", "never", "nevertheless", "new", "next", "nine", // NEGATION
95
+ "no", "nobody",
96
+ "none", "none", "nonetheless", "no one", "nope", "nor",
97
+ "not", "nothing", "now", "o", "obviously", "of",
98
+ "off", "often",
99
+
100
+ "oh", "ok", "okay", "on", "one", "ones",
101
+ "only", "onto", "option", "optional", "options",
102
+ "or", "other", "otherwise", "our", "ours",
103
+
104
+ "ourselves", "out", "outside", "over", "overall", "p", "part", "parts", "pass",
105
+
106
+ "per", "perhaps", "phase",
107
+ "pl", "please",
108
+ "point", "points", "possibly", "pretty", "previously", "primary", "probably",
109
+ "process", "proper", "provide", "provided", "purpose",
110
+ "put", // FILE EXTENSIONS
111
+ "py", "q", "question", // QUERY LANGUAGE
112
+ "questions",
113
+ "quite", "r", "rather",
114
+
115
+ // FRAGMENT WORDS
116
+ "re", "real", "really", "recently",
117
+
118
+ "region", "remain", "require",
119
+
120
+ "required", "result", "return", "right", "s", "same", "say",
121
+ "secondary", // DOCUMENT/CODE STRUCTURE
122
+ "section", "see", "seem",
123
+ // PROGRAMMING KEYWORDS
124
+ "self", "set", "seven", "several",
125
+ "shall", "she", "shes", "should",
126
+ "shouldn", "shouldnt", "show", "similarly", "simple",
127
+
128
+ "simply", "since", "single", "six", "so", // QUANTIFIERS
129
+ "some", "somebody", // PRONOUNS - Indefinite
130
+ "someone",
131
+ "something", "sometimes", "somewhat", "soon", "sorta", "source", "specific", "stable",
132
+ "start", "state", "status", "stay", // STRUCTURAL WORDS
133
+ "step", "steps",
134
+
135
+ "still", "str", "stuff", "such", "sys", "t",
136
+ "take", "tell", "ten", "that", "thats", "the",
137
+ "their", "theirs", "them", "themselves", "then", "there",
138
+
139
+ "therefore", "theres", "these", "they", "theyre", "theyve",
140
+ // OVERLY GENERIC TERMS
141
+ "thing", "things", "think", // PRONOUNS - Demonstrative
142
+ "this", "those", "though", "three",
143
+ "through", "thus", "time", "times",
144
+
145
+ // PREPOSITIONS
146
+ "to", "today", "toml", "tomorrow", // SHORT FILLER
147
+ "too", "totally",
148
+ "toward", "towards", "true", "try", "trying", "ts",
149
+
150
+ // NUMBER WORDS
151
+ "two", "type", "types", "u", "uh", // SPEECH-TO-TEXT FILLERS (STT artifacts from voice input)
152
+ "um", "under", "unless",
153
+
154
+ "until", "up", "upon", "us", "used", "uses", // COMMON CODING TERMS
155
+ "using",
156
+ "v", "value", "ve", "version", "very", "via", "w",
157
+ "wanna", // COMMON REQUEST PHRASES
158
+ "want", "was", "wasn", "wasnt", "way", "ways",
159
+ "we", "well", "were", "weren", "werent", "weve", // QUESTION WORDS
160
+ "what",
161
+ "whats", "when", "whenever", "where", "whereas",
162
+
163
+ "wherever", "whether", "which", "while",
164
+
165
+ // PRONOUNS - Relative
166
+ "who", "whom", "whos", "whose", "why", "will", "with", "within", "without",
167
+
168
+ "won", "wont", "work", "working", "works", "would", "wouldn", "wouldnt", "x", "y", "yaml", "yeah", "yep", "yes",
169
+ "yesterday", "yet", "yield", "you", "youll", "your", "youre", "yours",
170
+
171
+ "yourself", "youve", "yup", "z",
172
+ ]);
173
+
174
+ /**
175
+ * Filter stop words from text.
176
+ * Splits on whitespace, removes words in STOP_WORDS set and single-char words.
177
+ * See SPEC.md §6.4
178
+ */
179
+ export function filterStopWords(text: string): string {
180
+ return text
181
+ .split(/\s+/)
182
+ .filter((word) => word.length > 1 && !STOP_WORDS.has(word.toLowerCase()))
183
+ .join(" ");
184
+ }