Skip to content

Models: E

View as Markdown
  • from_: str (from on the wire)
  • to: str
  • kind: Union[Literal['caused-by', 'influenced-by', 'retrieved-from', 'invoked', 'produced', 'checked-against', 'waited-on', 'resumed-from'], str]

The IP addresses this deployment's calls to other sites come from, for a site that admits only known addresses. They're the same for every tenant on the deployment, so admitting them admits every tenant's calls: a site still checks its own credentials. They say where calls come from, not where they go. Absent when the deployment publishes none. An empty list: none of that kind.

  • server: list[str]
  • deployments: list[str]

Present when the deployment emails sign-in links: a sign-in page offers "Email me a sign-in link". With captchaSiteKey, the request needs a Cloudflare Turnstile token (x-captcha-response).

  • captcha_site_key: str | None (captchaSiteKey on the wire) (optional)
  • code: str
  • public_key: dict[str, Any] (publicKey on the wire)
  • site_id: uuid.UUID (siteId on the wire)
  • audience: str
  • data: list[kindgi.client.EnvRecord]
  • has_more: bool | None (hasMore on the wire) (optional)
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • deleted: bool
  • data: list[kindgi.client.EnvRecord]
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • scope: kindgi.client.ScopeTenant | kindgi.client.ScopeOrg | kindgi.client.ScopeProject | kindgi.client.ScopeUnrecognized
  • env_name: str (envName on the wire)
  • name: str
  • value: str
  • revision: int
  • created_at: AwareDatetime (createdAt on the wire)
  • updated_at: AwareDatetime (updatedAt on the wire)
  • tags: dict[str, str] | None (optional)
  • scope: kindgi.client.ScopeTenant | kindgi.client.ScopeOrg | kindgi.client.ScopeProject | kindgi.client.ScopeUnrecognized
  • env_name: str (envName on the wire)
  • name: str
  • value: str
  • tags: dict[str, str] | None (optional)
  • if_revision: int | None (ifRevision on the wire) (optional)
  • root: kindgi.client.EnvSetOutcomeOk | kindgi.client.EnvSetOutcomeRevisionConflict | kindgi.client.EnvSetOutcomeError
  • kind: Literal['error']
  • code: str
  • message: str
  • kind: Literal['ok']
  • record: kindgi.client.EnvRecord
  • kind: Literal['revision-conflict']
  • current_revision: int (currentRevision on the wire)
  • scope: Optional[Annotated[kindgi.client.ScopeTenant | kindgi.client.ScopeOrg | kindgi.client.ScopeProject | kindgi.client.ScopeUnrecognized, <kindgi.client._open.OpenUnion object at 0x108760490>]] (optional)
  • env_name: str | None (envName on the wire) (optional)
  • name: str | None (optional)
  • value: str
  • tags: dict[str, str] | None (optional)
  • if_revision: int | None (ifRevision on the wire) (optional)
  • env_name: str (envName on the wire)
  • parent: kindgi.client.EnvironmentOrderParentTenant | kindgi.client.EnvironmentOrderParentOrg | kindgi.client.EnvironmentOrderParentUnrecognized
  • entries: list[kindgi.client.EnvironmentOrderEntry]
  • position: int
  • project_id: str | None (projectId on the wire) (optional)
  • data: list[kindgi.client.EnvironmentOrder]
  • has_more: bool (hasMore on the wire)
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • kind: Literal['org']
  • org_id: str (orgId on the wire)
  • kind: Literal['tenant']

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

  • kind: str
  • project_ids: list[str] (projectIds on the wire)
  • data: list[kindgi.client.Environment]
  • has_more: bool (hasMore on the wire)
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • code: str
  • message: str
  • details: dict[str, Any] | None (optional)
  • request_id: str (requestId on the wire)

What a comparison compares the candidate against: 'recorded' (each case's recorded output, what was judged), a version ({ agentId, version }, replayed under the same rules), or the version live in a scope ({ live: { projectId?, segments? } }, segments a path in the project, coarse to fine). Only 'recorded' runs today; the others are refused when the run starts.

  • agent_id: str (agentId on the wire)
  • version: str

What a comparison compares the candidate against: 'recorded' (each case's recorded output, what was judged), a version ({ agentId, version }, replayed under the same rules), or the version live in a scope ({ live: { projectId?, segments? } }, segments a path in the project, coarse to fine). Only 'recorded' runs today; the others are refused when the run starts.

  • live: kindgi.client.Live

A comparison eval run's settings (a judged suite).

  • baseline: Union[Annotated[Union[Literal['recorded'], str], <kindgi.client._open.OpenEnum object at 0x107c4bdd0>], kindgi.client.EvalBaseline1, kindgi.client.EvalBaseline2]
  • reads: Union[Literal['recorded', 'live'], str]
  • repetitions: int
  • k: int
  • versions: kindgi.client.FlowVersionOverrides | None (optional)
  • class_weights: Optional[Annotated[Union[Literal['as-recorded', 'restricted-only'], str], <kindgi.client._open.OpenEnum object at 0x107c4bdd0>]] (classWeights on the wire) (optional)
  • overrides: kindgi.client.EvalOverrides | None (optional)
  • sample: kindgi.client.EvalSample | None (optional)
  • rescore_of: str | None (rescoreOf on the wire) (optional)

For an agent candidate: block content its replays run instead of the version's pinned content (an improvement pass's search). settings: values by settings block id, each a block the version pins, satisfying its schema. prompts: a template for the prompt block the version pins, which reads and names only what the agent has (its parameters, the variables the current template reads, the settings blocks it pins, its tools' and blocks' ids) and is at most twice as long. Anything else is 400 validation-failed. A comparison with overrides can't gate a promotion.

  • settings: dict[str, dict[str, Any]] | None (optional)
  • prompts: dict[str, kindgi.client.Prompts] | None (optional)
  • run_id: uuid.UUID (runId on the wire)
  • tenant_id: uuid.UUID (tenantId on the wire)
  • project_id: uuid.UUID | None (projectId on the wire) (optional)
  • suite_id: str (suiteId on the wire)
  • suite_version: str (suiteVersion on the wire)
  • kind: Union[Literal['accuracy', 'pairwise', 'regression', 'human-review', 'benchmark', 'custom', 'judged'], str]
  • agent_ref: kindgi.client.EvalRunAgentRef | None (agentRef on the wire) (optional)
  • flow_ref: kindgi.client.EvalRunFlowRef | None (flowRef on the wire) (optional)
  • status: Union[Literal['pending', 'running', 'completed', 'failed', 'cancelled'], str]
  • dry_run: bool (dryRun on the wire)
  • started_at: AwareDatetime (startedAt on the wire)
  • completed_at: AwareDatetime | None (completedAt on the wire) (optional)
  • result: dict[str, Any] | None (optional)
  • error: str | None (optional)
  • cancel_reason: str | None (cancelReason on the wire) (optional)
  • correlation_id: str | None (correlationId on the wire) (optional)
  • comparison: kindgi.client.EvalComparison | None (optional)
  • agent_id: str (agentId on the wire)
  • version: str | None (optional)
  • data: list[kindgi.client.EvalRun]
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • has_more: bool (hasMore on the wire)
  • flow_id: str (flowId on the wire)
  • version: str | None (optional)
  • root: Literal['pending', 'running', 'completed', 'failed', 'cancelled']

Only part of the test set's cases: split once into a hold-out part (about holdOutShare of them) and a search part (the rest), stratified by judgment (the cases with a "no" and the others are split on their own, a stratum of two or more giving each part at least one), in the order of a hash of each case id and seed. The same seed always splits the same test set the same way. A promotion gate refuses a comparison on the search part (comparison.sample).

  • part: Union[Literal['search', 'hold-out'], str]
  • seed: str
  • hold_out_share: float (holdOutShare on the wire)
  • id: str
  • tenant_id: uuid.UUID (tenantId on the wire)
  • project_id: uuid.UUID | None (projectId on the wire) (optional)
  • version: str
  • kind: Union[Literal['accuracy', 'pairwise', 'regression', 'human-review', 'benchmark', 'custom', 'judged'], str]
  • description: str | None (optional)
  • spec: dict[str, Any]
  • unregistered_at: AwareDatetime | None (unregisteredAt on the wire) (optional)
  • data: list[kindgi.client.EvalSuite]
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • has_more: bool (hasMore on the wire)

Compare the proposal's candidate on a test set. The first evaluation publishes the block version and derives the agent version (both serve nowhere until promoted).

  • suite_id: str (suiteId on the wire)
  • objective: Optional[Literal['weightedYesShare', 'weightedPrecisionAtK']] (optional)
  • reads: Optional[Literal['recorded', 'live']] (optional)
  • repetitions: int | None (optional)
  • k: int | None (optional)
  • class_weights: Optional[Literal['as-recorded', 'restricted-only']] (classWeights on the wire) (optional)
  • sample: kindgi.client.EvalSample | None (optional)

The judged evidence behind each gated metric; for a metric with maxDrop, the baseline's too.

  • min_cases: int | None (minCases on the wire) (optional)
  • min_weight: float | None (minWeight on the wire) (optional)
  • judgment_ids: list[str] | None (judgmentIds on the wire) (optional)
  • kind: Optional[Literal['user', 'agent', 'system', 'admin', 'external']] (optional)
  • id: str | None (optional)
  • ip_address: str | None (ipAddress on the wire) (optional)
  • user_agent: str | None (userAgent on the wire) (optional)
  • root: str
  • root: Literal['allowed', 'denied', 'succeeded', 'failed', 'escalated']
  • run_id: str | None (runId on the wire) (optional)
  • node_id: str | None (nodeId on the wire) (optional)
  • record_id: str | None (recordId on the wire) (optional)
  • algorithm: Literal['ed25519']
  • key_id: str (keyId on the wire)
  • value: str
  • signed_at: AwareDatetime (signedAt on the wire)
  • kind: str | None (optional)
  • id: str | None (optional)

Body for POST /v1/approvals/{approvalId}/audit-bundle, optional: no body signs with the active key. includeMessages adds the conversation messages of the approval's run.

  • signing_key_id: str | None (signingKeyId on the wire) (optional)
  • include_messages: bool | None (includeMessages on the wire) (optional)

A decided approval's signed audit bundle. Body: { bundleSchemaVersion, approvalId, tenantId, subjectKind, subjectRef, requiredRole, status, createdAt, decidedAt?, decision, evidence: { guardrailResults?, messages? }, exportedAt }.

  • approval_id: uuid.UUID (approvalId on the wire)
  • kind: Optional[Literal['audit-bundle']] (optional)
  • bundle: str
  • bundle_schema_version: str (bundleSchemaVersion on the wire)
  • algorithm: Union[Literal['ed25519', 'ecdsa-p256-sha256'], str]
  • signing_key_id: str (signingKeyId on the wire)
  • signature: str
  • public_key: str (publicKey on the wire)
  • canonicalization: Literal['sorted-key-json']
  • exported_at: AwareDatetime (exportedAt on the wire)

Optional: no body exports every exportable kind, signed with the active key.

  • signing_key_id: str | None (signingKeyId on the wire) (optional)
  • filter: kindgi.client.Filter | None (optional)

Optional filter narrowing the export set. Composition is AND — every populated field must match. Absent / empty filter exports every record for the tenant.

  • run_id: str | None (runId on the wire) (optional)
  • agent_id: str | None (agentId on the wire) (optional)
  • flow_id: str | None (flowId on the wire) (optional)
  • kind: str | None (optional)
  • from_: AwareDatetime | None (from on the wire) (optional)
  • to: AwareDatetime | None (optional)

Optional: no body signs with the active key.

  • signing_key_id: str | None (signingKeyId on the wire) (optional)
  • include_messages: bool | None (includeMessages on the wire) (optional)

A run's signed provenance. Body: { bundleSchemaVersion, provenanceId, runId, tenantId, version, createdAt, flowRef?, dag: { nodes, edges }, messages?, callUsage?, exportedAt }; callUsage is each model call's usage from the cost ledger, as it stood when signed.

  • run_id: uuid.UUID (runId on the wire)
  • kind: Optional[Literal['provenance']] (optional)
  • bundle: str
  • bundle_schema_version: str (bundleSchemaVersion on the wire)
  • algorithm: Union[Literal['ed25519', 'ecdsa-p256-sha256'], str]
  • signing_key_id: str (signingKeyId on the wire)
  • signature: str
  • public_key: str (publicKey on the wire)
  • canonicalization: Literal['sorted-key-json']
  • exported_at: AwareDatetime (exportedAt on the wire)

A public key this deployment signs exports with.

  • key_id: str (keyId on the wire)
  • algorithm: Union[Literal['ed25519', 'ecdsa-p256-sha256'], str]
  • public_key_pem: str (publicKeyPem on the wire)
  • fingerprint: str
  • active: bool
  • data: list[kindgi.client.ExportSigningKey]