Skip to content
API reference

publisher

Import
import * as api from "@fungi.computer/puffball/publisher";
Kind Export Description
type alias TeamAppTemplateSeed Exact first-party platform seed from which a Team-owned App was forked.
type alias AppSourceRepository Parsed immutable source location used to build one App.
type alias TeamAppPublisherRegistration Parsed Team ownership record for one App publisher.
type alias TeamAppPublisherRegistrationRead Result of reading the durable publisher registered for an App.
type alias TeamAppPublisherRegistrationCreate Idempotent result of registering one App publisher.
type alias TeamAppPublicationAuthorization Team-scoped decision for publishing a registered App.
type alias TeamAppPublisherRegistry Durable App publisher facts; Team membership remains owned by Hub.
constant appSourceRepositorySchema Canonical source repository resolved by the product publisher.
constant teamAppPublisherRegistrationSchema Team-owned publication authority for one separately registered App.

TeamAppTemplateSeedtype alias

Section titled “TeamAppTemplateSeed”
Signature
type TeamAppTemplateSeed = Readonly<{
appId: AppId;
revision: SourceRevision;
}>;

Exact first-party platform seed from which a Team-owned App was forked.


AppSourceRepositorytype alias

Section titled “AppSourceRepository”
Signature
type AppSourceRepository = Schema.Schema.Type<typeof appSourceRepositorySchema>;

Parsed immutable source location used to build one App.


TeamAppPublisherRegistrationtype alias

Section titled “TeamAppPublisherRegistration”
Signature
type TeamAppPublisherRegistration = Schema.Schema.Type<
typeof teamAppPublisherRegistrationSchema
>;

Parsed Team ownership record for one App publisher.


TeamAppPublisherRegistrationReadtype alias

Section titled “TeamAppPublisherRegistrationRead”
Signature
type TeamAppPublisherRegistrationRead =
| Readonly<{
kind: "found";
registration: TeamAppPublisherRegistration;
}>
| Readonly<{
kind: "absent";
}>;

Result of reading the durable publisher registered for an App.


TeamAppPublisherRegistrationCreatetype alias

Section titled “TeamAppPublisherRegistrationCreate”
Signature
type TeamAppPublisherRegistrationCreate =
| Readonly<{
kind: "created" | "existing";
registration: TeamAppPublisherRegistration;
}>
| Readonly<{
kind: "conflict";
}>;

Idempotent result of registering one App publisher.


TeamAppPublicationAuthorizationtype alias

Section titled “TeamAppPublicationAuthorization”
Signature
type TeamAppPublicationAuthorization =
| Readonly<{
kind: "authorized";
registration: TeamAppPublisherRegistration;
}>
| Readonly<{
kind: "absent" | "denied";
}>;

Team-scoped decision for publishing a registered App.


TeamAppPublisherRegistrytype alias

Section titled “TeamAppPublisherRegistry”
Signature
type TeamAppPublisherRegistry = Readonly<{
read: Promise<TeamAppPublisherRegistrationRead>;
register: Promise<TeamAppPublisherRegistrationCreate>;
authorize: Promise<TeamAppPublicationAuthorization>;
}>;

Durable App publisher facts; Team membership remains owned by Hub.

appSourceRepositorySchemaconstant

Section titled “appSourceRepositorySchema”
Signature
const appSourceRepositorySchema: Struct<{
provider: Literals<readonly ["artifacts", "github"]>;
repository: String;
branch: Literal<"main">;
}>;

Canonical source repository resolved by the product publisher.


teamAppPublisherRegistrationSchemaconstant

Section titled “teamAppPublisherRegistrationSchema”
Signature
const teamAppPublisherRegistrationSchema: Struct<{
appId: refine<AppId, String>;
teamId: String;
source: Struct<{
provider: Literals<readonly ["artifacts", "github"]>;
repository: String;
branch: Literal<"main">;
}>;
templateSeed: optionalKey<
Struct<{
appId: refine<AppId, String>;
revision: refine<SourceRevision, String>;
}>
>;
}>;

Team-owned publication authority for one separately registered App.