Skip to content

Commit 8d5b415

Browse files
committed
Merge current plugin main and regenerate the uncapped fleet bundle
Budget: origin/main 109 files / 3,064,111 bytes -> 109 files / 3,067,087 bytes; plugin 52 files / 1,941,051 bytes -> 52 files / 1,943,651 bytes. Bundle uses successful CLI main CI artifact from ae7bdc25679974888b04ffed563b2b5870338c01, SHA-256 851a9692abf03da1884e095dfdb56fa7c2a13ec685a66f9e84f52506ba5eba20.
2 parents 47d6316 + e12d22d commit 8d5b415

26 files changed

Lines changed: 910 additions & 184 deletions

File tree

‎.agents/plugins/marketplace.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "screenrig",
33
"interface": {
4-
"displayName": "ScreenRig"
4+
"displayName": "screenRIG"
55
},
66
"plugins": [
77
{

‎.claude-plugin/marketplace.json‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
{
22
"name": "screenrig",
33
"owner": {
4-
"name": "ScreenRig"
4+
"name": "screenRIG"
55
},
6-
"description": "Public ScreenRig agent marketplace with a bundled CLI.",
6+
"description": "Public screenRIG agent marketplace with a bundled CLI.",
77
"plugins": [
88
{
99
"name": "screenrig",
1010
"source": "./plugins/screenrig",
11-
"description": "Operate ScreenRig screens, media, playlists, applications, and advertising with the bundled CLI.",
12-
"version": "26.10.370",
11+
"description": "Operate screenRIG screens, media, playlists, applications, and advertising with the bundled CLI.",
12+
"version": "26.10.388",
1313
"author": {
14-
"name": "ScreenRig"
14+
"name": "screenRIG"
1515
},
1616
"category": "Developer Tools",
1717
"homepage": "https://screenrig.ai",
1818
"repository": "https://github.com/screenrig/plugin",
1919
"license": "Apache-2.0",
20-
"logo": "assets/logo.svg",
20+
"logo": "assets/logo.png",
2121
"tags": [
2222
"screenrig",
2323
"digital-signage",

‎.github/workflows/ci.yml‎

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ concurrency:
2020

2121
jobs:
2222
verify:
23+
outputs:
24+
bundle_updated: ${{ steps.rebuild.outputs.bundle_updated }}
2325
runs-on: ubuntu-latest
2426
timeout-minutes: 20
2527
steps:
@@ -61,7 +63,9 @@ jobs:
6163
test -f "${RUNNER_TEMP}/screenrig-cli/${filename}"
6264
printf '%s' "${commit}" > "${RUNNER_TEMP}/screenrig-cli/commit"
6365
- name: Rebuild and verify the committed plugin bundle
66+
id: rebuild
6467
run: |
68+
echo "bundle_updated=false" >> "${GITHUB_OUTPUT}"
6569
filename="screenrig-cli.tgz"
6670
artifact="${RUNNER_TEMP}/screenrig-cli/${filename}"
6771
commit="$(cat "${RUNNER_TEMP}/screenrig-cli/commit")"
@@ -78,6 +82,7 @@ jobs:
7882
install -d "${RUNNER_TEMP}/screenrig-cli-bundle-update"
7983
cp components.lock.json "${RUNNER_TEMP}/screenrig-cli-bundle-update/components.lock.json"
8084
cp -a plugins/screenrig "${RUNNER_TEMP}/screenrig-cli-bundle-update/plugins-screenrig"
85+
echo "bundle_updated=true" >> "${GITHUB_OUTPUT}"
8186
fi
8287
python3 scripts/build-plugin.py --check --cli-artifact "${artifact}"
8388
python3 scripts/validate-plugin.py --cli-artifact "${artifact}" --cli-source "${RUNNER_TEMP}/screenrig-cli-source"
@@ -99,14 +104,14 @@ jobs:
99104
"${dashboard_runtime}/bin/python" -m playwright install-deps chromium
100105
"${dashboard_runtime}/bin/python" -B scripts/test.py --browser DashboardTests
101106
- name: Upload rebuilt marketplace CLI when it drifted
102-
if: github.ref == 'refs/heads/main'
107+
if: github.ref == 'refs/heads/main' && steps.rebuild.outputs.bundle_updated == 'true'
103108
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
104109
with:
105110
name: screenrig-cli-bundle-update
106111
path: ${{ runner.temp }}/screenrig-cli-bundle-update/
107112
# v4 omits dotfiles unless set; that deleted .claude-plugin/plugin.json.
108113
include-hidden-files: true
109-
if-no-files-found: ignore
114+
if-no-files-found: error
110115
retention-days: 1
111116
- name: Package deterministic plugin artifact
112117
if: github.ref != 'refs/heads/main'
@@ -135,20 +140,18 @@ jobs:
135140
with:
136141
fetch-depth: 0
137142
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
138-
continue-on-error: true
143+
if: needs.verify.outputs.bundle_updated == 'true'
139144
with:
140145
name: screenrig-cli-bundle-update
141146
path: ${{ runner.temp }}/screenrig-cli-bundle-update
142147
- name: Publish current CLI bundle when screenrig/cli main moved
148+
if: needs.verify.outputs.bundle_updated == 'true'
143149
env:
144150
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
145151
AFTER_REBUNDLE: ${{ github.event.inputs.after_rebundle }}
146152
run: |
147153
update="${RUNNER_TEMP}/screenrig-cli-bundle-update/components.lock.json"
148-
if [ ! -f "${update}" ]; then
149-
echo "Committed marketplace CLI already matches screenrig/cli main"
150-
exit 0
151-
fi
154+
test -f "${update}"
152155
old="$(jq -r .cli.artifact.sha256 components.lock.json)"
153156
new="$(jq -r .cli.artifact.sha256 "${update}")"
154157
if [ "${old}" = "${new}" ]; then

‎AGENTS.md‎

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,12 @@ byte in the repository counts, not only those in `plugins/screenrig`.
3535

3636
- `skills/screenrig/`, `skills/screenrig-dashboard/`, root marketplace
3737
manifests and root public files are canonical inputs. Plugin manifest
38-
metadata lives in `scripts/build-plugin.py`.
38+
metadata, public listing, review cases and country targeting live in
39+
`scripts/build-plugin.py`. Its portable manifests and compatibility overlays
40+
are generated together. `assets/logo.png` is the marketplace rendering of
41+
`assets/logo.svg`; one PNG serves both listing and composer icons. A demo URL
42+
must only be added after verifying the real recording; drafted review cases
43+
are not evidence of a passed review.
3944
- `components.lock.json` is provenance of the CLI tarball just packed: filename
4045
and SHA-256, plus the commit that produced those bytes. It is not a freeze of
4146
which SHA to fetch.
@@ -70,7 +75,9 @@ byte in the repository counts, not only those in `plugins/screenrig`.
7075
success: stdout is clean JSON, stderr is empty.
7176
- The bundled CLI is one minified `cli/dist/bin.js` plus its `package.json`,
7277
runtime lock and `THIRD_PARTY_NOTICES`; it carries no source maps, type
73-
declarations, `node_modules` or README. The repository holds no binary files:
78+
declarations, `node_modules` or README. The only packaged image binary is
79+
the marketplace PNG icon (rendered from `assets/logo.svg`); no executable
80+
binaries are stored:
7481
the bundled CLI fetches the native renderer its machine needs on first
7582
render, the dashboard's ECharts is a custom build of only the charts its
7683
renderer draws, and its two Inter fonts are base64 data URIs in the renderer
@@ -98,7 +105,7 @@ asks.
98105
stays readable unless `--json` is explicit. Do not combine the output flags.
99106
Keep explicit `--json` for the separate freshness helper and scripts that
100107
must remain compatible with older bundles. Never teach a token flag or pasted bearer.
101-
- Never write MCP. `validate-plugin.py` rejects MCP manifests.
108+
- The plugin may declare the public backend MCP endpoint with host-managed OAuth. Generate platform-specific connection metadata in build-plugin.py. Do not bundle MCP server code, credential/header helpers, tokens, private origins or account-specific settings. The CLI and host keep separate API and MCP sessions.
102109
- Keep the skill operational: launcher, first-use account state, supported task
103110
paths, errors and verification. Put detailed command families in references.
104111
- The README addresses prospective users; this file addresses maintainers.

‎README.md‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,3 +49,14 @@ This repository contains the canonical skill and generated plugin distribution.
4949
See [AGENTS.md](https://github.com/screenrig/plugin/blob/main/AGENTS.md) for source layout, regeneration and checks.
5050
Report vulnerabilities using the [security policy](SECURITY.md).
5151
The [Apache-2.0 license](LICENSE) covers this plugin and bundled CLI, not the hosted service.
52+
53+
## Interactive views
54+
55+
The package includes a remote screenRIG MCP connection for compatible Codex
56+
and Claude plugin hosts. When a view needs authorization, sign in to screenRIG
57+
and approve the project you use with the CLI. Fresh screenshot capture needs
58+
Manage access, which also allows writes within the approved capabilities.
59+
Read-only connections can display saved previews. The host stores the connection;
60+
you do not need to copy a token or enter the server URL. The CLI continues to
61+
handle enrollment, media preparation, pairing and changes. Interactive cards
62+
require a host that supports MCP Apps; other hosts can return text results.

‎assets/logo.png‎

8.65 KB
Loading

‎components.lock.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"commit": "ae7bdc25679974888b04ffed563b2b5870338c01",
77
"artifact": {
88
"file": "screenrig-cli.tgz",
9-
"sha256": "2c9def58418839530a17cd3eee587456f95a3d7ef85b929ddf1428fb3e638bfc"
9+
"sha256": "851a9692abf03da1884e095dfdb56fa7c2a13ec685a66f9e84f52506ba5eba20"
1010
}
1111
}
1212
}
Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{
22
"name": "screenrig",
3-
"version": "26.10.370",
4-
"description": "Operate ScreenRig screens, media, playlists, applications, and advertising with the bundled CLI.",
3+
"version": "26.10.388",
4+
"description": "Operate screenRIG screens, media, playlists, applications, and advertising with the bundled CLI.",
55
"author": {
6-
"name": "ScreenRig"
6+
"name": "screenRIG"
77
},
88
"homepage": "https://screenrig.ai",
99
"repository": "https://github.com/screenrig/plugin",
@@ -13,5 +13,14 @@
1313
"digital-signage",
1414
"kiosk",
1515
"agent-cli"
16-
]
16+
],
17+
"mcpServers": {
18+
"screenrig-views": {
19+
"type": "http",
20+
"url": "https://api.screenrig.ai/mcp",
21+
"oauth": {
22+
"scopes": "access:manage screens content playlists reports"
23+
}
24+
}
25+
}
1726
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"mcpServers": {
3+
"screenrig-views": {
4+
"type": "http",
5+
"url": "https://api.screenrig.ai/mcp",
6+
"scopes": [
7+
"access:manage",
8+
"screens",
9+
"content",
10+
"playlists",
11+
"reports"
12+
]
13+
}
14+
}
15+
}
Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{
22
"name": "screenrig",
3-
"version": "26.10.370",
4-
"description": "Operate ScreenRig screens, media, playlists, applications, and advertising with the bundled CLI.",
3+
"version": "26.10.388",
4+
"description": "Operate screenRIG screens, media, playlists, applications, and advertising with the bundled CLI.",
55
"author": {
6-
"name": "ScreenRig"
6+
"name": "screenRIG"
77
},
88
"homepage": "https://screenrig.ai",
99
"repository": "https://github.com/screenrig/plugin",
@@ -14,20 +14,30 @@
1414
"kiosk",
1515
"agent-cli"
1616
],
17+
"mcpServers": "./.codex-plugin/mcp.json",
1718
"skills": "./skills/",
1819
"interface": {
19-
"displayName": "ScreenRig",
20-
"shortDescription": "Operate ScreenRig with its bundled CLI",
21-
"longDescription": "Install the official ScreenRig plugin and operate screens, media, playlists, applications, and advertising through a packaged noninteractive CLI.",
22-
"defaultPrompt": "Use $screenrig to generate a presentable whole-page still, upload existing media, compose a slide-deck still when needed, write playlists, place adslot breaks, assign content to my screens, or buy and sell advertising where my account is permitted, with machine-readable output.",
23-
"developerName": "ScreenRig",
20+
"displayName": "screenRIG",
21+
"shortDescription": "Put your content on screens",
22+
"longDescription": "Use screenRIG to prepare content, pair Players, upload images and videos, and publish playlists to your screens. In environments that can run the bundled CLI, manage signage and eligible advertising workflows through conversation. Connect your screenRIG account to browse interactive screen, media, and playlist cards in supported MCP Apps hosts. Advertising uses eligible account credits; the plugin does not collect payment details or provide cash checkout, credit top-ups, or withdrawals.",
23+
"defaultPrompt": [
24+
"Help me get a photo and video playing on my TV.",
25+
"Show my screenRIG screens.",
26+
"Show my playlists and the content in each one."
27+
],
28+
"developerName": "screenRIG",
2429
"category": "Developer Tools",
2530
"capabilities": [
2631
"Interactive",
2732
"Read",
2833
"Write"
2934
],
30-
"websiteURL": "https://screenrig.ai",
31-
"brandColor": "#111827"
35+
"websiteURL": "https://screenrig.ai/",
36+
"brandColor": "#111827",
37+
"supportURL": "https://screenrig.ai/contact/",
38+
"privacyPolicyURL": "https://screenrig.ai/privacy/",
39+
"termsOfServiceURL": "https://screenrig.ai/terms/",
40+
"logo": "./assets/logo.png",
41+
"composerIcon": "./assets/logo.png"
3242
}
3343
}

0 commit comments

Comments
 (0)