Skip to content

Commit df02d8f

Browse files
committed
## Python SDK Changes:
* `glean.platform.skills.list()`: **Added** * `glean.platform.skills.retrieve()`: **Added** * `glean.client.chat.create()`: * `request.messages[].fragments[].action.metadata.action_type_source` **Added** * `response.messages[].fragments[].action.metadata.action_type_source` **Added** * `glean.client.chat.retrieve()`: `response.chat_result.chat.messages[].fragments[].action.metadata.action_type_source` **Added** * `glean.client.chat.create_stream()`: * `request.messages[].fragments[].action.metadata.action_type_source` **Added**
1 parent 8c5eb79 commit df02d8f

52 files changed

Lines changed: 2412 additions & 90 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.speakeasy/gen.lock

Lines changed: 189 additions & 30 deletions
Large diffs are not rendered by default.

.speakeasy/gen.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ generation:
3434
generateNewTests: true
3535
skipResponseBodyAssertions: true
3636
python:
37-
version: 0.15.3
37+
version: 0.15.4
3838
additionalDependencies:
3939
dev: {}
4040
main: {}

.speakeasy/glean-merged-spec.yaml

Lines changed: 252 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ openapi: 3.0.0
22
info:
33
version: "0.9.0"
44
title: Glean API
5-
x-source-commit-sha: 270b693d49bac2f68e751b2345bac0c267741119
6-
x-open-api-commit-sha: 592aec2b4913505edb8161645eaf9a72b5286f20
5+
x-source-commit-sha: cbeca4790899a1eeb6c54a494b5d4e6e41c3e652
6+
x-open-api-commit-sha: 749aea4c2dffb9006d40b88604dc63b7ecad8e23
77
description: |
88
# Introduction
99
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.
@@ -250,6 +250,108 @@ paths:
250250
x-speakeasy-name-override: createRun
251251
security:
252252
- APIToken: []
253+
/api/skills:
254+
get:
255+
tags:
256+
- Skills
257+
summary: List skills
258+
description: |
259+
List skills available to the authenticated user.
260+
operationId: platform-skills-list
261+
x-visibility: Public
262+
x-glean-experimental:
263+
id: 3eb65937-03a3-472b-9a00-be713f302b5f
264+
introduced: "2026-06-23"
265+
parameters:
266+
- in: query
267+
name: page_size
268+
description: Maximum number of skills to return.
269+
required: false
270+
schema:
271+
type: integer
272+
minimum: 1
273+
maximum: 100
274+
- in: query
275+
name: cursor
276+
description: Opaque pagination cursor from a previous response.
277+
required: false
278+
schema:
279+
type: string
280+
minLength: 1
281+
responses:
282+
"200":
283+
description: Successful response.
284+
content:
285+
application/json:
286+
schema:
287+
$ref: "#/components/schemas/PlatformSkillsListResponse"
288+
"400":
289+
$ref: "#/components/responses/PlatformBadRequest"
290+
"401":
291+
$ref: "#/components/responses/PlatformUnauthorized"
292+
"403":
293+
$ref: "#/components/responses/PlatformForbidden"
294+
"404":
295+
$ref: "#/components/responses/PlatformNotFound"
296+
"408":
297+
$ref: "#/components/responses/PlatformRequestTimeout"
298+
"429":
299+
$ref: "#/components/responses/PlatformTooManyRequests"
300+
"500":
301+
$ref: "#/components/responses/PlatformInternalServerError"
302+
"503":
303+
$ref: "#/components/responses/PlatformServiceUnavailable"
304+
x-speakeasy-group: platform.skills
305+
x-speakeasy-name-override: list
306+
security:
307+
- APIToken: []
308+
/api/skills/{skill_id}:
309+
get:
310+
tags:
311+
- Skills
312+
summary: Retrieve skill
313+
description: |
314+
Retrieve metadata for a skill available to the authenticated user.
315+
operationId: platform-skills-get
316+
x-visibility: Public
317+
x-glean-experimental:
318+
id: 8f8d1c92-a484-4769-9903-200613dc8a72
319+
introduced: "2026-06-23"
320+
parameters:
321+
- name: skill_id
322+
in: path
323+
required: true
324+
description: Glean skill ID.
325+
schema:
326+
type: string
327+
minLength: 1
328+
responses:
329+
"200":
330+
description: Successful response.
331+
content:
332+
application/json:
333+
schema:
334+
$ref: "#/components/schemas/PlatformSkillGetResponse"
335+
"400":
336+
$ref: "#/components/responses/PlatformBadRequest"
337+
"401":
338+
$ref: "#/components/responses/PlatformUnauthorized"
339+
"403":
340+
$ref: "#/components/responses/PlatformForbidden"
341+
"404":
342+
$ref: "#/components/responses/PlatformNotFound"
343+
"408":
344+
$ref: "#/components/responses/PlatformRequestTimeout"
345+
"429":
346+
$ref: "#/components/responses/PlatformTooManyRequests"
347+
"500":
348+
$ref: "#/components/responses/PlatformInternalServerError"
349+
"503":
350+
$ref: "#/components/responses/PlatformServiceUnavailable"
351+
x-speakeasy-group: platform.skills
352+
x-speakeasy-name-override: retrieve
353+
security:
354+
- APIToken: []
253355
/api/search:
254356
post:
255357
tags:
@@ -5479,6 +5581,138 @@ components:
54795581
request_id:
54805582
type: string
54815583
description: Platform-generated request ID for support correlation.
5584+
PlatformSkillStatus:
5585+
type: string
5586+
enum:
5587+
- DRAFT
5588+
- ENABLED
5589+
- DISABLED
5590+
description: Current skill status.
5591+
PlatformSkillOrigin:
5592+
type: string
5593+
enum:
5594+
- CUSTOM
5595+
description: Source category for the skill.
5596+
PlatformSkillSyncStatus:
5597+
type: string
5598+
enum:
5599+
- UP_TO_DATE
5600+
- UPDATE_AVAILABLE
5601+
- SYNC_FAILED
5602+
description: Current external-source sync status.
5603+
PlatformSkillSourceProvenance:
5604+
type: object
5605+
properties:
5606+
source_url:
5607+
type: string
5608+
description: URL of the external source the skill was imported from.
5609+
commit_sha:
5610+
type: string
5611+
description: Source commit SHA for the imported skill.
5612+
imported_at:
5613+
type: string
5614+
format: date-time
5615+
description: Time the skill was imported.
5616+
last_synced_at:
5617+
type: string
5618+
format: date-time
5619+
description: Time the skill was last synced from its source.
5620+
sync_status:
5621+
$ref: "#/components/schemas/PlatformSkillSyncStatus"
5622+
sync_error:
5623+
type: string
5624+
description: Human-readable sync failure reason, present only when sync_status is SYNC_FAILED.
5625+
PlatformPersonReference:
5626+
type: object
5627+
description: A lightweight reference to a person, used where a payload merely points at someone.
5628+
required:
5629+
- name
5630+
properties:
5631+
id:
5632+
type: string
5633+
description: Opaque Glean person ID.
5634+
name:
5635+
type: string
5636+
description: Display name.
5637+
PlatformSkill:
5638+
type: object
5639+
required:
5640+
- id
5641+
- display_name
5642+
- description
5643+
- latest_version
5644+
- latest_minor_version
5645+
- status
5646+
- origin
5647+
- owner
5648+
- created_at
5649+
- updated_at
5650+
properties:
5651+
id:
5652+
type: string
5653+
description: Glean skill ID.
5654+
display_name:
5655+
type: string
5656+
description: Human-readable skill name.
5657+
description:
5658+
type: string
5659+
description: Human-readable skill description.
5660+
latest_version:
5661+
type: integer
5662+
description: Latest major version number for the skill.
5663+
latest_minor_version:
5664+
type: integer
5665+
description: Latest minor version number for the skill.
5666+
status:
5667+
$ref: "#/components/schemas/PlatformSkillStatus"
5668+
origin:
5669+
$ref: "#/components/schemas/PlatformSkillOrigin"
5670+
source_provenance:
5671+
$ref: "#/components/schemas/PlatformSkillSourceProvenance"
5672+
owner:
5673+
$ref: "#/components/schemas/PlatformPersonReference"
5674+
created_at:
5675+
type: string
5676+
format: date-time
5677+
description: Time the skill was created.
5678+
updated_at:
5679+
type: string
5680+
format: date-time
5681+
description: Time the skill was last updated.
5682+
PlatformSkillsListResponse:
5683+
type: object
5684+
required:
5685+
- skills
5686+
- has_more
5687+
- next_cursor
5688+
- request_id
5689+
properties:
5690+
skills:
5691+
type: array
5692+
description: Skills available to the user.
5693+
items:
5694+
$ref: "#/components/schemas/PlatformSkill"
5695+
has_more:
5696+
type: boolean
5697+
description: Whether additional results are available.
5698+
next_cursor:
5699+
type: string
5700+
nullable: true
5701+
description: Cursor for the next page, or null when no more results are available.
5702+
request_id:
5703+
type: string
5704+
description: Platform-generated request ID for support correlation.
5705+
PlatformSkillGetResponse:
5706+
type: object
5707+
required:
5708+
- skill
5709+
- request_id
5710+
properties:
5711+
skill:
5712+
$ref: "#/components/schemas/PlatformSkill"
5713+
request_id:
5714+
type: string
5715+
description: Platform-generated request ID for support correlation.
54825716
PlatformFilterOperator:
54835717
type: string
54845718
description: Supported filter operator.
@@ -5579,18 +5813,6 @@ components:
55795813
Structured filters applied to search results. Equality operators OR multiple values within a filter. Multiple filters are AND'd together, including range filters on the same field. Filters are AND'd with any inline operators in `query`. Note that conflicting constraints on the same field (e.g., `type:document` in the query and `type: spreadsheet` in a filter) produce an empty result set.
55805814
time_range:
55815815
$ref: "#/components/schemas/PlatformTimeRange"
5582-
PlatformPersonReference:
5583-
type: object
5584-
description: A lightweight reference to a person, used where a payload merely points at someone.
5585-
required:
5586-
- name
5587-
properties:
5588-
id:
5589-
type: string
5590-
description: Opaque Glean person ID.
5591-
name:
5592-
type: string
5593-
description: Display name.
55945816
PlatformResult:
55955817
type: object
55965818
required:
@@ -9635,6 +9857,22 @@ components:
96359857
- EXECUTION
96369858
- MCP
96379859
description: Valid only for write actions. Represents the type of write action. REDIRECT - The client renders the URL which contains information for carrying out the action. EXECUTION - Send a request to an external server and execute the action. MCP - Send a tools/call request to an MCP server to execute the action.
9860+
actionTypeSource:
9861+
type: string
9862+
enum:
9863+
- MCP_ANNOTATION
9864+
- ADMIN_OVERRIDE
9865+
- NONE
9866+
- NATIVE_TOOL_DEFINITION
9867+
description: |
9868+
Analytics-only signal (product snapshot) describing WHERE the action's
9869+
read/write determination came from. Complementary to the effective
9870+
read/write value (the tool's ToolType, which drives HITL): the value says
9871+
read-or-write, this says how confident that is. MCP_ANNOTATION = from the
9872+
tool's read-only/destructive hints; ADMIN_OVERRIDE = an admin set it;
9873+
NONE = no usable hint (the effective value then defaults to write);
9874+
NATIVE_TOOL_DEFINITION = from a curated native tool (snapshot-derived).
9875+
Does not affect runtime behavior.
96389876
authType:
96399877
type: string
96409878
enum:

.speakeasy/tests.arazzo.yaml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158863,3 +158863,33 @@ workflows:
158863158863
type: simple
158864158864
x-speakeasy-test-group: tools
158865158865
x-speakeasy-test-rebuild: true
158866+
- workflowId: platform-skills-list
158867+
steps:
158868+
- stepId: test
158869+
operationId: platform-skills-list
158870+
successCriteria:
158871+
- condition: $statusCode == 200
158872+
- condition: $response.header.Content-Type == application/json
158873+
- context: $response.body
158874+
condition: |
158875+
{"skills":[],"has_more":true,"next_cursor":"<value>","request_id":"<id>"}
158876+
type: simple
158877+
x-speakeasy-test-group: skills
158878+
x-speakeasy-test-rebuild: true
158879+
- workflowId: platform-skills-get
158880+
steps:
158881+
- stepId: test
158882+
operationId: platform-skills-get
158883+
parameters:
158884+
- name: skill_id
158885+
in: path
158886+
value: <id>
158887+
successCriteria:
158888+
- condition: $statusCode == 200
158889+
- condition: $response.header.Content-Type == application/json
158890+
- context: $response.body
158891+
condition: |
158892+
{"skill":{"id":"<id>","display_name":"Chad_Herzog","description":"whenever up aha controvert","latest_version":151495,"latest_minor_version":170771,"status":"DISABLED","origin":"CUSTOM","owner":{"name":"<value>"},"created_at":"2024-12-25T16:41:00.099Z","updated_at":"2026-12-07T21:59:59.375Z"},"request_id":"<id>"}
158893+
type: simple
158894+
x-speakeasy-test-group: skills
158895+
x-speakeasy-test-rebuild: true

.speakeasy/workflow.lock

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
speakeasyVersion: 1.789.2
1+
speakeasyVersion: 1.789.3
22
sources:
33
Glean API:
44
sourceNamespace: glean-api-specs
5-
sourceRevisionDigest: sha256:145236c33451e6e87cf1507a4d8829678b0df02af59afc9341330627e33ed760
6-
sourceBlobDigest: sha256:862b1370a65d146eac83f86c6fbd2d787f04ea93c2cf28259af5ded934f9fb3b
5+
sourceRevisionDigest: sha256:5b6095287942d0cbc89988701922bffc8cde912f367b1caa8215d816058ffd4f
6+
sourceBlobDigest: sha256:184c64058698490c5bf472218c2c054ebaa69ae0c35c33167aaef3f14f55ab64
77
tags:
88
- latest
99
Glean Client API:
@@ -16,10 +16,10 @@ targets:
1616
glean:
1717
source: Glean API
1818
sourceNamespace: glean-api-specs
19-
sourceRevisionDigest: sha256:145236c33451e6e87cf1507a4d8829678b0df02af59afc9341330627e33ed760
20-
sourceBlobDigest: sha256:862b1370a65d146eac83f86c6fbd2d787f04ea93c2cf28259af5ded934f9fb3b
19+
sourceRevisionDigest: sha256:5b6095287942d0cbc89988701922bffc8cde912f367b1caa8215d816058ffd4f
20+
sourceBlobDigest: sha256:184c64058698490c5bf472218c2c054ebaa69ae0c35c33167aaef3f14f55ab64
2121
codeSamplesNamespace: glean-api-specs-python-code-samples
22-
codeSamplesRevisionDigest: sha256:4a0a1ec3489f36483dc6080dacec4d40157b2e8d34be15e06417ddfc2e4f090a
22+
codeSamplesRevisionDigest: sha256:59b6337e461b4371b65810cd5e1bdd0ae3ba98edcafe091e488e5e7cc6442333
2323
workflow:
2424
workflowVersion: 1.0.0
2525
speakeasyVersion: latest

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -545,6 +545,11 @@ For more information on obtaining the appropriate token type, please contact you
545545
* [bulk_index](docs/sdks/indexingshortcuts/README.md#bulk_index) - Bulk index external shortcuts
546546
* [upload](docs/sdks/indexingshortcuts/README.md#upload) - Upload shortcuts
547547

548+
### [Platform.Skills](docs/sdks/skills/README.md)
549+
550+
* [list](docs/sdks/skills/README.md#list) - List skills
551+
* [retrieve](docs/sdks/skills/README.md#retrieve) - Retrieve skill
552+
548553
### [Search](docs/sdks/search/README.md)
549554

550555
* [query](docs/sdks/search/README.md#query) - Search

0 commit comments

Comments
 (0)