Skip to content

Interface: PublishPluginRequest

@kortexya/reasoninglayer


@kortexya/reasoninglayer / Marketplace / PublishPluginRequest

Interface: PublishPluginRequest

Defined in: src/types/marketplace.ts:221

Request to publish a bundle to the catalog.

Remarks

osfql is the declarative bundle body — non-declarative statements are rejected with 422. Publishing a version is IMMUTABLE: republishing the same (name, version) with different content is rejected with 409.

Signing is optional but all-or-nothing: supply authorKeyId, authorPublicKeyB64, and signatureB64 together, or none of them. The signature is a base64 detached Ed25519 signature over the canonical preimage.

Example

const request: PublishPluginRequest = {
name: 'clinical-triage',
version: '1.0.0',
osfql: 'sort urgent <: case.',
engineReq: '>=0.4',
};

Properties

authorKeyId?

optional authorKeyId: string | null

Defined in: src/types/marketplace.ts:229

Optional author key id (signed publish).


authorPublicKeyB64?

optional authorPublicKeyB64: string | null

Defined in: src/types/marketplace.ts:231

Optional author public key (base64 Ed25519 verifying key).


engineReq?

optional engineReq: string | null

Defined in: src/types/marketplace.ts:235

Optional engine requirement range. Defaults to "*".


name

name: string

Defined in: src/types/marketplace.ts:223

The plugin name (maps 1:1 to a plugin id).


osfql

osfql: string

Defined in: src/types/marketplace.ts:227

The declarative OSFQL bundle body.


signatureB64?

optional signatureB64: string | null

Defined in: src/types/marketplace.ts:233

Optional detached signature (base64 Ed25519 over the canonical preimage).


version

version: string

Defined in: src/types/marketplace.ts:225

The version (semver string).