Workflows
Lister les workflows d’un environnement d’espace de travail et lire le plan d’un workflow, par deux opérations en lecture seule
Deux opérations en lecture seule lisent les workflows de l’environnement
d’espace de travail dans lequel l’appel est fait. data.workflows.list les
liste. data.workflows.get lit un workflow : son résumé et un plan de ses
blocs. Aucune ne renvoie la configuration d’un bloc.
import { createHttpPlatformTransport, createScrydonSDK } from '@scrydon/sdk/platform'
const platform = createScrydonSDK(
createHttpPlatformTransport({
baseUrl: 'https://scrydon.com',
headers: () => ({ authorization: `Bearer ${accessToken}` }),
})
)
const { workflows, truncated } = await platform.data.workflows.list({ limit: 20 })
const { found, workflow } = await platform.data.workflows.get({
workflowId: workflows[0].id,
})| Opération | HTTP | Ce qu’elle fait |
|---|---|---|
data.workflows.list | POST /api/platform/v1/data/workflows/list | Liste les workflows de l’environnement d’espace de travail. |
data.workflows.get | POST /api/platform/v1/data/workflows/get | Lit le résumé d’un workflow et le plan de ses blocs. |
Par HTTP, les deux demandent le scope tools:read. Elles sont en lecture
seule et peuvent être relancées sans risque.
Dans un workflow, sélectionnez les outils Scrydon List workflows et
Read a workflow dans les outils d’un bloc Agent. Dans un outil Scrydon,
les mêmes opérations sont ctx.data.workflows.list et
ctx.data.workflows.get. Seuls les outils workflow de Scrydon peuvent les
appeler ; l’outil d’une autre extension est refusé. Cortex exécute les deux
outils sans demander d’approbation, dans n’importe quel salon, car ils ne font
que lire.
Qui voit quoi
Aucune entrée ne nomme un espace de travail ou un environnement. L’environnement d’espace de travail est celui dans lequel l’appel est fait : pour un outil, celui de son exécution. Le service des workflows décide ensuite chaque lecture pour la personne pour qui l’appel est fait, avec les mêmes règles que l’éditeur de workflows. Une personne qui ne peut pas ouvrir un workflow dans l’éditeur ne peut pas le lire ici.
Seuls les workflows que l’éditeur liste dans cet environnement sont renvoyés. Les automatisations et les workflows internes à un process flow ne le sont pas.
Lister
| Champ | Type | Signification |
|---|---|---|
limit | entier, de 1 à 100, facultatif | Combien de workflows renvoyer. 50 par défaut. |
Le résultat est { workflows, truncated }. Les workflows sont du plus
récemment modifié au plus anciennement modifié : la limite écarte ceux modifiés
il y a le plus longtemps. Chacun a id, name,
description (si elle est définie), isDeployed, deployedAt (s’il est
déployé), createdAt, updatedAt, lastRunAt (s’il a été exécuté) et
runCount. Les dates sont en ISO 8601. truncated vaut true quand
l’environnement contient plus de workflows que limit.
Lire
| Champ | Type | Signification |
|---|---|---|
workflowId | chaîne, de 1 à 200 caractères | Le workflow à lire. |
Le résultat est { found, workflow }. found vaut false, sans workflow,
quand le workflow n’existe pas, est dans un autre environnement, n’est pas
lisible par la personne ou est interne à un process flow. Les quatre cas se
ressemblent volontairement.
workflow est le résumé de la liste, plus :
blocks: l’id, letypeet lenamede chaque bloc, 200 au plus.blocksTruncatedvauttruequand le workflow en a davantage.edgeCount: combien de connexions relient les blocs.
Les réglages, prompts, endpoints et références d’identifiants d’un bloc ne sont jamais renvoyés.
@scrydon/sdk/platform exporte les bornes (WORKFLOWS_LIST_LIMIT_DEFAULT,
WORKFLOWS_LIST_LIMIT_MAX, WORKFLOWS_GET_BLOCKS_MAX,
WORKFLOW_ID_MAX_CHARS). Les champs inconnus, y compris un champ d’espace de
travail ou d’environnement, sont refusés.
Erreurs
| Code | Quand |
|---|---|
INVALID_REQUEST | L’entrée n’a pas passé la validation, ou l’appel a été fait sans environnement d’espace de travail. |
UNAUTHENTICATED | Le service des workflows n’a pas pu savoir pour qui l’appel est fait. |
FORBIDDEN | La personne ne peut pas lister les workflows de cet espace de travail. |
PROVIDER_CONTRACT_VIOLATION | Le service des workflows a répondu hors de son contrat. |
PROVIDER_UNAVAILABLE | Le service des workflows n’a pas répondu, ou l’appelant n’est pas un outil workflow de Scrydon. |