Skip to content

Models: C

View as Markdown
  • run_id: str (runId on the wire)
  • node_id: str | None (nodeId on the wire) (optional)
  • scope: str | None (optional)
  • tool_id: str (toolId on the wire)
  • arguments: Any | None (optional)
  • result: Any | None (optional)
  • usage: kindgi.client.ModelCallTokens
  • cost_usd: float | None (costUsd on the wire) (optional)
  • duration_ms: int | None (durationMs on the wire) (optional)
  • served_model: str | None (servedModel on the wire) (optional)

An output's score: Σ yesWeight and Σ totalWeight over its judged items, and over those among the first k ranked items.

  • yes_weight: float (yesWeight on the wire)
  • total_weight: float (totalWeight on the wire)
  • items: int
  • judged_items: int (judgedItems on the wire)
  • top_k: kindgi.client.TopK (topK on the wire)
  • fresh: kindgi.client.Fresh | None (optional)
  • root: str

Capability declaration — see @kindgi/capabilities. Additional properties are permitted so new capability kinds do not require a wire change.

  • root: str
  • data: list[kindgi.client.CapabilityDescriptor]
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • has_more: bool (hasMore on the wire)
  • id: str
  • feature: Union[str, Annotated[Union[Literal['structured-output', 'vision', 'audio-input', 'audio-output', 'tool-use', 'parallel-tool-use', 'thinking', 'long-context', 'code-execution', 'web-search', 'file-search', 'streaming', 'batch'], str], <kindgi.client._open.OpenEnum object at 0x10700bbd0>]]
  • description: str
  • kind: str | None (optional)
  • params_schema: dict[str, Any] | None (paramsSchema on the wire) (optional)
  • providers: list[kindgi.client.CapabilityProvider] | None (optional)

A provider of the tenant with a model that has the feature.

  • provider_id: str (providerId on the wire)
  • models: list[str]
  • block_id: str (blockId on the wire)
  • content: kindgi.client.Content1

The first repetition's items against the judged ones.

  • kept: list[kindgi.client.KeptItem]
  • dropped: list[kindgi.client.DroppedItem]
  • new: list[kindgi.client.NewItem]

Claim path + optional delimiter for extracting Kindgi OAuth scopes from provider claims. When absent, scopes come from the token response scope field instead.

  • claim: str
  • delimiter: str | None (optional)

Per-provider claim mapping. All fields optional; closer to OIDC defaults (sub/email/name) → fewer overrides needed.

  • user_id: str | None (userId on the wire) (optional)
  • email: str | None (optional)
  • display_name: str | None (displayName on the wire) (optional)
  • scopes: kindgi.client.ClaimMappingScopesSpec | None (optional)
  • metadata: list[kindgi.client.Metadatum] | None (optional)

Handler-artifact pointer. Discriminated on kind: oci is the deploy-pipeline shape (image + module path + artifactVersion); filesystem is the local-development shape — absolute host path at the pack's on-disk handler file. Production servers SHOULD reject filesystem.

  • kind: Literal['filesystem']
  • module_path: str (modulePath on the wire)

Handler-artifact pointer. Discriminated on kind: oci is the deploy-pipeline shape (image + module path + artifactVersion); filesystem is the local-development shape — absolute host path at the pack's on-disk handler file. Production servers SHOULD reject filesystem.

  • kind: Literal['oci']
  • image_ref: str (imageRef on the wire)
  • module_path: str (modulePath on the wire)
  • artifact_version: str (artifactVersion on the wire)

A kind this client doesn't know yet, from a newer runtime: the object as it came, every field kept.

  • kind: str
  • max_age_hours: float | None (maxAgeHours on the wire) (optional)
  • suite: kindgi.client.Suite | None (optional)
  • eval_run_id: uuid.UUID | None (evalRunId on the wire) (optional)
  • role: Union[Literal['reference', 'candidate', 'proof'], str]
  • part: Union[Literal['search', 'hold-out'], str]
  • block_id: str | None (blockId on the wire) (optional)
  • changed: dict[str, Any] | None (optional)
  • score: float | None (optional)
  • failed: str | None (optional)
  • refused: list[kindgi.client.RefusedItem] | None (optional)
  • hypothesis: str | None (optional)

What ran on the cases: an agent version, or a flow version (with any versions it swapped in).

  • kind: Literal['agent']
  • agent_id: str (agentId on the wire)
  • version: str
  • pins_digest: str | None (pinsDigest on the wire) (optional)
  • overrides: kindgi.client.Overrides | None (optional)

What ran on the cases: an agent version, or a flow version (with any versions it swapped in).

  • kind: Literal['flow']
  • flow_id: str (flowId on the wire)
  • version: str
  • versions: kindgi.client.FlowVersionOverrides | None (optional)

One case of a comparison: its replay runs, the scores, the items kept, dropped and new, the tool calls, and why it didn't run when it didn't.

  • case_id: str (caseId on the wire)
  • run_ids: list[str] (runIds on the wire)
  • baseline: kindgi.client.Baseline2
  • candidate: list[kindgi.client.CandidateItem]
  • changes: kindgi.client.Changes | None (optional)
  • tools: list[kindgi.client.ComparisonCaseResultTool] | None (optional)
  • diverged: bool
  • refused_writes: int (refusedWrites on the wire)
  • no_context: bool (noContext on the wire)
  • approval_skipped: bool (approvalSkipped on the wire)
  • error: str | None (optional)
  • stopped: kindgi.client.Stopped | None (optional)
  • rescored: Optional[Literal[False]] (optional)
  • step: int
  • call_id: str (callId on the wire)
  • tool_id: str (toolId on the wire)
  • tool_version: str (toolVersion on the wire)
  • arguments: Any
  • source: Literal['live', 'recorded', 'refused']
  • recomputed: bool | None (optional)
  • reason: str | None (optional)

One metric, the recorded runs beside the candidate. null where a side had no judged evidence; n / weight are the candidate's evidence (cases with judged items, and the judgment weight behind them), baselineN / baselineWeight the recorded side's.

  • baseline: float | None
  • candidate: float | None
  • delta: float | None
  • n: int
  • weight: float
  • baseline_n: int (baselineN on the wire)
  • baseline_weight: float (baselineWeight on the wire)
  • direction: Literal['higher']
  • k: int | None (optional)
  • spread: float | None (optional)
  • fresh_weight: float | None (freshWeight on the wire) (optional)
  • decision: Literal['approve', 'reject', 'escalate', 'withdraw']
  • rationale: str | None (optional)
  • value: Any | None (optional)

A recorded decision, and what it did to the run waiting on the approval. runStatus is the run's status when the decision couldn't resolve its waitpoint because the run had already ended (e.g. cancelled after the decision was recorded); the decision stands.

  • kind: Union[Literal['terminal', 'escalated'], str]
  • approval: kindgi.client.Approval
  • decision: kindgi.client.ReviewDecision
  • next_approval: kindgi.client.Approval | None (nextApproval on the wire) (optional)
  • waitpoint_resolved: bool (waitpointResolved on the wire)
  • run_status: Optional[Annotated[Union[Literal['pending', 'running', 'suspended', 'completed', 'failed', 'cancelled'], str], <kindgi.client._open.OpenEnum object at 0x10700bbd0>]] (runStatus on the wire) (optional)
  • resume: Optional[Annotated[kindgi.client.Resume | kindgi.client.Resume1 | kindgi.client.CompleteApprovalResultResumeUnrecognized, <kindgi.client._open.OpenUnion object at 0x107a703d0>]] (optional)

A kind this client doesn't know yet, from a newer runtime: the object as it came, every field kept.

  • kind: str

One evidence record — matches @kindgi/specs/compliance-evidence.schema.json (payload is a versioned document opaque to the wire schema).

  • id: str
  • tenant_id: uuid.UUID (tenantId on the wire)
  • project_id: uuid.UUID | None (projectId on the wire) (optional)
  • kind: str
  • timestamp: AwareDatetime
  • actor: kindgi.client.Actor | None (optional)
  • subject: kindgi.client.Subject1 | None (optional)
  • outcome: Optional[Annotated[Union[Literal['allowed', 'denied', 'succeeded', 'failed', 'escalated'], str], <kindgi.client._open.OpenEnum object at 0x10700bbd0>]] (optional)
  • payload: dict[str, Any]
  • provenance_ref: kindgi.client.ProvenanceRef2 | None (provenanceRef on the wire) (optional)
  • signature: kindgi.client.Signature1 | None (optional)
  • data: list[kindgi.client.ComplianceEvidence]
  • has_more: bool (hasMore on the wire)
  • next_cursor: str | None (nextCursor on the wire) (optional)

Transport-tagged config union. Server enforces config.transport === transport at registration.

  • transport: Literal['stdio']
  • command: str
  • args: list[str] | None (optional)
  • env: dict[str, str] | None (optional)

Transport-tagged config union. Server enforces config.transport === transport at registration.

  • transport: Literal['http-sse']
  • url: AnyUrl
  • sse_url: AnyUrl | None (sseUrl on the wire) (optional)
  • headers: dict[str, str] | None (optional)

Transport-tagged config union. Server enforces config.transport === transport at registration.

  • transport: Literal['streamable-http']
  • url: AnyUrl
  • headers: dict[str, str] | None (optional)

Transport-tagged config union. Server enforces config.transport === transport at registration.

  • transport: Literal['stdio']
  • command: str
  • args: list[str] | None (optional)
  • env: dict[str, str] | None (optional)

Transport-tagged config union. Server enforces config.transport === transport at registration.

  • transport: Literal['http-sse']
  • url: AnyUrl
  • sse_url: AnyUrl | None (sseUrl on the wire) (optional)
  • headers: dict[str, str] | None (optional)

Transport-tagged config union. Server enforces config.transport === transport at registration.

  • transport: Literal['streamable-http']
  • url: AnyUrl
  • headers: dict[str, str] | None (optional)
  • cron_expression: str (cronExpression on the wire)
  • timezone: str | None (optional)
  • input: Any | None (optional)
  • cron_expression: str | None (cronExpression on the wire) (optional)
  • timezone: str | None (optional)
  • input: Any | None (optional)
  • input: Any | None (optional)

The new content: { values } for a settings block (its schema carries over), { template } for a prompt block (its parameters carry over).

  • values: dict[str, Any] | None (optional)
  • template: str | None (optional)

{ values } for a settings block (they must satisfy its schema), { template } for a prompt block.

  • values: dict[str, Any] | None (optional)
  • template: str | None (optional)
  • type: Literal['text']
  • text: str
  • type: Literal['image']
  • data: str
  • mime_type: str (mimeType on the wire)
  • id: uuid.UUID
  • tenant_id: uuid.UUID (tenantId on the wire)
  • agent_id: str (agentId on the wire)
  • agent_version: str (agentVersion on the wire)
  • title: str
  • participant_id: str | None (participantId on the wire) (optional)
  • project_id: uuid.UUID | None (projectId on the wire) (optional)
  • opened_by: str | None (openedBy on the wire) (optional)
  • scope: dict[str, Any]
  • status: Union[Literal['open', 'closed'], str]
  • opened_at: AwareDatetime (openedAt on the wire)
  • closed_at: AwareDatetime | None (closedAt on the wire) (optional)
  • unregistered_at: AwareDatetime | None (unregisteredAt on the wire) (optional)
  • turn_count: int (turnCount on the wire)
  • last_message_at: AwareDatetime | None (lastMessageAt on the wire) (optional)
  • metadata: dict[str, Any] | None (optional)
  • data: list[kindgi.client.Conversation]
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • has_more: bool (hasMore on the wire)
  • opened_by: Optional[Annotated[Union[Literal['me'], str], <kindgi.client._open.OpenEnum object at 0x10700bbd0>]] (openedBy on the wire) (optional)
  • sequence: int
  • role: Union[Literal['user', 'agent', 'tool', 'system'], str]
  • content: Any
  • tool_call: kindgi.client.ToolCall | None (toolCall on the wire) (optional)
  • actor: str | None (optional)
  • created_at: AwareDatetime (createdAt on the wire)
  • data: list[kindgi.client.ConversationMessage]
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • has_more: bool (hasMore on the wire)
  • history_limit: int | None (historyLimit on the wire) (optional)
  • hitl_after_turns: int | None (hitlAfterTurns on the wire) (optional)
  • root: Literal['open', 'closed']
  • key: dict[str, str | None]
  • count: int
  • total_usd: float (totalUsd on the wire)
  • tokens: kindgi.client.CostTokenTotals
  • groups: list[kindgi.client.CostAggregateGroup]
  • total_groups: int | None (totalGroups on the wire) (optional)
  • truncated: bool | None (optional)
  • total_usd: float (totalUsd on the wire)
  • total_records: int (totalRecords on the wire)
  • tokens: kindgi.client.CostTokenTotals
  • time_range: kindgi.client.TimeRange (timeRange on the wire)
  • group_by: list[Annotated[Union[Literal['agentId', 'runId', 'category', 'providerId', 'day', 'month', 'tenant', 'conversationId', 'model', 'servedModel', 'projectId', 'orgId', 'rootRunId', 'flowId'], str], <kindgi.client._open.OpenEnum object at 0x10700bbd0>]] (groupBy on the wire)
  • id: str
  • tenant_id: uuid.UUID (tenantId on the wire)
  • category: str
  • provider_id: str | None (providerId on the wire) (optional)
  • run_id: uuid.UUID | None (runId on the wire) (optional)
  • agent_id: str | None (agentId on the wire) (optional)
  • conversation_id: uuid.UUID | None (conversationId on the wire) (optional)
  • quantity: float
  • unit: str
  • cost_usd: float | None (costUsd on the wire) (optional)
  • occurred_at: AwareDatetime (occurredAt on the wire)
  • metrics: dict[str, Any] | None (optional)
  • attributes: dict[str, Any] | None (optional)
  • call_id: str | None (callId on the wire) (optional)
  • project_id: uuid.UUID | None (projectId on the wire) (optional)
  • root_run_id: uuid.UUID | None (rootRunId on the wire) (optional)
  • parent_run_id: uuid.UUID | None (parentRunId on the wire) (optional)
  • agent_version: str | None (agentVersion on the wire) (optional)
  • flow_id: str | None (flowId on the wire) (optional)
  • node_id: str | None (nodeId on the wire) (optional)
  • step: int | None (optional)
  • purpose: str | None (optional)
  • model: str | None (optional)
  • served_model: str | None (servedModel on the wire) (optional)
  • fallback: bool | None (optional)
  • status: Optional[Annotated[Union[Literal['ok', 'failed'], str], <kindgi.client._open.OpenEnum object at 0x10700bbd0>]] (optional)
  • usage: kindgi.client.ModelCallTokens | None (optional)
  • duration_ms: int | None (durationMs on the wire) (optional)
  • finish_reason: str | None (finishReason on the wire) (optional)
  • provider_request_id: str | None (providerRequestId on the wire) (optional)
  • attempts: int | None (optional)
  • error: kindgi.client.ModelCallError | None (optional)
  • raw_usage: kindgi.client.RawUsage | None (rawUsage on the wire) (optional)
  • data: list[kindgi.client.CostRecord]
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • has_more: bool (hasMore on the wire)
  • prompt: int
  • completion: int
  • cache_read: int (cacheRead on the wire)
  • cache_write: int (cacheWrite on the wire)
  • reasoning: int
  • scope: kindgi.client.JudgeClassScopeTenant | kindgi.client.JudgeClassScopeProject | kindgi.client.JudgeClassScopeAgent | kindgi.client.JudgeClassScopeUnrecognized
  • name: str
  • weight: float
  • description: str | None (optional)
  • assertable_by: kindgi.client.JudgeClassAssertableBy | None (assertableBy on the wire) (optional)
  • run_id: str (runId on the wire)
  • item: kindgi.client.JudgedItem
  • verdict: Literal['yes', 'no']
  • reason: str | None (optional)
  • judge_class_id: str | None (judgeClassId on the wire) (optional)
  • participant_id: str | None (participantId on the wire) (optional)
  • root: kindgi.client.MemoryErasureFactSelector | kindgi.client.MemoryErasureSubjectSelector | kindgi.client.MemoryErasureConversationSelector

A hand-written proposal: new content for a data block that fromVersion pins, for a live scope. The same change from the same version for the same scope is one proposal (answered with X-Proposal-Deduped: true).

  • agent_id: str (agentId on the wire)
  • from_version: str (fromVersion on the wire)
  • scope: kindgi.client.LiveScopeTenant | kindgi.client.LiveScopeOrg | kindgi.client.LiveScopeProject | kindgi.client.LiveScopeSegment | kindgi.client.LiveScopeUnrecognized
  • tier: Union[Literal['settings-block', 'prompt-block'], str]
  • change: kindgi.client.Change
  • hypothesis: str
  • evidence: kindgi.client.Evidence1 | None (optional)

Shared 201 response body for platform-hierarchy create endpoints — the freshly-assigned id of the created row.

  • id: str
  • name: str
  • description: str | None (optional)
  • grants: list[Annotated[kindgi.client.ServiceAccountGrantTenantAdmin | kindgi.client.ServiceAccountGrantTenantMember | kindgi.client.ServiceAccountGrantProjectBody, FieldInfo(annotation=NoneType, required=True, discriminator='kind')]] | None (optional)
  • name: str
  • slug: str | None (optional)
  • production_allowed: bool | None (productionAllowed on the wire) (optional)
  • test: bool | None (optional)
  • image_prefix: str | None (imagePrefix on the wire) (optional)
  • first_admin: kindgi.client.FirstAdmin | None (firstAdmin on the wire) (optional)
  • tenant: kindgi.client.SystemTenant
  • first_admin: kindgi.client.FirstAdmin1 | None (firstAdmin on the wire) (optional)
  • admin_key: kindgi.client.AdminKey | None (adminKey on the wire) (optional)
  • display_name: str (displayName on the wire)
  • primary_email: str | None (primaryEmail on the wire) (optional)
  • send_invite: bool | None (sendInvite on the wire) (optional)
  • url: AnyUrl
  • events: list[Annotated[Union[Literal['run.finished', 'improvement-pass.finished', 'approval.requested'], str], <kindgi.client._open.OpenEnum object at 0x10700bbd0>]]
  • filter: kindgi.client.WebhookEndpointFilter | None (optional)
  • secret_ref: kindgi.client.WebhookSecretRef (secretRef on the wire)
  • description: str | None (optional)