source.schema.json field reference#
Purpose#
A source manifest describes one independently consumable Agent Forge metadata catalog. It may be an Agent/type projection or an all-Agent catalog. It describes metadata endpoints only; it is not a plugin-artifact mirror.
Fields#
| Field | Purpose |
|---|---|
schemaVersion | Fixed at 2. |
sourceId | Stable machine ID such as agent-forge:dsh:plugin. |
name | Human-readable source name. |
agentId | Covered Agent; null means all Agents. |
type | mcp, plugin, skill, general, or bundle. |
baseUrl | Base URL containing the manifest and index. |
index | Index path relative to baseUrl. |
revision | Immutable revision shared by manifest, index, and generated assets. |
generatedAt | Manifest generation time. |
updatedAt | Last catalog data change. |
mirrorOf | Canonical sourceId mirrored by this endpoint; null for a canonical source. |
priority | Consumer selection priority; lower values win. |
official | Operator declaration, not a security proof. |
description | Catalog description. |
indexChecksum | Digest declaration for the index bytes. |
sourceMirrors | Metadata endpoints serving the same revision, with sourceId, URL, mirrorOf, revision, priority, region, and official. |
relatedSources | Related endpoints with sourceId, URL, relation, revision, priority, and region. |
_meta | Namespaced extension data. |
sourceMirrors switches Agent Forge metadata endpoints only. It does not describe package-artifact URLs from package.schema.json. Consumers should report revision conflicts or apply an explicit priority.
TypeScript example#
const source = {
schemaVersion: 2, // Manifest contract version.
sourceId: "agent-forge:dsh:plugin", // Stable source ID.
name: "Agent Forge DSH Plugins", // Human name.
agentId: "dsh", // Agent projection.
type: "plugin", // Package category.
baseUrl: "https://ratapi.com/data/dsh/plugin/", // Base URL.
index: "index.json", // Relative index path.
revision: "20261001T000000Z", // Immutable publication revision.
generatedAt: "2026-10-01T00:00:00Z", // Generation time.
updatedAt: "2026-09-30T23:45:00Z", // Data update time.
mirrorOf: null, // Canonical source has no parent mirror.
priority: 0, // Preferred endpoint.
official: true, // Operator declaration only.
description: "Read-only DSH plugin metadata.", // Description.
indexChecksum: { sha256: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" }, // Index digest declaration.
sourceMirrors: [{ sourceId: "agent-forge-cn:dsh:plugin", url: "https://mirror.example.cn/agent-forge/data/dsh/plugin/", mirrorOf: "agent-forge:dsh:plugin", revision: "20261001T000000Z", priority: 10, region: "cn", official: false }], // Metadata mirror.
relatedSources: [{ sourceId: "agent-forge:dsh:bundle", url: "https://ratapi.com/data/dsh/bundle/", relation: "regional", revision: "20261001T000000Z", priority: 20, region: "global" }], // Related catalog.
_meta: { "org.example/catalog": { generatedBy: "pages" } }, // Extension data.
} as const;