Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 41 additions & 28 deletions .speakeasy/gen.lock

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .speakeasy/gen.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ generation:
generateNewTests: true
skipResponseBodyAssertions: true
python:
version: 0.12.19
version: 0.12.20
additionalDependencies:
dev: {}
main: {}
Expand Down
37 changes: 35 additions & 2 deletions .speakeasy/glean-merged-spec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ openapi: 3.0.0
info:
version: 0.9.0
title: Glean API
x-source-commit-sha: 8a0e3a32d5d6639d10ef809d104942a79d54d1a0
x-source-commit-sha: 3301b0cde4a4bf6d9bb67d909bfbfc2d97c47ad8
description: |
# Introduction
In addition to the data sources that Glean has built-in support for, Glean also provides a REST API that enables customers to put arbitrary content in the search index. This is useful, for example, for doing permissions-aware search over content in internal tools that reside on-prem as well as for searching over applications that Glean does not currently support first class. In addition these APIs allow the customer to push organization data (people info, organization structure etc) into Glean.
Expand All @@ -22,7 +22,7 @@ info:
These API clients provide type-safe, idiomatic interfaces for working with Glean IndexingAPIs in your language of choice.
x-logo:
url: https://app.glean.com/images/glean-text2.svg
x-open-api-commit-sha: f89c07f572daff630aa6a660c5c20e8aa3227322
x-open-api-commit-sha: f13962c9263237558900c5da6ccfa48ea4edb68c
x-speakeasy-name: 'Glean API'
servers:
- url: https://{instance}-be.glean.com
Expand Down Expand Up @@ -9329,6 +9329,27 @@ components:
runCount:
type: integer
description: Total number of agent runs for this user over the specified time period.
AgentsTimeSavedInsight:
properties:
agentId:
type: string
description: Agent ID
agentName:
type: string
description: Agent name
icon:
$ref: "#/components/schemas/IconConfig"
description: Agent icon configuration
isDeleted:
type: boolean
description: Indicates whether the agent has been deleted
runCount:
type: integer
description: Total number of runs for this agent over the specified time period.
minsPerRun:
type: number
format: float
description: Average minutes saved per run for this agent over the specified time period.
AgentsInsightsV2Response:
allOf:
- $ref: "#/components/schemas/CurrentActiveUsers"
Expand All @@ -9355,8 +9376,19 @@ components:
type: array
items:
$ref: "#/components/schemas/AgentUsersInsight"
agentsTimeSavedInsights:
type: array
items:
$ref: "#/components/schemas/AgentsTimeSavedInsight"
description: Insights for agents time saved over the specified time period.
dailyAgentRunsTimeseries:
$ref: "#/components/schemas/LabeledCountInfo"
successfulRunsTimeseries:
$ref: "#/components/schemas/LabeledCountInfo"
failedRunsTimeseries:
$ref: "#/components/schemas/LabeledCountInfo"
pausedRunsTimeseries:
$ref: "#/components/schemas/LabeledCountInfo"
upvotesTimeseries:
$ref: "#/components/schemas/LabeledCountInfo"
downvotesTimeseries:
Expand Down Expand Up @@ -10493,6 +10525,7 @@ components:
- SCRIBES_TYPE
- SHORTCUTS_TYPE
- SLIDE_TYPE
- SPREADSHEET_TYPE
- WORKFLOWS_TYPE
FavoriteInfo:
type: object
Expand Down
10 changes: 5 additions & 5 deletions .speakeasy/workflow.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ speakeasyVersion: 1.761.1
sources:
Glean API:
sourceNamespace: glean-api-specs
sourceRevisionDigest: sha256:0f10e7b25d98791a46b0ed9fffad9d56ce1e52d63ca5d8c2598ff2fda3df6321
sourceBlobDigest: sha256:59995e53d0ac0527b824756126d89dd7c4638fffb3b57711446f35604d0012a0
sourceRevisionDigest: sha256:08d4d58caccd1bef6ef8e22dfcf97a354aded9212e6fea82f0aa6557c2ac60b7
sourceBlobDigest: sha256:6937879dbbc72083c2849b612846828aafdd666c568135d879d9a9f3b6ede95e
tags:
- latest
Glean Client API:
Expand All @@ -16,10 +16,10 @@ targets:
glean:
source: Glean API
sourceNamespace: glean-api-specs
sourceRevisionDigest: sha256:0f10e7b25d98791a46b0ed9fffad9d56ce1e52d63ca5d8c2598ff2fda3df6321
sourceBlobDigest: sha256:59995e53d0ac0527b824756126d89dd7c4638fffb3b57711446f35604d0012a0
sourceRevisionDigest: sha256:08d4d58caccd1bef6ef8e22dfcf97a354aded9212e6fea82f0aa6557c2ac60b7
sourceBlobDigest: sha256:6937879dbbc72083c2849b612846828aafdd666c568135d879d9a9f3b6ede95e
codeSamplesNamespace: glean-api-specs-python-code-samples
codeSamplesRevisionDigest: sha256:97795efcbae3db6986718ffba511ae7bc145269ba1f5012d30d69bc48b6e5772
codeSamplesRevisionDigest: sha256:236be967997805680d4e427baaf01aeddfc19c362e810b0602bd8c148d0b703b
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest
Expand Down
12 changes: 11 additions & 1 deletion RELEASES.md
Original file line number Diff line number Diff line change
Expand Up @@ -698,4 +698,14 @@ Based on:
### Generated
- [python v0.12.19] .
### Releases
- [PyPI v0.12.19] https://pypi.org/project/glean-api-client/0.12.19 - .
- [PyPI v0.12.19] https://pypi.org/project/glean-api-client/0.12.19 - .

## 2026-04-09 02:28:47
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.761.1 (2.879.6) https://github.com/speakeasy-api/speakeasy
### Generated
- [python v0.12.20] .
### Releases
- [PyPI v0.12.20] https://pypi.org/project/glean-api-client/0.12.20 - .
4 changes: 4 additions & 0 deletions docs/models/agentsinsightsv2response.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@
| `top_agents_insights` | List[[models.PerAgentInsight](../models/peragentinsight.md)] | :heavy_minus_sign: | N/A |
| `agents_usage_by_department_insights` | List[[models.AgentsUsageByDepartmentInsight](../models/agentsusagebydepartmentinsight.md)] | :heavy_minus_sign: | N/A |
| `agent_users_insights` | List[[models.AgentUsersInsight](../models/agentusersinsight.md)] | :heavy_minus_sign: | N/A |
| `agents_time_saved_insights` | List[[models.AgentsTimeSavedInsight](../models/agentstimesavedinsight.md)] | :heavy_minus_sign: | Insights for agents time saved over the specified time period. |
| `daily_agent_runs_timeseries` | [Optional[models.LabeledCountInfo]](../models/labeledcountinfo.md) | :heavy_minus_sign: | N/A |
| `successful_runs_timeseries` | [Optional[models.LabeledCountInfo]](../models/labeledcountinfo.md) | :heavy_minus_sign: | N/A |
| `failed_runs_timeseries` | [Optional[models.LabeledCountInfo]](../models/labeledcountinfo.md) | :heavy_minus_sign: | N/A |
| `paused_runs_timeseries` | [Optional[models.LabeledCountInfo]](../models/labeledcountinfo.md) | :heavy_minus_sign: | N/A |
| `upvotes_timeseries` | [Optional[models.LabeledCountInfo]](../models/labeledcountinfo.md) | :heavy_minus_sign: | N/A |
| `downvotes_timeseries` | [Optional[models.LabeledCountInfo]](../models/labeledcountinfo.md) | :heavy_minus_sign: | N/A |
13 changes: 13 additions & 0 deletions docs/models/agentstimesavedinsight.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# AgentsTimeSavedInsight


## Fields

| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| `agent_id` | *Optional[str]* | :heavy_minus_sign: | Agent ID | |
| `agent_name` | *Optional[str]* | :heavy_minus_sign: | Agent name | |
| `icon` | [Optional[models.IconConfig]](../models/iconconfig.md) | :heavy_minus_sign: | Defines how to render an icon | {<br/>"color": "#343CED",<br/>"key": "person_icon",<br/>"iconType": "GLYPH",<br/>"name": "user"<br/>} |
| `is_deleted` | *Optional[bool]* | :heavy_minus_sign: | Indicates whether the agent has been deleted | |
| `run_count` | *Optional[int]* | :heavy_minus_sign: | Total number of runs for this agent over the specified time period. | |
| `mins_per_run` | *Optional[float]* | :heavy_minus_sign: | Average minutes saved per run for this agent over the specified time period. | |
1 change: 1 addition & 0 deletions docs/models/ugctype.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@ value = UgcType.AGENT_TYPE
| `SCRIBES_TYPE` | SCRIBES_TYPE |
| `SHORTCUTS_TYPE` | SHORTCUTS_TYPE |
| `SLIDE_TYPE` | SLIDE_TYPE |
| `SPREADSHEET_TYPE` | SPREADSHEET_TYPE |
| `WORKFLOWS_TYPE` | WORKFLOWS_TYPE |
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

[project]
name = "glean-api-client"
version = "0.12.19"
version = "0.12.20"
description = "Python Client SDK Generated by Speakeasy."
authors = [{ name = "Glean Technologies, Inc." },]
readme = "README-PYPI.md"
Expand Down
4 changes: 2 additions & 2 deletions src/glean/api_client/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
import importlib.metadata

__title__: str = "glean-api-client"
__version__: str = "0.12.19"
__version__: str = "0.12.20"
__openapi_doc_version__: str = "0.9.0"
__gen_version__: str = "2.879.6"
__user_agent__: str = "speakeasy-sdk/python 0.12.19 2.879.6 0.9.0 glean-api-client"
__user_agent__: str = "speakeasy-sdk/python 0.12.20 2.879.6 0.9.0 glean-api-client"

try:
if __package__ is not None:
Expand Down
8 changes: 8 additions & 0 deletions src/glean/api_client/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,10 @@
AgentsInsightsV2Response,
AgentsInsightsV2ResponseTypedDict,
)
from .agentstimesavedinsight import (
AgentsTimeSavedInsight,
AgentsTimeSavedInsightTypedDict,
)
from .agentsusagebydepartmentinsight import (
AgentsUsageByDepartmentInsight,
AgentsUsageByDepartmentInsightTypedDict,
Expand Down Expand Up @@ -1480,6 +1484,8 @@
"AgentsInsightsV2RequestTypedDict",
"AgentsInsightsV2Response",
"AgentsInsightsV2ResponseTypedDict",
"AgentsTimeSavedInsight",
"AgentsTimeSavedInsightTypedDict",
"AgentsUsageByDepartmentInsight",
"AgentsUsageByDepartmentInsightTypedDict",
"AllowlistOptions",
Expand Down Expand Up @@ -2631,6 +2637,8 @@
"AgentsInsightsV2RequestTypedDict": ".agentsinsightsv2request",
"AgentsInsightsV2Response": ".agentsinsightsv2response",
"AgentsInsightsV2ResponseTypedDict": ".agentsinsightsv2response",
"AgentsTimeSavedInsight": ".agentstimesavedinsight",
"AgentsTimeSavedInsightTypedDict": ".agentstimesavedinsight",
"AgentsUsageByDepartmentInsight": ".agentsusagebydepartmentinsight",
"AgentsUsageByDepartmentInsightTypedDict": ".agentsusagebydepartmentinsight",
"AgentUsersInsight": ".agentusersinsight",
Expand Down
31 changes: 31 additions & 0 deletions src/glean/api_client/models/agentsinsightsv2response.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from .agentstimesavedinsight import (
AgentsTimeSavedInsight,
AgentsTimeSavedInsightTypedDict,
)
from .agentsusagebydepartmentinsight import (
AgentsUsageByDepartmentInsight,
AgentsUsageByDepartmentInsightTypedDict,
Expand Down Expand Up @@ -30,7 +34,12 @@ class AgentsInsightsV2ResponseTypedDict(TypedDict):
List[AgentsUsageByDepartmentInsightTypedDict]
]
agent_users_insights: NotRequired[List[AgentUsersInsightTypedDict]]
agents_time_saved_insights: NotRequired[List[AgentsTimeSavedInsightTypedDict]]
r"""Insights for agents time saved over the specified time period."""
daily_agent_runs_timeseries: NotRequired[LabeledCountInfoTypedDict]
successful_runs_timeseries: NotRequired[LabeledCountInfoTypedDict]
failed_runs_timeseries: NotRequired[LabeledCountInfoTypedDict]
paused_runs_timeseries: NotRequired[LabeledCountInfoTypedDict]
upvotes_timeseries: NotRequired[LabeledCountInfoTypedDict]
downvotes_timeseries: NotRequired[LabeledCountInfoTypedDict]

Expand Down Expand Up @@ -76,10 +85,28 @@ class AgentsInsightsV2Response(BaseModel):
Optional[List[AgentUsersInsight]], pydantic.Field(alias="agentUsersInsights")
] = None

agents_time_saved_insights: Annotated[
Optional[List[AgentsTimeSavedInsight]],
pydantic.Field(alias="agentsTimeSavedInsights"),
] = None
r"""Insights for agents time saved over the specified time period."""

daily_agent_runs_timeseries: Annotated[
Optional[LabeledCountInfo], pydantic.Field(alias="dailyAgentRunsTimeseries")
] = None

successful_runs_timeseries: Annotated[
Optional[LabeledCountInfo], pydantic.Field(alias="successfulRunsTimeseries")
] = None

failed_runs_timeseries: Annotated[
Optional[LabeledCountInfo], pydantic.Field(alias="failedRunsTimeseries")
] = None

paused_runs_timeseries: Annotated[
Optional[LabeledCountInfo], pydantic.Field(alias="pausedRunsTimeseries")
] = None

upvotes_timeseries: Annotated[
Optional[LabeledCountInfo], pydantic.Field(alias="upvotesTimeseries")
] = None
Expand All @@ -101,7 +128,11 @@ def serialize_model(self, handler):
"topAgentsInsights",
"agentsUsageByDepartmentInsights",
"agentUsersInsights",
"agentsTimeSavedInsights",
"dailyAgentRunsTimeseries",
"successfulRunsTimeseries",
"failedRunsTimeseries",
"pausedRunsTimeseries",
"upvotesTimeseries",
"downvotesTimeseries",
]
Expand Down
68 changes: 68 additions & 0 deletions src/glean/api_client/models/agentstimesavedinsight.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from .iconconfig import IconConfig, IconConfigTypedDict
from glean.api_client.types import BaseModel, UNSET_SENTINEL
import pydantic
from pydantic import model_serializer
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict


class AgentsTimeSavedInsightTypedDict(TypedDict):
agent_id: NotRequired[str]
r"""Agent ID"""
agent_name: NotRequired[str]
r"""Agent name"""
icon: NotRequired[IconConfigTypedDict]
r"""Defines how to render an icon"""
is_deleted: NotRequired[bool]
r"""Indicates whether the agent has been deleted"""
run_count: NotRequired[int]
r"""Total number of runs for this agent over the specified time period."""
mins_per_run: NotRequired[float]
r"""Average minutes saved per run for this agent over the specified time period."""


class AgentsTimeSavedInsight(BaseModel):
agent_id: Annotated[Optional[str], pydantic.Field(alias="agentId")] = None
r"""Agent ID"""

agent_name: Annotated[Optional[str], pydantic.Field(alias="agentName")] = None
r"""Agent name"""

icon: Optional[IconConfig] = None
r"""Defines how to render an icon"""

is_deleted: Annotated[Optional[bool], pydantic.Field(alias="isDeleted")] = None
r"""Indicates whether the agent has been deleted"""

run_count: Annotated[Optional[int], pydantic.Field(alias="runCount")] = None
r"""Total number of runs for this agent over the specified time period."""

mins_per_run: Annotated[Optional[float], pydantic.Field(alias="minsPerRun")] = None
r"""Average minutes saved per run for this agent over the specified time period."""

@model_serializer(mode="wrap")
def serialize_model(self, handler):
optional_fields = set(
["agentId", "agentName", "icon", "isDeleted", "runCount", "minsPerRun"]
)
serialized = handler(self)
m = {}

for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k, serialized.get(n))

if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
m[k] = val

return m


try:
AgentsTimeSavedInsight.model_rebuild()
except NameError:
pass
Loading
Loading