@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.
- package/dist/App.js +404 -0
- package/dist/Browse.js +79 -0
- package/dist/FuzzyPicker.js +47 -0
- package/dist/Onboarding.js +51 -0
- package/dist/Spinner.js +12 -0
- package/dist/StatusBar.js +49 -0
- package/dist/ai.js +322 -0
- package/dist/cache.js +41 -0
- package/dist/cli.js +64 -16
- package/dist/command-rewriter.js +64 -0
- package/dist/command-validator.js +86 -0
- package/dist/compression.js +107 -0
- package/dist/context-hints.js +275 -0
- package/dist/diff-cache.js +107 -0
- package/dist/discover.js +212 -0
- package/dist/economy.js +123 -0
- package/dist/expand-store.js +38 -0
- package/dist/file-cache.js +72 -0
- package/dist/file-index.js +62 -0
- package/dist/history.js +62 -0
- package/dist/lazy-executor.js +54 -0
- package/dist/line-dedup.js +59 -0
- package/dist/loop-detector.js +75 -0
- package/dist/mcp/install.js +98 -0
- package/dist/mcp/server.js +569 -0
- package/dist/noise-filter.js +86 -0
- package/dist/output-processor.js +129 -0
- package/dist/output-router.js +41 -0
- package/dist/output-store.js +111 -0
- package/dist/parsers/base.js +2 -0
- package/dist/parsers/build.js +64 -0
- package/dist/parsers/errors.js +101 -0
- package/dist/parsers/files.js +78 -0
- package/dist/parsers/git.js +99 -0
- package/dist/parsers/index.js +48 -0
- package/dist/parsers/tests.js +89 -0
- package/dist/providers/anthropic.js +39 -0
- package/dist/providers/base.js +4 -0
- package/dist/providers/cerebras.js +95 -0
- package/dist/providers/groq.js +95 -0
- package/dist/providers/index.js +73 -0
- package/dist/providers/xai.js +95 -0
- package/dist/recipes/model.js +20 -0
- package/dist/recipes/storage.js +136 -0
- package/dist/search/content-search.js +68 -0
- package/dist/search/file-search.js +61 -0
- package/dist/search/filters.js +34 -0
- package/dist/search/index.js +5 -0
- package/dist/search/semantic.js +320 -0
- package/dist/session-boot.js +59 -0
- package/dist/session-context.js +55 -0
- package/dist/sessions-db.js +173 -0
- package/dist/smart-display.js +286 -0
- package/dist/snapshots.js +51 -0
- package/dist/supervisor.js +112 -0
- package/dist/test-watchlist.js +131 -0
- package/dist/tool-profiles.js +122 -0
- package/dist/tree.js +94 -0
- package/dist/usage-cache.js +65 -0
- package/package.json +8 -1
- package/src/ai.ts +8 -0
- package/src/cli.tsx +57 -18
- package/src/output-processor.ts +6 -1
- package/src/output-store.ts +58 -12
- package/src/tool-profiles.ts +139 -0
- package/.claude/scheduled_tasks.lock +0 -1
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -20
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -14
- package/CONTRIBUTING.md +0 -80
- package/benchmarks/benchmark.mjs +0 -115
- package/imported_modules.txt +0 -0
- package/temp/rtk/.claude/agents/code-reviewer.md +0 -221
- package/temp/rtk/.claude/agents/debugger.md +0 -519
- package/temp/rtk/.claude/agents/rtk-testing-specialist.md +0 -461
- package/temp/rtk/.claude/agents/rust-rtk.md +0 -511
- package/temp/rtk/.claude/agents/technical-writer.md +0 -355
- package/temp/rtk/.claude/commands/diagnose.md +0 -352
- package/temp/rtk/.claude/commands/test-routing.md +0 -362
- package/temp/rtk/.claude/hooks/bash/pre-commit-format.sh +0 -16
- package/temp/rtk/.claude/hooks/rtk-rewrite.sh +0 -70
- package/temp/rtk/.claude/hooks/rtk-suggest.sh +0 -152
- package/temp/rtk/.claude/rules/cli-testing.md +0 -526
- package/temp/rtk/.claude/skills/issue-triage/SKILL.md +0 -348
- package/temp/rtk/.claude/skills/issue-triage/templates/issue-comment.md +0 -134
- package/temp/rtk/.claude/skills/performance.md +0 -435
- package/temp/rtk/.claude/skills/pr-triage/SKILL.md +0 -315
- package/temp/rtk/.claude/skills/pr-triage/templates/review-comment.md +0 -71
- package/temp/rtk/.claude/skills/repo-recap.md +0 -206
- package/temp/rtk/.claude/skills/rtk-tdd/SKILL.md +0 -78
- package/temp/rtk/.claude/skills/rtk-tdd/references/testing-patterns.md +0 -124
- package/temp/rtk/.claude/skills/security-guardian.md +0 -503
- package/temp/rtk/.claude/skills/ship.md +0 -404
- package/temp/rtk/.github/workflows/benchmark.yml +0 -34
- package/temp/rtk/.github/workflows/dco-check.yaml +0 -12
- package/temp/rtk/.github/workflows/release-please.yml +0 -51
- package/temp/rtk/.github/workflows/release.yml +0 -343
- package/temp/rtk/.github/workflows/security-check.yml +0 -135
- package/temp/rtk/.github/workflows/validate-docs.yml +0 -78
- package/temp/rtk/.release-please-manifest.json +0 -3
- package/temp/rtk/ARCHITECTURE.md +0 -1491
- package/temp/rtk/CHANGELOG.md +0 -640
- package/temp/rtk/CLAUDE.md +0 -605
- package/temp/rtk/CONTRIBUTING.md +0 -199
- package/temp/rtk/Cargo.lock +0 -1668
- package/temp/rtk/Cargo.toml +0 -64
- package/temp/rtk/Formula/rtk.rb +0 -43
- package/temp/rtk/INSTALL.md +0 -390
- package/temp/rtk/LICENSE +0 -21
- package/temp/rtk/README.md +0 -386
- package/temp/rtk/README_es.md +0 -159
- package/temp/rtk/README_fr.md +0 -197
- package/temp/rtk/README_ja.md +0 -159
- package/temp/rtk/README_ko.md +0 -159
- package/temp/rtk/README_zh.md +0 -167
- package/temp/rtk/ROADMAP.md +0 -15
- package/temp/rtk/SECURITY.md +0 -217
- package/temp/rtk/TEST_EXEC_TIME.md +0 -102
- package/temp/rtk/build.rs +0 -57
- package/temp/rtk/docs/AUDIT_GUIDE.md +0 -432
- package/temp/rtk/docs/FEATURES.md +0 -1410
- package/temp/rtk/docs/TROUBLESHOOTING.md +0 -309
- package/temp/rtk/docs/filter-workflow.md +0 -102
- package/temp/rtk/docs/images/gain-dashboard.jpg +0 -0
- package/temp/rtk/docs/tracking.md +0 -583
- package/temp/rtk/hooks/opencode-rtk.ts +0 -39
- package/temp/rtk/hooks/rtk-awareness.md +0 -29
- package/temp/rtk/hooks/rtk-rewrite.sh +0 -61
- package/temp/rtk/hooks/test-rtk-rewrite.sh +0 -442
- package/temp/rtk/install.sh +0 -124
- package/temp/rtk/release-please-config.json +0 -10
- package/temp/rtk/scripts/benchmark.sh +0 -592
- package/temp/rtk/scripts/check-installation.sh +0 -162
- package/temp/rtk/scripts/install-local.sh +0 -37
- package/temp/rtk/scripts/rtk-economics.sh +0 -137
- package/temp/rtk/scripts/test-all.sh +0 -561
- package/temp/rtk/scripts/test-aristote.sh +0 -227
- package/temp/rtk/scripts/test-tracking.sh +0 -79
- package/temp/rtk/scripts/update-readme-metrics.sh +0 -32
- package/temp/rtk/scripts/validate-docs.sh +0 -73
- package/temp/rtk/src/aws_cmd.rs +0 -880
- package/temp/rtk/src/binlog.rs +0 -1645
- package/temp/rtk/src/cargo_cmd.rs +0 -1727
- package/temp/rtk/src/cc_economics.rs +0 -1157
- package/temp/rtk/src/ccusage.rs +0 -340
- package/temp/rtk/src/config.rs +0 -187
- package/temp/rtk/src/container.rs +0 -855
- package/temp/rtk/src/curl_cmd.rs +0 -134
- package/temp/rtk/src/deps.rs +0 -268
- package/temp/rtk/src/diff_cmd.rs +0 -367
- package/temp/rtk/src/discover/mod.rs +0 -274
- package/temp/rtk/src/discover/provider.rs +0 -388
- package/temp/rtk/src/discover/registry.rs +0 -2022
- package/temp/rtk/src/discover/report.rs +0 -202
- package/temp/rtk/src/discover/rules.rs +0 -667
- package/temp/rtk/src/display_helpers.rs +0 -402
- package/temp/rtk/src/dotnet_cmd.rs +0 -1771
- package/temp/rtk/src/dotnet_format_report.rs +0 -133
- package/temp/rtk/src/dotnet_trx.rs +0 -593
- package/temp/rtk/src/env_cmd.rs +0 -204
- package/temp/rtk/src/filter.rs +0 -462
- package/temp/rtk/src/filters/README.md +0 -52
- package/temp/rtk/src/filters/ansible-playbook.toml +0 -34
- package/temp/rtk/src/filters/basedpyright.toml +0 -47
- package/temp/rtk/src/filters/biome.toml +0 -45
- package/temp/rtk/src/filters/brew-install.toml +0 -37
- package/temp/rtk/src/filters/composer-install.toml +0 -40
- package/temp/rtk/src/filters/df.toml +0 -16
- package/temp/rtk/src/filters/dotnet-build.toml +0 -64
- package/temp/rtk/src/filters/du.toml +0 -16
- package/temp/rtk/src/filters/fail2ban-client.toml +0 -15
- package/temp/rtk/src/filters/gcc.toml +0 -49
- package/temp/rtk/src/filters/gcloud.toml +0 -22
- package/temp/rtk/src/filters/hadolint.toml +0 -24
- package/temp/rtk/src/filters/helm.toml +0 -29
- package/temp/rtk/src/filters/iptables.toml +0 -27
- package/temp/rtk/src/filters/jj.toml +0 -28
- package/temp/rtk/src/filters/jq.toml +0 -24
- package/temp/rtk/src/filters/make.toml +0 -41
- package/temp/rtk/src/filters/markdownlint.toml +0 -24
- package/temp/rtk/src/filters/mix-compile.toml +0 -27
- package/temp/rtk/src/filters/mix-format.toml +0 -15
- package/temp/rtk/src/filters/mvn-build.toml +0 -44
- package/temp/rtk/src/filters/oxlint.toml +0 -43
- package/temp/rtk/src/filters/ping.toml +0 -63
- package/temp/rtk/src/filters/pio-run.toml +0 -40
- package/temp/rtk/src/filters/poetry-install.toml +0 -50
- package/temp/rtk/src/filters/pre-commit.toml +0 -35
- package/temp/rtk/src/filters/ps.toml +0 -16
- package/temp/rtk/src/filters/quarto-render.toml +0 -41
- package/temp/rtk/src/filters/rsync.toml +0 -48
- package/temp/rtk/src/filters/shellcheck.toml +0 -27
- package/temp/rtk/src/filters/shopify-theme.toml +0 -29
- package/temp/rtk/src/filters/skopeo.toml +0 -45
- package/temp/rtk/src/filters/sops.toml +0 -16
- package/temp/rtk/src/filters/ssh.toml +0 -44
- package/temp/rtk/src/filters/stat.toml +0 -34
- package/temp/rtk/src/filters/swift-build.toml +0 -41
- package/temp/rtk/src/filters/systemctl-status.toml +0 -33
- package/temp/rtk/src/filters/terraform-plan.toml +0 -35
- package/temp/rtk/src/filters/tofu-fmt.toml +0 -16
- package/temp/rtk/src/filters/tofu-init.toml +0 -38
- package/temp/rtk/src/filters/tofu-plan.toml +0 -35
- package/temp/rtk/src/filters/tofu-validate.toml +0 -17
- package/temp/rtk/src/filters/trunk-build.toml +0 -39
- package/temp/rtk/src/filters/ty.toml +0 -50
- package/temp/rtk/src/filters/uv-sync.toml +0 -37
- package/temp/rtk/src/filters/xcodebuild.toml +0 -99
- package/temp/rtk/src/filters/yamllint.toml +0 -25
- package/temp/rtk/src/find_cmd.rs +0 -598
- package/temp/rtk/src/format_cmd.rs +0 -386
- package/temp/rtk/src/gain.rs +0 -723
- package/temp/rtk/src/gh_cmd.rs +0 -1651
- package/temp/rtk/src/git.rs +0 -2012
- package/temp/rtk/src/go_cmd.rs +0 -592
- package/temp/rtk/src/golangci_cmd.rs +0 -254
- package/temp/rtk/src/grep_cmd.rs +0 -288
- package/temp/rtk/src/gt_cmd.rs +0 -810
- package/temp/rtk/src/hook_audit_cmd.rs +0 -283
- package/temp/rtk/src/hook_check.rs +0 -171
- package/temp/rtk/src/init.rs +0 -1859
- package/temp/rtk/src/integrity.rs +0 -537
- package/temp/rtk/src/json_cmd.rs +0 -231
- package/temp/rtk/src/learn/detector.rs +0 -628
- package/temp/rtk/src/learn/mod.rs +0 -119
- package/temp/rtk/src/learn/report.rs +0 -184
- package/temp/rtk/src/lint_cmd.rs +0 -694
- package/temp/rtk/src/local_llm.rs +0 -316
- package/temp/rtk/src/log_cmd.rs +0 -248
- package/temp/rtk/src/ls.rs +0 -324
- package/temp/rtk/src/main.rs +0 -2482
- package/temp/rtk/src/mypy_cmd.rs +0 -389
- package/temp/rtk/src/next_cmd.rs +0 -241
- package/temp/rtk/src/npm_cmd.rs +0 -236
- package/temp/rtk/src/parser/README.md +0 -267
- package/temp/rtk/src/parser/error.rs +0 -46
- package/temp/rtk/src/parser/formatter.rs +0 -336
- package/temp/rtk/src/parser/mod.rs +0 -311
- package/temp/rtk/src/parser/types.rs +0 -119
- package/temp/rtk/src/pip_cmd.rs +0 -302
- package/temp/rtk/src/playwright_cmd.rs +0 -479
- package/temp/rtk/src/pnpm_cmd.rs +0 -573
- package/temp/rtk/src/prettier_cmd.rs +0 -221
- package/temp/rtk/src/prisma_cmd.rs +0 -482
- package/temp/rtk/src/psql_cmd.rs +0 -382
- package/temp/rtk/src/pytest_cmd.rs +0 -384
- package/temp/rtk/src/read.rs +0 -217
- package/temp/rtk/src/rewrite_cmd.rs +0 -50
- package/temp/rtk/src/ruff_cmd.rs +0 -402
- package/temp/rtk/src/runner.rs +0 -271
- package/temp/rtk/src/summary.rs +0 -297
- package/temp/rtk/src/tee.rs +0 -405
- package/temp/rtk/src/telemetry.rs +0 -248
- package/temp/rtk/src/toml_filter.rs +0 -1655
- package/temp/rtk/src/tracking.rs +0 -1416
- package/temp/rtk/src/tree.rs +0 -209
- package/temp/rtk/src/tsc_cmd.rs +0 -259
- package/temp/rtk/src/utils.rs +0 -432
- package/temp/rtk/src/verify_cmd.rs +0 -47
- package/temp/rtk/src/vitest_cmd.rs +0 -385
- package/temp/rtk/src/wc_cmd.rs +0 -401
- package/temp/rtk/src/wget_cmd.rs +0 -260
- package/temp/rtk/tests/fixtures/dotnet/build_failed.txt +0 -11
- package/temp/rtk/tests/fixtures/dotnet/format_changes.json +0 -31
- package/temp/rtk/tests/fixtures/dotnet/format_empty.json +0 -1
- package/temp/rtk/tests/fixtures/dotnet/format_success.json +0 -12
- package/temp/rtk/tests/fixtures/dotnet/test_failed.txt +0 -18
- 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 = ""
|