Skip to main content

protocol/identity/apps

packages/protocol/src/identity/apps

Purpose

App identity descriptors, identifiers, and credentials.

Public surface

AppId

TypeAlias
export type AppId = string & Brand.Brand<"AppId">;

AppId

Variable
export type AppId = string & Brand.Brand<"AppId">

AppKey

TypeAlias
export type AppKey = Redacted.Redacted<AppKeyValue>;

AppKey

Variable
export type AppKey = Redacted.Redacted<AppKeyValue>

AppManifest

TypeAlias
export type AppManifest = Schema.Schema.Type<typeof AppManifestSchema>;

AppManifestValidationResult

TypeAlias
export type AppManifestValidationResult = Either.Either<
  AppManifest,
  AppManifestInvalid
>;

DEFAULT_APP_ID

Variable
export const DEFAULT_APP_ID = Schema.decodeSync(AppId)(
  "e12fe562-ed1f-4d2d-bed5-68b8edfa41cb",
)

manifestPolicyCanaries

Variable
export const manifestPolicyCanaries =
Aggregate so each binding is referenced (no unused-variable lint).

validateAppManifest

Function
export function validateAppManifest(
  value: unknown,
): AppManifestValidationResult
Strict manifest validation. Decodes with { onExcessProperty: "error" } so an extra key rejects the manifest at this trust boundary (an app manifest is operator-supplied configuration, not wire traffic). On failure surfaces every ParseError leaf via ParseResult.ArrayFormatter.formatErrorSync (one issue → one string).

Files

  • credentials.ts
  • ids.ts
  • manifest-policy.types-check.ts
  • manifest.ts