@hasna/terminal 2.3.0 → 2.3.2

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 (267) hide show
  1. package/dist/App.js +404 -0
  2. package/dist/Browse.js +79 -0
  3. package/dist/FuzzyPicker.js +47 -0
  4. package/dist/Onboarding.js +51 -0
  5. package/dist/Spinner.js +12 -0
  6. package/dist/StatusBar.js +49 -0
  7. package/dist/ai.js +322 -0
  8. package/dist/cache.js +41 -0
  9. package/dist/cli.js +64 -16
  10. package/dist/command-rewriter.js +64 -0
  11. package/dist/command-validator.js +86 -0
  12. package/dist/compression.js +107 -0
  13. package/dist/context-hints.js +275 -0
  14. package/dist/diff-cache.js +107 -0
  15. package/dist/discover.js +212 -0
  16. package/dist/economy.js +123 -0
  17. package/dist/expand-store.js +38 -0
  18. package/dist/file-cache.js +72 -0
  19. package/dist/file-index.js +62 -0
  20. package/dist/history.js +62 -0
  21. package/dist/lazy-executor.js +54 -0
  22. package/dist/line-dedup.js +59 -0
  23. package/dist/loop-detector.js +75 -0
  24. package/dist/mcp/install.js +98 -0
  25. package/dist/mcp/server.js +569 -0
  26. package/dist/noise-filter.js +86 -0
  27. package/dist/output-processor.js +129 -0
  28. package/dist/output-router.js +41 -0
  29. package/dist/output-store.js +111 -0
  30. package/dist/parsers/base.js +2 -0
  31. package/dist/parsers/build.js +64 -0
  32. package/dist/parsers/errors.js +101 -0
  33. package/dist/parsers/files.js +78 -0
  34. package/dist/parsers/git.js +99 -0
  35. package/dist/parsers/index.js +48 -0
  36. package/dist/parsers/tests.js +89 -0
  37. package/dist/providers/anthropic.js +39 -0
  38. package/dist/providers/base.js +4 -0
  39. package/dist/providers/cerebras.js +95 -0
  40. package/dist/providers/groq.js +95 -0
  41. package/dist/providers/index.js +73 -0
  42. package/dist/providers/xai.js +95 -0
  43. package/dist/recipes/model.js +20 -0
  44. package/dist/recipes/storage.js +136 -0
  45. package/dist/search/content-search.js +68 -0
  46. package/dist/search/file-search.js +61 -0
  47. package/dist/search/filters.js +34 -0
  48. package/dist/search/index.js +5 -0
  49. package/dist/search/semantic.js +320 -0
  50. package/dist/session-boot.js +59 -0
  51. package/dist/session-context.js +55 -0
  52. package/dist/sessions-db.js +173 -0
  53. package/dist/smart-display.js +286 -0
  54. package/dist/snapshots.js +51 -0
  55. package/dist/supervisor.js +112 -0
  56. package/dist/test-watchlist.js +131 -0
  57. package/dist/tool-profiles.js +122 -0
  58. package/dist/tree.js +94 -0
  59. package/dist/usage-cache.js +65 -0
  60. package/package.json +8 -1
  61. package/src/ai.ts +8 -0
  62. package/src/cli.tsx +57 -18
  63. package/src/output-processor.ts +6 -1
  64. package/src/output-store.ts +58 -12
  65. package/src/tool-profiles.ts +139 -0
  66. package/.claude/scheduled_tasks.lock +0 -1
  67. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -20
  68. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -14
  69. package/CONTRIBUTING.md +0 -80
  70. package/benchmarks/benchmark.mjs +0 -115
  71. package/imported_modules.txt +0 -0
  72. package/temp/rtk/.claude/agents/code-reviewer.md +0 -221
  73. package/temp/rtk/.claude/agents/debugger.md +0 -519
  74. package/temp/rtk/.claude/agents/rtk-testing-specialist.md +0 -461
  75. package/temp/rtk/.claude/agents/rust-rtk.md +0 -511
  76. package/temp/rtk/.claude/agents/technical-writer.md +0 -355
  77. package/temp/rtk/.claude/commands/diagnose.md +0 -352
  78. package/temp/rtk/.claude/commands/test-routing.md +0 -362
  79. package/temp/rtk/.claude/hooks/bash/pre-commit-format.sh +0 -16
  80. package/temp/rtk/.claude/hooks/rtk-rewrite.sh +0 -70
  81. package/temp/rtk/.claude/hooks/rtk-suggest.sh +0 -152
  82. package/temp/rtk/.claude/rules/cli-testing.md +0 -526
  83. package/temp/rtk/.claude/skills/issue-triage/SKILL.md +0 -348
  84. package/temp/rtk/.claude/skills/issue-triage/templates/issue-comment.md +0 -134
  85. package/temp/rtk/.claude/skills/performance.md +0 -435
  86. package/temp/rtk/.claude/skills/pr-triage/SKILL.md +0 -315
  87. package/temp/rtk/.claude/skills/pr-triage/templates/review-comment.md +0 -71
  88. package/temp/rtk/.claude/skills/repo-recap.md +0 -206
  89. package/temp/rtk/.claude/skills/rtk-tdd/SKILL.md +0 -78
  90. package/temp/rtk/.claude/skills/rtk-tdd/references/testing-patterns.md +0 -124
  91. package/temp/rtk/.claude/skills/security-guardian.md +0 -503
  92. package/temp/rtk/.claude/skills/ship.md +0 -404
  93. package/temp/rtk/.github/workflows/benchmark.yml +0 -34
  94. package/temp/rtk/.github/workflows/dco-check.yaml +0 -12
  95. package/temp/rtk/.github/workflows/release-please.yml +0 -51
  96. package/temp/rtk/.github/workflows/release.yml +0 -343
  97. package/temp/rtk/.github/workflows/security-check.yml +0 -135
  98. package/temp/rtk/.github/workflows/validate-docs.yml +0 -78
  99. package/temp/rtk/.release-please-manifest.json +0 -3
  100. package/temp/rtk/ARCHITECTURE.md +0 -1491
  101. package/temp/rtk/CHANGELOG.md +0 -640
  102. package/temp/rtk/CLAUDE.md +0 -605
  103. package/temp/rtk/CONTRIBUTING.md +0 -199
  104. package/temp/rtk/Cargo.lock +0 -1668
  105. package/temp/rtk/Cargo.toml +0 -64
  106. package/temp/rtk/Formula/rtk.rb +0 -43
  107. package/temp/rtk/INSTALL.md +0 -390
  108. package/temp/rtk/LICENSE +0 -21
  109. package/temp/rtk/README.md +0 -386
  110. package/temp/rtk/README_es.md +0 -159
  111. package/temp/rtk/README_fr.md +0 -197
  112. package/temp/rtk/README_ja.md +0 -159
  113. package/temp/rtk/README_ko.md +0 -159
  114. package/temp/rtk/README_zh.md +0 -167
  115. package/temp/rtk/ROADMAP.md +0 -15
  116. package/temp/rtk/SECURITY.md +0 -217
  117. package/temp/rtk/TEST_EXEC_TIME.md +0 -102
  118. package/temp/rtk/build.rs +0 -57
  119. package/temp/rtk/docs/AUDIT_GUIDE.md +0 -432
  120. package/temp/rtk/docs/FEATURES.md +0 -1410
  121. package/temp/rtk/docs/TROUBLESHOOTING.md +0 -309
  122. package/temp/rtk/docs/filter-workflow.md +0 -102
  123. package/temp/rtk/docs/images/gain-dashboard.jpg +0 -0
  124. package/temp/rtk/docs/tracking.md +0 -583
  125. package/temp/rtk/hooks/opencode-rtk.ts +0 -39
  126. package/temp/rtk/hooks/rtk-awareness.md +0 -29
  127. package/temp/rtk/hooks/rtk-rewrite.sh +0 -61
  128. package/temp/rtk/hooks/test-rtk-rewrite.sh +0 -442
  129. package/temp/rtk/install.sh +0 -124
  130. package/temp/rtk/release-please-config.json +0 -10
  131. package/temp/rtk/scripts/benchmark.sh +0 -592
  132. package/temp/rtk/scripts/check-installation.sh +0 -162
  133. package/temp/rtk/scripts/install-local.sh +0 -37
  134. package/temp/rtk/scripts/rtk-economics.sh +0 -137
  135. package/temp/rtk/scripts/test-all.sh +0 -561
  136. package/temp/rtk/scripts/test-aristote.sh +0 -227
  137. package/temp/rtk/scripts/test-tracking.sh +0 -79
  138. package/temp/rtk/scripts/update-readme-metrics.sh +0 -32
  139. package/temp/rtk/scripts/validate-docs.sh +0 -73
  140. package/temp/rtk/src/aws_cmd.rs +0 -880
  141. package/temp/rtk/src/binlog.rs +0 -1645
  142. package/temp/rtk/src/cargo_cmd.rs +0 -1727
  143. package/temp/rtk/src/cc_economics.rs +0 -1157
  144. package/temp/rtk/src/ccusage.rs +0 -340
  145. package/temp/rtk/src/config.rs +0 -187
  146. package/temp/rtk/src/container.rs +0 -855
  147. package/temp/rtk/src/curl_cmd.rs +0 -134
  148. package/temp/rtk/src/deps.rs +0 -268
  149. package/temp/rtk/src/diff_cmd.rs +0 -367
  150. package/temp/rtk/src/discover/mod.rs +0 -274
  151. package/temp/rtk/src/discover/provider.rs +0 -388
  152. package/temp/rtk/src/discover/registry.rs +0 -2022
  153. package/temp/rtk/src/discover/report.rs +0 -202
  154. package/temp/rtk/src/discover/rules.rs +0 -667
  155. package/temp/rtk/src/display_helpers.rs +0 -402
  156. package/temp/rtk/src/dotnet_cmd.rs +0 -1771
  157. package/temp/rtk/src/dotnet_format_report.rs +0 -133
  158. package/temp/rtk/src/dotnet_trx.rs +0 -593
  159. package/temp/rtk/src/env_cmd.rs +0 -204
  160. package/temp/rtk/src/filter.rs +0 -462
  161. package/temp/rtk/src/filters/README.md +0 -52
  162. package/temp/rtk/src/filters/ansible-playbook.toml +0 -34
  163. package/temp/rtk/src/filters/basedpyright.toml +0 -47
  164. package/temp/rtk/src/filters/biome.toml +0 -45
  165. package/temp/rtk/src/filters/brew-install.toml +0 -37
  166. package/temp/rtk/src/filters/composer-install.toml +0 -40
  167. package/temp/rtk/src/filters/df.toml +0 -16
  168. package/temp/rtk/src/filters/dotnet-build.toml +0 -64
  169. package/temp/rtk/src/filters/du.toml +0 -16
  170. package/temp/rtk/src/filters/fail2ban-client.toml +0 -15
  171. package/temp/rtk/src/filters/gcc.toml +0 -49
  172. package/temp/rtk/src/filters/gcloud.toml +0 -22
  173. package/temp/rtk/src/filters/hadolint.toml +0 -24
  174. package/temp/rtk/src/filters/helm.toml +0 -29
  175. package/temp/rtk/src/filters/iptables.toml +0 -27
  176. package/temp/rtk/src/filters/jj.toml +0 -28
  177. package/temp/rtk/src/filters/jq.toml +0 -24
  178. package/temp/rtk/src/filters/make.toml +0 -41
  179. package/temp/rtk/src/filters/markdownlint.toml +0 -24
  180. package/temp/rtk/src/filters/mix-compile.toml +0 -27
  181. package/temp/rtk/src/filters/mix-format.toml +0 -15
  182. package/temp/rtk/src/filters/mvn-build.toml +0 -44
  183. package/temp/rtk/src/filters/oxlint.toml +0 -43
  184. package/temp/rtk/src/filters/ping.toml +0 -63
  185. package/temp/rtk/src/filters/pio-run.toml +0 -40
  186. package/temp/rtk/src/filters/poetry-install.toml +0 -50
  187. package/temp/rtk/src/filters/pre-commit.toml +0 -35
  188. package/temp/rtk/src/filters/ps.toml +0 -16
  189. package/temp/rtk/src/filters/quarto-render.toml +0 -41
  190. package/temp/rtk/src/filters/rsync.toml +0 -48
  191. package/temp/rtk/src/filters/shellcheck.toml +0 -27
  192. package/temp/rtk/src/filters/shopify-theme.toml +0 -29
  193. package/temp/rtk/src/filters/skopeo.toml +0 -45
  194. package/temp/rtk/src/filters/sops.toml +0 -16
  195. package/temp/rtk/src/filters/ssh.toml +0 -44
  196. package/temp/rtk/src/filters/stat.toml +0 -34
  197. package/temp/rtk/src/filters/swift-build.toml +0 -41
  198. package/temp/rtk/src/filters/systemctl-status.toml +0 -33
  199. package/temp/rtk/src/filters/terraform-plan.toml +0 -35
  200. package/temp/rtk/src/filters/tofu-fmt.toml +0 -16
  201. package/temp/rtk/src/filters/tofu-init.toml +0 -38
  202. package/temp/rtk/src/filters/tofu-plan.toml +0 -35
  203. package/temp/rtk/src/filters/tofu-validate.toml +0 -17
  204. package/temp/rtk/src/filters/trunk-build.toml +0 -39
  205. package/temp/rtk/src/filters/ty.toml +0 -50
  206. package/temp/rtk/src/filters/uv-sync.toml +0 -37
  207. package/temp/rtk/src/filters/xcodebuild.toml +0 -99
  208. package/temp/rtk/src/filters/yamllint.toml +0 -25
  209. package/temp/rtk/src/find_cmd.rs +0 -598
  210. package/temp/rtk/src/format_cmd.rs +0 -386
  211. package/temp/rtk/src/gain.rs +0 -723
  212. package/temp/rtk/src/gh_cmd.rs +0 -1651
  213. package/temp/rtk/src/git.rs +0 -2012
  214. package/temp/rtk/src/go_cmd.rs +0 -592
  215. package/temp/rtk/src/golangci_cmd.rs +0 -254
  216. package/temp/rtk/src/grep_cmd.rs +0 -288
  217. package/temp/rtk/src/gt_cmd.rs +0 -810
  218. package/temp/rtk/src/hook_audit_cmd.rs +0 -283
  219. package/temp/rtk/src/hook_check.rs +0 -171
  220. package/temp/rtk/src/init.rs +0 -1859
  221. package/temp/rtk/src/integrity.rs +0 -537
  222. package/temp/rtk/src/json_cmd.rs +0 -231
  223. package/temp/rtk/src/learn/detector.rs +0 -628
  224. package/temp/rtk/src/learn/mod.rs +0 -119
  225. package/temp/rtk/src/learn/report.rs +0 -184
  226. package/temp/rtk/src/lint_cmd.rs +0 -694
  227. package/temp/rtk/src/local_llm.rs +0 -316
  228. package/temp/rtk/src/log_cmd.rs +0 -248
  229. package/temp/rtk/src/ls.rs +0 -324
  230. package/temp/rtk/src/main.rs +0 -2482
  231. package/temp/rtk/src/mypy_cmd.rs +0 -389
  232. package/temp/rtk/src/next_cmd.rs +0 -241
  233. package/temp/rtk/src/npm_cmd.rs +0 -236
  234. package/temp/rtk/src/parser/README.md +0 -267
  235. package/temp/rtk/src/parser/error.rs +0 -46
  236. package/temp/rtk/src/parser/formatter.rs +0 -336
  237. package/temp/rtk/src/parser/mod.rs +0 -311
  238. package/temp/rtk/src/parser/types.rs +0 -119
  239. package/temp/rtk/src/pip_cmd.rs +0 -302
  240. package/temp/rtk/src/playwright_cmd.rs +0 -479
  241. package/temp/rtk/src/pnpm_cmd.rs +0 -573
  242. package/temp/rtk/src/prettier_cmd.rs +0 -221
  243. package/temp/rtk/src/prisma_cmd.rs +0 -482
  244. package/temp/rtk/src/psql_cmd.rs +0 -382
  245. package/temp/rtk/src/pytest_cmd.rs +0 -384
  246. package/temp/rtk/src/read.rs +0 -217
  247. package/temp/rtk/src/rewrite_cmd.rs +0 -50
  248. package/temp/rtk/src/ruff_cmd.rs +0 -402
  249. package/temp/rtk/src/runner.rs +0 -271
  250. package/temp/rtk/src/summary.rs +0 -297
  251. package/temp/rtk/src/tee.rs +0 -405
  252. package/temp/rtk/src/telemetry.rs +0 -248
  253. package/temp/rtk/src/toml_filter.rs +0 -1655
  254. package/temp/rtk/src/tracking.rs +0 -1416
  255. package/temp/rtk/src/tree.rs +0 -209
  256. package/temp/rtk/src/tsc_cmd.rs +0 -259
  257. package/temp/rtk/src/utils.rs +0 -432
  258. package/temp/rtk/src/verify_cmd.rs +0 -47
  259. package/temp/rtk/src/vitest_cmd.rs +0 -385
  260. package/temp/rtk/src/wc_cmd.rs +0 -401
  261. package/temp/rtk/src/wget_cmd.rs +0 -260
  262. package/temp/rtk/tests/fixtures/dotnet/build_failed.txt +0 -11
  263. package/temp/rtk/tests/fixtures/dotnet/format_changes.json +0 -31
  264. package/temp/rtk/tests/fixtures/dotnet/format_empty.json +0 -1
  265. package/temp/rtk/tests/fixtures/dotnet/format_success.json +0 -12
  266. package/temp/rtk/tests/fixtures/dotnet/test_failed.txt +0 -18
  267. package/tsconfig.json +0 -15
@@ -1,33 +0,0 @@
1
- [filters.systemctl-status]
2
- description = "Compact systemctl status output — strip blank lines, limit to 20 lines"
3
- match_command = "^systemctl\\s+status\\b"
4
- strip_ansi = true
5
- strip_lines_matching = [
6
- "^\\s*$",
7
- ]
8
- max_lines = 20
9
-
10
- [[tests.systemctl-status]]
11
- name = "verbose unit status stripped of blank lines"
12
- input = """
13
- ● nginx.service - A high performance web server
14
- Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
15
- Active: active (running) since Mon 2024-01-15 10:30:00 UTC; 2h ago
16
- Docs: man:nginx(8)
17
- Main PID: 1234 (nginx)
18
- Tasks: 3 (limit: 4915)
19
- Memory: 8.5M
20
-
21
- CGroup: /system.slice/nginx.service
22
- ├─1234 nginx: master process /usr/sbin/nginx
23
- └─1235 nginx: worker process
24
-
25
- Jan 15 10:30:00 host nginx[1234]: nginx/1.24.0
26
- Jan 15 10:30:00 host systemd[1]: Started nginx.service
27
- """
28
- expected = "● nginx.service - A high performance web server\n Loaded: loaded (/lib/systemd/system/nginx.service; enabled)\n Active: active (running) since Mon 2024-01-15 10:30:00 UTC; 2h ago\n Docs: man:nginx(8)\n Main PID: 1234 (nginx)\n Tasks: 3 (limit: 4915)\n Memory: 8.5M\n CGroup: /system.slice/nginx.service\n ├─1234 nginx: master process /usr/sbin/nginx\n └─1235 nginx: worker process\nJan 15 10:30:00 host nginx[1234]: nginx/1.24.0\nJan 15 10:30:00 host systemd[1]: Started nginx.service"
29
-
30
- [[tests.systemctl-status]]
31
- name = "empty input passes through"
32
- input = ""
33
- expected = ""
@@ -1,35 +0,0 @@
1
- [filters.terraform-plan]
2
- description = "Compact Terraform plan output"
3
- match_command = "^terraform\\s+plan"
4
- strip_ansi = true
5
- strip_lines_matching = [
6
- "^Refreshing state",
7
- "^\\s*#.*unchanged",
8
- "^\\s*$",
9
- "^Acquiring state lock",
10
- "^Releasing state lock",
11
- ]
12
- max_lines = 80
13
- on_empty = "terraform plan: no changes detected"
14
-
15
- [[tests.terraform-plan]]
16
- name = "strips Refreshing state lines and blank lines"
17
- input = """
18
- Acquiring state lock. This may take a few moments...
19
- Refreshing state... [id=vpc-abc]
20
- Refreshing state... [id=sg-123]
21
- Releasing state lock. This may take a few moments...
22
-
23
- Terraform will perform the following actions:
24
-
25
- # aws_instance.web will be created
26
- + resource "aws_instance" "web" {}
27
-
28
- Plan: 1 to add, 0 to change, 0 to destroy.
29
- """
30
- expected = "Terraform will perform the following actions:\n # aws_instance.web will be created\n + resource \"aws_instance\" \"web\" {}\nPlan: 1 to add, 0 to change, 0 to destroy."
31
-
32
- [[tests.terraform-plan]]
33
- name = "strips noise, preserves non-blank content"
34
- input = "Refreshing state... [id=vpc-abc]\nNo changes. Your infrastructure matches the configuration."
35
- expected = "No changes. Your infrastructure matches the configuration."
@@ -1,16 +0,0 @@
1
- [filters.tofu-fmt]
2
- description = "Compact OpenTofu fmt output"
3
- match_command = "^tofu\\s+fmt(\\s|$)"
4
- strip_ansi = true
5
- on_empty = "tofu fmt: ok (no changes)"
6
- max_lines = 30
7
-
8
- [[tests.tofu-fmt]]
9
- name = "empty output returns on_empty message"
10
- input = ""
11
- expected = "tofu fmt: ok (no changes)"
12
-
13
- [[tests.tofu-fmt]]
14
- name = "changed files pass through"
15
- input = "main.tf\nvariables.tf"
16
- expected = "main.tf\nvariables.tf"
@@ -1,38 +0,0 @@
1
- [filters.tofu-init]
2
- description = "Compact OpenTofu init output"
3
- match_command = "^tofu\\s+init(\\s|$)"
4
- strip_ansi = true
5
- strip_lines_matching = [
6
- "^- Downloading",
7
- "^- Installing",
8
- "^- Using previously-installed",
9
- "^\\s*$",
10
- "^Initializing provider",
11
- "^Initializing the backend",
12
- "^Initializing modules",
13
- ]
14
- max_lines = 20
15
- on_empty = "tofu init: ok"
16
-
17
- [[tests.tofu-init]]
18
- name = "strips downloading/installing lines"
19
- input = """
20
- Initializing the backend...
21
- Initializing provider plugins...
22
- - Downloading hashicorp/aws 5.0.0...
23
- - Installing hashicorp/aws 5.0.0...
24
- - Using previously-installed hashicorp/random 3.5.1
25
-
26
- OpenTofu has been successfully initialized!
27
- """
28
- expected = "OpenTofu has been successfully initialized!"
29
-
30
- [[tests.tofu-init]]
31
- name = "on_empty when all noise stripped"
32
- input = """
33
- Initializing the backend...
34
- Initializing provider plugins...
35
- - Using previously-installed hashicorp/aws 5.0.0
36
-
37
- """
38
- expected = "tofu init: ok"
@@ -1,35 +0,0 @@
1
- [filters.tofu-plan]
2
- description = "Compact OpenTofu plan output"
3
- match_command = "^tofu\\s+plan(\\s|$)"
4
- strip_ansi = true
5
- strip_lines_matching = [
6
- "^Refreshing state",
7
- "^\\s*#.*unchanged",
8
- "^\\s*$",
9
- "^Acquiring state lock",
10
- "^Releasing state lock",
11
- ]
12
- max_lines = 80
13
- on_empty = "tofu plan: no changes detected"
14
-
15
- [[tests.tofu-plan]]
16
- name = "strips Refreshing state and lock lines"
17
- input = """
18
- Acquiring state lock. This may take a few moments...
19
- Refreshing state... [id=vpc-abc123]
20
- Refreshing state... [id=sg-def456]
21
- Releasing state lock. This may take a few moments...
22
-
23
- OpenTofu will perform the following actions:
24
-
25
- # aws_instance.web will be created
26
- + resource "aws_instance" "web" {}
27
-
28
- Plan: 1 to add, 0 to change, 0 to destroy.
29
- """
30
- expected = "OpenTofu will perform the following actions:\n # aws_instance.web will be created\n + resource \"aws_instance\" \"web\" {}\nPlan: 1 to add, 0 to change, 0 to destroy."
31
-
32
- [[tests.tofu-plan]]
33
- name = "on_empty when all noise stripped"
34
- input = "Refreshing state... [id=vpc-abc]\nAcquiring state lock. This may take a few moments...\nReleasing state lock. This may take a few moments..."
35
- expected = "tofu plan: no changes detected"
@@ -1,17 +0,0 @@
1
- [filters.tofu-validate]
2
- description = "Compact OpenTofu validate output"
3
- match_command = "^tofu\\s+validate(\\s|$)"
4
- strip_ansi = true
5
- match_output = [
6
- { pattern = "Success! The configuration is valid", message = "ok (valid)" },
7
- ]
8
-
9
- [[tests.tofu-validate]]
10
- name = "success short-circuits to ok"
11
- input = "Success! The configuration is valid."
12
- expected = "ok (valid)"
13
-
14
- [[tests.tofu-validate]]
15
- name = "error passes through unchanged"
16
- input = "Error: Invalid resource type\n on main.tf line 3: resource \"aws_instancee\" \"web\""
17
- expected = "Error: Invalid resource type\n on main.tf line 3: resource \"aws_instancee\" \"web\""
@@ -1,39 +0,0 @@
1
- [filters.trunk-build]
2
- description = "Compact trunk build output"
3
- match_command = "^trunk\\s+build"
4
- strip_ansi = true
5
- strip_lines_matching = [
6
- "^\\s*$",
7
- "^\\s*Compiling\\s",
8
- "^\\s*Downloading\\s",
9
- "^\\s*Fetching\\s",
10
- "^\\s*Fresh\\s",
11
- "^\\s*Checking\\s",
12
- ]
13
- tail_lines = 10
14
- max_lines = 30
15
- on_empty = "trunk build: ok"
16
-
17
- [[tests.trunk-build]]
18
- name = "strips compile noise, keeps tail summary"
19
- input = """
20
- Compiling tokio v1.35.0
21
- Compiling hyper v0.14.28
22
- Compiling my-crate v0.1.0
23
- Downloading serde v1.0.195
24
- Fresh regex v1.10.2
25
-
26
- Finished release [optimized] target(s) in 45.23s
27
- Binary: target/release/my-crate (5.2MB)
28
- """
29
- expected = " Finished release [optimized] target(s) in 45.23s\n Binary: target/release/my-crate (5.2MB)"
30
-
31
- [[tests.trunk-build]]
32
- name = "on_empty when all noise stripped"
33
- input = """
34
- Compiling my-crate v0.1.0
35
- Fresh serde v1.0
36
- Checking tokio v1.35.0
37
-
38
- """
39
- expected = "trunk build: ok"
@@ -1,50 +0,0 @@
1
- [filters.ty]
2
- description = "Compact ty type checker output — strip blank lines, keep errors"
3
- match_command = "^ty\\b"
4
- strip_ansi = true
5
- strip_lines_matching = [
6
- "^\\s*$",
7
- "^Checking \\d+ file",
8
- "^ty \\d+\\.\\d+",
9
- ]
10
- max_lines = 50
11
- on_empty = "ty: ok"
12
-
13
- [[tests.ty]]
14
- name = "strips noise, keeps diagnostics"
15
- input = """
16
- ty 0.1.0
17
- Checking 15 files
18
-
19
- error[unresolved-reference]: Name `foo` used when not defined
20
- --> app/main.py:10:5
21
- |
22
- 10 | foo()
23
- | ^^^
24
- |
25
-
26
- warning[unused-variable]: Variable `x` is not used
27
- --> app/utils.py:8:9
28
- |
29
- 8 | x = 42
30
- | ^
31
- |
32
-
33
- Found 1 error, 1 warning
34
- """
35
- expected = "error[unresolved-reference]: Name `foo` used when not defined\n --> app/main.py:10:5\n |\n10 | foo()\n | ^^^\n |\nwarning[unused-variable]: Variable `x` is not used\n --> app/utils.py:8:9\n |\n 8 | x = 42\n | ^\n |\nFound 1 error, 1 warning"
36
-
37
- [[tests.ty]]
38
- name = "clean output"
39
- input = """
40
- ty 0.1.0
41
- Checking 10 files
42
-
43
- All checks passed!
44
- """
45
- expected = "All checks passed!"
46
-
47
- [[tests.ty]]
48
- name = "empty input passes through"
49
- input = ""
50
- expected = ""
@@ -1,37 +0,0 @@
1
- [filters.uv-sync]
2
- description = "Compact uv sync/pip install output — strip downloads, short-circuit when up-to-date"
3
- match_command = "^uv\\s+(sync|pip\\s+install)\\b"
4
- strip_ansi = true
5
- strip_lines_matching = [
6
- "^\\s*$",
7
- "^\\s+Downloading ",
8
- "^\\s+Using cached ",
9
- "^\\s+Preparing ",
10
- ]
11
- match_output = [
12
- { pattern = "Audited \\d+ package", message = "ok (up to date)" },
13
- ]
14
- max_lines = 20
15
-
16
- [[tests.uv-sync]]
17
- name = "audited packages short-circuits to ok"
18
- input = """
19
- Resolved 42 packages in 123ms
20
- Audited 42 packages in 0.05ms
21
- """
22
- expected = "ok (up to date)"
23
-
24
- [[tests.uv-sync]]
25
- name = "install strips download and cached lines"
26
- input = """
27
- Downloading requests-2.31.0-py3-none-any.whl (62.6 kB)
28
- Using cached certifi-2023.11.17-py3-none-any.whl (162 kB)
29
- Preparing packages...
30
- Installed 5 packages in 23ms
31
- + certifi==2023.11.17
32
- + charset-normalizer==3.3.2
33
- + idna==3.6
34
- + requests==2.31.0
35
- + urllib3==2.1.0
36
- """
37
- expected = "Installed 5 packages in 23ms\n + certifi==2023.11.17\n + charset-normalizer==3.3.2\n + idna==3.6\n + requests==2.31.0\n + urllib3==2.1.0"
@@ -1,99 +0,0 @@
1
- [filters.xcodebuild]
2
- description = "Compact xcodebuild output — strip build phases, keep errors/warnings/summary"
3
- match_command = "^xcodebuild\\b"
4
- strip_ansi = true
5
- strip_lines_matching = [
6
- "^\\s*$",
7
- "^CompileC\\s",
8
- "^CompileSwift\\s",
9
- "^Ld\\s",
10
- "^CreateBuildDirectory\\s",
11
- "^MkDir\\s",
12
- "^ProcessInfoPlistFile\\s",
13
- "^CopySwiftLibs\\s",
14
- "^CodeSign\\s",
15
- "^Signing Identity:",
16
- "^RegisterWithLaunchServices",
17
- "^Validate\\s",
18
- "^ProcessProductPackaging",
19
- "^Touch\\s",
20
- "^LinkStoryboards",
21
- "^CompileStoryboard",
22
- "^CompileAssetCatalog",
23
- "^GenerateDSYMFile",
24
- "^PhaseScriptExecution",
25
- "^PBXCp\\s",
26
- "^SetMode\\s",
27
- "^SetOwnerAndGroup\\s",
28
- "^Ditto\\s",
29
- "^CpResource\\s",
30
- "^CpHeader\\s",
31
- "^\\s+cd\\s+/",
32
- "^\\s+export\\s",
33
- "^\\s+/Applications/Xcode",
34
- "^\\s+/usr/bin/",
35
- "^\\s+builtin-",
36
- "^note: Using new build system",
37
- ]
38
- max_lines = 60
39
- on_empty = "xcodebuild: ok"
40
-
41
- [[tests.xcodebuild]]
42
- name = "strips build phases, keeps errors and summary"
43
- input = """
44
- note: Using new build system
45
- CompileSwift normal arm64 /Users/dev/App/ViewController.swift
46
- cd /Users/dev/App
47
- /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -c
48
- CompileSwift normal arm64 /Users/dev/App/AppDelegate.swift
49
- cd /Users/dev/App
50
- export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
51
- Ld /Users/dev/Build/Products/Debug/App normal arm64
52
- cd /Users/dev/App
53
- /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
54
- CodeSign /Users/dev/Build/Products/Debug/App.app
55
- cd /Users/dev/App
56
- builtin-codesign --force --sign
57
-
58
- /Users/dev/App/ViewController.swift:42:9: error: use of unresolved identifier 'foo'
59
- /Users/dev/App/Model.swift:18:5: warning: variable 'x' was never used
60
-
61
- ** BUILD FAILED **
62
- """
63
- expected = "/Users/dev/App/ViewController.swift:42:9: error: use of unresolved identifier 'foo'\n/Users/dev/App/Model.swift:18:5: warning: variable 'x' was never used\n** BUILD FAILED **"
64
-
65
- [[tests.xcodebuild]]
66
- name = "clean build success"
67
- input = """
68
- note: Using new build system
69
- CompileSwift normal arm64 /Users/dev/App/Main.swift
70
- cd /Users/dev/App
71
- Ld /Users/dev/Build/Products/Debug/App normal arm64
72
- cd /Users/dev/App
73
- CodeSign /Users/dev/Build/Products/Debug/App.app
74
- cd /Users/dev/App
75
- builtin-codesign --force --sign
76
-
77
- ** BUILD SUCCEEDED **
78
- """
79
- expected = "** BUILD SUCCEEDED **"
80
-
81
- [[tests.xcodebuild]]
82
- name = "test output keeps test results"
83
- input = """
84
- note: Using new build system
85
- CompileSwift normal arm64 /Users/dev/AppTests/Tests.swift
86
- cd /Users/dev/App
87
- Test Suite 'All tests' started at 2026-03-10 12:00:00
88
- Test Suite 'AppTests' started at 2026-03-10 12:00:00
89
- Test Case '-[AppTests testExample]' passed (0.001 seconds).
90
- Test Case '-[AppTests testFailing]' failed (0.002 seconds).
91
- Test Suite 'AppTests' passed at 2026-03-10 12:00:01
92
- Executed 2 tests, with 1 failure in 0.003 seconds
93
- """
94
- expected = "Test Suite 'All tests' started at 2026-03-10 12:00:00\nTest Suite 'AppTests' started at 2026-03-10 12:00:00\nTest Case '-[AppTests testExample]' passed (0.001 seconds).\nTest Case '-[AppTests testFailing]' failed (0.002 seconds).\nTest Suite 'AppTests' passed at 2026-03-10 12:00:01\nExecuted 2 tests, with 1 failure in 0.003 seconds"
95
-
96
- [[tests.xcodebuild]]
97
- name = "empty input passes through"
98
- input = ""
99
- expected = ""
@@ -1,25 +0,0 @@
1
- [filters.yamllint]
2
- description = "Compact yamllint output — strip blank lines, limit rows"
3
- match_command = "^yamllint\\b"
4
- strip_ansi = true
5
- strip_lines_matching = [
6
- "^\\s*$",
7
- ]
8
- max_lines = 50
9
- truncate_lines_at = 120
10
-
11
- [[tests.yamllint]]
12
- name = "multi-warning output stripped of blank lines"
13
- input = """
14
- config.yml
15
- 3:1 warning missing document start "---" (document-start)
16
- 5:12 error too many spaces inside braces (braces)
17
-
18
- 8:1 error wrong indentation: expected 2 but found 4 (indentation)
19
- """
20
- expected = "config.yml\n 3:1 warning missing document start \"---\" (document-start)\n 5:12 error too many spaces inside braces (braces)\n 8:1 error wrong indentation: expected 2 but found 4 (indentation)"
21
-
22
- [[tests.yamllint]]
23
- name = "empty input passes through"
24
- input = ""
25
- expected = ""