superbee 0.4.4-pre.10 → 0.4.4-pre.12
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/SKILL.md +1 -1
- package/dist/superbee.mjs +1595 -1304
- package/package.json +1 -1
- package/references/hosted-checkout.md +36 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "superbee",
|
|
3
|
-
"version": "0.4.4-pre.
|
|
3
|
+
"version": "0.4.4-pre.12",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Agent-facing Superbee CLI for reading and writing local OKF knowledge bundles: context notes, docs, cross-links, and live bundle Views.",
|
|
6
6
|
"keywords": [
|
|
@@ -92,6 +92,33 @@ must already be a member of the workspace (invited from the Members page first).
|
|
|
92
92
|
bundle id in their own terminal. If it refuses with `needs_person_at_terminal`, show the person
|
|
93
93
|
the host's statement and give them the command; do not try to work around it.
|
|
94
94
|
|
|
95
|
+
## Requesting GitHub workload access
|
|
96
|
+
|
|
97
|
+
A GitHub Actions job can use `superbee workload exec` with a bounded version1 JSON intent, an
|
|
98
|
+
explicit HTTPS workspace origin and workspace slug, followed by its command after `--`.
|
|
99
|
+
Run its `--help` for exact syntax. The intent contains a display name, supported events, exact
|
|
100
|
+
bundle read/write capabilities and optional fixed sites. It contains no repository IDs, workflow
|
|
101
|
+
refs, environment, credentials or app UUID. Each requested site must have its matching Read bundle
|
|
102
|
+
capability. A protected main-only GitHub environment and `id-token: write` are required by the host.
|
|
103
|
+
This works for custom research or documentation workflows without `release.config.json`.
|
|
104
|
+
|
|
105
|
+
The existing exchange verifies the job's GitHub identity and resolves exactly approved access.
|
|
106
|
+
Pending approval is `FORBIDDEN` (exit 2) with `details.reason: workload_approval_pending`, an opaque
|
|
107
|
+
request id, expiry and `review_url`. No child starts and no Superbee bearer is returned. A workspace
|
|
108
|
+
administrator reviews the permissions at that URL and approves or denies them; an agent must not
|
|
109
|
+
approve its own request. Run the workflow again after approval. There is no polling, implicit grant,
|
|
110
|
+
UUID fallback or copied app-ID variable. Denied or expired requests remain terminal.
|
|
111
|
+
|
|
112
|
+
On success only the child receives the short-lived bearer, resolved gateway host, and
|
|
113
|
+
`SUPERBEE_WORKLOAD_APP_ID` from the validated response, replacing any inherited app ID. The latter
|
|
114
|
+
is temporary identity metadata for a native principal check, never a grant; nothing is written to
|
|
115
|
+
`GITHUB_ENV`, a file or a persistent GitHub variable. Its GitHub OIDC minting variables are removed. The command is spawned directly with its argument boundaries,
|
|
116
|
+
not through a shell, and its exit status is preserved. Tokens are masked in GitHub Actions logs;
|
|
117
|
+
do not print or upload the child's environment. A changed capability declaration needs its own
|
|
118
|
+
approval and cannot silently inherit broader access. The host must serve this request mode before
|
|
119
|
+
using it; merged client source alone does not establish deployment, registration or production
|
|
120
|
+
qualification. Existing explicit app-ID clients and the registration fallback below remain supported.
|
|
121
|
+
|
|
95
122
|
## Registering a site's CI: `workload register`
|
|
96
123
|
|
|
97
124
|
A site whose content lives in hosted Superbee reads it in CI as a registered workload app. In the
|
|
@@ -370,6 +397,15 @@ superbee sync --resolve keep --doc index.md # the next sync sends yours over
|
|
|
370
397
|
|
|
371
398
|
## Ordinary files (SVGs, images, `data/*.json`)
|
|
372
399
|
|
|
400
|
+
`pull --doc-key <key> --out <path> --from-host --dir <checkout>` reads one blob's bytes and stored
|
|
401
|
+
content type directly from the bound host, using its version and content type together as the
|
|
402
|
+
read pin. It checks the checkout's signed-in person and workspace and verifies the returned bytes.
|
|
403
|
+
A changed pin, denied access or unsupported host refuses without falling back to local bytes.
|
|
404
|
+
It does not sync, send edits or refresh the working copy; only the requested output is written.
|
|
405
|
+
Use `--out -` for raw stdout with the receipt on stderr. Ordinary `pull` still reads the local
|
|
406
|
+
working copy, including unsent edits; its content type is inferred from the filename. The explicit
|
|
407
|
+
host option is for blobs only and cannot be combined with `--remote`.
|
|
408
|
+
|
|
373
409
|
Files other than `.md` documents are ordinary files. Sync sends and refreshes only **tracked**
|
|
374
410
|
ones. Treat an edit to a tracked file as a publish: the next `superbee sync` sends it to the hosted
|
|
375
411
|
bundle for everyone.
|