Skip to content

Class: ManifestInstance

Constructors

Constructor

new ManifestInstance(opts): ManifestInstance;

Parameters

Parameter Type
opts ManifestInstanceOpts

Returns

ManifestInstance

Properties

_profiles

readonly _profiles: readonly CompositionProfile[];

Composition profiles registered by extensions.


documents

readonly documents: Document<Record<string, unknown>>[];

resolveErrors

readonly resolveErrors: string[];

scope

readonly scope: string;

Accessors

composition

Get Signature

get composition(): CompositionEngine;
Returns

CompositionEngine


compositionResult

Get Signature

get compositionResult(): CompositionResult;
Returns

CompositionResult


lock

Get Signature

get lock(): LockManager;
Returns

LockManager


Get Signature

get nav(): Navigator;
Returns

Navigator


prompt

Get Signature

get prompt(): PromptBuilder;
Returns

PromptBuilder


reports

Get Signature

get reports(): ReportBuilder;
Returns

ReportBuilder


root

Get Signature

get root(): 
  | Document<Record<string, unknown>>
  | null;
Returns

| Document\<Record\<string, unknown>> | null

Methods

~~all()~~

all(kind): Document<Record<string, unknown>>[];

Return all docs of kind.

Parameters

Parameter Type
kind string

Returns

Document\<Record\<string, unknown>>[]

Deprecated

Will be removed in 1.0 — filter mi.documents (e.g. mi.documents.filter((d) => d.kind === kind)) or use kernel.query(scope, kind) for indexed/record-plane reads. (s-blessed-query-surface)


allKinds()

allKinds(): {
  alias: string;
  apiVersion: string;
  kind: string;
  origin: string | null;
}[];

Return every kind REGISTERED in this manifest (not just those that have documents on disk).

Returns

{ alias: string; apiVersion: string; kind: string; origin: string | null; }[]


allWhere()

allWhere(predicate): Document<Record<string, unknown>>[];

Return all documents whose registered KindPort satisfies a predicate.

Parameters

Parameter Type
predicate (kp) => boolean

Returns

Document\<Record\<string, unknown>>[]


applyHooks()

applyHooks(): void;

Auto-register Hook documents on the kernel's HookRegistry.

Returns

void


asciiTree()

asciiTree(): string;

Returns

string


buildPrompt()

buildPrompt(opts?): Promise<string>;

Parameters

Parameter Type
opts? BuildPromptOpts

Returns

Promise\<string>


c4ComponentMermaid()

c4ComponentMermaid(): string;

Returns

string


compositionFlowchartMermaid()

compositionFlowchartMermaid(): string;

Returns

string


consumersOf()

consumersOf(kind, name): {
  kind: string;
  name: string;
}[];

Parameters

Parameter Type
kind string
name string

Returns

{ kind: string; name: string; }[]


defaultAgent()

defaultAgent(): 
  | Document<Record<string, unknown>>
  | null;

Returns

| Document\<Record\<string, unknown>> | null


dependencyTree()

dependencyTree(): Record<string, unknown>;

Returns

Record\<string, unknown>


dependencyTreeMermaid()

dependencyTreeMermaid(): string;

Returns

string


describe()

describe(kind, name): string;

Parameters

Parameter Type
kind string
name string

Returns

string


erDiagramMermaid()

erDiagramMermaid(): string;

Returns

string


erModel()

erModel(): {
  entities: {
     attrs: {
        key: string;
        type: string;
        value: string;
     }[];
     id: string;
     kind: string;
     name: string;
  }[];
  relationships: {
     isMany: boolean;
     label: string;
     sourceId: string;
     targetId: string;
  }[];
};

Returns

{
  entities: {
     attrs: {
        key: string;
        type: string;
        value: string;
     }[];
     id: string;
     kind: string;
     name: string;
  }[];
  relationships: {
     isMany: boolean;
     label: string;
     sourceId: string;
     targetId: string;
  }[];
}
entities
entities: {
  attrs: {
     key: string;
     type: string;
     value: string;
  }[];
  id: string;
  kind: string;
  name: string;
}[];
relationships
relationships: {
  isMany: boolean;
  label: string;
  sourceId: string;
  targetId: string;
}[];

exportDiagramsMd()

exportDiagramsMd(path?): Record<string, string>;

Parameters

Parameter Type
path? string

Returns

Record\<string, string>


findAgent()

findAgent(name): 
  | Document<Record<string, unknown>>
  | null;

Find the best prompt-target document matching name. Considers promptTargetPriority when multiple kinds match.

Parameters

Parameter Type
name string

Returns

| Document\<Record\<string, unknown>> | null


generateLock()

generateLock(): Lockfile;

Returns

Lockfile


get()

get(kind?): {
  apiVersion: string;
  kind: string;
  name: string;
}[];

Parameters

Parameter Type
kind? string

Returns

{ apiVersion: string; kind: string; name: string; }[]


health()

health(): Record<string, unknown>;

Returns

Record\<string, unknown>


impact()

impact(kind, name): Record<string, unknown>;

Parameters

Parameter Type
kind string
name string

Returns

Record\<string, unknown>


inventory()

inventory(): Record<string, unknown>;

Returns

Record\<string, unknown>


isRootDoc()

isRootDoc(doc): boolean;

True when the document's KindPort is marked as the manifest root.

Parameters

Parameter Type
doc Document

Returns

boolean


iterDocDeps()

iterDocDeps(doc): {
  label: string;
  names: string[];
  targetKind: string;
}[];

Iterate a document's declared dep_filters dynamically. Delegates to CompositionEngine.

Parameters

Parameter Type
doc Document

Returns

{ label: string; names: string[]; targetKind: string; }[]


kindCatalogMermaid()

kindCatalogMermaid(): string;

Returns

string


kindFor()

kindFor(kind): KindPort | null;

Return the KindPort registered for kind (by kind name), or null.

Parameters

Parameter Type
kind string

Returns

KindPort | null


kindForAlias()

kindForAlias(alias): KindPort | null;

Return the KindPort whose alias matches, or null.

Parameters

Parameter Type
alias string

Returns

KindPort | null


listKinds()

listKinds(): string[];

Returns

string[]


matrix()

matrix(): Record<string, unknown>;

Returns

Record\<string, unknown>


matrixMarkdown()

matrixMarkdown(): string;

Returns

string


mindmapMermaid()

mindmapMermaid(): string;

Returns

string


~~one()~~

one(kind, name): 
  | Document<Record<string, unknown>>
  | null;

Lookup a single doc by (kind, name).

Parameters

Parameter Type
kind string
name string

Returns

| Document\<Record\<string, unknown>> | null

Deprecated

Will be removed in 1.0 — search mi.documents (e.g. mi.documents.find((d) => d.kind === kind && d.name === name) ?? null) or use kernel.query(scope, kind) with a filter for indexed/record-plane reads. (s-blessed-query-surface)


pieChartMermaid()

pieChartMermaid(): string;

Returns

string


profileFor()

profileFor(doc): CompositionProfile | null;

Find the CompositionProfile for a document's kind (via its alias). Returns null if no profile covers this kind.

Parameters

Parameter Type
doc Document

Returns

CompositionProfile | null


quadrantMermaid()

quadrantMermaid(): string;

Returns

string


readMetadata()

readMetadata(
   kind, 
   name, 
   field): unknown;

Parameters

Parameter Type
kind string
name string
field string

Returns

unknown


readSpec()

readSpec(
   kind, 
   name, 
   field): unknown;

Parameters

Parameter Type
kind string
name string
field string

Returns

unknown


readSpecString()

readSpecString(
   kind, 
   name, 
   field): string | undefined;

Parameters

Parameter Type
kind string
name string
field string

Returns

string | undefined


readSpecStringArray()

readSpecStringArray(
   kind, 
   name, 
   field): string[];

Parameters

Parameter Type
kind string
name string
field string

Returns

string[]


ref()

ref(value): Promise<string>;

Resolve a ref-like value (path or markdown/yaml/txt filename).

v1.0 async refactor: SourcePort.resolveRef is async, so this is async too. Cascades to PromptBuilder.build() and ManifestInstance.buildPrompt() — every prompt build is async. That's the honest contract — the alternative (cache-based sync ref) requires knowing every ref at scope load time, which doesn't hold for dynamic context fields.

Parameters

Parameter Type
value string

Returns

Promise\<string>


renderDoc()

renderDoc(kind, name): PreviewBlock[];

Parameters

Parameter Type
kind string
name string

Returns

PreviewBlock[]


resolve()

resolve(layers?): ManifestInstance;

Parameters

Parameter Type
layers? Record\<string, string>

Returns

ManifestInstance


sankeyMermaid()

sankeyMermaid(): string;

Returns

string


summary()

summary(): string;

Returns

string


timelineMermaid()

timelineMermaid(): string;

Returns

string