Skip to main content

Variable: fieldProposalSchema

const fieldProposalSchema: ZodObject<{ alternateNames: ZodOptional<ZodArray<ZodString>>; createdAt: ZodOptional<ZodString>; description: ZodString; discussionUri: ZodOptional<ZodString>; evidence: ZodOptional<ZodArray<ZodObject<{ description: ZodOptional<ZodString>; metrics: ZodOptional<ZodRecord<ZodString, ZodUnknown>>; type: ZodEnum<{ curriculum-analysis: "curriculum-analysis"; expert-survey: "expert-survey"; fast-mapping: "fast-mapping"; literature-review: "literature-review"; tag-frequency: "tag-frequency"; usage-patterns: "usage-patterns"; }>; }, $strip>>>; existingFieldUri: ZodOptional<ZodString>; externalMappings: ZodOptional<ZodArray<ZodObject<{ confidence: ZodOptional<ZodNumber>; id: ZodString; label: ZodOptional<ZodString>; matchType: ZodOptional<ZodEnum<{ broadMatch: "broadMatch"; closeMatch: "closeMatch"; exactMatch: "exactMatch"; narrowMatch: "narrowMatch"; relatedMatch: "relatedMatch"; }>>; source: ZodEnum<{ fast: "fast"; lcsh: "lcsh"; openalex: "openalex"; ror: "ror"; viaf: "viaf"; wikidata: "wikidata"; }>; url: ZodOptional<ZodString>; }, $strip>>>; fieldName: ZodString; fieldType: ZodOptional<ZodEnum<{ field: "field"; root: "root"; subfield: "subfield"; topic: "topic"; }>>; mergeTargetUri: ZodOptional<ZodString>; parentFieldUri: ZodOptional<ZodString>; proposalType: ZodEnum<{ create: "create"; deprecate: "deprecate"; merge: "merge"; modify: "modify"; }>; rationale: ZodOptional<ZodString>; references: ZodOptional<ZodArray<ZodObject<{ title: ZodOptional<ZodString>; type: ZodOptional<ZodEnum<{ curriculum: "curriculum"; doi: "doi"; other: "other"; paper: "paper"; website: "website"; }>>; url: ZodString; }, $strip>>>; }, $strip>

Defined in: web/lib/schemas/governance.ts:152

Field proposal for creating or modifying knowledge graph nodes.

Remarks

Matches the pub.chive.graph.fieldProposal lexicon specification. Proposals are created in user PDSes and indexed by Chive AppView.

Example

const result = fieldProposalSchema.safeParse(formData);
if (result.success) {
await agent.com.atproto.repo.createRecord({
repo: agent.session.did,
collection: 'pub.chive.graph.fieldProposal',
record: { $type: 'pub.chive.graph.fieldProposal', ...result.data }
});
}