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 workspace on the deployment, so admitting them admits every workspace'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)
  • claimant: str
  • code: str
  • public_key: dict[str, Any] (publicKey on the wire)
  • site_id: uuid.UUID (siteId on the wire)
  • audience: str

An env name, at a scope and env, given to a pack service as a version of a secret the operator's cloud holds. The pack service's cloud reads it, as the pack service's own account: the runtime keeps the name, never a value.

  • scope: kindgi.client.ScopeTenant | kindgi.client.ScopeOrg | kindgi.client.ScopeProject | kindgi.client.ScopeUnrecognized
  • env_name: str (envName on the wire)
  • name: str
  • cloud_secret: str (cloudSecret on the wire)
  • revision: int
  • created_at: AwareDatetime (createdAt on the wire)
  • updated_at: AwareDatetime (updatedAt on the wire)

An env name the operator set to a cloud secret, at a scope and env. Which secret is the operator's to know: it isn't given here.

  • scope: kindgi.client.ScopeTenant | kindgi.client.ScopeOrg | kindgi.client.ScopeProject | kindgi.client.ScopeUnrecognized
  • env_name: str (envName on the wire)
  • name: str
  • revision: int
  • created_at: AwareDatetime (createdAt on the wire)
  • updated_at: AwareDatetime (updatedAt on the wire)
  • data: list[kindgi.client.EnvCloudSecretName]
  • has_more: bool (hasMore on the wire)
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • data: list[kindgi.client.EnvCloudSecret]
  • has_more: bool (hasMore on the wire)
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • cloud_secret: str (cloudSecret on the wire)
  • if_revision: int | None (ifRevision on the wire) (optional)
  • 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 0x1080c7890>]] (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 it's estimated to cost: the budget, which caps its search, and, when the version has cost history, the estimate itself.

  • cost_usd: str | None (costUsd on the wire) (optional)
  • max_cost_usd: str (maxCostUsd on the wire)
  • basis: kindgi.client.Basis

The evidence from corrections 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)
  • 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)
  • tool: str
  • args: dict[str, Any]

What the agent should have done, by an expert's correction of a run's decisions: the tool calls it should have made, and the tools it should not have called at all. Graded deterministically on a replay. A tool can't be in both calls and notCalled, and one of them must be non-empty (both empty is a 400).

  • calls: list[kindgi.client.ExpectedCall]
  • not_called: list[kindgi.client.NotCalledItem] (notCalled on the wire)

The same weights, counting only corrections recorded while their group was restricted (Correction.expert), for a comparison weighted experts-only. Absent from a test set built before restrictions.

  • yes_weight: float (yesWeight on the wire)
  • total_weight: float (totalWeight on the wire)
  • correction_ids: list[str] | None (correctionIds on the wire) (optional)
  • reason: str | None (optional)
  • corrector_group_id: str | None (correctorGroupId on the wire)
  • count: int

A queued run: never its content, only what it was and where it stands.

  • run_id: str (runId on the wire)
  • project_id: str (projectId on the wire)
  • agent_id: str | None (agentId on the wire) (optional)
  • agent_version: str | None (agentVersion on the wire) (optional)
  • flow_id: str (flowId on the wire)
  • run_status: Union[Literal['completed', 'failed', 'cancelled'], str] (runStatus on the wire)
  • completed_at: AwareDatetime (completedAt on the wire)
  • rules: list[kindgi.client.ExpertQueueItemRule]
  • wanted_group_ids: list[str] (wantedGroupIds on the wire)
  • any_correction: bool (anyCorrection on the wire)
  • progress: kindgi.client.ExpertQueueProgress
  • added_at: AwareDatetime (addedAt on the wire)
  • state: Union[Literal['open', 'corrected', 'dismissed', 'erased'], str]
  • closed_at: AwareDatetime | None (closedAt on the wire) (optional)
  • closed_by: str | None (closedBy on the wire) (optional)
  • reason: str | None (optional)
  • can: kindgi.client.ExpertQueueItemCan

What the caller may do with the item, by the check the routes make (write on the project, as correcting the run needs).

  • dismiss: bool
  • reopen: bool
  • rule_id: str (ruleId on the wire)
  • version: int
  • data: list[kindgi.client.ExpertQueueItem]
  • has_more: bool (hasMore on the wire)
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • total: int

The live corrections on the run so far, by group.

  • total: int
  • by_group: list[kindgi.client.ExpertQueueGroupCount] (byGroup on the wire)

Which recent runs to catch the rule up on. Give last, since, or both.

  • last: int | None (optional)
  • since: AwareDatetime | None (optional)
  • queued: int
  • already_queued: int (alreadyQueued on the wire)
  • already_reviewed: int (alreadyReviewed on the wire)

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 workspace.

  • 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?, stepUsage?, exportedAt }; callUsage is each model call's usage from the cost ledger, and stepUsage a flow record's usage per step, as they 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]