@hasna/terminal 2.3.0 → 2.3.1

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 (202) hide show
  1. package/dist/cli.js +64 -16
  2. package/package.json +1 -1
  3. package/src/ai.ts +8 -0
  4. package/src/cli.tsx +57 -18
  5. package/src/output-processor.ts +6 -1
  6. package/src/output-store.ts +58 -12
  7. package/src/tool-profiles.ts +139 -0
  8. package/temp/rtk/.claude/agents/code-reviewer.md +0 -221
  9. package/temp/rtk/.claude/agents/debugger.md +0 -519
  10. package/temp/rtk/.claude/agents/rtk-testing-specialist.md +0 -461
  11. package/temp/rtk/.claude/agents/rust-rtk.md +0 -511
  12. package/temp/rtk/.claude/agents/technical-writer.md +0 -355
  13. package/temp/rtk/.claude/commands/diagnose.md +0 -352
  14. package/temp/rtk/.claude/commands/test-routing.md +0 -362
  15. package/temp/rtk/.claude/hooks/bash/pre-commit-format.sh +0 -16
  16. package/temp/rtk/.claude/hooks/rtk-rewrite.sh +0 -70
  17. package/temp/rtk/.claude/hooks/rtk-suggest.sh +0 -152
  18. package/temp/rtk/.claude/rules/cli-testing.md +0 -526
  19. package/temp/rtk/.claude/skills/issue-triage/SKILL.md +0 -348
  20. package/temp/rtk/.claude/skills/issue-triage/templates/issue-comment.md +0 -134
  21. package/temp/rtk/.claude/skills/performance.md +0 -435
  22. package/temp/rtk/.claude/skills/pr-triage/SKILL.md +0 -315
  23. package/temp/rtk/.claude/skills/pr-triage/templates/review-comment.md +0 -71
  24. package/temp/rtk/.claude/skills/repo-recap.md +0 -206
  25. package/temp/rtk/.claude/skills/rtk-tdd/SKILL.md +0 -78
  26. package/temp/rtk/.claude/skills/rtk-tdd/references/testing-patterns.md +0 -124
  27. package/temp/rtk/.claude/skills/security-guardian.md +0 -503
  28. package/temp/rtk/.claude/skills/ship.md +0 -404
  29. package/temp/rtk/.github/workflows/benchmark.yml +0 -34
  30. package/temp/rtk/.github/workflows/dco-check.yaml +0 -12
  31. package/temp/rtk/.github/workflows/release-please.yml +0 -51
  32. package/temp/rtk/.github/workflows/release.yml +0 -343
  33. package/temp/rtk/.github/workflows/security-check.yml +0 -135
  34. package/temp/rtk/.github/workflows/validate-docs.yml +0 -78
  35. package/temp/rtk/.release-please-manifest.json +0 -3
  36. package/temp/rtk/ARCHITECTURE.md +0 -1491
  37. package/temp/rtk/CHANGELOG.md +0 -640
  38. package/temp/rtk/CLAUDE.md +0 -605
  39. package/temp/rtk/CONTRIBUTING.md +0 -199
  40. package/temp/rtk/Cargo.lock +0 -1668
  41. package/temp/rtk/Cargo.toml +0 -64
  42. package/temp/rtk/Formula/rtk.rb +0 -43
  43. package/temp/rtk/INSTALL.md +0 -390
  44. package/temp/rtk/LICENSE +0 -21
  45. package/temp/rtk/README.md +0 -386
  46. package/temp/rtk/README_es.md +0 -159
  47. package/temp/rtk/README_fr.md +0 -197
  48. package/temp/rtk/README_ja.md +0 -159
  49. package/temp/rtk/README_ko.md +0 -159
  50. package/temp/rtk/README_zh.md +0 -167
  51. package/temp/rtk/ROADMAP.md +0 -15
  52. package/temp/rtk/SECURITY.md +0 -217
  53. package/temp/rtk/TEST_EXEC_TIME.md +0 -102
  54. package/temp/rtk/build.rs +0 -57
  55. package/temp/rtk/docs/AUDIT_GUIDE.md +0 -432
  56. package/temp/rtk/docs/FEATURES.md +0 -1410
  57. package/temp/rtk/docs/TROUBLESHOOTING.md +0 -309
  58. package/temp/rtk/docs/filter-workflow.md +0 -102
  59. package/temp/rtk/docs/images/gain-dashboard.jpg +0 -0
  60. package/temp/rtk/docs/tracking.md +0 -583
  61. package/temp/rtk/hooks/opencode-rtk.ts +0 -39
  62. package/temp/rtk/hooks/rtk-awareness.md +0 -29
  63. package/temp/rtk/hooks/rtk-rewrite.sh +0 -61
  64. package/temp/rtk/hooks/test-rtk-rewrite.sh +0 -442
  65. package/temp/rtk/install.sh +0 -124
  66. package/temp/rtk/release-please-config.json +0 -10
  67. package/temp/rtk/scripts/benchmark.sh +0 -592
  68. package/temp/rtk/scripts/check-installation.sh +0 -162
  69. package/temp/rtk/scripts/install-local.sh +0 -37
  70. package/temp/rtk/scripts/rtk-economics.sh +0 -137
  71. package/temp/rtk/scripts/test-all.sh +0 -561
  72. package/temp/rtk/scripts/test-aristote.sh +0 -227
  73. package/temp/rtk/scripts/test-tracking.sh +0 -79
  74. package/temp/rtk/scripts/update-readme-metrics.sh +0 -32
  75. package/temp/rtk/scripts/validate-docs.sh +0 -73
  76. package/temp/rtk/src/aws_cmd.rs +0 -880
  77. package/temp/rtk/src/binlog.rs +0 -1645
  78. package/temp/rtk/src/cargo_cmd.rs +0 -1727
  79. package/temp/rtk/src/cc_economics.rs +0 -1157
  80. package/temp/rtk/src/ccusage.rs +0 -340
  81. package/temp/rtk/src/config.rs +0 -187
  82. package/temp/rtk/src/container.rs +0 -855
  83. package/temp/rtk/src/curl_cmd.rs +0 -134
  84. package/temp/rtk/src/deps.rs +0 -268
  85. package/temp/rtk/src/diff_cmd.rs +0 -367
  86. package/temp/rtk/src/discover/mod.rs +0 -274
  87. package/temp/rtk/src/discover/provider.rs +0 -388
  88. package/temp/rtk/src/discover/registry.rs +0 -2022
  89. package/temp/rtk/src/discover/report.rs +0 -202
  90. package/temp/rtk/src/discover/rules.rs +0 -667
  91. package/temp/rtk/src/display_helpers.rs +0 -402
  92. package/temp/rtk/src/dotnet_cmd.rs +0 -1771
  93. package/temp/rtk/src/dotnet_format_report.rs +0 -133
  94. package/temp/rtk/src/dotnet_trx.rs +0 -593
  95. package/temp/rtk/src/env_cmd.rs +0 -204
  96. package/temp/rtk/src/filter.rs +0 -462
  97. package/temp/rtk/src/filters/README.md +0 -52
  98. package/temp/rtk/src/filters/ansible-playbook.toml +0 -34
  99. package/temp/rtk/src/filters/basedpyright.toml +0 -47
  100. package/temp/rtk/src/filters/biome.toml +0 -45
  101. package/temp/rtk/src/filters/brew-install.toml +0 -37
  102. package/temp/rtk/src/filters/composer-install.toml +0 -40
  103. package/temp/rtk/src/filters/df.toml +0 -16
  104. package/temp/rtk/src/filters/dotnet-build.toml +0 -64
  105. package/temp/rtk/src/filters/du.toml +0 -16
  106. package/temp/rtk/src/filters/fail2ban-client.toml +0 -15
  107. package/temp/rtk/src/filters/gcc.toml +0 -49
  108. package/temp/rtk/src/filters/gcloud.toml +0 -22
  109. package/temp/rtk/src/filters/hadolint.toml +0 -24
  110. package/temp/rtk/src/filters/helm.toml +0 -29
  111. package/temp/rtk/src/filters/iptables.toml +0 -27
  112. package/temp/rtk/src/filters/jj.toml +0 -28
  113. package/temp/rtk/src/filters/jq.toml +0 -24
  114. package/temp/rtk/src/filters/make.toml +0 -41
  115. package/temp/rtk/src/filters/markdownlint.toml +0 -24
  116. package/temp/rtk/src/filters/mix-compile.toml +0 -27
  117. package/temp/rtk/src/filters/mix-format.toml +0 -15
  118. package/temp/rtk/src/filters/mvn-build.toml +0 -44
  119. package/temp/rtk/src/filters/oxlint.toml +0 -43
  120. package/temp/rtk/src/filters/ping.toml +0 -63
  121. package/temp/rtk/src/filters/pio-run.toml +0 -40
  122. package/temp/rtk/src/filters/poetry-install.toml +0 -50
  123. package/temp/rtk/src/filters/pre-commit.toml +0 -35
  124. package/temp/rtk/src/filters/ps.toml +0 -16
  125. package/temp/rtk/src/filters/quarto-render.toml +0 -41
  126. package/temp/rtk/src/filters/rsync.toml +0 -48
  127. package/temp/rtk/src/filters/shellcheck.toml +0 -27
  128. package/temp/rtk/src/filters/shopify-theme.toml +0 -29
  129. package/temp/rtk/src/filters/skopeo.toml +0 -45
  130. package/temp/rtk/src/filters/sops.toml +0 -16
  131. package/temp/rtk/src/filters/ssh.toml +0 -44
  132. package/temp/rtk/src/filters/stat.toml +0 -34
  133. package/temp/rtk/src/filters/swift-build.toml +0 -41
  134. package/temp/rtk/src/filters/systemctl-status.toml +0 -33
  135. package/temp/rtk/src/filters/terraform-plan.toml +0 -35
  136. package/temp/rtk/src/filters/tofu-fmt.toml +0 -16
  137. package/temp/rtk/src/filters/tofu-init.toml +0 -38
  138. package/temp/rtk/src/filters/tofu-plan.toml +0 -35
  139. package/temp/rtk/src/filters/tofu-validate.toml +0 -17
  140. package/temp/rtk/src/filters/trunk-build.toml +0 -39
  141. package/temp/rtk/src/filters/ty.toml +0 -50
  142. package/temp/rtk/src/filters/uv-sync.toml +0 -37
  143. package/temp/rtk/src/filters/xcodebuild.toml +0 -99
  144. package/temp/rtk/src/filters/yamllint.toml +0 -25
  145. package/temp/rtk/src/find_cmd.rs +0 -598
  146. package/temp/rtk/src/format_cmd.rs +0 -386
  147. package/temp/rtk/src/gain.rs +0 -723
  148. package/temp/rtk/src/gh_cmd.rs +0 -1651
  149. package/temp/rtk/src/git.rs +0 -2012
  150. package/temp/rtk/src/go_cmd.rs +0 -592
  151. package/temp/rtk/src/golangci_cmd.rs +0 -254
  152. package/temp/rtk/src/grep_cmd.rs +0 -288
  153. package/temp/rtk/src/gt_cmd.rs +0 -810
  154. package/temp/rtk/src/hook_audit_cmd.rs +0 -283
  155. package/temp/rtk/src/hook_check.rs +0 -171
  156. package/temp/rtk/src/init.rs +0 -1859
  157. package/temp/rtk/src/integrity.rs +0 -537
  158. package/temp/rtk/src/json_cmd.rs +0 -231
  159. package/temp/rtk/src/learn/detector.rs +0 -628
  160. package/temp/rtk/src/learn/mod.rs +0 -119
  161. package/temp/rtk/src/learn/report.rs +0 -184
  162. package/temp/rtk/src/lint_cmd.rs +0 -694
  163. package/temp/rtk/src/local_llm.rs +0 -316
  164. package/temp/rtk/src/log_cmd.rs +0 -248
  165. package/temp/rtk/src/ls.rs +0 -324
  166. package/temp/rtk/src/main.rs +0 -2482
  167. package/temp/rtk/src/mypy_cmd.rs +0 -389
  168. package/temp/rtk/src/next_cmd.rs +0 -241
  169. package/temp/rtk/src/npm_cmd.rs +0 -236
  170. package/temp/rtk/src/parser/README.md +0 -267
  171. package/temp/rtk/src/parser/error.rs +0 -46
  172. package/temp/rtk/src/parser/formatter.rs +0 -336
  173. package/temp/rtk/src/parser/mod.rs +0 -311
  174. package/temp/rtk/src/parser/types.rs +0 -119
  175. package/temp/rtk/src/pip_cmd.rs +0 -302
  176. package/temp/rtk/src/playwright_cmd.rs +0 -479
  177. package/temp/rtk/src/pnpm_cmd.rs +0 -573
  178. package/temp/rtk/src/prettier_cmd.rs +0 -221
  179. package/temp/rtk/src/prisma_cmd.rs +0 -482
  180. package/temp/rtk/src/psql_cmd.rs +0 -382
  181. package/temp/rtk/src/pytest_cmd.rs +0 -384
  182. package/temp/rtk/src/read.rs +0 -217
  183. package/temp/rtk/src/rewrite_cmd.rs +0 -50
  184. package/temp/rtk/src/ruff_cmd.rs +0 -402
  185. package/temp/rtk/src/runner.rs +0 -271
  186. package/temp/rtk/src/summary.rs +0 -297
  187. package/temp/rtk/src/tee.rs +0 -405
  188. package/temp/rtk/src/telemetry.rs +0 -248
  189. package/temp/rtk/src/toml_filter.rs +0 -1655
  190. package/temp/rtk/src/tracking.rs +0 -1416
  191. package/temp/rtk/src/tree.rs +0 -209
  192. package/temp/rtk/src/tsc_cmd.rs +0 -259
  193. package/temp/rtk/src/utils.rs +0 -432
  194. package/temp/rtk/src/verify_cmd.rs +0 -47
  195. package/temp/rtk/src/vitest_cmd.rs +0 -385
  196. package/temp/rtk/src/wc_cmd.rs +0 -401
  197. package/temp/rtk/src/wget_cmd.rs +0 -260
  198. package/temp/rtk/tests/fixtures/dotnet/build_failed.txt +0 -11
  199. package/temp/rtk/tests/fixtures/dotnet/format_changes.json +0 -31
  200. package/temp/rtk/tests/fixtures/dotnet/format_empty.json +0 -1
  201. package/temp/rtk/tests/fixtures/dotnet/format_success.json +0 -12
  202. package/temp/rtk/tests/fixtures/dotnet/test_failed.txt +0 -18
@@ -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 = ""