superbee 0.4.4-pre.1 → 0.4.4-pre.3
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/portable-export.mjs +7 -3
- package/dist/publication-bridge.mjs +36 -13
- package/dist/publication.mjs +36 -13
- package/dist/superbee.mjs +4362 -2949
- package/package.json +1 -1
- package/references/author-an-integration.md +78 -1
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.3",
|
|
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": [
|
|
@@ -23,7 +23,7 @@ invent an official support commitment or managed admission.
|
|
|
23
23
|
|
|
24
24
|
Validation reads the selected recipe directory and inert accepted plugin metadata. It never imports a module named by the recipe,
|
|
25
25
|
discovers a bundle, writes a document or makes a provider request. Unknown profiles are explicit
|
|
26
|
-
`PROFILE_NOT_AVAILABLE` refusals, not successful compatibility claims. Core supplies `rest-json`; `github-issues` requires explicit registration of the independently installed GitHub plugin. Registered plugin spec checks are deferred to source test/bind/run; validation never imports its module.
|
|
26
|
+
`PROFILE_NOT_AVAILABLE` refusals, not successful compatibility claims. Core supplies `rest-json`; `github-issues` requires explicit registration of the independently installed GitHub plugin. Registered plugin spec checks are deferred to source test/bind/run (new bound-GET policies defer them to run); validation never imports its module.
|
|
27
27
|
An explicitly selected test double does not establish compatibility for an unavailable profile.
|
|
28
28
|
|
|
29
29
|
The complete package is checked for core's secret-shaped text, including README files; `.env` and
|
|
@@ -119,6 +119,32 @@ The public [superbee-plugins repository](https://github.com/Holaxis-ai/superbee-
|
|
|
119
119
|
qualify mapping and observation behavior; live provider access and managed catalog admission remain
|
|
120
120
|
separate evidence.
|
|
121
121
|
|
|
122
|
+
## Register a trusted source implementation
|
|
123
|
+
|
|
124
|
+
Source registration accepts a reviewed built folder containing `package.json` with a
|
|
125
|
+
`superbeeIntegration` descriptor: contract 1, a slug `id`, exact compatible `core`, 1–32
|
|
126
|
+
`profiles` (`id`, positive `version`, relative `.mjs` `entry`) and a `recipes` mapping of
|
|
127
|
+
slug keys to inert Markdown recipe roots. Profile ids cannot shadow built-ins or another
|
|
128
|
+
accepted plugin. Each entry exports `createSourceProfile(helpers)` and returns its declared
|
|
129
|
+
extension profile, using the existing public Core helpers. Entries must be self-contained;
|
|
130
|
+
registration hashes finite UTF-8 bytes, not a dependency graph, publisher identity or sandbox.
|
|
131
|
+
Names and declared paths are bounded; traversal, links, overlapping roots and reserved object
|
|
132
|
+
keys are refused. No provider-specific CLI change is needed for another compatible source.
|
|
133
|
+
|
|
134
|
+
Register each source folder explicitly, review the proposal and accept its exact digest.
|
|
135
|
+
Resolve its recipes as `<plugin-id>:<recipe-key>`; `source plugin remove <plugin-id>`
|
|
136
|
+
deactivates its future selections. Registration does not grant credentials or alter Core's
|
|
137
|
+
provider host, method or resource policy. A new authenticated provider needs a reviewed Core
|
|
138
|
+
credential-host policy change; additional local GET endpoints require the explicit bound policy and
|
|
139
|
+
feed approval described below. Source and operation registrations are independent grants with separate bind/run
|
|
140
|
+
contracts; a package descriptor never automatically activates another capability.
|
|
141
|
+
|
|
142
|
+
Existing GitHub acceptance and feed consent remain valid for identical bytes. The first
|
|
143
|
+
successful registration/removal converts the old single-GitHub pointer to a source collection
|
|
144
|
+
at the same private state location. Listing and selection leave the active pointer unchanged. After that conversion, older
|
|
145
|
+
CLI list/select/remove paths refuse the new state; older registration writers are unsupported
|
|
146
|
+
and can replace that collection. Do not use old CLI binaries as writers after upgrading.
|
|
147
|
+
|
|
122
148
|
## Register the GitHub integration from a source checkout
|
|
123
149
|
|
|
124
150
|
The GitHub integration is distributed through the public Git repository; no integration npm
|
|
@@ -154,6 +180,57 @@ Rebinding changed consent resets observations and accepted tuples for reacquisit
|
|
|
154
180
|
availability with `superbee source plugin remove github`; already selected runs may finish their
|
|
155
181
|
selected generation. Existing bundle content and retained generations are preserved.
|
|
156
182
|
|
|
183
|
+
## Request a narrowly bound local GET policy
|
|
184
|
+
|
|
185
|
+
A source may opt into a reviewed local endpoint through its existing Connector `request` block:
|
|
186
|
+
|
|
187
|
+
```yaml
|
|
188
|
+
host: api.github.com
|
|
189
|
+
method: GET
|
|
190
|
+
path: '/repos/{owner}/{repo}/pulls'
|
|
191
|
+
items: ''
|
|
192
|
+
query: {state: all}
|
|
193
|
+
headers: {accept: application/vnd.github+json, x-github-api-version: '2026-03-10'}
|
|
194
|
+
paging: {kind: page-number, page_param: page, size_param: per_page, size: 30}
|
|
195
|
+
read_policy:
|
|
196
|
+
contract: 1
|
|
197
|
+
kind: bound-get
|
|
198
|
+
bindings: {owner: segment, repo: segment}
|
|
199
|
+
required_permissions: {pull_requests: read}
|
|
200
|
+
header_provider: github
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
Its identity resource can be `https://github.com/{owner}/{repo}/pulls`. For detail, declare a separate
|
|
204
|
+
source with resource `https://github.com/{owner}/{repo}/pull/{number}`, path
|
|
205
|
+
`/repos/{owner}/{repo}/pulls/{number}`, `number: positive-integer`, no list query and paging none.
|
|
206
|
+
The integration owns object normalization. [GitHub's REST documentation](https://docs.github.com/en/rest/pulls/pulls)
|
|
207
|
+
provides the endpoint and Pull requests read minimum; opaque token grants remain provider-enforced.
|
|
208
|
+
|
|
209
|
+
Review the endpoint/query read semantics before accepting its binding: GET alone is not a safety
|
|
210
|
+
proof. Core admits only the exact declared host/path and resource parameters. Contract 1 supports
|
|
211
|
+
none/page-number paging with distinct page/size names outside query, required single page/size
|
|
212
|
+
values, exact query literals or whole bound values, and no body, GraphQL, watermark or cursor form.
|
|
213
|
+
Every declared header is required exactly once with its exact value on every hop. Case duplicates,
|
|
214
|
+
omitted/changed headers, query/paging collisions and undeclared authority refuse. Credential and
|
|
215
|
+
method-override headers remain forbidden. For anonymous version-header reads, use auth none,
|
|
216
|
+
explicit `domains: [api.github.com]`, and omit permission minima. Header-provider constraints grant
|
|
217
|
+
no credential host or environment lookup and preserve keyless robots checks.
|
|
218
|
+
|
|
219
|
+
New-policy binding preview/acceptance is inert, using accepted profile metadata. Execution compares
|
|
220
|
+
private consent before module import or credential lookup. Changing policy, binding, implementation
|
|
221
|
+
or resolved semantics requires reapproval and resets observation/accepted state. Installing a plugin
|
|
222
|
+
or recipe grants no network access. Managed execution still needs separately deployed operator
|
|
223
|
+
admission, and local code remains trusted code with ambient process authority.
|
|
224
|
+
|
|
225
|
+
Library hosts use inert `inspectSourceReadPolicy` from `@superbee/core/connectors` and pass its
|
|
226
|
+
approved `{contract: 1, digest}` as `observeSource.readPolicyApproval`. Missing/stale approval denies
|
|
227
|
+
before callbacks/replay. It is an explicit host assertion, not a review certificate. Public recorded
|
|
228
|
+
`SourceFixture` accepts the same explicit `readPolicyApproval`; it is never production consent.
|
|
229
|
+
CLI `source test` JSON remains unchanged and cannot approve these policies. Test them through the
|
|
230
|
+
supported public Core/harness API; do not import private CLI runner/transport seams. Native installed
|
|
231
|
+
registration/bind/refusal, installed public-Core observation, internal transport conformance and live
|
|
232
|
+
provider execution are distinct evidence.
|
|
233
|
+
|
|
157
234
|
## Bind and run a local Source Feed
|
|
158
235
|
|
|
159
236
|
After installing a recipe and creating its Source Feed in a local or Git bundle, preview consent:
|