Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
182 commits
Select commit Hold shift + click to select a range
a03423e
test: make the suite engine-independent and guard the client boundary
claude Oct 22, 2026
6ac740f
fix(lifecycle): contain the internal-route mount and follow reloads i…
claude Oct 22, 2026
aa3c01b
fix: price, list and key requests on the plane they belong to; isolat…
claude Oct 22, 2026
54a5b19
fix(store): mount the inspection remote, and read legacy keys per int…
claude Oct 22, 2026
8a5e95f
docs: describe the tree that exists, and the guarantees the suite now…
claude Oct 22, 2026
52f175f
docs: add the improvement plan from the architecture review
claude Oct 22, 2026
603d378
docs(plan): the approved refactor plan, with the host's own contracts
claude Oct 22, 2026
0a0dbb0
docs(plan): route every mode through the user's own provider
claude Oct 23, 2026
d4e3067
docs(plan): the plugin owns the plane routes, measured on pi 1.1.0
claude Oct 23, 2026
a38259c
docs(plan): fold the reviewed design and the build order into the plan
claude Oct 23, 2026
cd3107e
fix: repair what shipped broken in 1.4.1
claude Oct 23, 2026
73d60e4
docs(plan): P1a is in review
claude Oct 23, 2026
2bbb673
chore: remove dead code and tighten the repository's gates
claude Oct 23, 2026
e8944cc
feat: a smaller public API
claude Oct 23, 2026
f276902
build: pin the host the plugin runs on
claude Oct 23, 2026
6182886
test: a harness that is the real host
claude Oct 24, 2026
9ccdeb3
refactor: one way to patch a host method
claude Oct 24, 2026
813e6f3
chore: refresh the generated catalog and limits tables
claude Oct 24, 2026
a3d096b
Merge branch 'claude/vigilant-mendel-bctz9n' into p1a
claude Oct 24, 2026
2339c48
Merge branch 'claude/vigilant-mendel-bctz9n-p1a' into p1b
claude Oct 24, 2026
8b6cde6
Merge branch 'claude/vigilant-mendel-bctz9n-p1b' into p2
claude Oct 24, 2026
fb23df4
Merge branch 'claude/vigilant-mendel-bctz9n-p-t1a' into p-t1b
claude Oct 24, 2026
9cd81de
Merge branch 'claude/vigilant-mendel-bctz9n-p-t1b' into p-h
claude Oct 24, 2026
1a568f9
Merge branch 'claude/vigilant-mendel-bctz9n-p2' into p-t1a
claude Oct 24, 2026
c7121a3
feat: the plugin owns the opencode and opencode-go routes
claude Oct 24, 2026
50d39f5
Merge branch 'claude/vigilant-mendel-bctz9n-p-h' into p-r1
claude Oct 24, 2026
2ebaffc
chore: refresh the generated catalog and limits tables
claude Oct 26, 2026
d51a3e6
test: skip free models the gateway has withdrawn in the live suite
claude Oct 26, 2026
409b5e1
fix: address the second review of P-T1b
claude Oct 26, 2026
aec8c1a
Merge branch 'claude/vigilant-mendel-bctz9n-p-t1b' into p-h
claude Oct 26, 2026
0dd1b9c
Merge branch 'claude/vigilant-mendel-bctz9n' into p1a
claude Oct 26, 2026
1f5ed90
Merge branch 'claude/vigilant-mendel-bctz9n-p1a' into p1b
claude Oct 26, 2026
05faa93
Merge branch 'claude/vigilant-mendel-bctz9n-p1b' into p2
claude Oct 26, 2026
73db37b
Merge branch 'claude/vigilant-mendel-bctz9n-p2' into p-t1a
claude Oct 26, 2026
9f7e8e2
Merge branch 'claude/vigilant-mendel-bctz9n-p-t1a' into p-t1b
claude Oct 26, 2026
1f48272
test: follow the vendor catalog refresh
claude Oct 26, 2026
3cfacd9
fix: address the second review of P-H
claude Oct 26, 2026
bffd3a4
Merge branch 'claude/vigilant-mendel-bctz9n-p-h' into p-r1
claude Oct 26, 2026
8ab5d65
Merge branch 'claude/vigilant-mendel-bctz9n-p-t1b' into p-h
claude Oct 26, 2026
25dc182
Merge branch 'claude/vigilant-mendel-bctz9n-p-h' into p-r1
claude Oct 26, 2026
9cf8372
test: follow the vendor catalog refresh
claude Oct 26, 2026
0cceb81
fix: address the second review of P-R1
claude Oct 27, 2026
059236a
ci: gate freshness only on a pull request's own generator changes
claude Oct 27, 2026
d13cbe2
chore: refresh the generated catalog after Zen retired deepseek-v4-flash
claude Oct 27, 2026
32f2d71
Merge branch 'claude/vigilant-mendel-bctz9n' into claude/vigilant-men…
claude Oct 27, 2026
64c8acc
Merge branch 'claude/vigilant-mendel-bctz9n-p1a' into claude/vigilant…
claude Oct 27, 2026
6988e7a
Merge branch 'claude/vigilant-mendel-bctz9n-p1b' into claude/vigilant…
claude Oct 27, 2026
aba2c4a
Merge branch 'claude/vigilant-mendel-bctz9n-p2' into claude/vigilant-…
claude Oct 27, 2026
c6d8965
Merge branch 'claude/vigilant-mendel-bctz9n-p-t1a' into claude/vigila…
claude Oct 27, 2026
c6077be
Merge branch 'claude/vigilant-mendel-bctz9n-p-t1b' into claude/vigila…
claude Oct 27, 2026
3d7cb38
test: give the freshness walk's dynamic import a script-local target
claude Oct 27, 2026
e4aa0c9
Merge branch 'claude/vigilant-mendel-bctz9n' into claude/vigilant-men…
claude Oct 27, 2026
94c3a22
Merge branch 'claude/vigilant-mendel-bctz9n-p1a' into claude/vigilant…
claude Oct 27, 2026
14c1544
Merge branch 'claude/vigilant-mendel-bctz9n-p1b' into claude/vigilant…
claude Oct 27, 2026
8ee4245
Merge branch 'claude/vigilant-mendel-bctz9n-p2' into claude/vigilant-…
claude Oct 27, 2026
5133c0c
Merge branch 'claude/vigilant-mendel-bctz9n-p-t1a' into claude/vigila…
claude Oct 27, 2026
b518061
Merge branch 'claude/vigilant-mendel-bctz9n-p-t1b' into claude/vigila…
claude Oct 27, 2026
4dbd22e
fix: send Google's thinking level to Gemini models the catalog gives …
claude Oct 27, 2026
d8821f0
Merge remote-tracking branch 'origin/claude/vigilant-mendel-bctz9n-p-…
claude Oct 27, 2026
dec00c8
docs: correct the Go shape count, the README date and the install range
claude Oct 27, 2026
d16a600
docs: date the refreshed model count and correct three stale figures
claude Oct 27, 2026
f8a4af3
Merge branch 'claude/vigilant-mendel-bctz9n' into claude/vigilant-men…
claude Oct 27, 2026
cb3cdda
Merge branch 'claude/vigilant-mendel-bctz9n-p1a' into claude/vigilant…
claude Oct 27, 2026
3d461c2
Merge branch 'claude/vigilant-mendel-bctz9n-p1b' into claude/vigilant…
claude Oct 27, 2026
659b0f3
Merge branch 'claude/vigilant-mendel-bctz9n-p2' into claude/vigilant-…
claude Oct 27, 2026
fa6a5bd
Merge branch 'claude/vigilant-mendel-bctz9n-p-t1a' into claude/vigila…
claude Oct 27, 2026
c82fa3e
Merge branch 'claude/vigilant-mendel-bctz9n-p-t1b' into claude/vigila…
claude Oct 27, 2026
a583874
Merge branch 'claude/vigilant-mendel-bctz9n-p-h' into claude/vigilant…
claude Oct 27, 2026
61e2c5d
docs: close the audit's remaining findings on P-R1
claude Oct 27, 2026
1c91312
Merge remote-tracking branch 'origin/main' into claude/vigilant-mende…
claude Nov 2, 2026
854a337
chore: follow the vendor's retirement of nemotron-3-ultra-free
claude Nov 2, 2026
b0f0bdc
test: walk past a model the gateway answers ModelDeprecated for
claude Nov 2, 2026
15e6236
test: install the plane-lookup world before each test
claude Nov 2, 2026
2454609
test(scripts): move the generated-table skip into the CLI-version rules
claude Nov 2, 2026
beae0ca
test(e2e): read an upstream's 400 "Model is unavailable" as a retirement
claude Nov 2, 2026
1d4aaab
docs(testing): describe the suite this branch keeps
claude Nov 2, 2026
4b0ebea
test(e2e): keep the free-tier case's narrowing in the subject picker
claude Nov 2, 2026
979ea27
chore(vendor): follow opencode 1.19.5
claude Nov 2, 2026
28fee8d
docs(plan): restack the plan onto 1.8.0 and the alpha host
claude Nov 2, 2026
8b9da84
build: raise the client bundle ceiling to 136 KB
claude Nov 2, 2026
281fc9f
docs: complete the restack of P0
claude Nov 2, 2026
6812723
docs: close the restack review of P0
claude Nov 2, 2026
7cd12d3
docs: hold the meter's allowance figures to the generated table
claude Nov 3, 2026
e3216d1
Merge remote-tracking branch 'origin/claude/vigilant-mendel-bctz9n' i…
claude Nov 3, 2026
73d5465
style: lint and format the merged purge row and token test
claude Nov 3, 2026
2ecf689
fix: complete the restack of P1a
claude Nov 3, 2026
252d0f8
docs: state the measured meter-scan reasons and P1a's refusal test cases
claude Nov 3, 2026
bf5717b
Merge remote-tracking branch 'origin/claude/vigilant-mendel-bctz9n-p1…
claude Nov 3, 2026
5e60c1b
test: one catalogue fixture, behind the one door
claude Nov 3, 2026
f3697a5
docs: describe debugFile by the gate main chose (D24)
claude Nov 3, 2026
074c834
style: satisfy main's promise lint in the retry test
claude Nov 3, 2026
19f05e6
docs(plan): record P1b's restack
claude Nov 3, 2026
8e9f36e
test: keep the fallback case's comment free of a model name
claude Nov 3, 2026
7136ca0
fix: complete the restack of P1b
claude Nov 3, 2026
786de90
docs: name the setup file in the door rule and count the fixture's en…
claude Nov 3, 2026
239d635
docs(plan): record the both-channel host question for P-T1a
claude Nov 3, 2026
bab4fc8
Merge remote-tracking branch 'origin/claude/vigilant-mendel-bctz9n-p1…
claude Nov 3, 2026
521b98f
test: route main's new tests through the one door
claude Nov 3, 2026
737a49d
docs(testing): drop the wrapper forwarder P2 retires again
claude Nov 3, 2026
c15aca0
docs: stop the count sweep record asserting a superseded catalog
claude Nov 3, 2026
798ba2e
chore: refresh the generated catalog for pulse-alpha-free
claude Nov 3, 2026
749669c
Merge branch 'claude/vigilant-mendel-bctz9n' into claude/vigilant-men…
claude Nov 3, 2026
835c793
Merge branch 'claude/vigilant-mendel-bctz9n-p1a' into claude/vigilant…
claude Nov 3, 2026
0563db6
chore: merge the parent's catalog refresh into P2
claude Nov 3, 2026
394e892
Merge remote-tracking branch 'origin/claude/vigilant-mendel-bctz9n-p2…
claude Nov 3, 2026
d65ed21
build: switch the dev install between the harness channels
claude Nov 3, 2026
f595d2d
test: fail if src reads what the desktop's patched pi changes
claude Nov 3, 2026
ea228a6
ci: run the unit and mock suites on both harness channels
claude Nov 3, 2026
90048d7
docs: record the both-channel, no-patch host policy
claude Nov 3, 2026
bcae61f
docs: keep the plan's D14'' row one table cell
claude Nov 3, 2026
44a6d5b
docs: complete the restack of P-T1a
claude Nov 3, 2026
bce1863
test: hold the relock's lockfile strip and name the channel switch's …
claude Nov 3, 2026
4679c1d
fix: report harness channel drift nightly and complete the restack of…
claude Nov 3, 2026
6310663
fix: keep Dependabot and the rc lockfile inside the channel-bump rule…
claude Nov 3, 2026
fb6a686
Merge remote-tracking branch 'origin/claude/vigilant-mendel-bctz9n-p-…
claude Nov 3, 2026
0101239
test: characterize the real host on both harness channels, newest and…
claude Nov 3, 2026
017adad
ci: boot each channel's published binary, as npm installs it and at t…
claude Nov 3, 2026
e1d775c
docs: describe the host cells and the per-channel binary e2e
claude Nov 3, 2026
4871d87
test: name the host cell each row and dispatch set belongs to
claude Nov 3, 2026
79ef58a
test: record the alpha host's broken save as a host limitation
claude Nov 3, 2026
8688046
fix: pin the e2e-host floor cell to the shipped tree and narrow its h…
claude Nov 4, 2026
c1fca83
fix: hold the cordis family to the declared range floors
claude Nov 4, 2026
ec38185
fix: hold the cordis family at the record's floors through a relock
claude Nov 4, 2026
011b99e
Merge remote-tracking branch 'origin/claude/vigilant-mendel-bctz9n-p-…
claude Nov 4, 2026
d001586
docs: pair the reload bullet in the Chinese README
claude Nov 4, 2026
ff2db1d
docs: retitle P-H as the fix it ships
claude Nov 4, 2026
58ba532
Merge remote-tracking branch 'origin/claude/vigilant-mendel-bctz9n-p-…
claude Nov 4, 2026
4a66384
fix: leave the Google thinking control to the host's pi
claude Nov 4, 2026
7ed93a7
fix: route by the plugin's own endpoint table, never pi's catalog
claude Nov 4, 2026
34d6959
fix: size undescribed models with pi-ai's own defaults, not a copy
claude Nov 4, 2026
fa53d8e
docs: cite both channels' host lines and correct the session header c…
claude Nov 4, 2026
db81e7e
test: size the adapter's toggle case through pi-ai's own Config
claude Nov 4, 2026
48776d2
test: hold every remote codec's two parser doors to one parser
claude Nov 4, 2026
0a165d6
test: record the floor's budget refusal in the dispatch cases
claude Nov 4, 2026
2701c88
test: record where the route claim cannot engage on the alpha npm host
claude Nov 4, 2026
76d11e0
fix: complete the restack of P-R1
claude Nov 4, 2026
8bb7b7f
docs: record the withdrawn thinking-level rewrite and finish the P-R1…
claude Nov 4, 2026
26d1e74
docs: complete the restack review of P-R1
claude Nov 4, 2026
38f19dc
test: a harness that is the real host
claude Nov 12, 2026
9cc5cd6
test: pin the host contracts for both internal/config call shapes
claude Nov 12, 2026
2db6e7b
test: re-measure the host cells on rc 0.2.2-rc.2 and alpha 0.2.2-alpha.3
claude Nov 12, 2026
d4723c2
test: pin the bridges' route-level api set per channel, and state bot…
claude Nov 12, 2026
0a000c5
docs: put P-T1b on main 1.9.2 and name the cores and owners the revie…
claude Nov 12, 2026
6786ee2
Merge the pre-rebase tip of claude/vigilant-mendel-bctz9n-p-t1b (hist…
claude Nov 12, 2026
0b2cf31
fix: disabling or reloading the plugin restores the host methods it w…
claude Nov 12, 2026
bea5722
docs: cite the new cordis core for the shadow-method trap, and name t…
claude Nov 12, 2026
da01f95
Merge the pre-rebase tip of claude/vigilant-mendel-bctz9n-p-h (histor…
claude Nov 12, 2026
57b0851
Merge origin/main (#168) into claude/vigilant-mendel-bctz9n-p-t1b
claude Nov 12, 2026
b1d8e29
Merge claude/vigilant-mendel-bctz9n-p-t1b (#110's head, with main #16…
claude Nov 12, 2026
e13848d
Merge origin/main (#110 squash) into claude/vigilant-mendel-bctz9n-p-h
claude Nov 12, 2026
d90f066
feat: the plugin owns the opencode and opencode-go routes
claude Nov 12, 2026
0ab3fa7
fix: the route claim speaks both internal/config call shapes
claude Nov 12, 2026
9ba2290
fix: plane profiles carry pi-ai's image bounds where pi-ai defines them
claude Nov 12, 2026
d4f6557
test: the binary e2e expects the claim on both host cores
claude Nov 12, 2026
5f82bd1
test: the route claim through a pi-ai row the loader removed first
claude Nov 12, 2026
bbd924d
docs: record the new host core and the claim on both shapes
claude Nov 12, 2026
aa70a43
fix: the route claim's re-append never throws into pi-ai's status emit
claude Nov 12, 2026
1f80a51
docs: mark P-T1b and P-H merged, and put P-R1 on main 1.9.2
claude Nov 12, 2026
0b6fc99
docs: the plan's summaries say P0 to P-H are merged
claude Nov 12, 2026
974b43a
Merge the pre-rebase tip of claude/vigilant-mendel-bctz9n-p-r1 (histo…
claude Nov 12, 2026
e04e719
Merge claude/vigilant-mendel-bctz9n-p-h (this PR's base) into claude/…
claude Nov 12, 2026
33925ef
Merge origin/main (#170, #159) into claude/vigilant-mendel-bctz9n-p-r1
claude Nov 13, 2026
5ecc037
fix: the route claim steps aside for a plane another plugin owns
claude Nov 13, 2026
e21f99d
docs: D27, and the routes OpenCode Console serves
claude Nov 13, 2026
6527780
fix: keep the plugin off every stepped-aside plane, by realm or marker
claude Nov 13, 2026
d63a24c
docs: D27 names the realm by what each context resolves, and covers t…
claude Nov 13, 2026
a1db1d2
fix: a live change of pi-ai's realm alone moves its planes, with one …
claude Nov 13, 2026
51f4626
fix: the purge never rewrites a plane entry another plugin owns
claude Nov 13, 2026
7052ab0
test: pin the step-aside's multi-row branches and the save check on a…
claude Nov 13, 2026
574604e
docs: D27 covers a realm-only live edit and the purge
claude Nov 13, 2026
140c9c9
fix: a live realm change on the plugin's own row or a group moves the…
claude Nov 13, 2026
3c85d97
fix: a marker saved beside a second pi-ai row releases the plane in t…
claude Nov 13, 2026
d58994b
test: perform the discovery and meter step-aside through the applied …
claude Nov 13, 2026
b2d5a86
docs: D27 covers every row's realm edit and the second-row release; t…
claude Nov 13, 2026
5c3854b
chore: refresh the generated catalog and limits tables
github-actions[bot] Nov 13, 2026
586c6b8
chore: follow the catalog refresh through the docs and tests
claude Nov 13, 2026
7534edc
docs: point the routes module header at the per-SDK counts instead of…
claude Nov 13, 2026
ff2f0d6
docs: say where the per-SDK counts live without claiming a single copy
claude Nov 13, 2026
152d0c0
docs: replace the retired muse-spark-1.3-contributor-free id in both …
claude Nov 13, 2026
37bcf0c
Merge the catalog refresh (#171) into claude/vigilant-mendel-bctz9n-p-r1
claude Nov 13, 2026
ce889ef
chore: follow the catalog refresh through P-R1's tests and docs
claude Nov 13, 2026
cfc7669
Merge main (#171) into claude/vigilant-mendel-bctz9n-p-r1 (history only)
claude Nov 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 32 additions & 18 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,15 @@ jobs:
# root one for alpha, `channels/rc/pnpm-lock.yaml` for rc).
# `scripts/use-channel.ts` switches the install, and `DSH_CHANNEL`/`DSH_PI`
# tell `test/host-versions.test.ts` which record to hold the tree to, so a
# switch that silently did not happen fails there by name. One exception to "what an npm user runs": the switch
# also repins the plugin's own `@deepseek-ai/schemastery` to the channel's
# line, so the rc cell runs the host's schemastery, not the plugin's
# published pin (which is the alpha line).
# switch that silently did not happen fails there by name. Two exceptions to
# "what an npm user runs": the lockfiles pin the whole cordis family
# (cordis, the loader and the plugins beside them) at the record's versions,
# the floors of the `~` ranges the cluster declares, what the harness
# vendors at the tag, where npm lets it float to the newest patch (the
# `e2e-host` job's `npm` cell is the run that lets cordis float); and the
# switch also repins the plugin's own `@deepseek-ai/schemastery` to the
# channel's line, so the rc cell runs the host's schemastery, not the
# plugin's published pin (which is the alpha line).
#
# The floor cells (pi at the range's floor: 1.3.0 on both channels, the
# pi the desktop app ships, unpatched) run nightly and on dispatch, not on
Expand Down Expand Up @@ -467,10 +472,14 @@ jobs:
# (`dsh@<record>` from `test/support/host-versions.ts`) installed with npm the
# way a user installs it, pi unpatched in both cells:
# - `npm`: the published host exactly as npm resolves it, cordis and pi
# included. The record's newest pi asserts every row; a pi published since
# the record skips the rows that depend on which ids pi describes, with a
# warning (the nightly `host-drift` job names it). Never cached:
# re-resolving is the point.
# included. The record's newest pi asserts the rows wherever the route
# claim engages; a pi published since the record skips the rows that
# depend on which ids pi describes, with a warning (the nightly
# `host-drift` job names it). The route claim engages whichever
# `internal/config` call shape the host dispatches (the probe counts every
# call's shape), and a `[BASELINE]` row asserts that both planes are the
# plugin's PlaneAdapter; where the host itself cannot save, the save rows
# skip. Never cached: re-resolving is the point.
# - `floor`: the tree the desktop app ships, forced with npm `overrides`
# (`floorOverrides` in host-versions.ts): the channel's whole cordis family
# at the record's versions (the floors of the ranges the cluster declares,
Expand Down Expand Up @@ -530,17 +539,22 @@ jobs:
# manifests. package.json is not (every
# dependency bump touches it), so a change to its `test:e2e:host`
# script alone is exercised only by the nightly run.
# Until P-R1 moves the host seam under src/host/, the modules that
# install the host patches and mounts whose behaviour depends on the
# real loader and apply order (the hidden-route mount, the listing
# patch and adapter decoration, the Google bridge, the fetch patch,
# the plane bases and the stream hook) are in scope by name. Every
# other row producer (key-capture.ts, models-catalog.ts, config.ts,
# the generated catalog) is covered on each pull request by the
# in-process characterization of the same rows, on both channels, and
# here by the nightly run.
# The host seam lives under src/host/ (the route claim, the plane
# adapter, the Settings graft, the host-module loaders), and the
# modules whose behaviour depends on the real loader and apply order
# sit beside it by name: the composition (lifecycle.ts, identity.ts),
# the host-module seam (cordis-context.ts), the remaining discovery
# patch (models-discovery.ts), and the two modules that still install
# host-level patches until P6/P10a move them under src/host/: the
# global fetch wrapper (fetch-patch.ts, whose order the probe reads
# as fetchInnermost) and the llm/stream hook (stream-hook.ts). Every
# other row producer (the pure plane profile and model in
# src/utils/, key-capture.ts, models-catalog.ts, config.ts, the
# generated catalog) is covered on each pull request by the
# in-process characterization of the same rows, on both channels,
# and here by the nightly run.
if printf '%s\n' "$changed" \
| grep -Eq '^(src/host/|src/lifecycle\.ts$|src/identity\.ts$|src/responses-provider\.ts$|src/responses-routes\.ts$|src/models-discovery\.ts$|src/google-bridge\.ts$|src/fetch-patch\.ts$|src/pi-provider\.ts$|src/stream-hook\.ts$|cordis\.patch\.yml$|test/e2e/host/|test/e2e/host-binary\.e2e\.ts$|test/support/host\.ts$|test/support/host-versions\.ts$|scripts/host-drift\.ts$|\.github/workflows/ci\.yml$|vitest\.e2e\.config\.ts$|vite\.config\.ts$)'; then
| grep -Eq '^(src/host/|src/lifecycle\.ts$|src/identity\.ts$|src/cordis-context\.ts$|src/models-discovery\.ts$|src/fetch-patch\.ts$|src/stream-hook\.ts$|cordis\.patch\.yml$|test/e2e/host/|test/e2e/host-binary\.e2e\.ts$|test/support/host\.ts$|test/support/host-versions\.ts$|scripts/host-drift\.ts$|\.github/workflows/ci\.yml$|vitest\.e2e\.config\.ts$|vite\.config\.ts$)'; then
echo "run=true" >> "$GITHUB_OUTPUT"
else
echo "run=false" >> "$GITHUB_OUTPUT"
Expand Down
Loading
Loading