{
  "$comment": "Generated by scripts/sdk-manifest.mjs from the package sources — do not edit. Run `yarn docs:sync`.",
  "packages": [
    {
      "name": "@uidu/client",
      "entry": "packages/client/src/index.ts",
      "page": "reference/client",
      "summary": "Typed GraphQL client. Framework-agnostic, server-first, no React dependency.",
      "exports": [
        {
          "name": "Application",
          "kind": "type",
          "source": "packages/client/src/applications.ts",
          "description": "An application submitted to a job posting (a `Job`).",
          "demo": "apps/demo/src/app/admin/applications/page.tsx",
          "domain": "jobs"
        },
        {
          "name": "Booking",
          "kind": "type",
          "source": "packages/client/src/bookings.ts",
          "description": "",
          "domain": "bookings"
        },
        {
          "name": "Calendar",
          "kind": "type",
          "source": "packages/client/src/bookings.ts",
          "description": "",
          "domain": "bookings"
        },
        {
          "name": "CalendarEvent",
          "kind": "type",
          "source": "packages/client/src/bookings.ts",
          "description": "",
          "domain": "bookings"
        },
        {
          "name": "Call",
          "kind": "type",
          "source": "packages/client/src/calls.ts",
          "description": "",
          "demo": "apps/demo/src/app/careers/[id]/ApplicationForm.tsx",
          "domain": "calls"
        },
        {
          "name": "Campaign",
          "kind": "type",
          "source": "packages/client/src/campaigns.ts",
          "description": "",
          "domain": "campaigns"
        },
        {
          "name": "Channel",
          "kind": "type",
          "source": "packages/client/src/help-center.ts",
          "description": "",
          "demo": "apps/demo/src/app/help/[articleId]/page.tsx",
          "domain": "help-center"
        },
        {
          "name": "Circle",
          "kind": "type",
          "source": "packages/client/src/people.ts",
          "description": "",
          "domain": "people"
        },
        {
          "name": "CompensationRecord",
          "kind": "type",
          "source": "packages/client/src/people.ts",
          "description": "A pay item attached to a contract.",
          "domain": "people"
        },
        {
          "name": "completeApplication",
          "kind": "function",
          "source": "packages/client/src/applications.ts",
          "description": "Submit a draft application, the last step of applying.",
          "signature": "completeApplication(client: UiduClient, id: string)",
          "op": "mutation",
          "demo": "apps/demo/src/lib/actions.ts",
          "domain": "jobs",
          "auth": "bearer"
        },
        {
          "name": "Contact",
          "kind": "type",
          "source": "packages/client/src/contacts.ts",
          "description": "",
          "domain": "contacts"
        },
        {
          "name": "ContractEvent",
          "kind": "type",
          "source": "packages/client/src/people.ts",
          "description": "A dated contract event derived from employment history.",
          "domain": "people"
        },
        {
          "name": "contractEvents",
          "kind": "function",
          "source": "packages/client/src/people.ts",
          "description": "Flatten employment history into dated contract events, most recent first: - the employee's earliest contract is a `hire` (assunzione) on its start date; - every later contract is a `variation` (variazione) on its start date; - any contract with an end date yields a `termination` (cessazione) on it.",
          "signature": "contractEvents(employees: EmployeeContracts[]): ContractEvent[]",
          "op": "helper",
          "domain": "people"
        },
        {
          "name": "ContractEventType",
          "kind": "type",
          "source": "packages/client/src/people.ts",
          "description": "",
          "domain": "people"
        },
        {
          "name": "Course",
          "kind": "type",
          "source": "packages/client/src/courses.ts",
          "description": "",
          "domain": "courses"
        },
        {
          "name": "createApplication",
          "kind": "function",
          "source": "packages/client/src/applications.ts",
          "description": "Submit an application to a job. Pass `attributes.applicableId` (the job's id) plus `contactAttributes` and/or `formResponseAttributes`. Returns the mutation payload as-is (including any `errors`) rather than throwing.",
          "signature": "createApplication(client: UiduClient, variables: CreateApplicationMutationVariables)",
          "op": "mutation",
          "demo": "apps/demo/src/lib/actions.ts",
          "domain": "jobs",
          "auth": "bearer",
          "cli": ["uidu applications create"]
        },
        {
          "name": "createAttendance",
          "kind": "function",
          "source": "packages/client/src/events.ts",
          "description": "RSVP a contact to an event: `attendableId` is an event *instance* id, never the event id.",
          "signature": "createAttendance(client: UiduClient, variables: CreateAttendanceMutationVariables)",
          "op": "mutation",
          "demo": "apps/demo/src/lib/actions.ts",
          "domain": "events",
          "auth": "bearer",
          "cli": ["uidu attendances create"]
        },
        {
          "name": "createBenefit",
          "kind": "function",
          "source": "packages/client/src/benefits.ts",
          "description": "Create a benefit in the workspace's catalog (name, category, provider, employer/employee costs). Returns the payload (with `errors`) or null; it is at `benefit.node`.",
          "signature": "createBenefit(client: UiduClient, variables: CreateBenefitMutationVariables)",
          "op": "mutation",
          "demo": "apps/demo/src/lib/actions.ts",
          "domain": "people",
          "auth": "bearer",
          "cli": ["uidu benefits create"]
        },
        {
          "name": "createBenefitEnrollment",
          "kind": "function",
          "source": "packages/client/src/benefit-enrollments.ts",
          "description": "Enroll an employment in a benefit (`benefitId`, `employmentId`, `enrolledAt`). Returns the payload (with `errors`) or null; it is at `benefitEnrollment.node`.",
          "signature": "createBenefitEnrollment(client: UiduClient, variables: CreateBenefitEnrollmentMutationVariables)",
          "op": "mutation",
          "demo": "apps/demo/src/lib/actions.ts",
          "domain": "people",
          "auth": "bearer",
          "cli": ["uidu benefit-enrollments create"]
        },
        {
          "name": "createCcnl",
          "kind": "function",
          "source": "packages/client/src/people.ts",
          "description": "Create a CCNL (national collective labor contract) — the first-class `Ccnl` record (code, sector, contract levels), distinct from the `Kind`-tagged rows `listCcnls` returns above. `Employment.ccnl` / `ccnlId` point at this first-class type. Requires a Bearer token (`apiKey`).",
          "signature": "createCcnl(client: UiduClient, variables: CreateCcnlMutationVariables)",
          "op": "mutation",
          "demo": "apps/demo/src/lib/actions.ts",
          "domain": "people",
          "auth": "bearer",
          "cli": ["uidu ccnls create"]
        },
        {
          "name": "createChannel",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Create a help-center channel. Returns the payload (with `errors`) or null. The new channel is at `channel.node`.",
          "signature": "createChannel(c: UiduClient, v: CreateChannelMutationVariables)",
          "op": "mutation",
          "demo": "apps/demo/src/lib/actions.ts",
          "domain": "help-center",
          "auth": "bearer",
          "cli": ["uidu channel create"]
        },
        {
          "name": "createClient",
          "kind": "function",
          "source": "packages/client/src/client.ts",
          "description": "Build a `UiduClient`; it needs a `workspace` or an `endpoint`, and authenticates with `publicToken`, `apiKey` or `getToken`.",
          "signature": "createClient(config: UiduClientConfig): UiduClient",
          "op": "helper",
          "demo": "apps/demo/src/lib/uidu.ts",
          "domain": "core"
        },
        {
          "name": "createCompensation",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Add a pay item to an employment (`attributes.employmentId`, `amount`, `currency`, `frequency`, `effectiveFrom`). Returns the payload (with `errors`) or null. The new item is at `compensation.node`.",
          "signature": "createCompensation(c: UiduClient, v: CreateCompensationMutationVariables)",
          "op": "mutation",
          "demo": "apps/demo/src/lib/actions.ts",
          "domain": "people",
          "auth": "bearer",
          "cli": ["uidu compensations create"]
        },
        {
          "name": "createContact",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Create a CRM contact from `{ input: { attributes } }`. Returns the payload (with `errors`) or null.",
          "signature": "createContact(c: UiduClient, v: CreateContactMutationVariables)",
          "op": "mutation",
          "domain": "contacts",
          "auth": "bearer",
          "cli": ["uidu contacts create"]
        },
        {
          "name": "createCourse",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Create a course from `{ input: { attributes } }`. Returns the payload (with `errors`) or null.",
          "signature": "createCourse(c: UiduClient, v: CreateCourseMutationVariables)",
          "op": "mutation",
          "domain": "courses",
          "auth": "bearer",
          "cli": ["uidu courses create"]
        },
        {
          "name": "createDeal",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Create a deal in a pipeline (`attributes.pipelineId`, `statusId`). Returns the payload (with `errors`) or null. The new deal is at `deal.node`.",
          "signature": "createDeal(c: UiduClient, v: CreateDealMutationVariables)",
          "op": "mutation",
          "domain": "contacts",
          "auth": "bearer",
          "cli": ["uidu deals create"]
        },
        {
          "name": "createDonation",
          "kind": "function",
          "source": "packages/client/src/donations.ts",
          "description": "Record a donation (amount in cents) to a campaign, creating the donor's contact inline; returns `{ errors, donation }` as-is.",
          "signature": "createDonation(client: UiduClient, variables: CreateDonationMutationVariables)",
          "op": "mutation",
          "demo": "apps/demo/src/lib/actions.ts",
          "domain": "donations",
          "auth": "bearer"
        },
        {
          "name": "createDonationCampaign",
          "kind": "function",
          "source": "packages/client/src/donations.ts",
          "description": "Create a donation campaign (`goal` in cents); returns the payload as-is, `{ errors, donationCampaign }`.",
          "signature": "createDonationCampaign(client: UiduClient, variables: CreateDonationCampaignMutationVariables)",
          "op": "mutation",
          "domain": "donations",
          "auth": "bearer",
          "cli": ["uidu donations create"]
        },
        {
          "name": "createEmployee",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Create the HR record for a workspace user (`attributes.userId`). Returns the payload (with `errors`) or null. The new employee is at `employee.node`.",
          "signature": "createEmployee(c: UiduClient, v: CreateEmployeeMutationVariables)",
          "op": "mutation",
          "domain": "people",
          "auth": "bearer",
          "cli": ["uidu employees create"]
        },
        {
          "name": "createEmployment",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Hire: open a new employment (contract) for `attributes.employeeId` with its start date, kind, role and hours. Returns the payload (with `errors`) or null. The new employment is at `employment.node`.",
          "signature": "createEmployment(c: UiduClient, v: CreateEmploymentMutationVariables)",
          "op": "mutation",
          "demo": "apps/demo/src/lib/actions.ts",
          "domain": "people",
          "auth": "bearer",
          "cli": ["uidu employments create"]
        },
        {
          "name": "createEvent",
          "kind": "function",
          "source": "packages/client/src/events.ts",
          "description": "Create an event; returns the payload as-is, `{ errors, event }`, validation failures included.",
          "signature": "createEvent(client: UiduClient, variables: CreateEventMutationVariables)",
          "op": "mutation",
          "domain": "events",
          "auth": "bearer",
          "cli": ["uidu events create"]
        },
        {
          "name": "createField",
          "kind": "function",
          "source": "packages/client/src/models.ts",
          "description": "Pass `fieldableId` (the model) with `fieldableType: 'Model'`: a custom app may only name a type that matches the record it loads.",
          "signature": "createField(client: UiduClient, variables: CreateFieldMutationVariables)",
          "op": "mutation",
          "domain": "models",
          "auth": "bearer"
        },
        {
          "name": "createFieldOption",
          "kind": "function",
          "source": "packages/client/src/models.ts",
          "description": "Add an option to a select-kind field (`attributes.fieldId`, `name`, `color`). Returns the payload (with `errors`) or null.",
          "signature": "createFieldOption(client: UiduClient, variables: CreateFieldOptionMutationVariables)",
          "op": "mutation",
          "domain": "models",
          "auth": "bearer"
        },
        {
          "name": "createFieldValue",
          "kind": "function",
          "source": "packages/client/src/cms.ts",
          "description": "Create a field value, e.g. set a page block's field (`fieldId`, `content`). Returns the payload (with `errors`) or null; the new value is at `fieldValue.node`.",
          "signature": "createFieldValue(client: UiduClient, variables: CreateFieldValueMutationVariables)",
          "op": "mutation",
          "domain": "cms",
          "auth": "bearer",
          "cli": ["uidu field create"]
        },
        {
          "name": "createForm",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Create a form, questions included via `attributes.formQuestionsAttributes`. Returns the payload (with `errors`) or null. The new form is at `form.node`.",
          "signature": "createForm(c: UiduClient, v: CreateFormMutationVariables)",
          "op": "mutation",
          "domain": "forms",
          "auth": "bearer",
          "cli": ["uidu forms create"]
        },
        {
          "name": "createFormResponse",
          "kind": "function",
          "source": "packages/client/src/forms.ts",
          "description": "Submit a new response to a form; returns the payload as-is, `{ errors, formResponse }`, validation failures included.",
          "signature": "createFormResponse(client: UiduClient, variables: CreateFormResponseMutationVariables)",
          "op": "mutation",
          "demo": "apps/demo/src/lib/actions.ts",
          "domain": "forms",
          "auth": "bearer"
        },
        {
          "name": "createKbArticle",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Create a knowledge-base article in `attributes.kbCollectionId`. Returns the payload (with `errors`) or null. The new article is at `kbArticle.node`.",
          "signature": "createKbArticle(c: UiduClient, v: CreateKbArticleMutationVariables)",
          "op": "mutation",
          "domain": "kb",
          "auth": "bearer",
          "cli": ["uidu kb-articles create"]
        },
        {
          "name": "createKbCollection",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Create a knowledge-base collection. Returns the payload (with `errors`) or null. The new collection is at `kbCollection.node`.",
          "signature": "createKbCollection(c: UiduClient, v: CreateKbCollectionMutationVariables)",
          "op": "mutation",
          "domain": "kb",
          "auth": "bearer",
          "cli": ["uidu kb-collections create"]
        },
        {
          "name": "createModel",
          "kind": "function",
          "source": "packages/client/src/models.ts",
          "description": "Create a model in a WorkspaceApp (`attributes.modelableId`, `name`, `namePlural`). Returns the payload (with `errors`) or null.",
          "signature": "createModel(client: UiduClient, variables: CreateModelMutationVariables)",
          "op": "mutation",
          "domain": "models",
          "auth": "bearer"
        },
        {
          "name": "createModelItem",
          "kind": "function",
          "source": "packages/client/src/models.ts",
          "description": "Pass `attributes.modelId` and `attributes.fieldValuesAttributes` — build the latter by shortname with `toFieldValuesAttributes`.",
          "signature": "createModelItem(client: UiduClient, variables: CreateModelItemMutationVariables)",
          "op": "mutation",
          "demo": "apps/demo/src/app/custom-app/page.tsx",
          "domain": "models",
          "auth": "bearer"
        },
        {
          "name": "createNote",
          "kind": "function",
          "source": "packages/client/src/notes.ts",
          "description": "Create a note. Returns the payload (with `errors`) or null; the new note is at `note.node`.",
          "signature": "createNote(client: UiduClient, variables: CreateNoteMutationVariables)",
          "op": "mutation",
          "domain": "workspace",
          "auth": "bearer",
          "cli": ["uidu notes create"]
        },
        {
          "name": "createPage",
          "kind": "function",
          "source": "packages/client/src/cms.ts",
          "description": "Create a legacy CMS page from a `templateId`, with `slug` and optional `metadataAttributes` (there is no `projectId` attribute). Returns the payload (with `errors`) or null.",
          "signature": "createPage(client: UiduClient, variables: CreatePageMutationVariables)",
          "op": "mutation",
          "domain": "cms",
          "auth": "bearer",
          "cli": ["uidu page create"]
        },
        {
          "name": "createPageBlock",
          "kind": "function",
          "source": "packages/client/src/cms.ts",
          "description": "Place a template block on a page (`pageId`, `templateBlockId`, both numeric). Returns the payload (with `errors`) or null.",
          "signature": "createPageBlock(client: UiduClient, variables: CreatePageBlockMutationVariables)",
          "op": "mutation",
          "domain": "cms",
          "auth": "bearer",
          "cli": ["uidu block create"]
        },
        {
          "name": "createProject",
          "kind": "function",
          "source": "packages/client/src/cms.ts",
          "description": "Create a legacy CMS project (`name`, `slug`, `domain`). Returns the payload (with `errors`) or null; the new project is at `project.node`.",
          "signature": "createProject(client: UiduClient, variables: CreateProjectMutationVariables)",
          "op": "mutation",
          "domain": "cms",
          "auth": "bearer",
          "cli": ["uidu project create"]
        },
        {
          "name": "createSite",
          "kind": "function",
          "source": "packages/client/src/sites.ts",
          "description": "Provisions a new Site in the workspace/account (`tenantId`). Bearer token (`apiKey`) — this is workspace admin territory, never a public write. Returns the mutation payload as-is, including `errors`.",
          "signature": "createSite(client: UiduClient, variables: CreateSiteMutationVariables)",
          "op": "mutation",
          "demo": "apps/demo/src/lib/actions.ts",
          "domain": "sites",
          "auth": "bearer",
          "cli": ["uidu sites create"]
        },
        {
          "name": "createSpace",
          "kind": "function",
          "source": "packages/client/src/spaces.ts",
          "description": "Create a space, the container tasks live in. Returns the payload (with `errors`) or null; the new space is at `space.node`.",
          "signature": "createSpace(client: UiduClient, variables: CreateSpaceMutationVariables)",
          "op": "mutation",
          "domain": "workspace",
          "auth": "bearer",
          "cli": ["uidu spaces create"]
        },
        {
          "name": "createStory",
          "kind": "function",
          "source": "packages/client/src/stories.ts",
          "description": "Create a story; returns the payload as-is, `{ errors, story }`, validation failures included.",
          "signature": "createStory(client: UiduClient, variables: CreateStoryMutationVariables)",
          "op": "mutation",
          "domain": "stories",
          "auth": "bearer",
          "cli": ["uidu stories create"]
        },
        {
          "name": "createTask",
          "kind": "function",
          "source": "packages/client/src/tasks.ts",
          "description": "Create a task, usually in a space (`attributes.spaceId`). Returns the payload (with `errors`) or null.",
          "signature": "createTask(client: UiduClient, variables: CreateTaskMutationVariables)",
          "op": "mutation",
          "demo": "apps/demo/src/lib/actions.ts",
          "domain": "workspace",
          "auth": "bearer",
          "cli": ["uidu tasks create"]
        },
        {
          "name": "createTimeClock",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Record a time-clock punch (`beginsAt`, optional `finishesAt`, `resourceId`). Returns the payload (with `errors`) or null. The new punch is at `timeClock.node`.",
          "signature": "createTimeClock(c: UiduClient, v: CreateTimeClockMutationVariables)",
          "op": "mutation",
          "demo": "apps/demo/src/lib/actions.ts",
          "domain": "people",
          "auth": "bearer",
          "cli": ["uidu time-clocks create"]
        },
        {
          "name": "createWorkspace",
          "kind": "function",
          "source": "packages/client/src/system.ts",
          "description": "Create a workspace owned by the authenticated account (`attributes.name`, `subdomain`…). Returns the payload (with `errors`) or null.",
          "signature": "createWorkspace(client: UiduClient, variables: CreateWorkspaceMutationVariables)",
          "op": "mutation",
          "domain": "provisioning",
          "auth": "bearer",
          "cli": ["uidu workspace create"]
        },
        {
          "name": "Deal",
          "kind": "type",
          "source": "packages/client/src/contacts.ts",
          "description": "",
          "domain": "contacts"
        },
        {
          "name": "deleteChannel",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Delete a help-center channel by `{ input: { id } }`. Returns the payload (with `errors`) or null.",
          "signature": "deleteChannel(c: UiduClient, v: DeleteChannelMutationVariables)",
          "op": "mutation",
          "domain": "help-center",
          "auth": "bearer",
          "cli": ["uidu channel delete"]
        },
        {
          "name": "deleteCompensation",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Delete a pay item by `{ input: { id } }`. Returns the payload (with `errors`) or null.",
          "signature": "deleteCompensation(c: UiduClient, v: DeleteCompensationMutationVariables)",
          "op": "mutation",
          "domain": "people",
          "auth": "bearer",
          "cli": ["uidu compensations delete"]
        },
        {
          "name": "deleteContact",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Delete a contact by `{ input: { id } }`. Returns the payload (with `errors`) or null.",
          "signature": "deleteContact(c: UiduClient, v: DeleteContactMutationVariables)",
          "op": "mutation",
          "domain": "contacts",
          "auth": "bearer",
          "cli": ["uidu contacts delete"]
        },
        {
          "name": "deleteCourse",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Delete a course by `{ input: { id } }`. Returns the payload (with `errors`) or null.",
          "signature": "deleteCourse(c: UiduClient, v: DeleteCourseMutationVariables)",
          "op": "mutation",
          "domain": "courses",
          "auth": "bearer",
          "cli": ["uidu courses delete"]
        },
        {
          "name": "deleteDonationCampaign",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Delete a donation campaign by `{ input: { id } }`. Returns the payload (with `errors`) or null.",
          "signature": "deleteDonationCampaign(c: UiduClient, v: DeleteDonationCampaignMutationVariables)",
          "op": "mutation",
          "domain": "donations",
          "auth": "bearer",
          "cli": ["uidu donations delete"]
        },
        {
          "name": "deleteEmployment",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Delete an employment by `{ input: { id } }` (to end a contract, use `terminateEmployment` instead). Returns the payload (with `errors`) or null.",
          "signature": "deleteEmployment(c: UiduClient, v: DeleteEmploymentMutationVariables)",
          "op": "mutation",
          "domain": "people",
          "auth": "bearer",
          "cli": ["uidu employments delete"]
        },
        {
          "name": "deleteField",
          "kind": "function",
          "source": "packages/client/src/models.ts",
          "description": "Delete a field from its model by `{ input: { id } }`. Returns the payload (with `errors`) or null.",
          "signature": "deleteField(client: UiduClient, variables: DeleteFieldMutationVariables)",
          "op": "mutation",
          "domain": "models",
          "auth": "bearer"
        },
        {
          "name": "deleteFieldOption",
          "kind": "function",
          "source": "packages/client/src/models.ts",
          "description": "Delete a select option by `{ input: { id } }`. Returns the payload (with `errors`) or null.",
          "signature": "deleteFieldOption(client: UiduClient, variables: DeleteFieldOptionMutationVariables)",
          "op": "mutation",
          "domain": "models",
          "auth": "bearer"
        },
        {
          "name": "deleteFieldValue",
          "kind": "function",
          "source": "packages/client/src/models.ts",
          "description": "Clear a single value by its FieldValue id; `deleteLinkedRecord: true` also deletes the record it links to. Returns the payload (with `errors`) or null.",
          "signature": "deleteFieldValue(client: UiduClient, variables: DeleteFieldValueMutationVariables)",
          "op": "mutation",
          "domain": "models",
          "auth": "bearer"
        },
        {
          "name": "deleteForm",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Delete a form by `{ input: { id } }`. Returns the payload (with `errors`) or null.",
          "signature": "deleteForm(c: UiduClient, v: DeleteFormMutationVariables)",
          "op": "mutation",
          "domain": "forms",
          "auth": "bearer",
          "cli": ["uidu forms delete"]
        },
        {
          "name": "deleteKbArticle",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Delete a knowledge-base article by `{ input: { id } }`. Returns the payload (with `errors`) or null.",
          "signature": "deleteKbArticle(c: UiduClient, v: DeleteKbArticleMutationVariables)",
          "op": "mutation",
          "domain": "kb",
          "auth": "bearer",
          "cli": ["uidu kb-articles delete"]
        },
        {
          "name": "deleteKbCollection",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Delete a knowledge-base collection by `{ input: { id } }`. Returns the payload (with `errors`) or null.",
          "signature": "deleteKbCollection(c: UiduClient, v: DeleteKbCollectionMutationVariables)",
          "op": "mutation",
          "domain": "kb",
          "auth": "bearer",
          "cli": ["uidu kb-collections delete"]
        },
        {
          "name": "deleteModelItem",
          "kind": "function",
          "source": "packages/client/src/models.ts",
          "description": "Delete an item by `{ input: { id } }`. Returns the payload (with `errors`) or null.",
          "signature": "deleteModelItem(client: UiduClient, variables: DeleteModelItemMutationVariables)",
          "op": "mutation",
          "demo": "apps/demo/src/app/custom-app/page.tsx",
          "domain": "models",
          "auth": "bearer"
        },
        {
          "name": "deleteNote",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Delete a note by `{ input: { id } }`. Returns the payload (with `errors`) or null.",
          "signature": "deleteNote(c: UiduClient, v: DeleteNoteMutationVariables)",
          "op": "mutation",
          "domain": "workspace",
          "auth": "bearer",
          "cli": ["uidu notes delete"]
        },
        {
          "name": "deleteSpace",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Delete a space by `{ input: { id } }`. Returns the payload (with `errors`) or null.",
          "signature": "deleteSpace(c: UiduClient, v: DeleteSpaceMutationVariables)",
          "op": "mutation",
          "domain": "workspace",
          "auth": "bearer",
          "cli": ["uidu spaces delete"]
        },
        {
          "name": "deleteTask",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Delete a task by `{ input: { id } }`. Returns the payload (with `errors`) or null.",
          "signature": "deleteTask(c: UiduClient, v: DeleteTaskMutationVariables)",
          "op": "mutation",
          "domain": "workspace",
          "auth": "bearer",
          "cli": ["uidu tasks delete"]
        },
        {
          "name": "DonationCampaign",
          "kind": "type",
          "source": "packages/client/src/donations.ts",
          "description": "",
          "demo": "apps/demo/src/app/donate/[id]/page.tsx",
          "domain": "donations"
        },
        {
          "name": "Employee",
          "kind": "type",
          "source": "packages/client/src/people.ts",
          "description": "",
          "domain": "people"
        },
        {
          "name": "EmployeeContracts",
          "kind": "type",
          "source": "packages/client/src/people.ts",
          "description": "An employee together with their full list of contracts.",
          "domain": "people"
        },
        {
          "name": "EmploymentRecord",
          "kind": "type",
          "source": "packages/client/src/people.ts",
          "description": "A single contract (employment) reduced to the fields that describe its span.",
          "domain": "people"
        },
        {
          "name": "Enrollment",
          "kind": "type",
          "source": "packages/client/src/courses.ts",
          "description": "",
          "domain": "courses"
        },
        {
          "name": "ensureModel",
          "kind": "function",
          "source": "packages/client/src/models.ts",
          "description": "Find the app's model by name, or create it — and any of `fields` it lacks. Returns the model with all its fields. What a custom app runs on its first load until schemas come from an install-time manifest (custom apps spec, step 3). Throws a `UiduError` (`MUTATION_ERROR`) when a write is refused.",
          "signature": "ensureModel(client: UiduClient, options: EnsureModelOptions): Promise<Model>",
          "op": "mutation",
          "demo": "apps/demo/src/app/custom-app/page.tsx",
          "domain": "models",
          "auth": "bearer"
        },
        {
          "name": "EnsureModelOptions",
          "kind": "type",
          "source": "packages/client/src/models.ts",
          "description": "",
          "domain": "models"
        },
        {
          "name": "Event",
          "kind": "type",
          "source": "packages/client/src/events.ts",
          "description": "",
          "demo": "apps/demo/src/components/themes/events/show/ClassicShow.tsx",
          "domain": "events"
        },
        {
          "name": "executeAction",
          "kind": "function",
          "source": "packages/client/src/actions.ts",
          "description": "Run any backend action by `key` (an `ActionKey` flagged `of_kind_tool_key`), with optional `id` and `attributes`; returns `{ result, errors }` or null.",
          "signature": "executeAction(client: UiduClient, variables: ExecuteActionMutationVariables)",
          "op": "mutation",
          "domain": "provisioning",
          "auth": "bearer",
          "cli": ["uidu tools call"]
        },
        {
          "name": "Form",
          "kind": "type",
          "source": "packages/client/src/forms.ts",
          "description": "",
          "demo": "apps/demo/src/components/blocks/ContactForm.tsx",
          "domain": "forms"
        },
        {
          "name": "fromBridge",
          "kind": "function",
          "source": "packages/client/src/client.ts",
          "description": "Client config for a custom app, from a connected `@uidu/app-bridge`: the bridge's GraphQL endpoint, with its session token asked for per request.",
          "signature": "fromBridge(bridge: { graphqlUrl: string; getToken: () => Promise<string>; }): UiduClientConfig",
          "op": "helper",
          "domain": "core"
        },
        {
          "name": "generateWorkspaceApiCredentials",
          "kind": "function",
          "source": "packages/client/src/system.ts",
          "description": "Rotate + return a workspace's API credentials (apiKey/apiSecret). Operates on the current workspace. Use the returned credentials to wire a scaffolded app.",
          "signature": "generateWorkspaceApiCredentials(client: UiduClient, variables: GenerateWorkspaceApiCredentialsMutationVariables)",
          "op": "mutation",
          "domain": "provisioning",
          "auth": "bearer",
          "cli": ["uidu workspace credentials"]
        },
        {
          "name": "getBooking",
          "kind": "function",
          "source": "packages/client/src/bookings.ts",
          "description": "One booking with its contact, totals in cents and custom fields (`fieldValuesByShortname`), or null; a public token sees none.",
          "signature": "getBooking(client: UiduClient, variables: GetBookingQueryVariables): Promise<Booking | null>",
          "op": "query",
          "domain": "bookings",
          "auth": "bearer",
          "cli": ["uidu bookings get"]
        },
        {
          "name": "getCalendar",
          "kind": "function",
          "source": "packages/client/src/bookings.ts",
          "description": "One calendar (name, color, time zone), or null.",
          "signature": "getCalendar(client: UiduClient, variables: GetCalendarQueryVariables): Promise<Calendar | null>",
          "op": "query",
          "domain": "bookings",
          "auth": "public"
        },
        {
          "name": "getCalendarEvent",
          "kind": "function",
          "source": "packages/client/src/bookings.ts",
          "description": "One calendar event with its rich-text `body` and its calendar, or null.",
          "signature": "getCalendarEvent(client: UiduClient, variables: GetCalendarEventQueryVariables): Promise<CalendarEvent | null>",
          "op": "query",
          "demo": "apps/demo/src/app/bookings/[id]/page.tsx",
          "domain": "bookings",
          "auth": "public"
        },
        {
          "name": "getCall",
          "kind": "function",
          "source": "packages/client/src/calls.ts",
          "description": "One call (a job opening or open call) with its application `form`, same shape as `getForm`, or null.",
          "signature": "getCall(client: UiduClient, variables: GetCallQueryVariables): Promise<Call | null>",
          "op": "query",
          "domain": "calls",
          "auth": "public",
          "cli": ["uidu calls get"]
        },
        {
          "name": "getCampaign",
          "kind": "function",
          "source": "packages/client/src/campaigns.ts",
          "description": "One campaign with its `preferences` and target `list`, or null; a public token sees none.",
          "signature": "getCampaign(client: UiduClient, variables: GetCampaignQueryVariables): Promise<Campaign | null>",
          "op": "query",
          "domain": "campaigns",
          "auth": "bearer",
          "cli": ["uidu campaigns get"]
        },
        {
          "name": "getChannel",
          "kind": "function",
          "source": "packages/client/src/help-center.ts",
          "description": "One help center channel with its collections and their articles in a single request (the last 100 of each), or null.",
          "signature": "getChannel(client: UiduClient, variables: GetChannelQueryVariables): Promise<Channel | null>",
          "op": "query",
          "demo": "apps/demo/src/app/help/[articleId]/page.tsx",
          "domain": "help-center",
          "auth": "public",
          "cli": ["uidu channel get"]
        },
        {
          "name": "getContact",
          "kind": "function",
          "source": "packages/client/src/contacts.ts",
          "description": "One contact with its address and custom fields (`fieldValuesByShortname`), or null; a public token sees none.",
          "signature": "getContact(client: UiduClient, variables: GetContactQueryVariables): Promise<Contact | null>",
          "op": "query",
          "domain": "contacts",
          "auth": "bearer",
          "cli": ["uidu contacts get"]
        },
        {
          "name": "getCourse",
          "kind": "function",
          "source": "packages/client/src/courses.ts",
          "description": "One course with its rich-text `body`, or null.",
          "signature": "getCourse(client: UiduClient, variables: GetCourseQueryVariables): Promise<Course | null>",
          "op": "query",
          "demo": "apps/demo/src/app/courses/[id]/page.tsx",
          "domain": "courses",
          "auth": "public",
          "cli": ["uidu courses get"]
        },
        {
          "name": "getDeal",
          "kind": "function",
          "source": "packages/client/src/contacts.ts",
          "description": "One deal with its pipeline, status and owner (`user`), or null; `amount` is in cents.",
          "signature": "getDeal(client: UiduClient, variables: GetDealQueryVariables): Promise<Deal | null>",
          "op": "query",
          "domain": "contacts",
          "auth": "bearer",
          "cli": ["uidu deals get"]
        },
        {
          "name": "getDonationCampaign",
          "kind": "function",
          "source": "packages/client/src/donations.ts",
          "description": "One donation campaign with its body, its totals (`goal`, `donationsAmount`, in cents) and its donor `form`, or null.",
          "signature": "getDonationCampaign(client: UiduClient, variables: GetDonationCampaignQueryVariables): Promise<DonationCampaign | null>",
          "op": "query",
          "demo": "apps/demo/src/app/donate/[id]/page.tsx",
          "domain": "donations",
          "auth": "public",
          "cli": ["uidu donations get"]
        },
        {
          "name": "getEmployee",
          "kind": "function",
          "source": "packages/client/src/people.ts",
          "description": "One employee with current employment, today's time clocks and the shifts of the week starting `weekStartingAt` (see `weekStartFor`), or null.",
          "signature": "getEmployee(client: UiduClient, variables: GetEmployeeQueryVariables): Promise<Employee | null>",
          "op": "query",
          "demo": "apps/demo/src/app/admin/people/[id]/page.tsx",
          "domain": "people",
          "auth": "bearer"
        },
        {
          "name": "getEnrollment",
          "kind": "function",
          "source": "packages/client/src/courses.ts",
          "description": "One enrollment with its course, contact and custom fields (`fieldValuesByShortname`), or null.",
          "signature": "getEnrollment(client: UiduClient, variables: GetEnrollmentQueryVariables): Promise<Enrollment | null>",
          "op": "query",
          "domain": "courses",
          "auth": "bearer"
        },
        {
          "name": "getEvent",
          "kind": "function",
          "source": "packages/client/src/events.ts",
          "description": "One event with its primary address, its next or current `instance` and all its `instances`, or null.",
          "signature": "getEvent(client: UiduClient, variables: GetEventQueryVariables): Promise<Event | null>",
          "op": "query",
          "demo": "apps/demo/src/app/events/[id]/page.tsx",
          "domain": "events",
          "auth": "public",
          "cli": ["uidu events get"]
        },
        {
          "name": "getForm",
          "kind": "function",
          "source": "packages/client/src/forms.ts",
          "description": "One form with its questions (`inputs`, a connection of `FormQuestion` nodes with field metadata) ready to render, or null.",
          "signature": "getForm(client: UiduClient, variables: GetFormQueryVariables): Promise<Form | null>",
          "op": "query",
          "demo": "apps/demo/src/app/forms/[id]/page.tsx",
          "domain": "forms",
          "auth": "public",
          "cli": ["uidu forms get"]
        },
        {
          "name": "getGoal",
          "kind": "function",
          "source": "packages/client/src/goals.ts",
          "description": "One goal with its key results (`subgoals`).",
          "signature": "getGoal(client: UiduClient, variables: GetGoalQueryVariables): Promise<Goal | null>",
          "op": "query",
          "domain": "goals",
          "auth": "bearer",
          "cli": ["uidu goals get"]
        },
        {
          "name": "getJob",
          "kind": "function",
          "source": "packages/client/src/jobs.ts",
          "description": "Fetch a single job posting; returns `null` if the call is not a job.",
          "signature": "getJob(client: UiduClient, variables: Parameters<typeof getCall>[1]): Promise<Job | null>",
          "op": "query",
          "demo": "apps/demo/src/app/careers/[id]/page.tsx",
          "domain": "jobs",
          "auth": "public",
          "cli": ["uidu jobs get"]
        },
        {
          "name": "getKbArticle",
          "kind": "function",
          "source": "packages/client/src/kb.ts",
          "description": "One knowledge-base article with its rich-text `body` and its collection, or null.",
          "signature": "getKbArticle(client: UiduClient, variables: GetKbArticleQueryVariables): Promise<KbArticle | null>",
          "op": "query",
          "domain": "kb",
          "auth": "public",
          "cli": ["uidu kb-articles get"]
        },
        {
          "name": "getKbCollection",
          "kind": "function",
          "source": "packages/client/src/kb.ts",
          "description": "One knowledge-base collection with its first 50 articles, or null.",
          "signature": "getKbCollection(client: UiduClient, variables: GetKbCollectionQueryVariables): Promise<KbCollection | null>",
          "op": "query",
          "domain": "kb",
          "auth": "public",
          "cli": ["uidu kb-collections get"]
        },
        {
          "name": "getLecture",
          "kind": "function",
          "source": "packages/client/src/courses.ts",
          "description": "One lecture with its `body`, its course and its `nextLecture` / `previousLecture` for navigation, or null.",
          "signature": "getLecture(client: UiduClient, variables: GetLectureQueryVariables): Promise<Lecture | null>",
          "op": "query",
          "domain": "courses",
          "auth": "public"
        },
        {
          "name": "getModel",
          "kind": "function",
          "source": "packages/client/src/models.ts",
          "description": "One model with its fields, or null when the id is not a Model.",
          "signature": "getModel(client: UiduClient, variables: { id: string }): Promise<Model | null>",
          "op": "query",
          "domain": "models",
          "auth": "bearer"
        },
        {
          "name": "getModelItem",
          "kind": "function",
          "source": "packages/client/src/models.ts",
          "description": "One model item with its values and its `model.id`, or null when the id is not a ModelItem.",
          "signature": "getModelItem(client: UiduClient, variables: { id: string }): Promise<(ModelItem & { model: { id: string } }) | null>",
          "op": "query",
          "domain": "models",
          "auth": "bearer"
        },
        {
          "name": "getPage",
          "kind": "function",
          "source": "packages/client/src/cms.ts",
          "description": "A legacy CMS page by project and `slug`, with its metadata and ordered `pageBlocks` (and any linked form's questions), or null.",
          "signature": "getPage(client: UiduClient, variables: GetPageQueryVariables): Promise<Page | null>",
          "op": "query",
          "demo": "apps/demo/src/app/page.tsx",
          "domain": "cms",
          "auth": "public",
          "cli": ["uidu page get"]
        },
        {
          "name": "getPageBySlug",
          "kind": "function",
          "source": "packages/client/src/sites.ts",
          "description": "A page of the Site by slug, with its field values and its ordered blocks. Only published pages unless `includeDrafts`.",
          "signature": "getPageBySlug(client: UiduClient, variables: { siteId: string; slug: string; includeDrafts?: boolean }): Promise<SitePage | null>",
          "op": "query",
          "domain": "sites",
          "auth": "public"
        },
        {
          "name": "getSingletonBlock",
          "kind": "function",
          "source": "packages/client/src/sites.ts",
          "description": "A singleton of the Site — the header, the footer, the nav — by its Model's shortname, with its field values and blocks.",
          "signature": "getSingletonBlock(client: UiduClient, variables: { siteId: string; shortname: string }): Promise<SitePage | null>",
          "op": "query",
          "domain": "sites",
          "auth": "public"
        },
        {
          "name": "getSite",
          "kind": "function",
          "source": "packages/client/src/sites.ts",
          "description": "A Site by its id — for previews, where there is no domain to go by.",
          "signature": "getSite(client: UiduClient, variables: { id: string }): Promise<Site | null>",
          "op": "query",
          "domain": "sites",
          "auth": "public"
        },
        {
          "name": "getSiteByDomain",
          "kind": "function",
          "source": "packages/client/src/sites.ts",
          "description": "The Site served on `domain` (e.g. `www.acme.org`), or null.",
          "signature": "getSiteByDomain(client: UiduClient, variables: { domain: string }): Promise<Site | null>",
          "op": "query",
          "domain": "sites",
          "auth": "public"
        },
        {
          "name": "getStory",
          "kind": "function",
          "source": "packages/client/src/stories.ts",
          "description": "One story with its rich-text `body`, or null.",
          "signature": "getStory(client: UiduClient, variables: GetStoryQueryVariables): Promise<Story | null>",
          "op": "query",
          "demo": "apps/demo/src/app/stories/[id]/page.tsx",
          "domain": "stories",
          "auth": "public",
          "cli": ["uidu stories get"]
        },
        {
          "name": "getTemplate",
          "kind": "function",
          "source": "packages/client/src/cms.ts",
          "description": "A legacy CMS template by id, with every page it holds and their blocks, or null.",
          "signature": "getTemplate(client: UiduClient, variables: GetTemplateQueryVariables): Promise<Template | null>",
          "op": "query",
          "domain": "cms",
          "auth": "public"
        },
        {
          "name": "Goal",
          "kind": "type",
          "source": "packages/client/src/goals.ts",
          "description": "",
          "domain": "goals"
        },
        {
          "name": "goalProgress",
          "kind": "function",
          "source": "packages/client/src/goals.ts",
          "description": "How far the goal is, 0 to 1 (above 1 when it overshoots). `goal.progress` itself is percent x100: 10000 is done.",
          "signature": "goalProgress(goal: { progress?: number | null }): number",
          "op": "helper",
          "domain": "goals"
        },
        {
          "name": "goalTimeElapsed",
          "kind": "function",
          "source": "packages/client/src/goals.ts",
          "description": "How much of the goal's timeframe has passed, 0 to 1, or `null` when it has none. A goal whose `goalProgress` is below this is behind schedule.",
          "signature": "goalTimeElapsed(goal: { timeframe?: { startDate?: string | null; endDate?: string | null; } | null; }, now: Date = new Date()): number | null",
          "op": "helper",
          "domain": "goals"
        },
        {
          "name": "goalValue",
          "kind": "function",
          "source": "packages/client/src/goals.ts",
          "description": "A stored goal value (`initialValue`, `currentValue`, `targetValue`) in the unit a person typed: uidu keeps every one of them x100. For `percentage` that is percent points (45 = 45%), for `currency` whole units of `goal.currency`, for `checkbox` 1 or 0. `null` stays `null`.",
          "signature": "goalValue(goal: GoalMetric, raw: number | null | undefined): number | null",
          "op": "helper",
          "domain": "goals"
        },
        {
          "name": "isGoalBehind",
          "kind": "function",
          "source": "packages/client/src/goals.ts",
          "description": "Behind schedule: less done than time elapsed, by more than `tolerance` (0.1 = ten points). `false` for a goal with no timeframe or one already accomplished. The goal's own `status` (`off_track`, `needs_attention`) is its owner's judgement — show it next to this, don't replace one with the other.",
          "signature": "isGoalBehind(goal: Parameters<typeof goalTimeElapsed>[0] & { progress?: number | null; status?: string | null; }, { now = new Date(), tolerance = 0 }: { now?: Date; tolerance?: number } = {}): boolean",
          "op": "helper",
          "domain": "goals"
        },
        {
          "name": "Job",
          "kind": "type",
          "source": "packages/client/src/jobs.ts",
          "description": "A job posting — a `Call` whose `kind` is `job`.",
          "domain": "jobs"
        },
        {
          "name": "KbArticle",
          "kind": "type",
          "source": "packages/client/src/kb.ts",
          "description": "",
          "domain": "kb"
        },
        {
          "name": "KbCollection",
          "kind": "type",
          "source": "packages/client/src/kb.ts",
          "description": "",
          "domain": "kb"
        },
        {
          "name": "Kind",
          "kind": "type",
          "source": "packages/client/src/people.ts",
          "description": "A `Kind` record — CCNLs (national collective labor contracts) are Kinds.",
          "domain": "people"
        },
        {
          "name": "Lecture",
          "kind": "type",
          "source": "packages/client/src/courses.ts",
          "description": "",
          "domain": "courses"
        },
        {
          "name": "listApplications",
          "kind": "function",
          "source": "packages/client/src/applications.ts",
          "description": "List applications across the workspace (requires a Bearer token).",
          "signature": "listApplications(client: UiduClient, variables: ListApplicationsQueryVariables = {}): Promise<Application[]>",
          "op": "query",
          "demo": "apps/demo/src/app/admin/applications/page.tsx",
          "domain": "jobs",
          "auth": "bearer",
          "cli": ["uidu applications list"]
        },
        {
          "name": "ListApplicationsDocument",
          "kind": "document",
          "source": "packages/client/src/generated/index.ts",
          "description": "",
          "domain": "jobs"
        },
        {
          "name": "listBookings",
          "kind": "function",
          "source": "packages/client/src/bookings.ts",
          "description": "The workspace's bookings as a flat array; page with `first`/`after` (or `last`/`before`); a public token gets an empty list.",
          "signature": "listBookings(client: UiduClient, variables: ListBookingsQueryVariables = {})",
          "op": "query",
          "domain": "bookings",
          "auth": "bearer",
          "cli": ["uidu bookings list"]
        },
        {
          "name": "ListBookingsDocument",
          "kind": "document",
          "source": "packages/client/src/generated/index.ts",
          "description": "",
          "domain": "bookings"
        },
        {
          "name": "listCalendarEvents",
          "kind": "function",
          "source": "packages/client/src/bookings.ts",
          "description": "Calendar events as a flat array, optionally narrowed by `calendarIds` and named `scopes` (e.g. `upcoming`); page with `first`/`after`.",
          "signature": "listCalendarEvents(client: UiduClient, variables: ListCalendarEventsQueryVariables = {})",
          "op": "query",
          "demo": "apps/demo/src/app/bookings/page.tsx",
          "domain": "bookings",
          "auth": "public"
        },
        {
          "name": "ListCalendarEventsDocument",
          "kind": "document",
          "source": "packages/client/src/generated/index.ts",
          "description": "",
          "domain": "bookings"
        },
        {
          "name": "listCalendars",
          "kind": "function",
          "source": "packages/client/src/bookings.ts",
          "description": "The workspace's calendars as a flat array; page with `first`/`after` (or `last`/`before`).",
          "signature": "listCalendars(client: UiduClient, variables: ListCalendarsQueryVariables = {})",
          "op": "query",
          "demo": "apps/demo/src/app/bookings/page.tsx",
          "domain": "bookings",
          "auth": "public"
        },
        {
          "name": "ListCalendarsDocument",
          "kind": "document",
          "source": "packages/client/src/generated/index.ts",
          "description": "",
          "domain": "bookings"
        },
        {
          "name": "listCalls",
          "kind": "function",
          "source": "packages/client/src/calls.ts",
          "description": "The workspace's calls as a flat array of summaries, without their forms; page with `first`/`after`.",
          "signature": "listCalls(client: UiduClient, variables: ListCallsQueryVariables = {})",
          "op": "query",
          "demo": "apps/demo/src/components/themes/careers/types.ts",
          "domain": "calls",
          "auth": "public",
          "cli": ["uidu calls list"]
        },
        {
          "name": "ListCallsDocument",
          "kind": "document",
          "source": "packages/client/src/generated/index.ts",
          "description": "",
          "domain": "calls"
        },
        {
          "name": "listCampaigns",
          "kind": "function",
          "source": "packages/client/src/campaigns.ts",
          "description": "The workspace's campaigns as a flat array, optionally filtered by `kind` and `status`; page with `first`/`after`.",
          "signature": "listCampaigns(client: UiduClient, variables: ListCampaignsQueryVariables = {})",
          "op": "query",
          "demo": "apps/demo/src/app/admin/campaigns/page.tsx",
          "domain": "campaigns",
          "auth": "bearer",
          "cli": ["uidu campaigns list"]
        },
        {
          "name": "ListCampaignsDocument",
          "kind": "document",
          "source": "packages/client/src/generated/index.ts",
          "description": "",
          "domain": "campaigns"
        },
        {
          "name": "listCcnls",
          "kind": "function",
          "source": "packages/client/src/people.ts",
          "description": "List the CCNLs (national collective labor contracts) configured for the workspace — used for an employment's `ccnlId`.",
          "signature": "listCcnls(client: UiduClient, variables: Omit<ListKindsQueryVariables, 'models'> = {}): Promise<Kind[]>",
          "op": "query",
          "domain": "people",
          "auth": "bearer",
          "cli": ["uidu ccnls list"]
        },
        {
          "name": "listChannels",
          "kind": "function",
          "source": "packages/client/src/help-center.ts",
          "description": "The workspace's help center channels. `isDefault` marks the one the workspace treats as its main channel — a caller that has no channel id configured should prefer it over the first row.",
          "signature": "listChannels(client: UiduClient, variables: ListChannelsQueryVariables = {})",
          "op": "query",
          "demo": "apps/demo/src/lib/uidu.ts",
          "domain": "help-center",
          "auth": "public",
          "cli": ["uidu channel list"]
        },
        {
          "name": "listCircles",
          "kind": "function",
          "source": "packages/client/src/people.ts",
          "description": "List the workspace circles. Circles come in two flavours distinguished by `kind`: org units (e.g. departments — used as an employment's `circleId`) and roles (`kind === 'role'` — used as an employment's `roleId`). Use `listRoles` when you only want the role-Circles.",
          "signature": "listCircles(client: UiduClient, variables: ListCirclesQueryVariables = {}): Promise<Circle[]>",
          "op": "query",
          "domain": "people",
          "auth": "bearer"
        },
        {
          "name": "listContacts",
          "kind": "function",
          "source": "packages/client/src/contacts.ts",
          "description": "Every contact the client may see, as an array: the field is not a connection, so there is no pagination.",
          "signature": "listContacts(client: UiduClient)",
          "op": "query",
          "demo": "apps/demo/src/app/admin/crm/page.tsx",
          "domain": "contacts",
          "auth": "bearer",
          "cli": ["uidu contacts list"]
        },
        {
          "name": "listCourses",
          "kind": "function",
          "source": "packages/client/src/courses.ts",
          "description": "The workspace's courses as a flat array, optionally filtered with search `params`; page with `first`/`after`.",
          "signature": "listCourses(client: UiduClient, variables: ListCoursesQueryVariables = {})",
          "op": "query",
          "demo": "apps/demo/src/app/courses/page.tsx",
          "domain": "courses",
          "auth": "public",
          "cli": ["uidu courses list"]
        },
        {
          "name": "ListCoursesDocument",
          "kind": "document",
          "source": "packages/client/src/generated/index.ts",
          "description": "",
          "domain": "courses"
        },
        {
          "name": "listDeals",
          "kind": "function",
          "source": "packages/client/src/contacts.ts",
          "description": "The workspace's deals as a flat array, optionally filtered with search `params`; page with `first`/`after`.",
          "signature": "listDeals(client: UiduClient, variables: ListDealsQueryVariables = {})",
          "op": "query",
          "demo": "apps/demo/src/app/admin/crm/page.tsx",
          "domain": "contacts",
          "auth": "bearer",
          "cli": ["uidu deals list"]
        },
        {
          "name": "ListDealsDocument",
          "kind": "document",
          "source": "packages/client/src/generated/index.ts",
          "description": "",
          "domain": "contacts"
        },
        {
          "name": "listDonationCampaigns",
          "kind": "function",
          "source": "packages/client/src/donations.ts",
          "description": "The workspace's donation campaigns as a flat array of summaries with their totals in cents; page with `first`/`after`.",
          "signature": "listDonationCampaigns(client: UiduClient, variables: ListDonationCampaignsQueryVariables = {})",
          "op": "query",
          "demo": "apps/demo/src/app/donate/page.tsx",
          "domain": "donations",
          "auth": "public",
          "cli": ["uidu donations list"]
        },
        {
          "name": "ListDonationCampaignsDocument",
          "kind": "document",
          "source": "packages/client/src/generated/index.ts",
          "description": "",
          "domain": "donations"
        },
        {
          "name": "listEmailCampaigns",
          "kind": "function",
          "source": "packages/client/src/campaigns.ts",
          "description": "The email blasts of the workspace's campaigns with their delivery metrics (sent, opened, clicked), as a flat array; page with `first`/`after`.",
          "signature": "listEmailCampaigns(client: UiduClient, variables: ListEmailCampaignsQueryVariables = {})",
          "op": "query",
          "demo": "apps/demo/src/app/admin/campaigns/page.tsx",
          "domain": "campaigns",
          "auth": "bearer"
        },
        {
          "name": "ListEmailCampaignsDocument",
          "kind": "document",
          "source": "packages/client/src/generated/index.ts",
          "description": "",
          "domain": "campaigns"
        },
        {
          "name": "listEmployees",
          "kind": "function",
          "source": "packages/client/src/people.ts",
          "description": "The workspace's employees with their current employment, as a flat array; page with `first`/`after`.",
          "signature": "listEmployees(client: UiduClient, variables: ListEmployeesQueryVariables = {})",
          "op": "query",
          "demo": "apps/demo/src/app/admin/people/page.tsx",
          "domain": "people",
          "auth": "bearer",
          "cli": ["uidu employees list"]
        },
        {
          "name": "ListEmployeesDocument",
          "kind": "document",
          "source": "packages/client/src/generated/index.ts",
          "description": "",
          "domain": "people"
        },
        {
          "name": "listEmploymentHistory",
          "kind": "function",
          "source": "packages/client/src/people.ts",
          "description": "List every employee with their full employment (contract) history — not just the current one. Use `contractEvents` to turn this into a flat, dated list of hires, terminations and contract variations.",
          "signature": "listEmploymentHistory(client: UiduClient, variables: ListEmploymentHistoryQueryVariables = {}): Promise<EmployeeContracts[]>",
          "op": "query",
          "domain": "people",
          "auth": "bearer"
        },
        {
          "name": "listEnrollments",
          "kind": "function",
          "source": "packages/client/src/courses.ts",
          "description": "Course enrollments as a flat array, optionally filtered with search `params`; page with `first`/`after`.",
          "signature": "listEnrollments(client: UiduClient, variables: ListEnrollmentsQueryVariables = {})",
          "op": "query",
          "domain": "courses",
          "auth": "bearer"
        },
        {
          "name": "ListEnrollmentsDocument",
          "kind": "document",
          "source": "packages/client/src/generated/index.ts",
          "description": "",
          "domain": "courses"
        },
        {
          "name": "listEvents",
          "kind": "function",
          "source": "packages/client/src/events.ts",
          "description": "The workspace's events as a flat array of summaries, each with its next or current `instance`; page with `first`/`after`.",
          "signature": "listEvents(client: UiduClient, variables: ListEventsQueryVariables = {})",
          "op": "query",
          "demo": "apps/demo/src/app/events/page.tsx",
          "domain": "events",
          "auth": "public",
          "cli": ["uidu events list"]
        },
        {
          "name": "ListEventsDocument",
          "kind": "document",
          "source": "packages/client/src/generated/index.ts",
          "description": "",
          "domain": "events"
        },
        {
          "name": "listForms",
          "kind": "function",
          "source": "packages/client/src/forms.ts",
          "description": "The workspace's forms as a flat array of summaries, without their questions (use `getForm` for those); page with `first`/`after`.",
          "signature": "listForms(client: UiduClient, variables: ListFormsQueryVariables = {})",
          "op": "query",
          "demo": "apps/demo/src/app/forms/page.tsx",
          "domain": "forms",
          "auth": "public",
          "cli": ["uidu forms list"]
        },
        {
          "name": "ListFormsDocument",
          "kind": "document",
          "source": "packages/client/src/generated/index.ts",
          "description": "",
          "domain": "forms"
        },
        {
          "name": "listGoals",
          "kind": "function",
          "source": "packages/client/src/goals.ts",
          "description": "Every goal of the workspace (objectives and key results alike), newest first. Without `first`, all of them.",
          "signature": "listGoals(client: UiduClient, variables: ListGoalsQueryVariables = {})",
          "op": "query",
          "domain": "goals",
          "auth": "bearer",
          "cli": ["uidu goals list"]
        },
        {
          "name": "ListGoalsDocument",
          "kind": "document",
          "source": "packages/client/src/generated/index.ts",
          "description": "",
          "domain": "goals"
        },
        {
          "name": "listJobs",
          "kind": "function",
          "source": "packages/client/src/jobs.ts",
          "description": "List job postings (calls of kind `job`).",
          "signature": "listJobs(client: UiduClient, variables: Parameters<typeof listCalls>[1] = {}): Promise<Awaited<ReturnType<typeof listCalls>>>",
          "op": "query",
          "demo": "apps/demo/src/app/careers/page.tsx",
          "domain": "jobs",
          "auth": "public",
          "cli": ["uidu jobs list"]
        },
        {
          "name": "listKbArticles",
          "kind": "function",
          "source": "packages/client/src/kb.ts",
          "description": "Knowledge-base articles across every collection, as a flat array; page with `first`/`after` (or `last`/`before`).",
          "signature": "listKbArticles(client: UiduClient, variables: ListKbArticlesQueryVariables = {})",
          "op": "query",
          "domain": "kb",
          "auth": "public",
          "cli": ["uidu kb-articles list"]
        },
        {
          "name": "ListKbArticlesDocument",
          "kind": "document",
          "source": "packages/client/src/generated/index.ts",
          "description": "",
          "domain": "kb"
        },
        {
          "name": "listKbCollections",
          "kind": "function",
          "source": "packages/client/src/kb.ts",
          "description": "The workspace's knowledge-base collections as a flat array; page with `first`/`after` (or `last`/`before`).",
          "signature": "listKbCollections(client: UiduClient, variables: ListKbCollectionsQueryVariables = {})",
          "op": "query",
          "domain": "kb",
          "auth": "public",
          "cli": ["uidu kb-collections list"]
        },
        {
          "name": "ListKbCollectionsDocument",
          "kind": "document",
          "source": "packages/client/src/generated/index.ts",
          "description": "",
          "domain": "kb"
        },
        {
          "name": "listKinds",
          "kind": "function",
          "source": "packages/client/src/people.ts",
          "description": "List `Kind` records for the given polymorphic models.",
          "signature": "listKinds(client: UiduClient, variables: ListKindsQueryVariables): Promise<Kind[]>",
          "op": "query",
          "domain": "people",
          "auth": "bearer"
        },
        {
          "name": "listLectures",
          "kind": "function",
          "source": "packages/client/src/courses.ts",
          "description": "Lectures across every course as a flat array (filter by `course.id` yourself), with `scopes`, `orderBy`, `from`/`to`; page with `first`/`after`.",
          "signature": "listLectures(client: UiduClient, variables: ListLecturesQueryVariables = {})",
          "op": "query",
          "demo": "apps/demo/src/app/courses/[id]/page.tsx",
          "domain": "courses",
          "auth": "public"
        },
        {
          "name": "ListLecturesDocument",
          "kind": "document",
          "source": "packages/client/src/generated/index.ts",
          "description": "",
          "domain": "courses"
        },
        {
          "name": "listModelItems",
          "kind": "function",
          "source": "packages/client/src/models.ts",
          "description": "A model's items. Each carries `fieldValuesByShortname` — `{ room: 'Aula Magna', when: '…' }` — the easiest shape to read values from.",
          "signature": "listModelItems(client: UiduClient, variables: { modelId: string; params?: SearchParams }): Promise<ModelItem[]>",
          "op": "query",
          "demo": "apps/demo/src/app/custom-app/page.tsx",
          "domain": "models",
          "auth": "bearer"
        },
        {
          "name": "listModels",
          "kind": "function",
          "source": "packages/client/src/models.ts",
          "description": "The models of a WorkspaceApp, with their fields.",
          "signature": "listModels(client: UiduClient, variables: { workspaceAppId: string }): Promise<Model[]>",
          "op": "query",
          "domain": "models",
          "auth": "bearer"
        },
        {
          "name": "listOffices",
          "kind": "function",
          "source": "packages/client/src/people.ts",
          "description": "List the workspace offices — used for an employment's `employmentOfficesAttributes`.",
          "signature": "listOffices(client: UiduClient, variables: ListOfficesQueryVariables = {}): Promise<Office[]>",
          "op": "query",
          "domain": "people",
          "auth": "bearer",
          "cli": ["uidu offices list"]
        },
        {
          "name": "listPages",
          "kind": "function",
          "source": "packages/client/src/cms.ts",
          "description": "The pages of a legacy CMS project (`id` and `slug`), one Relay page at a time; use `paginate` with `ListPagesDocument` for all of them.",
          "signature": "listPages(client: UiduClient, variables: ListPagesQueryVariables)",
          "op": "query",
          "domain": "cms",
          "auth": "public",
          "cli": ["uidu pages list"]
        },
        {
          "name": "ListPagesDocument",
          "kind": "document",
          "source": "packages/client/src/generated/index.ts",
          "description": "",
          "domain": "cms"
        },
        {
          "name": "listProjects",
          "kind": "function",
          "source": "packages/client/src/cms.ts",
          "description": "The workspace's CMS projects. A page lives in one, and `getPage` needs its id.",
          "signature": "listProjects(client: UiduClient, variables: ListProjectsQueryVariables = {})",
          "op": "query",
          "demo": "apps/demo/src/lib/uidu.ts",
          "domain": "cms",
          "auth": "public",
          "cli": ["uidu projects list"]
        },
        {
          "name": "listRoles",
          "kind": "function",
          "source": "packages/client/src/people.ts",
          "description": "List only the role-Circles (structured job titles) — an employment's `roleId`.",
          "signature": "listRoles(client: UiduClient, variables: ListCirclesQueryVariables = {}): Promise<Circle[]>",
          "op": "query",
          "domain": "people",
          "auth": "bearer",
          "cli": ["uidu roles list"]
        },
        {
          "name": "listSitePages",
          "kind": "function",
          "source": "packages/client/src/sites.ts",
          "description": "The Site's pages, for navigation and sitemaps: published only unless `includeDrafts`, singletons (header, footer) left out.",
          "signature": "listSitePages(client: UiduClient, variables: { siteId: string; pageType?: string; includeDrafts?: boolean }): Promise<SitePageSummary[]>",
          "op": "query",
          "domain": "sites",
          "auth": "public"
        },
        {
          "name": "listStories",
          "kind": "function",
          "source": "packages/client/src/stories.ts",
          "description": "The workspace's stories as a flat array of summaries (no `body`); page with `first`/`after`.",
          "signature": "listStories(client: UiduClient, variables: ListStoriesQueryVariables = {})",
          "op": "query",
          "demo": "apps/demo/src/app/stories/page.tsx",
          "domain": "stories",
          "auth": "public",
          "cli": ["uidu stories list"]
        },
        {
          "name": "ListStoriesDocument",
          "kind": "document",
          "source": "packages/client/src/generated/index.ts",
          "description": "",
          "domain": "stories"
        },
        {
          "name": "listTimeframes",
          "kind": "function",
          "source": "packages/client/src/goals.ts",
          "description": "The workspace's timeframes (the periods goals run over, `active` marks the current ones) as a flat array; page with `first`/`after`.",
          "signature": "listTimeframes(client: UiduClient, variables: ListTimeframesQueryVariables = {})",
          "op": "query",
          "domain": "goals",
          "auth": "bearer",
          "cli": ["uidu timeframes list"]
        },
        {
          "name": "ListTimeframesDocument",
          "kind": "document",
          "source": "packages/client/src/generated/index.ts",
          "description": "",
          "domain": "goals"
        },
        {
          "name": "Model",
          "kind": "type",
          "source": "packages/client/src/models.ts",
          "description": "The data engine a custom app keeps its records in: the Models of its own WorkspaceApp, their Fields, and their ModelItems.",
          "demo": "apps/demo/src/app/custom-app/page.tsx",
          "domain": "models"
        },
        {
          "name": "ModelField",
          "kind": "type",
          "source": "packages/client/src/models.ts",
          "description": "",
          "domain": "models"
        },
        {
          "name": "ModelFieldOption",
          "kind": "type",
          "source": "packages/client/src/models.ts",
          "description": "",
          "domain": "models"
        },
        {
          "name": "ModelItem",
          "kind": "type",
          "source": "packages/client/src/models.ts",
          "description": "",
          "domain": "models"
        },
        {
          "name": "normalizeFieldValueContent",
          "kind": "function",
          "source": "packages/client/src/utils/fieldValues.ts",
          "description": "Wrap a `content` payload in `{ value }` unless it already carries a `value` key. Returns the input untouched when there is nothing to do.",
          "signature": "normalizeFieldValueContent(content: unknown): unknown",
          "op": "helper",
          "domain": "core"
        },
        {
          "name": "normalizeFieldValuesAttributes",
          "kind": "function",
          "source": "packages/client/src/utils/fieldValues.ts",
          "description": "Normalize a standalone `fieldValuesAttributes` array. Exported for callers that assemble one by hand outside an SDK mutation.",
          "signature": "normalizeFieldValuesAttributes(attributes: ReadonlyArray<T | null | undefined> | null | undefined): typeof attributes",
          "op": "helper",
          "domain": "core"
        },
        {
          "name": "Office",
          "kind": "type",
          "source": "packages/client/src/people.ts",
          "description": "",
          "domain": "people"
        },
        {
          "name": "Page",
          "kind": "type",
          "source": "packages/client/src/cms.ts",
          "description": "",
          "demo": "apps/demo/src/components/blocks/ContactForm.tsx",
          "domain": "cms"
        },
        {
          "name": "paginate",
          "kind": "function",
          "source": "packages/client/src/utils/paginate.ts",
          "description": "Walks every page of a Relay-style connection and returns a flat array of nodes.",
          "signature": "paginate(client: UiduClient, document: TypedDocumentNode<TResult, TVars>, options: PaginateOptions<TResult, TVars, TNode>): Promise<TNode[]>",
          "op": "query",
          "domain": "core"
        },
        {
          "name": "PaginateOptions",
          "kind": "type",
          "source": "packages/client/src/utils/paginate.ts",
          "description": "",
          "domain": "core"
        },
        {
          "name": "search",
          "kind": "function",
          "source": "packages/client/src/search.ts",
          "description": "Search the workspace index, optionally limited to `models`, with filters and sorting in `params`; page with `first`/`after`.",
          "signature": "search(client: UiduClient, variables: SearchQueryVariables): Promise<SearchResult | null>",
          "op": "query",
          "domain": "search",
          "auth": "public"
        },
        {
          "name": "SearchResult",
          "kind": "type",
          "source": "packages/client/src/search.ts",
          "description": "",
          "domain": "search"
        },
        {
          "name": "Site",
          "kind": "type",
          "source": "packages/client/src/sites.ts",
          "description": "The new CMS: a Site, its page types (page-kind Models), its pages (ModelItems of those Models) and the blocks placed on each page (block-kind ModelItems, in order).",
          "domain": "sites"
        },
        {
          "name": "SiteBlock",
          "kind": "type",
          "source": "packages/client/src/sites.ts",
          "description": "",
          "domain": "sites"
        },
        {
          "name": "SiteFields",
          "kind": "type",
          "source": "packages/client/src/sites.ts",
          "description": "Field values keyed by field shortname: `{ title: '…', cover: {…} }`.",
          "domain": "sites"
        },
        {
          "name": "SiteModel",
          "kind": "type",
          "source": "packages/client/src/sites.ts",
          "description": "A Model as the site sees it: a page type, a block kind, a singleton.",
          "domain": "sites"
        },
        {
          "name": "SitePage",
          "kind": "type",
          "source": "packages/client/src/sites.ts",
          "description": "",
          "domain": "sites"
        },
        {
          "name": "SitePageSummary",
          "kind": "type",
          "source": "packages/client/src/sites.ts",
          "description": "",
          "domain": "sites"
        },
        {
          "name": "Story",
          "kind": "type",
          "source": "packages/client/src/stories.ts",
          "description": "",
          "demo": "apps/demo/src/components/themes/stories/show/ClassicShow.tsx",
          "domain": "stories"
        },
        {
          "name": "Template",
          "kind": "type",
          "source": "packages/client/src/cms.ts",
          "description": "",
          "domain": "cms"
        },
        {
          "name": "terminateEmployment",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Terminate (cessazione) an employment by closing it with an end date and reason. Thin semantic wrapper over `updateEmployment`. `endReason` is one of: resignation, termination, contract_end, retirement, other, resignation_just_cause, dismissal_just_cause, dismissal_subjective_reason, dismissal_objective_reason, collective_dismissal, mutual_agreement, probation_failed, death, business_closure.",
          "signature": "terminateEmployment(c: UiduClient, args: { id: string; endDate: string; endReason?: string })",
          "op": "mutation",
          "domain": "people",
          "auth": "bearer"
        },
        {
          "name": "Timeframe",
          "kind": "type",
          "source": "packages/client/src/goals.ts",
          "description": "",
          "domain": "goals"
        },
        {
          "name": "toFieldValuesAttributes",
          "kind": "function",
          "source": "packages/client/src/models.ts",
          "description": "`{ room: 'Aula Magna' }` → `[{ fieldId: '<id of room>', content: { value: 'Aula Magna' } }]`, for `createModelItem` / `updateModelItem`. Throws on a shortname the model doesn't have; skips `undefined` values.",
          "signature": "toFieldValuesAttributes(model: { fieldList?: ReadonlyArray<{ id: string; shortname?: string | null }> | null; }, values: Record<string, unknown>): FieldValueAttributes[]",
          "op": "helper",
          "demo": "apps/demo/src/app/custom-app/page.tsx",
          "domain": "models"
        },
        {
          "name": "toGoalRaw",
          "kind": "function",
          "source": "packages/client/src/goals.ts",
          "description": "The inverse of `goalValue`, for `updateGoal`.",
          "signature": "toGoalRaw(value: number): number",
          "op": "helper",
          "domain": "goals"
        },
        {
          "name": "UiduClient",
          "kind": "class",
          "source": "packages/client/src/client.ts",
          "description": "Sends GraphQL documents to one uidu endpoint with the configured credentials, and throws a `UiduError` when a request fails.",
          "demo": "apps/demo/src/app/custom-app/page.tsx",
          "domain": "core"
        },
        {
          "name": "UiduClientConfig",
          "kind": "type",
          "source": "packages/client/src/types.ts",
          "description": "",
          "domain": "core"
        },
        {
          "name": "UiduError",
          "kind": "class",
          "source": "packages/client/src/types.ts",
          "description": "What `UiduClient` throws: `code` is `GRAPHQL_ERROR` (with `graphQLErrors`), `NETWORK_ERROR`, `TOKEN_ERROR` or `CONFIG_ERROR`.",
          "demo": "apps/demo/src/app/admin/applications/page.tsx",
          "domain": "core"
        },
        {
          "name": "UiduErrorOptions",
          "kind": "type",
          "source": "packages/client/src/types.ts",
          "description": "",
          "domain": "core"
        },
        {
          "name": "updateApplication",
          "kind": "function",
          "source": "packages/client/src/applications.ts",
          "description": "Update an application, optionally firing a state event (`event: 'complete!'`). Returns the mutation payload as-is (including any `errors`) rather than throwing.",
          "signature": "updateApplication(client: UiduClient, variables: UpdateApplicationMutationVariables)",
          "op": "mutation",
          "domain": "jobs",
          "auth": "bearer"
        },
        {
          "name": "updateChannel",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Update a help-center channel: `{ input: { id, attributes } }`. Returns the payload (with `errors`) or null.",
          "signature": "updateChannel(c: UiduClient, v: UpdateChannelMutationVariables)",
          "op": "mutation",
          "domain": "help-center",
          "auth": "bearer",
          "cli": ["uidu channel update"]
        },
        {
          "name": "updateCompensation",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Update a pay item: `{ input: { id, attributes } }`. Returns the payload (with `errors`) or null.",
          "signature": "updateCompensation(c: UiduClient, v: UpdateCompensationMutationVariables)",
          "op": "mutation",
          "domain": "people",
          "auth": "bearer",
          "cli": ["uidu compensations update"]
        },
        {
          "name": "updateCourse",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Update a course: `{ input: { id, attributes } }`. Returns the payload (with `errors`) or null.",
          "signature": "updateCourse(c: UiduClient, v: UpdateCourseMutationVariables)",
          "op": "mutation",
          "domain": "courses",
          "auth": "bearer",
          "cli": ["uidu courses update"]
        },
        {
          "name": "updateDeal",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Update a deal, e.g. move it to another `statusId`: `{ input: { id, attributes } }`. Returns the payload (with `errors`) or null.",
          "signature": "updateDeal(c: UiduClient, v: UpdateDealMutationVariables)",
          "op": "mutation",
          "domain": "contacts",
          "auth": "bearer",
          "cli": ["uidu deals update"]
        },
        {
          "name": "updateDonationCampaign",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Update a donation campaign: `{ input: { id, attributes } }`. Returns the payload (with `errors`) or null.",
          "signature": "updateDonationCampaign(c: UiduClient, v: UpdateDonationCampaignMutationVariables)",
          "op": "mutation",
          "domain": "donations",
          "auth": "bearer",
          "cli": ["uidu donations update"]
        },
        {
          "name": "updateEmployee",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Update an employee's HR record (code, kiosk PIN, time-clock flags): `{ input: { id, attributes } }`. Returns the payload (with `errors`) or null.",
          "signature": "updateEmployee(c: UiduClient, v: UpdateEmployeeMutationVariables)",
          "op": "mutation",
          "domain": "people",
          "auth": "bearer",
          "cli": ["uidu employees update"]
        },
        {
          "name": "updateEmployment",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Update an employment: `{ input: { id, attributes } }`; to end one, prefer `terminateEmployment`. Returns the payload (with `errors`) or null.",
          "signature": "updateEmployment(c: UiduClient, v: UpdateEmploymentMutationVariables)",
          "op": "mutation",
          "domain": "people",
          "auth": "bearer",
          "cli": ["uidu employments update"]
        },
        {
          "name": "updateEvent",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Update an event: `{ input: { id, attributes } }` (create it with `createEvent`). Returns the payload (with `errors`) or null.",
          "signature": "updateEvent(c: UiduClient, v: UpdateEventMutationVariables)",
          "op": "mutation",
          "domain": "events",
          "auth": "bearer",
          "cli": ["uidu events update"]
        },
        {
          "name": "updateField",
          "kind": "function",
          "source": "packages/client/src/models.ts",
          "description": "Update a field (name, `required`, preferences…): `{ input: { id, attributes } }`. Returns the payload (with `errors`) or null.",
          "signature": "updateField(client: UiduClient, variables: UpdateFieldMutationVariables)",
          "op": "mutation",
          "domain": "models",
          "auth": "bearer"
        },
        {
          "name": "updateFieldOption",
          "kind": "function",
          "source": "packages/client/src/models.ts",
          "description": "Update a select option: `{ input: { id, attributes } }`. Returns the payload (with `errors`) or null.",
          "signature": "updateFieldOption(client: UiduClient, variables: UpdateFieldOptionMutationVariables)",
          "op": "mutation",
          "domain": "models",
          "auth": "bearer"
        },
        {
          "name": "updateFieldValue",
          "kind": "function",
          "source": "packages/client/src/models.ts",
          "description": "Set a single value by its FieldValue id: `{ input: { id, attributes: { content: { value } } } }`. Returns the payload (with `errors`) or null.",
          "signature": "updateFieldValue(client: UiduClient, variables: UpdateFieldValueMutationVariables)",
          "op": "mutation",
          "domain": "models",
          "auth": "bearer"
        },
        {
          "name": "updateForm",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Update a form: `{ input: { id, attributes } }`. Returns the payload (with `errors`) or null.",
          "signature": "updateForm(c: UiduClient, v: UpdateFormMutationVariables)",
          "op": "mutation",
          "domain": "forms",
          "auth": "bearer",
          "cli": ["uidu forms update"]
        },
        {
          "name": "updateFormResponse",
          "kind": "function",
          "source": "packages/client/src/forms.ts",
          "description": "Update a form response (answers by field value `id`, or a state `event` like `'complete!'`); returns `{ errors, formResponse }` as-is.",
          "signature": "updateFormResponse(client: UiduClient, variables: UpdateFormResponseMutationVariables)",
          "op": "mutation",
          "domain": "forms",
          "auth": "bearer"
        },
        {
          "name": "updateGoal",
          "kind": "function",
          "source": "packages/client/src/goals.ts",
          "description": "Authoring (Bearer / apiKey). Returns the payload, incl. `errors`. `initialValue` / `currentValue` / `targetValue` are stored x100: pass `toGoalRaw(value)`, never the number a person typed.",
          "signature": "updateGoal(client: UiduClient, variables: UpdateGoalMutationVariables)",
          "op": "mutation",
          "domain": "goals",
          "auth": "bearer",
          "cli": ["uidu goals update"]
        },
        {
          "name": "updateKbArticle",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Update a knowledge-base article: `{ input: { id, attributes } }`. Returns the payload (with `errors`) or null.",
          "signature": "updateKbArticle(c: UiduClient, v: UpdateKbArticleMutationVariables)",
          "op": "mutation",
          "domain": "kb",
          "auth": "bearer",
          "cli": ["uidu kb-articles update"]
        },
        {
          "name": "updateKbCollection",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Update a knowledge-base collection: `{ input: { id, attributes } }`. Returns the payload (with `errors`) or null.",
          "signature": "updateKbCollection(c: UiduClient, v: UpdateKbCollectionMutationVariables)",
          "op": "mutation",
          "domain": "kb",
          "auth": "bearer",
          "cli": ["uidu kb-collections update"]
        },
        {
          "name": "updateModel",
          "kind": "function",
          "source": "packages/client/src/models.ts",
          "description": "Rename or reconfigure a model: `{ input: { id, attributes } }`. Returns the payload (with `errors`) or null.",
          "signature": "updateModel(client: UiduClient, variables: UpdateModelMutationVariables)",
          "op": "mutation",
          "domain": "models",
          "auth": "bearer"
        },
        {
          "name": "updateModelItem",
          "kind": "function",
          "source": "packages/client/src/models.ts",
          "description": "Update an item: `{ input: { id, attributes: { fieldValuesAttributes } } }`, built with `toFieldValuesAttributes`. Returns the payload (with `errors`) or null.",
          "signature": "updateModelItem(client: UiduClient, variables: UpdateModelItemMutationVariables)",
          "op": "mutation",
          "domain": "models",
          "auth": "bearer"
        },
        {
          "name": "updateNote",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Update a note: `{ input: { id, attributes } }`. Returns the payload (with `errors`) or null.",
          "signature": "updateNote(c: UiduClient, v: UpdateNoteMutationVariables)",
          "op": "mutation",
          "domain": "workspace",
          "auth": "bearer",
          "cli": ["uidu notes update"]
        },
        {
          "name": "updateSpace",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Update a space: `{ input: { id, attributes } }`. Returns the payload (with `errors`) or null.",
          "signature": "updateSpace(c: UiduClient, v: UpdateSpaceMutationVariables)",
          "op": "mutation",
          "domain": "workspace",
          "auth": "bearer",
          "cli": ["uidu spaces update"]
        },
        {
          "name": "updateStory",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Update a story: `{ input: { id, attributes } }` (create it with `createStory`). Returns the payload (with `errors`) or null.",
          "signature": "updateStory(c: UiduClient, v: UpdateStoryMutationVariables)",
          "op": "mutation",
          "domain": "stories",
          "auth": "bearer",
          "cli": ["uidu stories update"]
        },
        {
          "name": "updateTask",
          "kind": "function",
          "source": "packages/client/src/mutations.ts",
          "description": "Update a task, e.g. its `statusId` or dates: `{ input: { id, attributes } }`. Returns the payload (with `errors`) or null.",
          "signature": "updateTask(c: UiduClient, v: UpdateTaskMutationVariables)",
          "op": "mutation",
          "demo": "apps/demo/src/lib/actions.ts",
          "domain": "workspace",
          "auth": "bearer",
          "cli": ["uidu tasks update"]
        },
        {
          "name": "weekStartFor",
          "kind": "function",
          "source": "packages/client/src/people.ts",
          "description": "Compute the Monday of the week containing `date` as an ISO8601 date string. Useful for the `weekStartingAt` argument required by `getEmployee` (and any other weekly-aggregated employee fields).",
          "signature": "weekStartFor(date: Date = new Date()): string",
          "op": "helper",
          "demo": "apps/demo/src/app/admin/people/[id]/page.tsx",
          "domain": "people"
        }
      ]
    },
    {
      "name": "@uidu/react",
      "entry": "packages/react/src/index.ts",
      "page": "reference/react",
      "summary": "React provider, hooks and components on top of @uidu/client.",
      "exports": [
        {
          "name": "BlockComponent",
          "kind": "type",
          "source": "packages/react/src/components/PageBlocks.tsx",
          "description": ""
        },
        {
          "name": "BlockRenderer",
          "kind": "component",
          "source": "packages/react/src/components/BlockRenderer.tsx",
          "description": "Render exactly one block from a page's `pageBlocks` array, by shortname."
        },
        {
          "name": "BlockRendererProps",
          "kind": "type",
          "source": "packages/react/src/components/BlockRenderer.tsx",
          "description": ""
        },
        {
          "name": "DynamicForm",
          "kind": "component",
          "source": "packages/react/src/components/DynamicForm.tsx",
          "description": "Render a uidu form (from `getForm`, `call.form`, …) as HTML inputs and hand the parsed values to your `action`, typically a `createFormResponse` Server Action.",
          "demo": "apps/demo/src/app/forms/[id]/FormWithReceipt.tsx"
        },
        {
          "name": "DynamicFormProps",
          "kind": "type",
          "source": "packages/react/src/components/DynamicForm.tsx",
          "description": "",
          "demo": "apps/demo/src/app/forms/[id]/FormWithReceipt.tsx"
        },
        {
          "name": "DynamicFormResult",
          "kind": "type",
          "source": "packages/react/src/components/DynamicForm.tsx",
          "description": "Result your submit action returns. The component re-renders accordingly."
        },
        {
          "name": "DynamicFormValues",
          "kind": "type",
          "source": "packages/react/src/components/DynamicForm.tsx",
          "description": "The structured values collected from the form, passed to your action.",
          "demo": "apps/demo/src/app/forms/[id]/page.tsx"
        },
        {
          "name": "FormatSalaryOptions",
          "kind": "type",
          "source": "packages/react/src/utils/jobs.ts",
          "description": ""
        },
        {
          "name": "formatSalaryRange",
          "kind": "function",
          "source": "packages/react/src/utils/jobs.ts",
          "description": "Format a job's salary range (`salaryMin`/`salaryMax`) into a display string. Returns `null` when the job advertises no salary, so callers can hide the field. Handles open-ended ranges (\"From …\", \"Up to …\") and a single figure.",
          "signature": "formatSalaryRange(job: Pick<Job, 'salaryMin' | 'salaryMax'>, options: FormatSalaryOptions = {}): string | null"
        },
        {
          "name": "getBlockShortname",
          "kind": "function",
          "source": "packages/react/src/components/PageBlocks.tsx",
          "description": "The shortname a page block is rendered by (its template block's, else its own), or null.",
          "signature": "getBlockShortname(block: PageBlock): string | null"
        },
        {
          "name": "PageBlocks",
          "kind": "component",
          "source": "packages/react/src/components/PageBlocks.tsx",
          "description": "Render a page's blocks in order, each with the component keyed by its shortname in `components`; blocks with no match render `fallback`, or nothing.",
          "demo": "apps/demo/src/app/page.tsx"
        },
        {
          "name": "PageBlocksProps",
          "kind": "type",
          "source": "packages/react/src/components/PageBlocks.tsx",
          "description": ""
        },
        {
          "name": "RichText",
          "kind": "component",
          "source": "packages/react/src/components/RichText.tsx",
          "description": "Render a Tiptap (ProseMirror) JSON document as React elements.",
          "demo": "apps/demo/src/components/themes/careers/show/ClassicShow.tsx"
        },
        {
          "name": "RichTextNode",
          "kind": "type",
          "source": "packages/react/src/components/RichText.tsx",
          "description": ""
        },
        {
          "name": "RichTextProps",
          "kind": "type",
          "source": "packages/react/src/components/RichText.tsx",
          "description": ""
        },
        {
          "name": "toText",
          "kind": "function",
          "source": "packages/react/src/utils/text.ts",
          "description": "Flatten any uidu field-content value into a plain string. Handles raw strings, numbers, Slate-style rich text nodes (`{ type, children }`, `{ text }`), arrays of nodes, and wrapper objects with a `value` field.",
          "signature": "toText(value: unknown): string",
          "demo": "apps/demo/src/components/blocks/ContactForm.tsx"
        },
        {
          "name": "UiduAppProvider",
          "kind": "component",
          "source": "packages/react/src/providers/app.tsx",
          "description": "Connects a custom app to the uidu page framing it (`@uidu/app-bridge`) and hands the tree its state through `useUiduApp`. Once connected, the children also sit inside a `<UiduProvider>` with a session-backed client, so `useUiduClient()` works as anywhere else.",
          "demo": "apps/demo/src/app/custom-app/page.tsx"
        },
        {
          "name": "UiduAppProviderProps",
          "kind": "type",
          "source": "packages/react/src/providers/app.tsx",
          "description": ""
        },
        {
          "name": "UiduAppState",
          "kind": "type",
          "source": "packages/react/src/providers/app.tsx",
          "description": ""
        },
        {
          "name": "UiduProvider",
          "kind": "component",
          "source": "packages/react/src/providers/index.tsx",
          "description": "Provide a `UiduClient` to the tree, either a `client` you built or one made from `workspace`/`publicToken`/`endpoint`, plus an SWR fetcher backed by it."
        },
        {
          "name": "useFields",
          "kind": "hook",
          "source": "packages/react/src/hooks/useFields.ts",
          "description": "Normalize a `fieldValues` array into a `{ shortname: value }` map so blocks can access their fields by name without walking the GraphQL shape.",
          "signature": "useFields(fieldValues: ReadonlyArray<FieldValue> | null | undefined): Record<string, unknown>",
          "demo": "apps/demo/src/components/blocks/ContactForm.tsx"
        },
        {
          "name": "useQuery",
          "kind": "hook",
          "source": "packages/react/src/hooks/useQuery.ts",
          "description": "Generic client-side data-fetching hook: runs `document` against the `UiduClient` from the nearest `<UiduProvider>` via SWR, so calls are cached and deduplicated by operation name + variables.",
          "signature": "useQuery(document: TypedDocumentNode<TResult, TVariables>, variables?: TVariables, options?: UseQueryOptions<TResult>): UseQueryResult<TResult>"
        },
        {
          "name": "UseQueryOptions",
          "kind": "type",
          "source": "packages/react/src/hooks/useQuery.ts",
          "description": ""
        },
        {
          "name": "UseQueryResult",
          "kind": "type",
          "source": "packages/react/src/hooks/useQuery.ts",
          "description": ""
        },
        {
          "name": "useUidu",
          "kind": "hook",
          "source": "packages/react/src/providers/index.tsx",
          "description": "The nearest `UiduProvider`'s `{ client, endpoint }`; throws outside a provider.",
          "signature": "useUidu(): UiduContextValue"
        },
        {
          "name": "useUiduApp",
          "kind": "hook",
          "source": "packages/react/src/providers/app.tsx",
          "description": "The custom app's bridge state: `connecting`, `ready` or `error`.",
          "signature": "useUiduApp(): UiduAppState",
          "demo": "apps/demo/src/app/custom-app/page.tsx"
        },
        {
          "name": "useUiduClient",
          "kind": "hook",
          "source": "packages/react/src/providers/index.tsx",
          "description": "The `UiduClient` from the nearest `UiduProvider`; throws outside a provider.",
          "signature": "useUiduClient(): UiduClient"
        }
      ]
    },
    {
      "name": "@uidu/app-bridge",
      "entry": "packages/app-bridge/src/index.ts",
      "page": "reference/app-bridge",
      "summary": "The browser half of a custom app running inside uidu: handshake + session token.",
      "exports": [
        {
          "name": "AppBridge",
          "kind": "type",
          "source": "packages/app-bridge/src/bridge.ts",
          "description": ""
        },
        {
          "name": "AppBridgeError",
          "kind": "class",
          "source": "packages/app-bridge/src/bridge.ts",
          "description": "Why the bridge failed or gave up, by `code` (`NOT_EMBEDDED`, `UNTRUSTED_HOST`, `TIMEOUT`, `HOST_ERROR`, …); `connect()` rejects with one."
        },
        {
          "name": "AppBridgeErrorCode",
          "kind": "type",
          "source": "packages/app-bridge/src/bridge.ts",
          "description": ""
        },
        {
          "name": "AppContext",
          "kind": "type",
          "source": "packages/app-bridge/src/protocol.ts",
          "description": ""
        },
        {
          "name": "AppMessage",
          "kind": "type",
          "source": "packages/app-bridge/src/protocol.ts",
          "description": ""
        },
        {
          "name": "connect",
          "kind": "function",
          "source": "packages/app-bridge/src/bridge.ts",
          "description": "Ask the uidu page framing this app for a session, and resolve once it has one. Rejects with an `AppBridgeError` when the app isn't framed by a trusted uidu page, or the host refuses or doesn't answer — so an app can fall back (to local storage, a login screen…).",
          "signature": "connect(options: ConnectOptions = {}): Promise<AppBridge>"
        },
        {
          "name": "ConnectOptions",
          "kind": "type",
          "source": "packages/app-bridge/src/bridge.ts",
          "description": ""
        },
        {
          "name": "ContextMessage",
          "kind": "type",
          "source": "packages/app-bridge/src/protocol.ts",
          "description": ""
        },
        {
          "name": "DEFAULT_HOST_ORIGINS",
          "kind": "constant",
          "source": "packages/app-bridge/src/origins.ts",
          "description": "Which pages an app lets hand it a session.",
          "demo": "apps/demo/src/app/custom-app/page.tsx"
        },
        {
          "name": "detectParentOrigin",
          "kind": "function",
          "source": "packages/app-bridge/src/origins.ts",
          "description": "The origin of the page that framed this one, when the browser says: `location.ancestorOrigins` (Chromium, Safari) first, since it can't be suppressed by a referrer policy; `document.referrer` otherwise (Firefox). uidu frames apps with `strict-origin-when-cross-origin`, which sends it.",
          "signature": "detectParentOrigin(win: Window): string | null"
        },
        {
          "name": "ErrorMessage",
          "kind": "type",
          "source": "packages/app-bridge/src/protocol.ts",
          "description": ""
        },
        {
          "name": "HostMessage",
          "kind": "type",
          "source": "packages/app-bridge/src/protocol.ts",
          "description": ""
        },
        {
          "name": "isTrustedOrigin",
          "kind": "function",
          "source": "packages/app-bridge/src/origins.ts",
          "description": "Whether `origin` matches any of `patterns`, each an exact origin or a `https://*.example.org` wildcard (see `matchesOrigin`).",
          "signature": "isTrustedOrigin(origin: string, patterns: ReadonlyArray<string>): boolean"
        },
        {
          "name": "matchesOrigin",
          "kind": "function",
          "source": "packages/app-bridge/src/origins.ts",
          "description": "`pattern` is an exact origin (`https://me.uidu.local:8443`) or a wildcard one (`https://*.uidu.org`), where `*` stands for one or more subdomain labels — never for the bare domain, the scheme or the port.",
          "signature": "matchesOrigin(origin: string, pattern: string): boolean"
        },
        {
          "name": "Named",
          "kind": "type",
          "source": "packages/app-bridge/src/protocol.ts",
          "description": ""
        },
        {
          "name": "parseHostMessage",
          "kind": "function",
          "source": "packages/app-bridge/src/protocol.ts",
          "description": "Narrow an inbound `event.data` to a host message, or null. Checks only the shape — whether the sender is trusted is the caller's job.",
          "signature": "parseHostMessage(data: unknown): HostMessage | null"
        },
        {
          "name": "PROTOCOL_VERSION",
          "kind": "constant",
          "source": "packages/app-bridge/src/protocol.ts",
          "description": "The wire format between a custom app and the uidu page that frames it — protocol v1, as served by `CustomAppFrame.tsx` in the uidu repo (docs/superpowers/specs/2026-09-23-custom-space-apps/SPEC.md, step 2)."
        },
        {
          "name": "ReadyMessage",
          "kind": "type",
          "source": "packages/app-bridge/src/protocol.ts",
          "description": ""
        },
        {
          "name": "RefreshMessage",
          "kind": "type",
          "source": "packages/app-bridge/src/protocol.ts",
          "description": ""
        }
      ]
    }
  ],
  "domains": [
    {
      "id": "core",
      "title": "Client & utilities",
      "summary": "Client construction, errors, pagination, field-value helpers.",
      "page": "foundations/data-model",
      "readAuth": "public",
      "functions": [
        "createClient",
        "fromBridge",
        "normalizeFieldValueContent",
        "normalizeFieldValuesAttributes",
        "paginate"
      ],
      "types": ["PaginateOptions", "UiduClientConfig", "UiduErrorOptions"],
      "cli": []
    },
    {
      "id": "sites",
      "title": "CMS — Sites",
      "summary": "The new CMS: Site → page/block Models → ModelItems.",
      "page": "domains/cms",
      "readAuth": "public",
      "functions": [
        "createSite",
        "getPageBySlug",
        "getSingletonBlock",
        "getSite",
        "getSiteByDomain",
        "listSitePages"
      ],
      "types": [
        "Site",
        "SiteBlock",
        "SiteFields",
        "SiteModel",
        "SitePage",
        "SitePageSummary"
      ],
      "cli": ["sites"]
    },
    {
      "id": "cms",
      "title": "CMS — Projects (legacy)",
      "summary": "Legacy CMS: Project → Page → PageBlock → FieldValue.",
      "page": "domains/cms",
      "readAuth": "public",
      "functions": [
        "createFieldValue",
        "createPage",
        "createPageBlock",
        "createProject",
        "getPage",
        "getTemplate",
        "listPages",
        "listProjects"
      ],
      "types": ["Page", "Template"],
      "cli": ["projects"]
    },
    {
      "id": "stories",
      "title": "Stories",
      "summary": "Blog posts / news.",
      "page": "domains/stories",
      "readAuth": "public",
      "functions": ["createStory", "getStory", "listStories", "updateStory"],
      "types": ["Story"],
      "cli": ["stories"]
    },
    {
      "id": "help-center",
      "title": "Help center",
      "summary": "Help-center channels.",
      "page": "domains/help-center",
      "readAuth": "public",
      "functions": [
        "createChannel",
        "deleteChannel",
        "getChannel",
        "listChannels",
        "updateChannel"
      ],
      "types": ["Channel"],
      "cli": ["channel"]
    },
    {
      "id": "kb",
      "title": "Knowledge base",
      "summary": "KB collections and articles.",
      "page": "domains/kb",
      "readAuth": "public",
      "functions": [
        "createKbArticle",
        "createKbCollection",
        "deleteKbArticle",
        "deleteKbCollection",
        "getKbArticle",
        "getKbCollection",
        "listKbArticles",
        "listKbCollections",
        "updateKbArticle",
        "updateKbCollection"
      ],
      "types": ["KbArticle", "KbCollection"],
      "cli": ["kb-collections", "kb-articles"]
    },
    {
      "id": "search",
      "title": "Search",
      "summary": "Workspace-wide full-text search.",
      "page": "domains/search",
      "readAuth": "public",
      "functions": ["search"],
      "types": ["SearchResult"],
      "cli": []
    },
    {
      "id": "forms",
      "title": "Forms",
      "summary": "Forms, their questions, and visitor responses.",
      "page": "domains/forms",
      "readAuth": "public",
      "functions": [
        "createForm",
        "createFormResponse",
        "deleteForm",
        "getForm",
        "listForms",
        "updateForm",
        "updateFormResponse"
      ],
      "types": ["Form"],
      "cli": ["forms"]
    },
    {
      "id": "events",
      "title": "Events",
      "summary": "Events, their instances, and attendances (RSVPs).",
      "page": "domains/events",
      "readAuth": "public",
      "functions": [
        "createAttendance",
        "createEvent",
        "getEvent",
        "listEvents",
        "updateEvent"
      ],
      "types": ["Event"],
      "cli": ["events", "attendances"]
    },
    {
      "id": "donations",
      "title": "Donations",
      "summary": "Donation campaigns and donations.",
      "page": "domains/donations",
      "readAuth": "public",
      "functions": [
        "createDonation",
        "createDonationCampaign",
        "deleteDonationCampaign",
        "getDonationCampaign",
        "listDonationCampaigns",
        "updateDonationCampaign"
      ],
      "types": ["DonationCampaign"],
      "cli": ["donations"]
    },
    {
      "id": "courses",
      "title": "Courses",
      "summary": "Courses, lectures and enrollments.",
      "page": "domains/courses",
      "readAuth": "public",
      "functions": [
        "createCourse",
        "deleteCourse",
        "getCourse",
        "getEnrollment",
        "getLecture",
        "listCourses",
        "listEnrollments",
        "listLectures",
        "updateCourse"
      ],
      "types": ["Course", "Enrollment", "Lecture"],
      "cli": ["courses"]
    },
    {
      "id": "calls",
      "title": "Calls",
      "summary": "Open calls (grants, applications windows).",
      "page": "domains/calls",
      "readAuth": "public",
      "functions": ["getCall", "listCalls"],
      "types": ["Call"],
      "cli": ["calls"]
    },
    {
      "id": "jobs",
      "title": "Jobs & applications",
      "summary": "Job postings (calls of kind `job`) and the applications to them.",
      "page": "domains/jobs",
      "readAuth": "public",
      "functions": [
        "completeApplication",
        "createApplication",
        "getJob",
        "listApplications",
        "listJobs",
        "updateApplication"
      ],
      "types": ["Application", "Job"],
      "cli": ["jobs", "applications"]
    },
    {
      "id": "contacts",
      "title": "Contacts & deals",
      "summary": "CRM contacts, organisations and deals.",
      "page": "domains/contacts",
      "readAuth": "bearer",
      "functions": [
        "createContact",
        "createDeal",
        "deleteContact",
        "getContact",
        "getDeal",
        "listContacts",
        "listDeals",
        "updateDeal"
      ],
      "types": ["Contact", "Deal"],
      "cli": ["contacts", "deals"]
    },
    {
      "id": "campaigns",
      "title": "Campaigns",
      "summary": "Marketing and email campaigns.",
      "page": "domains/campaigns",
      "readAuth": "bearer",
      "functions": ["getCampaign", "listCampaigns", "listEmailCampaigns"],
      "types": ["Campaign"],
      "cli": ["campaigns"]
    },
    {
      "id": "people",
      "title": "People (HR)",
      "summary": "Employees, employments (contracts), compensations, time clocks, benefits and HR reference data.",
      "page": "domains/people",
      "readAuth": "bearer",
      "functions": [
        "contractEvents",
        "createBenefit",
        "createBenefitEnrollment",
        "createCcnl",
        "createCompensation",
        "createEmployee",
        "createEmployment",
        "createTimeClock",
        "deleteCompensation",
        "deleteEmployment",
        "getEmployee",
        "listCcnls",
        "listCircles",
        "listEmployees",
        "listEmploymentHistory",
        "listKinds",
        "listOffices",
        "listRoles",
        "terminateEmployment",
        "updateCompensation",
        "updateEmployee",
        "updateEmployment",
        "weekStartFor"
      ],
      "types": [
        "Circle",
        "CompensationRecord",
        "ContractEvent",
        "ContractEventType",
        "Employee",
        "EmployeeContracts",
        "EmploymentRecord",
        "Kind",
        "Office"
      ],
      "cli": [
        "employees",
        "employments",
        "offices",
        "roles",
        "ccnls",
        "time-clocks",
        "compensations",
        "benefits",
        "benefit-enrollments"
      ]
    },
    {
      "id": "goals",
      "title": "Goals (OKRs)",
      "summary": "Objectives, key results and timeframes, plus value/progress helpers.",
      "page": "domains/goals",
      "readAuth": "bearer",
      "functions": [
        "getGoal",
        "goalProgress",
        "goalTimeElapsed",
        "goalValue",
        "isGoalBehind",
        "listGoals",
        "listTimeframes",
        "toGoalRaw",
        "updateGoal"
      ],
      "types": ["Goal", "Timeframe"],
      "cli": ["goals", "timeframes"]
    },
    {
      "id": "workspace",
      "title": "Spaces, tasks & notes",
      "summary": "Collaboration primitives: spaces, tasks, notes.",
      "page": "domains/workspace",
      "readAuth": "bearer",
      "functions": [
        "createNote",
        "createSpace",
        "createTask",
        "deleteNote",
        "deleteSpace",
        "deleteTask",
        "updateNote",
        "updateSpace",
        "updateTask"
      ],
      "types": [],
      "cli": ["tasks", "notes", "spaces"]
    },
    {
      "id": "bookings",
      "title": "Bookings & calendars",
      "summary": "Bookings, calendars and calendar events.",
      "page": "domains/bookings",
      "readAuth": "bearer",
      "functions": [
        "getBooking",
        "getCalendar",
        "getCalendarEvent",
        "listBookings",
        "listCalendarEvents",
        "listCalendars"
      ],
      "types": ["Booking", "Calendar", "CalendarEvent"],
      "cli": ["bookings"]
    },
    {
      "id": "models",
      "title": "Models (custom data)",
      "summary": "Define your own record types (Models, Fields) and store ModelItems.",
      "page": "domains/models",
      "readAuth": "bearer",
      "functions": [
        "createField",
        "createFieldOption",
        "createModel",
        "createModelItem",
        "deleteField",
        "deleteFieldOption",
        "deleteFieldValue",
        "deleteModelItem",
        "ensureModel",
        "getModel",
        "getModelItem",
        "listModelItems",
        "listModels",
        "toFieldValuesAttributes",
        "updateField",
        "updateFieldOption",
        "updateFieldValue",
        "updateModel",
        "updateModelItem"
      ],
      "types": [
        "EnsureModelOptions",
        "Model",
        "ModelField",
        "ModelFieldOption",
        "ModelItem"
      ],
      "cli": []
    },
    {
      "id": "provisioning",
      "title": "Provisioning & actions",
      "summary": "Create workspaces, rotate API credentials, and run any tool-flagged ActionKey.",
      "page": "foundations/writes",
      "readAuth": "bearer",
      "functions": [
        "createWorkspace",
        "executeAction",
        "generateWorkspaceApiCredentials"
      ],
      "types": [],
      "cli": []
    }
  ],
  "cli": {
    "resources": [
      {
        "noun": "events",
        "domain": "events",
        "verbs": {
          "list": "listEvents",
          "get": "getEvent",
          "create": "createEvent",
          "update": "updateEvent"
        }
      },
      {
        "noun": "attendances",
        "domain": "events",
        "verbs": {
          "create": "createAttendance"
        }
      },
      {
        "noun": "stories",
        "domain": "stories",
        "verbs": {
          "list": "listStories",
          "get": "getStory",
          "create": "createStory",
          "update": "updateStory"
        }
      },
      {
        "noun": "donations",
        "domain": "donations",
        "verbs": {
          "list": "listDonationCampaigns",
          "get": "getDonationCampaign",
          "create": "createDonationCampaign",
          "update": "updateDonationCampaign",
          "delete": "deleteDonationCampaign"
        }
      },
      {
        "noun": "courses",
        "domain": "courses",
        "verbs": {
          "list": "listCourses",
          "get": "getCourse",
          "create": "createCourse",
          "update": "updateCourse",
          "delete": "deleteCourse"
        }
      },
      {
        "noun": "forms",
        "domain": "forms",
        "verbs": {
          "list": "listForms",
          "get": "getForm",
          "create": "createForm",
          "update": "updateForm",
          "delete": "deleteForm"
        }
      },
      {
        "noun": "contacts",
        "domain": "contacts",
        "verbs": {
          "list": "listContacts",
          "get": "getContact",
          "create": "createContact",
          "delete": "deleteContact"
        }
      },
      {
        "noun": "deals",
        "domain": "contacts",
        "verbs": {
          "list": "listDeals",
          "get": "getDeal",
          "create": "createDeal",
          "update": "updateDeal"
        }
      },
      {
        "noun": "goals",
        "domain": "goals",
        "verbs": {
          "list": "listGoals",
          "get": "getGoal",
          "update": "updateGoal"
        }
      },
      {
        "noun": "timeframes",
        "domain": "goals",
        "verbs": {
          "list": "listTimeframes"
        }
      },
      {
        "noun": "employees",
        "domain": "people",
        "verbs": {
          "list": "listEmployees",
          "create": "createEmployee",
          "update": "updateEmployee"
        }
      },
      {
        "noun": "employments",
        "domain": "people",
        "verbs": {
          "create": "createEmployment",
          "update": "updateEmployment",
          "delete": "deleteEmployment"
        }
      },
      {
        "noun": "offices",
        "domain": "people",
        "verbs": {
          "list": "listOffices"
        }
      },
      {
        "noun": "roles",
        "domain": "people",
        "verbs": {
          "list": "listRoles"
        }
      },
      {
        "noun": "ccnls",
        "domain": "people",
        "verbs": {
          "list": "listCcnls",
          "create": "createCcnl"
        }
      },
      {
        "noun": "bookings",
        "domain": "bookings",
        "verbs": {
          "list": "listBookings",
          "get": "getBooking"
        }
      },
      {
        "noun": "calls",
        "domain": "calls",
        "verbs": {
          "list": "listCalls",
          "get": "getCall"
        }
      },
      {
        "noun": "jobs",
        "domain": "jobs",
        "verbs": {
          "list": "listJobs",
          "get": "getJob"
        }
      },
      {
        "noun": "applications",
        "domain": "jobs",
        "verbs": {
          "list": "listApplications",
          "create": "createApplication"
        }
      },
      {
        "noun": "campaigns",
        "domain": "campaigns",
        "verbs": {
          "list": "listCampaigns",
          "get": "getCampaign"
        }
      },
      {
        "noun": "kb-collections",
        "domain": "kb",
        "verbs": {
          "list": "listKbCollections",
          "get": "getKbCollection",
          "create": "createKbCollection",
          "update": "updateKbCollection",
          "delete": "deleteKbCollection"
        }
      },
      {
        "noun": "kb-articles",
        "domain": "kb",
        "verbs": {
          "list": "listKbArticles",
          "get": "getKbArticle",
          "create": "createKbArticle",
          "update": "updateKbArticle",
          "delete": "deleteKbArticle"
        }
      },
      {
        "noun": "channel",
        "domain": "help-center",
        "verbs": {
          "list": "listChannels",
          "get": "getChannel",
          "create": "createChannel",
          "update": "updateChannel",
          "delete": "deleteChannel"
        }
      },
      {
        "noun": "time-clocks",
        "domain": "people",
        "verbs": {
          "create": "createTimeClock"
        }
      },
      {
        "noun": "compensations",
        "domain": "people",
        "verbs": {
          "create": "createCompensation",
          "update": "updateCompensation",
          "delete": "deleteCompensation"
        }
      },
      {
        "noun": "tasks",
        "domain": "workspace",
        "verbs": {
          "create": "createTask",
          "update": "updateTask",
          "delete": "deleteTask"
        }
      },
      {
        "noun": "benefits",
        "domain": "people",
        "verbs": {
          "create": "createBenefit"
        }
      },
      {
        "noun": "benefit-enrollments",
        "domain": "people",
        "verbs": {
          "create": "createBenefitEnrollment"
        }
      },
      {
        "noun": "notes",
        "domain": "workspace",
        "verbs": {
          "create": "createNote",
          "update": "updateNote",
          "delete": "deleteNote"
        }
      },
      {
        "noun": "projects",
        "domain": "cms",
        "verbs": {
          "list": "listProjects"
        }
      },
      {
        "noun": "sites",
        "domain": "sites",
        "verbs": {
          "create": "createSite"
        }
      },
      {
        "noun": "spaces",
        "domain": "workspace",
        "verbs": {
          "create": "createSpace",
          "update": "updateSpace",
          "delete": "deleteSpace"
        }
      }
    ],
    "commands": [
      {
        "command": "login",
        "usage": "login",
        "description": "Sign in via browser (OAuth Auth Code + PKCE)"
      },
      {
        "command": "logout",
        "usage": "logout",
        "description": "Clear stored credentials"
      },
      {
        "command": "whoami",
        "usage": "whoami",
        "description": "Show the current workspace / auth state"
      },
      {
        "command": "pages list",
        "usage": "pages list",
        "description": "List CMS pages"
      },
      {
        "command": "page get",
        "usage": "page get <slug>",
        "description": "Fetch one CMS page"
      },
      {
        "command": "page create",
        "usage": "page create",
        "description": "Create a page (--name --slug | --attributes <json>)"
      },
      {
        "command": "block create",
        "usage": "block create",
        "description": "Create a page block (--attributes <json>)"
      },
      {
        "command": "field create",
        "usage": "field create",
        "description": "Create a field value (--attributes <json>)"
      },
      {
        "command": "workspace create",
        "usage": "workspace create",
        "description": "Create a workspace (--name | --attributes <json>)"
      },
      {
        "command": "workspace credentials",
        "usage": "workspace credentials",
        "description": "Generate workspace API credentials"
      },
      {
        "command": "project create",
        "usage": "project create",
        "description": "Create a project (--attributes <json>)"
      },
      {
        "command": "tools call",
        "usage": "tools call <key>",
        "description": "Run one action (--attributes <json>, associations as GlobalIDs)"
      },
      {
        "command": "create",
        "usage": "create [name] [...]",
        "description": "Scaffold a new app (delegates to create-uidu-app)"
      }
    ]
  }
}
