@hostwebhook/node-types 1.69.0 → 1.71.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bucket-operations.d.ts +88 -0
- package/dist/bucket-operations.js +140 -0
- package/dist/calendar-toolkit.d.ts +1 -1
- package/dist/connections.d.ts +1 -1
- package/dist/connections.js +1 -0
- package/dist/discord-operations.d.ts +1 -1
- package/dist/discord-operations.js +4 -4
- package/dist/discord-toolkit.d.ts +1 -1
- package/dist/discord-toolkit.js +3 -3
- package/dist/dispatch.d.ts +1 -1
- package/dist/dispatch.js +1 -0
- package/dist/docs-toolkit.d.ts +1 -1
- package/dist/drive-toolkit.d.ts +1 -1
- package/dist/esm/bucket-operations.d.ts +88 -0
- package/dist/esm/bucket-operations.js +136 -0
- package/dist/esm/calendar-operations.d.ts +67 -0
- package/dist/esm/calendar-operations.js +176 -0
- package/dist/esm/calendar-toolkit.d.ts +50 -0
- package/dist/esm/calendar-toolkit.js +152 -0
- package/dist/esm/capacidad-de-credencial.d.ts +75 -0
- package/dist/esm/capacidad-de-credencial.js +68 -0
- package/dist/esm/connections.d.ts +17 -0
- package/dist/esm/connections.js +107 -0
- package/dist/esm/credentials.d.ts +144 -0
- package/dist/esm/credentials.js +199 -0
- package/dist/esm/discord-operations.d.ts +104 -0
- package/dist/esm/discord-operations.js +407 -0
- package/dist/esm/discord-toolkit.d.ts +64 -0
- package/dist/esm/discord-toolkit.js +260 -0
- package/dist/esm/dispatch.d.ts +16 -0
- package/dist/esm/dispatch.js +77 -0
- package/dist/esm/docs-operations.d.ts +99 -0
- package/dist/esm/docs-operations.js +127 -0
- package/dist/esm/docs-toolkit.d.ts +42 -0
- package/dist/esm/docs-toolkit.js +97 -0
- package/dist/esm/drive-operations.d.ts +103 -0
- package/dist/esm/drive-operations.js +319 -0
- package/dist/esm/drive-toolkit.d.ts +54 -0
- package/dist/esm/drive-toolkit.js +177 -0
- package/dist/esm/github-operations.d.ts +147 -0
- package/dist/esm/github-operations.js +551 -0
- package/dist/esm/gmail-operations.d.ts +190 -0
- package/dist/esm/gmail-operations.js +560 -0
- package/dist/esm/google-analytics-operations.d.ts +99 -0
- package/dist/esm/google-analytics-operations.js +222 -0
- package/dist/esm/google-contacts-operations.d.ts +93 -0
- package/dist/esm/google-contacts-operations.js +363 -0
- package/dist/esm/index.d.ts +68 -0
- package/dist/esm/index.js +51 -0
- package/dist/esm/jira-operations.d.ts +164 -0
- package/dist/esm/jira-operations.js +470 -0
- package/dist/esm/llm-models.d.ts +101 -0
- package/dist/esm/llm-models.js +230 -0
- package/dist/esm/mailchimp-operations.d.ts +56 -0
- package/dist/esm/mailchimp-operations.js +155 -0
- package/dist/esm/mongo-operations.d.ts +61 -0
- package/dist/esm/mongo-operations.js +120 -0
- package/dist/esm/notion-operations.d.ts +125 -0
- package/dist/esm/notion-operations.js +511 -0
- package/dist/esm/openrouter.d.ts +142 -0
- package/dist/esm/openrouter.js +99 -0
- package/dist/esm/package.json +4 -0
- package/dist/esm/postgres-operations.d.ts +60 -0
- package/dist/esm/postgres-operations.js +75 -0
- package/dist/esm/registry.d.ts +160 -0
- package/dist/esm/registry.js +885 -0
- package/dist/esm/sheets-operations.d.ts +78 -0
- package/dist/esm/sheets-operations.js +150 -0
- package/dist/esm/sheets-toolkit.d.ts +49 -0
- package/dist/esm/sheets-toolkit.js +127 -0
- package/dist/esm/shopify-operations.d.ts +95 -0
- package/dist/esm/shopify-operations.js +259 -0
- package/dist/esm/slack-operations.d.ts +81 -0
- package/dist/esm/slack-operations.js +244 -0
- package/dist/esm/slack-toolkit.d.ts +60 -0
- package/dist/esm/slack-toolkit.js +235 -0
- package/dist/esm/telegram-operations.d.ts +104 -0
- package/dist/esm/telegram-operations.js +351 -0
- package/dist/esm/telegram-toolkit.d.ts +52 -0
- package/dist/esm/telegram-toolkit.js +183 -0
- package/dist/esm/types.d.ts +149 -0
- package/dist/esm/types.js +8 -0
- package/dist/esm/ui.d.ts +13 -0
- package/dist/esm/ui.js +152 -0
- package/dist/esm/whatsapp-operations.d.ts +23 -0
- package/dist/esm/whatsapp-operations.js +36 -0
- package/dist/index.d.ts +68 -66
- package/dist/index.js +193 -187
- package/dist/openrouter.d.ts +1 -1
- package/dist/registry.d.ts +4 -4
- package/dist/registry.js +540 -210
- package/dist/sheets-toolkit.d.ts +1 -1
- package/dist/slack-operations.d.ts +1 -1
- package/dist/slack-operations.js +4 -4
- package/dist/slack-toolkit.d.ts +1 -1
- package/dist/slack-toolkit.js +3 -3
- package/dist/telegram-toolkit.d.ts +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/ui.d.ts +1 -1
- package/dist/ui.js +2 -0
- package/package.json +21 -3
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
export type { NodeType, NodeRole, HandlePosition, NodeConnectionConfig, NodeUIConfig, NodeDispatchConfig, PrefixMapping, PayloadMeta, } from './types.js';
|
|
2
|
+
export { singleMeta, iterableMeta } from './types.js';
|
|
3
|
+
export { NODE_CONNECTIONS, canReceiveFrom, canReceiveFromNodes, canSendToNodes, isTerminal, isNodeType, ALL_NODE_TYPES, } from './connections.js';
|
|
4
|
+
export { NODE_UI, PREFIX_TO_TYPE, resolveNodeId, } from './ui.js';
|
|
5
|
+
export { NODE_DISPATCH, getAllNodeCollections, getNodeDispatchConfig, } from './dispatch.js';
|
|
6
|
+
export type { NodeRegistryEntry, NodeGroup, NodeVersionSpec, VersionCatalog, } from './registry.js';
|
|
7
|
+
export { NODE_REGISTRY, getNodeRegistryEntry, NODE_DETAIL_PATHS, NODE_COLORS, NODE_STATE_KEYS, PREFIX_TO_NODE_TYPE, NODE_TYPE_TO_PREFIX, } from './registry.js';
|
|
8
|
+
export { isVersioned, versionsOf, versionSpec, currentVersion, fieldsLostBetween, fieldsLost, versionCatalogErrors, } from './registry.js';
|
|
9
|
+
export { GMAIL_OPERATIONS, GMAIL_OPERATION_SPECS, GMAIL_OPERATION_GROUPS, GMAIL_DROPDOWN_OPERATIONS, GMAIL_TOOLKIT_OPERATIONS, GMAIL_TOOLKIT_SPECS, GMAIL_ALL_TOOLKIT_SPECS, GMAIL_SEND_AND_WAIT_TOOL_SPEC, NATIVE_EMAIL_TOOLKIT_SPECS, GMAIL_TOOLKIT_BY_TOOL_NAME, NATIVE_EMAIL_TOOLKIT_BY_TOOL_NAME, GMAIL_SEND_LEGACY_FIELDS, resolveGmailSendFields, isGmailOperation, } from './gmail-operations.js';
|
|
10
|
+
export type { GmailOperation, GmailOperationGroup, GmailParamType, GmailParamSpec, GmailOperationSpec, GmailToolkitParameter, GmailToolkitSpec, GmailSendFieldSource, GmailSendFields, } from './gmail-operations.js';
|
|
11
|
+
export { GOOGLE_CALENDAR_OPERATIONS, GOOGLE_CALENDAR_OPERATION_SPECS, isGoogleCalendarOperation, } from './calendar-operations.js';
|
|
12
|
+
export type { GoogleCalendarOperation, GoogleCalendarParamTarget, GoogleCalendarParamType, GoogleCalendarParamSpec, GoogleCalendarOperationSpec, } from './calendar-operations.js';
|
|
13
|
+
export { GOOGLE_CALENDAR_TOOLKIT_SPECS, GOOGLE_CALENDAR_TOOLKIT_BY_TOOL_NAME, } from './calendar-toolkit.js';
|
|
14
|
+
export type { GoogleCalendarToolkitSpec, GoogleCalendarToolkitParameter, } from './calendar-toolkit.js';
|
|
15
|
+
export { DRIVE_OPERATIONS, DRIVE_OPERATION_SPECS, isDriveOperation, } from './drive-operations.js';
|
|
16
|
+
export type { DriveOperation, DriveParamType, DriveParamSpec, DriveOperationSpec, } from './drive-operations.js';
|
|
17
|
+
export { DRIVE_TOOLKIT_SPECS, DRIVE_TOOLKIT_BY_TOOL_NAME, } from './drive-toolkit.js';
|
|
18
|
+
export type { DriveToolkitSpec, DriveToolkitParameter, } from './drive-toolkit.js';
|
|
19
|
+
export { TELEGRAM_OPERATIONS, TELEGRAM_OPERATION_SPECS, isTelegramOperation, } from './telegram-operations.js';
|
|
20
|
+
export type { TelegramOperation, TelegramParamSpec, TelegramOperationSpec, } from './telegram-operations.js';
|
|
21
|
+
export { TELEGRAM_TOOLKIT_SPECS, TELEGRAM_TOOLKIT_BY_TOOL_NAME, } from './telegram-toolkit.js';
|
|
22
|
+
export type { TelegramToolkitSpec, TelegramToolkitParameter, } from './telegram-toolkit.js';
|
|
23
|
+
export { WHATSAPP_OPERATIONS, isWhatsAppOperation, } from './whatsapp-operations.js';
|
|
24
|
+
export type { WhatsAppOperation } from './whatsapp-operations.js';
|
|
25
|
+
export { operacionesPara, puedeEjecutar, camposNoDisponiblesPara, } from './capacidad-de-credencial.js';
|
|
26
|
+
export type { CapacidadDeCredencial, CapacidadesPorCredencial, } from './capacidad-de-credencial.js';
|
|
27
|
+
export { DISCORD_OPERATIONS, DISCORD_OPERATION_SPECS, DISCORD_CAPACIDADES_POR_CREDENCIAL, operacionesDeDiscordPara, discordPuedeEjecutar, camposDeDiscordNoDisponibles, isDiscordOperation, } from './discord-operations.js';
|
|
28
|
+
export type { DiscordOperation, DiscordParamSpec, DiscordOperationSpec, } from './discord-operations.js';
|
|
29
|
+
export { DISCORD_TOOLKIT_SPECS, DISCORD_TOOLKIT_BY_TOOL_NAME, herramientasDeDiscordPara, } from './discord-toolkit.js';
|
|
30
|
+
export type { DiscordToolkitSpec, DiscordToolkitParameter, } from './discord-toolkit.js';
|
|
31
|
+
export { MAILCHIMP_OPERATIONS, MAILCHIMP_OPERATION_SPECS, MAILCHIMP_CONTACT_STATUSES, isMailchimpOperation, } from './mailchimp-operations.js';
|
|
32
|
+
export type { MailchimpOperation, MailchimpContactStatus, MailchimpParamSpec, MailchimpOperationSpec, } from './mailchimp-operations.js';
|
|
33
|
+
export { SHOPIFY_OPERATIONS, SHOPIFY_OPERATION_SPECS, SHOPIFY_TAGGABLE_RESOURCES, SHOPIFY_SEARCHABLE_RESOURCES, isShopifyOperation, } from './shopify-operations.js';
|
|
34
|
+
export type { ShopifyOperation, ShopifyTaggableResource, ShopifySearchableResource, ShopifyParamSpec, ShopifyOperationSpec, } from './shopify-operations.js';
|
|
35
|
+
export { GITHUB_OPERATIONS, GITHUB_OPERATION_SPECS, GITHUB_DROPDOWN_OPERATIONS, GITHUB_ITERABLE_OPERATIONS, isGithubOperation, } from './github-operations.js';
|
|
36
|
+
export type { GithubOperation, GithubParamType, GithubParamSpec, GithubOperationSpec, } from './github-operations.js';
|
|
37
|
+
export { JIRA_OPERATIONS, JIRA_OPERATION_SPECS, JIRA_DROPDOWN_OPERATIONS, JIRA_ITERABLE_OPERATIONS, isJiraOperation, } from './jira-operations.js';
|
|
38
|
+
export type { JiraOperation, JiraParamType, JiraParamSpec, JiraOperationSpec, } from './jira-operations.js';
|
|
39
|
+
export { BUCKET_OPERATIONS, BUCKET_OPERATION_SPECS, BUCKET_ITERABLE_OPERATIONS, isBucketOperation, } from './bucket-operations.js';
|
|
40
|
+
export type { BucketOperation, BucketParamType, BucketParamSpec, BucketOperationSpec, } from './bucket-operations.js';
|
|
41
|
+
export { SLACK_OPERATIONS, SLACK_OPERATION_SPECS, SLACK_CAPACIDADES_POR_CREDENCIAL, operacionesDeSlackPara, slackPuedeEjecutar, camposDeSlackNoDisponibles, isSlackOperation, } from './slack-operations.js';
|
|
42
|
+
export type { SlackOperation, SlackParamSpec, SlackOperationSpec, } from './slack-operations.js';
|
|
43
|
+
export { SLACK_TOOLKIT_SPECS, SLACK_TOOLKIT_BY_TOOL_NAME, herramientasDeSlackPara, } from './slack-toolkit.js';
|
|
44
|
+
export type { SlackToolkitSpec, SlackToolkitParameter, } from './slack-toolkit.js';
|
|
45
|
+
export { SHEETS_OPERATIONS, SHEETS_OPERATION_SPECS, isSheetsOperation, } from './sheets-operations.js';
|
|
46
|
+
export type { SheetsOperation, SheetsParamSpec, SheetsOperationSpec, } from './sheets-operations.js';
|
|
47
|
+
export { SHEETS_TOOLKIT_SPECS, SHEETS_TOOLKIT_BY_TOOL_NAME, SHEETS_TOOLKIT_DEFAULTABLE, } from './sheets-toolkit.js';
|
|
48
|
+
export type { SheetsToolkitSpec, SheetsToolkitParameter, } from './sheets-toolkit.js';
|
|
49
|
+
export { GOOGLE_CONTACTS_OPERATIONS, GOOGLE_CONTACTS_OPERATIONS_V1, GOOGLE_CONTACTS_OPERATIONS_V2, GOOGLE_CONTACTS_OPERATION_SPECS, GOOGLE_CONTACTS_OPERATION_GROUPS, GOOGLE_CONTACTS_DEFAULT_PERSON_FIELDS, isGoogleContactsOperation, } from './google-contacts-operations.js';
|
|
50
|
+
export type { GoogleContactsOperation, GoogleContactsParamSpec, GoogleContactsOperationSpec, GoogleContactsOperationGroup, } from './google-contacts-operations.js';
|
|
51
|
+
export { GOOGLE_ANALYTICS_OPERATIONS, GOOGLE_ANALYTICS_OPERATION_SPECS, GOOGLE_ANALYTICS_DROPDOWN_OPERATIONS, isGoogleAnalyticsOperation, } from './google-analytics-operations.js';
|
|
52
|
+
export type { GoogleAnalyticsOperation, GoogleAnalyticsParamType, GoogleAnalyticsParamSpec, GoogleAnalyticsOperationSpec, } from './google-analytics-operations.js';
|
|
53
|
+
export { NOTION_OPERATIONS, NOTION_OPERATION_SPECS, NOTION_DROPDOWN_OPERATIONS, isNotionOperation, } from './notion-operations.js';
|
|
54
|
+
export type { NotionOperation, NotionParamType, NotionParamSpec, NotionOperationSpec, } from './notion-operations.js';
|
|
55
|
+
export { POSTGRES_OPERATIONS, POSTGRES_MODES, POSTGRES_OPERATION_SPECS, isPostgresOperation, } from './postgres-operations.js';
|
|
56
|
+
export type { PostgresOperation, PostgresMode, PostgresOperationSpec, } from './postgres-operations.js';
|
|
57
|
+
export { MONGO_OPERATIONS, MONGO_OPERATION_SPECS, isMongoOperation, } from './mongo-operations.js';
|
|
58
|
+
export type { MongoOperation, MongoParamType, MongoParamSpec, MongoOperationSpec, } from './mongo-operations.js';
|
|
59
|
+
export { DOCS_OPERATIONS, DOCS_OPERATION_SPECS, isDocsOperation, } from './docs-operations.js';
|
|
60
|
+
export type { DocsOperation, DocsParamType, DocsParamSlot, DocsParamSpec, DocsOperationSpec, } from './docs-operations.js';
|
|
61
|
+
export { DOCS_TOOLKIT_SPECS, DOCS_TOOLKIT_BY_TOOL_NAME, DOCS_TOOLKIT_DEFAULTABLE, } from './docs-toolkit.js';
|
|
62
|
+
export type { DocsToolkitSpec, DocsToolkitParameter, } from './docs-toolkit.js';
|
|
63
|
+
export type { LlmProvider, LlmProviderOption, LlmModelOption, } from './llm-models.js';
|
|
64
|
+
export { LLM_PROVIDERS, LLM_MODELS, MODEL_CONTEXT_WINDOWS, getModelsFor, getDefaultModel, getModelLabel, } from './llm-models.js';
|
|
65
|
+
export type { ModeloDeOpenRouter, PrecioDeOpenRouter, RespuestaDeModelosDeOpenRouter, } from './openrouter.js';
|
|
66
|
+
export { URL_DE_MODELOS_DE_OPENROUTER, opcionesDeModelosDeOpenRouter, ventanaDeContextoDeOpenRouter, } from './openrouter.js';
|
|
67
|
+
export type { CredentialTypeRegistration, CredentialType } from './credentials.js';
|
|
68
|
+
export { CREDENTIAL_TYPES, CREDENTIAL_TYPE_VALUES, credentialTypeValues, getCredentialType, isCredentialType, } from './credentials.js';
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export { singleMeta, iterableMeta } from './types.js';
|
|
2
|
+
// ── Connection rules (used by ALL repos) ──
|
|
3
|
+
export { NODE_CONNECTIONS, canReceiveFrom, canReceiveFromNodes, canSendToNodes, isTerminal, isNodeType, ALL_NODE_TYPES, } from './connections.js';
|
|
4
|
+
// ── UI config (Dashboard only) ──
|
|
5
|
+
export { NODE_UI, PREFIX_TO_TYPE, resolveNodeId, } from './ui.js';
|
|
6
|
+
// ── Dispatch config (API only) ──
|
|
7
|
+
export { NODE_DISPATCH, getAllNodeCollections, getNodeDispatchConfig, } from './dispatch.js';
|
|
8
|
+
export { NODE_REGISTRY, getNodeRegistryEntry, NODE_DETAIL_PATHS, NODE_COLORS, NODE_STATE_KEYS, PREFIX_TO_NODE_TYPE, NODE_TYPE_TO_PREFIX, } from './registry.js';
|
|
9
|
+
// ── Node version catalog (ALL repos) ──
|
|
10
|
+
// See docs/ADR-0002-node-versioning.md in the api repo.
|
|
11
|
+
export { isVersioned, versionsOf, versionSpec, currentVersion, fieldsLostBetween, fieldsLost, versionCatalogErrors, } from './registry.js';
|
|
12
|
+
// ── Per-service operation enums (ALL repos) ──
|
|
13
|
+
export { GMAIL_OPERATIONS, GMAIL_OPERATION_SPECS, GMAIL_OPERATION_GROUPS, GMAIL_DROPDOWN_OPERATIONS, GMAIL_TOOLKIT_OPERATIONS, GMAIL_TOOLKIT_SPECS, GMAIL_ALL_TOOLKIT_SPECS, GMAIL_SEND_AND_WAIT_TOOL_SPEC, NATIVE_EMAIL_TOOLKIT_SPECS, GMAIL_TOOLKIT_BY_TOOL_NAME, NATIVE_EMAIL_TOOLKIT_BY_TOOL_NAME, GMAIL_SEND_LEGACY_FIELDS, resolveGmailSendFields, isGmailOperation, } from './gmail-operations.js';
|
|
14
|
+
export { GOOGLE_CALENDAR_OPERATIONS, GOOGLE_CALENDAR_OPERATION_SPECS, isGoogleCalendarOperation, } from './calendar-operations.js';
|
|
15
|
+
export { GOOGLE_CALENDAR_TOOLKIT_SPECS, GOOGLE_CALENDAR_TOOLKIT_BY_TOOL_NAME, } from './calendar-toolkit.js';
|
|
16
|
+
export { DRIVE_OPERATIONS, DRIVE_OPERATION_SPECS, isDriveOperation, } from './drive-operations.js';
|
|
17
|
+
export { DRIVE_TOOLKIT_SPECS, DRIVE_TOOLKIT_BY_TOOL_NAME, } from './drive-toolkit.js';
|
|
18
|
+
export { TELEGRAM_OPERATIONS, TELEGRAM_OPERATION_SPECS, isTelegramOperation, } from './telegram-operations.js';
|
|
19
|
+
export { TELEGRAM_TOOLKIT_SPECS, TELEGRAM_TOOLKIT_BY_TOOL_NAME, } from './telegram-toolkit.js';
|
|
20
|
+
export { WHATSAPP_OPERATIONS, isWhatsAppOperation, } from './whatsapp-operations.js';
|
|
21
|
+
/* La forma del mapa de capacidades. Los datos de cada proveedor viven en su
|
|
22
|
+
propio fichero de operaciones, que es donde se mira cuando uno se pregunta
|
|
23
|
+
qué sabe hacer ese nodo. */
|
|
24
|
+
export { operacionesPara, puedeEjecutar, camposNoDisponiblesPara, } from './capacidad-de-credencial.js';
|
|
25
|
+
export { DISCORD_OPERATIONS, DISCORD_OPERATION_SPECS, DISCORD_CAPACIDADES_POR_CREDENCIAL, operacionesDeDiscordPara, discordPuedeEjecutar, camposDeDiscordNoDisponibles, isDiscordOperation, } from './discord-operations.js';
|
|
26
|
+
/* Ojo con los dos nombres parecidos, que vienen de dos ficheros y NO son lo
|
|
27
|
+
mismo: `DiscordOperationSpec` (arriba) describe el FORMULARIO —qué control
|
|
28
|
+
pintar por campo— y `DiscordToolkitSpec` (abajo) describe la HERRAMIENTA que
|
|
29
|
+
ve el LLM. Es la misma pareja que ya tienen Telegram, Sheets y compañía. */
|
|
30
|
+
export { DISCORD_TOOLKIT_SPECS, DISCORD_TOOLKIT_BY_TOOL_NAME, herramientasDeDiscordPara, } from './discord-toolkit.js';
|
|
31
|
+
export { MAILCHIMP_OPERATIONS, MAILCHIMP_OPERATION_SPECS, MAILCHIMP_CONTACT_STATUSES, isMailchimpOperation, } from './mailchimp-operations.js';
|
|
32
|
+
export { SHOPIFY_OPERATIONS, SHOPIFY_OPERATION_SPECS, SHOPIFY_TAGGABLE_RESOURCES, SHOPIFY_SEARCHABLE_RESOURCES, isShopifyOperation, } from './shopify-operations.js';
|
|
33
|
+
export { GITHUB_OPERATIONS, GITHUB_OPERATION_SPECS, GITHUB_DROPDOWN_OPERATIONS, GITHUB_ITERABLE_OPERATIONS, isGithubOperation, } from './github-operations.js';
|
|
34
|
+
export { JIRA_OPERATIONS, JIRA_OPERATION_SPECS, JIRA_DROPDOWN_OPERATIONS, JIRA_ITERABLE_OPERATIONS, isJiraOperation, } from './jira-operations.js';
|
|
35
|
+
export { BUCKET_OPERATIONS, BUCKET_OPERATION_SPECS, BUCKET_ITERABLE_OPERATIONS, isBucketOperation, } from './bucket-operations.js';
|
|
36
|
+
export { SLACK_OPERATIONS, SLACK_OPERATION_SPECS, SLACK_CAPACIDADES_POR_CREDENCIAL, operacionesDeSlackPara, slackPuedeEjecutar, camposDeSlackNoDisponibles, isSlackOperation, } from './slack-operations.js';
|
|
37
|
+
/* Misma pareja que en Discord: `SlackOperationSpec` es el formulario,
|
|
38
|
+
`SlackToolkitSpec` es la herramienta que ve el LLM. */
|
|
39
|
+
export { SLACK_TOOLKIT_SPECS, SLACK_TOOLKIT_BY_TOOL_NAME, herramientasDeSlackPara, } from './slack-toolkit.js';
|
|
40
|
+
export { SHEETS_OPERATIONS, SHEETS_OPERATION_SPECS, isSheetsOperation, } from './sheets-operations.js';
|
|
41
|
+
export { SHEETS_TOOLKIT_SPECS, SHEETS_TOOLKIT_BY_TOOL_NAME, SHEETS_TOOLKIT_DEFAULTABLE, } from './sheets-toolkit.js';
|
|
42
|
+
export { GOOGLE_CONTACTS_OPERATIONS, GOOGLE_CONTACTS_OPERATIONS_V1, GOOGLE_CONTACTS_OPERATIONS_V2, GOOGLE_CONTACTS_OPERATION_SPECS, GOOGLE_CONTACTS_OPERATION_GROUPS, GOOGLE_CONTACTS_DEFAULT_PERSON_FIELDS, isGoogleContactsOperation, } from './google-contacts-operations.js';
|
|
43
|
+
export { GOOGLE_ANALYTICS_OPERATIONS, GOOGLE_ANALYTICS_OPERATION_SPECS, GOOGLE_ANALYTICS_DROPDOWN_OPERATIONS, isGoogleAnalyticsOperation, } from './google-analytics-operations.js';
|
|
44
|
+
export { NOTION_OPERATIONS, NOTION_OPERATION_SPECS, NOTION_DROPDOWN_OPERATIONS, isNotionOperation, } from './notion-operations.js';
|
|
45
|
+
export { POSTGRES_OPERATIONS, POSTGRES_MODES, POSTGRES_OPERATION_SPECS, isPostgresOperation, } from './postgres-operations.js';
|
|
46
|
+
export { MONGO_OPERATIONS, MONGO_OPERATION_SPECS, isMongoOperation, } from './mongo-operations.js';
|
|
47
|
+
export { DOCS_OPERATIONS, DOCS_OPERATION_SPECS, isDocsOperation, } from './docs-operations.js';
|
|
48
|
+
export { DOCS_TOOLKIT_SPECS, DOCS_TOOLKIT_BY_TOOL_NAME, DOCS_TOOLKIT_DEFAULTABLE, } from './docs-toolkit.js';
|
|
49
|
+
export { LLM_PROVIDERS, LLM_MODELS, MODEL_CONTEXT_WINDOWS, getModelsFor, getDefaultModel, getModelLabel, } from './llm-models.js';
|
|
50
|
+
export { URL_DE_MODELOS_DE_OPENROUTER, opcionesDeModelosDeOpenRouter, ventanaDeContextoDeOpenRouter, } from './openrouter.js';
|
|
51
|
+
export { CREDENTIAL_TYPES, CREDENTIAL_TYPE_VALUES, credentialTypeValues, getCredentialType, isCredentialType, } from './credentials.js';
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Las operaciones del nodo `jiraAction` — la lista que comparten la api, el
|
|
3
|
+
* dashboard y el broker.
|
|
4
|
+
*
|
|
5
|
+
* Mismo patrón que `github-operations.ts` y `shopify-operations.ts`.
|
|
6
|
+
*
|
|
7
|
+
* ── Contra qué está escrito ──
|
|
8
|
+
*
|
|
9
|
+
* Jira Cloud, **REST API v3**, servida en
|
|
10
|
+
* `https://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/…`. El `cloudId` sale
|
|
11
|
+
* de la credencial `oauth2_atlassian`, que ya existe: la montó el trigger de
|
|
12
|
+
* Jira y aquí se reutiliza entera.
|
|
13
|
+
*
|
|
14
|
+
* El permiso que hace falta para escribir es **`write:jira-work`**. Se añadió a
|
|
15
|
+
* los de por defecto en api#384; toda credencial anterior a eso es de sólo
|
|
16
|
+
* lectura hasta que su dueño la reconecte, y el síntoma es un 403 al ejecutar,
|
|
17
|
+
* no un fallo al guardar.
|
|
18
|
+
*
|
|
19
|
+
* ── La decisión que ordena todo lo demás: ADF ──
|
|
20
|
+
*
|
|
21
|
+
* En la v3, `description` y el `body` de un comentario **no son texto**: son
|
|
22
|
+
* Atlassian Document Format, un árbol JSON de nodos tipados. Mandar una cadena
|
|
23
|
+
* da 400.
|
|
24
|
+
*
|
|
25
|
+
* La salida fácil sería escribir con la v2, que sí acepta texto plano y sigue
|
|
26
|
+
* soportada. No se hace, y el motivo está escrito en nuestro propio repositorio
|
|
27
|
+
* desde antes de este nodo: `jira-watch.service.ts` excluye `description` al
|
|
28
|
+
* hidratar campos y explica por qué — *"la REST devuelve ADF —un objeto— pero
|
|
29
|
+
* el webhook manda texto plano; mezclar formas rompería las plantillas de
|
|
30
|
+
* abajo, que esperan cadenas"*.
|
|
31
|
+
*
|
|
32
|
+
* O sea: si este nodo leyera con una versión y escribiera con otra,
|
|
33
|
+
* `{{payload.fields.description}}` significaría una cosa cuando el flujo lo
|
|
34
|
+
* dispara un trigger de Jira y otra cuando lo consulta este nodo. Por eso:
|
|
35
|
+
*
|
|
36
|
+
* - **Todo en v3**, para leer y para escribir.
|
|
37
|
+
* - Al escribir, el texto del usuario se envuelve en ADF.
|
|
38
|
+
* - Al leer, el ADF se aplana a texto, y el árbol original viaja en una clave
|
|
39
|
+
* hermana para quien lo necesite.
|
|
40
|
+
* - `bodyFormat` deja pegar ADF crudo a quien quiera tablas o paneles.
|
|
41
|
+
*
|
|
42
|
+
* ── La otra trampa: la búsqueda cambió de sitio ──
|
|
43
|
+
*
|
|
44
|
+
* `GET/POST /rest/api/3/search` está **deprecado**. El sustituto es
|
|
45
|
+
* `POST /rest/api/3/search/jql`, y no es un renombre: pagina con
|
|
46
|
+
* `nextPageToken` en vez de `startAt`, **no devuelve `total`** (para contar hay
|
|
47
|
+
* `/search/approximate-count`) y los campos hay que pedirlos explícitamente.
|
|
48
|
+
* Casi todo ejemplo que hay por internet usa el endpoint muerto.
|
|
49
|
+
*
|
|
50
|
+
* ── Lo que NO es una operación ──
|
|
51
|
+
*
|
|
52
|
+
* Listar proyectos, tipos de incidencia, transiciones, estados o usuarios
|
|
53
|
+
* asignables **no** son operaciones: son endpoints del controlador que alimentan
|
|
54
|
+
* los selectores, como Drive alimenta su selector de ficheros. Una operación
|
|
55
|
+
* existe para producir payload en una corrida; esto otro es para rellenar el
|
|
56
|
+
* formulario. Mezclarlos llena el desplegable de cosas que nadie quiere
|
|
57
|
+
* ejecutar.
|
|
58
|
+
*
|
|
59
|
+
* ── Decisiones propias de Jira ──
|
|
60
|
+
*
|
|
61
|
+
* - El proyecto y el tipo de incidencia se ELIGEN de una lista viva. Un
|
|
62
|
+
* `issuetype` se identifica por un id numérico que nadie sabe de memoria.
|
|
63
|
+
* - **Las transiciones no son una lista fija.** Dependen del flujo de trabajo
|
|
64
|
+
* Y del estado actual de la incidencia, así que el selector las pide para
|
|
65
|
+
* esa incidencia concreta. Ofrecer una lista global sería ofrecer
|
|
66
|
+
* transiciones que fallan al ejecutarse.
|
|
67
|
+
* - Los campos personalizados van en JSON crudo. Cada tipo tiene su forma
|
|
68
|
+
* (`select`, `date`, `relation`, usuario…) y fingir que caben en tres
|
|
69
|
+
* campos genéricos produce un 400 que no nombra el campo.
|
|
70
|
+
* - Ninguna operación declarada sin implementar: el enum ES el contrato de la
|
|
71
|
+
* pantalla, y una operación declarada se pinta en el desplegable y falla al
|
|
72
|
+
* ejecutarse.
|
|
73
|
+
*/
|
|
74
|
+
export declare const JIRA_OPERATIONS: readonly ["createIssue", "getIssue", "updateIssue", "deleteIssue", "assignIssue", "transitionIssue", "addComment", "getComments", "addAttachment", "addWorklog", "linkIssues", "searchIssues"];
|
|
75
|
+
export type JiraOperation = (typeof JIRA_OPERATIONS)[number];
|
|
76
|
+
/** Type guard — para validar entrada no fiable (DTOs, tool calls). */
|
|
77
|
+
export declare function isJiraOperation(value: unknown): value is JiraOperation;
|
|
78
|
+
/**
|
|
79
|
+
* Las operaciones que devuelven un ARRAY y por tanto obligan a marcar
|
|
80
|
+
* `_meta.iterable` en `getOutputPayload`.
|
|
81
|
+
*
|
|
82
|
+
* Vive aquí y no sólo en la api porque olvidarlo no falla al compilar: falla
|
|
83
|
+
* en producción, callado, con el nodo de abajo recibiendo el sobre entero en
|
|
84
|
+
* vez de un elemento y el PayloadViewer pintando rutas con corchetes que nadie
|
|
85
|
+
* puede usar.
|
|
86
|
+
*/
|
|
87
|
+
export declare const JIRA_ITERABLE_OPERATIONS: readonly JiraOperation[];
|
|
88
|
+
export type JiraParamType =
|
|
89
|
+
/** Selector vivo de proyectos que alcanza la credencial. Guarda la CLAVE
|
|
90
|
+
* (`ACME`), no el id: es lo que se lee en las URLs y en el JQL. */
|
|
91
|
+
'jiraProject'
|
|
92
|
+
/** Selector de tipos de incidencia del proyecto elegido. Guarda el id, que
|
|
93
|
+
* es lo que pide la API — el nombre no es único entre proyectos. */
|
|
94
|
+
| 'jiraIssueType'
|
|
95
|
+
/** La incidencia sobre la que se actúa. Se escribe o se resuelve de una
|
|
96
|
+
* plantilla: `{{payload.issueKey}}` es el caso del 90%. */
|
|
97
|
+
| 'jiraIssueKey'
|
|
98
|
+
/** Transiciones legales para la incidencia elegida. Depende del flujo de
|
|
99
|
+
* trabajo Y del estado actual, así que se piden en el momento. */
|
|
100
|
+
| 'jiraTransition'
|
|
101
|
+
/** Usuarios asignables en el proyecto elegido. Guarda el `accountId`. */
|
|
102
|
+
| 'jiraUser'
|
|
103
|
+
/** Tipos de enlace entre incidencias (`Blocks`, `Relates`…). */
|
|
104
|
+
| 'jiraLinkType'
|
|
105
|
+
/** Texto con autocompletado de `{{payload.*}}`. */
|
|
106
|
+
| 'template'
|
|
107
|
+
/** Área de texto larga, también con autocompletado. */
|
|
108
|
+
| 'textarea'
|
|
109
|
+
/** `<select>` normal; las etiquetas no son los valores, `options` obliga. */
|
|
110
|
+
| 'select' | 'number'
|
|
111
|
+
/**
|
|
112
|
+
* `<select>` de `''` / `'true'` / `'false'` que se guarda como BOOLEANO, o
|
|
113
|
+
* no se guarda si es `''`. "— sin tocar —" tiene que significar que la clave
|
|
114
|
+
* no viaja, no que viaja en `false`.
|
|
115
|
+
*/
|
|
116
|
+
| 'booleanSelect'
|
|
117
|
+
/** Área de texto para JSON crudo (campos personalizados, ADF). */
|
|
118
|
+
| 'json';
|
|
119
|
+
export interface JiraParamSpec {
|
|
120
|
+
/** La clave de `operationConfig`. Es lo que lee la api, no un nombre de UI. */
|
|
121
|
+
name: string;
|
|
122
|
+
label: string;
|
|
123
|
+
type: JiraParamType;
|
|
124
|
+
required?: boolean;
|
|
125
|
+
/** Ayuda bajo el campo. Texto plano: el paquete no lleva React. */
|
|
126
|
+
description?: string;
|
|
127
|
+
placeholder?: string;
|
|
128
|
+
/** Prerrellenado cuando la config guardada no trae valor para esta clave. */
|
|
129
|
+
default?: string | number;
|
|
130
|
+
/** Obligatorio en `select` y `booleanSelect` — etiqueta y valor difieren. */
|
|
131
|
+
options?: ReadonlyArray<{
|
|
132
|
+
value: string;
|
|
133
|
+
label: string;
|
|
134
|
+
}>;
|
|
135
|
+
min?: number;
|
|
136
|
+
max?: number;
|
|
137
|
+
/** Se pinta en la pestaña "Advanced" en vez de en "Config". */
|
|
138
|
+
advanced?: boolean;
|
|
139
|
+
/** Sólo visible cuando un campo hermano vale uno de estos. */
|
|
140
|
+
showWhen?: {
|
|
141
|
+
field: string;
|
|
142
|
+
in: ReadonlyArray<string>;
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
export interface JiraOperationSpec {
|
|
146
|
+
/** Etiqueta de la fila en el desplegable de operación. */
|
|
147
|
+
label: string;
|
|
148
|
+
/** Sub-línea bajo la etiqueta. */
|
|
149
|
+
description: string;
|
|
150
|
+
/** Ruta a la que mapea, tal cual, para poder cotejarla con los docs. */
|
|
151
|
+
apiRoute: string;
|
|
152
|
+
/** Esquema de parámetros. El orden ES el orden en pantalla. */
|
|
153
|
+
params: JiraParamSpec[];
|
|
154
|
+
}
|
|
155
|
+
export declare const JIRA_OPERATION_SPECS: Record<JiraOperation, JiraOperationSpec>;
|
|
156
|
+
/**
|
|
157
|
+
* Lo que se ofrece en el desplegable de operación.
|
|
158
|
+
*
|
|
159
|
+
* Hoy son todas. Existe como constante aparte —y no como alias de
|
|
160
|
+
* `JIRA_OPERATIONS`— porque es el punto donde otros nodos han necesitado
|
|
161
|
+
* esconder una operación sin sacarla del enum: retirarla del enum rompe las que
|
|
162
|
+
* ya estaban guardadas en la base de datos.
|
|
163
|
+
*/
|
|
164
|
+
export declare const JIRA_DROPDOWN_OPERATIONS: readonly JiraOperation[];
|