@tool-bridge/server 0.1.1 → 0.3.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/airtable-V6446SVY.js +792 -0
- package/dist/alt_text_generator_ai-HV7JZPDT.js +72 -0
- package/dist/amap-TTTVB6WS.js +755 -0
- package/dist/anthropic-JH3RA363.js +224 -0
- package/dist/apify-ETNN7ITU.js +262 -0
- package/dist/brave_search-3DDR2MMB.js +322 -0
- package/dist/chunk-CSJEZHQO.js +252 -0
- package/dist/chunk-JLTYA2B3.js +20121 -0
- package/dist/chunk-K7FVSFUX.js +333 -0
- package/dist/{chunk-MQEYFCJB.js → chunk-KGYJEEBI.js} +2770 -21574
- package/dist/circleci-MX3TX3HC.js +409 -0
- package/dist/clerk-MRPORVF4.js +1036 -0
- package/dist/cloudflare_dns-OWP7DD7L.js +605 -0
- package/dist/cohere-GPECP66S.js +197 -0
- package/dist/confluence-BN7LZ6BC.js +436 -0
- package/dist/convertapi-SBEOFOFQ.js +161 -0
- package/dist/currencyapi-P2YY7Y7P.js +306 -0
- package/dist/deepseek-MWB3NYIN.js +205 -0
- package/dist/docker_hub-3JSCIGQ3.js +946 -0
- package/dist/dropbox-RFIBDAXO.js +1308 -0
- package/dist/dub-YVP57ELQ.js +706 -0
- package/dist/e2b-NFSUHTZR.js +305 -0
- package/dist/exa-KTDY6IV3.js +360 -0
- package/dist/fal_ai-OCUENLNQ.js +405 -0
- package/dist/feishu-5CWBQ7E5.js +225 -0
- package/dist/feishu_custom_bot-ZJR22OK6.js +240 -0
- package/dist/figma-YULGANSA.js +798 -0
- package/dist/firehydrant-2V6YSYAP.js +573 -0
- package/dist/fixer-LTCDB3CJ.js +171 -0
- package/dist/fly-IXPKMAML.js +478 -0
- package/dist/front-KRFB4M5X.js +379 -0
- package/dist/geocodio-VVURKYHQ.js +236 -0
- package/dist/ghost-6J2RIOUB.js +341 -0
- package/dist/github-5Z6KQRYH.js +5410 -0
- package/dist/gmail-KU4NZ7VA.js +1894 -0
- package/dist/googlecalendar-X44DFFXG.js +2539 -0
- package/dist/googledocs-WSGLPKSF.js +1322 -0
- package/dist/grafana-4PKSSDXY.js +817 -0
- package/dist/graphhopper-DF65ZNGK.js +336 -0
- package/dist/index.d.ts +181 -2
- package/dist/index.js +2 -1
- package/dist/ip2proxy-UCAQ5P2J.js +118 -0
- package/dist/ipgeolocation_io-UX6FCA2S.js +333 -0
- package/dist/ipqualityscore-MKTRXIZJ.js +287 -0
- package/dist/jina_ai-MRHPCSV5.js +119 -0
- package/dist/jira-EG7ZPOIW.js +627 -0
- package/dist/langsmith-FNO3RCOZ.js +597 -0
- package/dist/lemlist-SN6BJHSG.js +298 -0
- package/dist/linear-H3VU4PSD.js +2163 -0
- package/dist/logsnag-OY2JJT2H.js +167 -0
- package/dist/main.js +246 -2
- package/dist/mattermost-C5SQ7PGD.js +320 -0
- package/dist/mem0-LMLE5BFC.js +567 -0
- package/dist/memos-UWFAMBZC.js +781 -0
- package/dist/metabase-SRYDSDJ6.js +365 -0
- package/dist/mistral_ai-YNIJ7VDM.js +1195 -0
- package/dist/mother_duck-CPGOFEXE.js +322 -0
- package/dist/ngrok-CDJFBSOM.js +375 -0
- package/dist/notes-DIVFH3P3.js +109 -0
- package/dist/notion-HGDKS4HK.js +945 -0
- package/dist/open_exchange_rates-COHHYJDD.js +216 -0
- package/dist/openai-4TRT66GW.js +795 -0
- package/dist/opengraph_io-YKVW4PXI.js +377 -0
- package/dist/openrouter-6CV7B7V5.js +444 -0
- package/dist/outline-YWDUK5F7.js +604 -0
- package/dist/paddle-MEU7HWDZ.js +464 -0
- package/dist/perplexity-MRQUDBIC.js +238 -0
- package/dist/pinecone-JI7X2TAF.js +599 -0
- package/dist/pipedrive-6JQPAW23.js +453 -0
- package/dist/polar-7BF56CMC.js +400 -0
- package/dist/posthog-YPU5ADEN.js +3462 -0
- package/dist/postmark-BEU5OFKU.js +441 -0
- package/dist/prerender-UT5GOOZH.js +180 -0
- package/dist/pubmed-3SGOE24Q.js +1052 -0
- package/dist/railway-CEK4GLRQ.js +452 -0
- package/dist/readwise-DXQUQU67.js +482 -0
- package/dist/render-7TGAU5AW.js +473 -0
- package/dist/replicate-VICFSQ5A.js +347 -0
- package/dist/resend-3E76WK3O.js +100 -0
- package/dist/rootly-36GY46BY.js +345 -0
- package/dist/scrapfly-VDVUYAHX.js +289 -0
- package/dist/scrapingbee-3KTPMAVY.js +247 -0
- package/dist/screenshot_fyi-LKG62C3J.js +116 -0
- package/dist/semantic_scholar-4WREECYO.js +626 -0
- package/dist/sentry-HUQTGXOV.js +1139 -0
- package/dist/shodan-SGRKU4KS.js +303 -0
- package/dist/shopify-YCZ4L5HT.js +620 -0
- package/dist/stripe-OEBKMELB.js +583 -0
- package/dist/supabase-I3DBY7L4.js +937 -0
- package/dist/tavily-B2YHCNRD.js +349 -0
- package/dist/telegram-2VYJELZX.js +1773 -0
- package/dist/telnyx-HHXD3CXL.js +237 -0
- package/dist/todoist-PHFDEEIS.js +672 -0
- package/dist/trello-WUSAK6YN.js +1091 -0
- package/dist/turso-FW56U2B3.js +432 -0
- package/dist/twilio-M5JI7XHA.js +321 -0
- package/dist/umami-HAYODRC4.js +411 -0
- package/dist/unsplash-EDPTNEHJ.js +364 -0
- package/dist/upstash_redis-GC2CLIWD.js +299 -0
- package/dist/uptimerobot-XMSNYLIT.js +481 -0
- package/dist/v2ex-KU4ECD65.js +672 -0
- package/dist/vercel-THPCEFHW.js +1096 -0
- package/dist/wolfram_alpha_api-WHHTH4GU.js +212 -0
- package/dist/wordpress-O6TQEQNF.js +822 -0
- package/dist/workos-A3VHHWI3.js +681 -0
- package/dist/zhihu-BJAI64YJ.js +273 -0
- package/package.json +5 -4
|
@@ -0,0 +1,573 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createProviderPlugin,
|
|
3
|
+
guardedFetch,
|
|
4
|
+
requireApiKey,
|
|
5
|
+
upstreamError
|
|
6
|
+
} from "./chunk-CSJEZHQO.js";
|
|
7
|
+
import "./chunk-K7FVSFUX.js";
|
|
8
|
+
import {
|
|
9
|
+
TBError,
|
|
10
|
+
external_exports
|
|
11
|
+
} from "./chunk-JLTYA2B3.js";
|
|
12
|
+
import "./chunk-MLKGABMK.js";
|
|
13
|
+
|
|
14
|
+
// ../plugins/src/firehydrant/api.ts
|
|
15
|
+
var SERVICE = "firehydrant";
|
|
16
|
+
var API_BASE = "https://api.firehydrant.io/v1";
|
|
17
|
+
function text(value) {
|
|
18
|
+
return typeof value === "string" ? value.trim() || void 0 : void 0;
|
|
19
|
+
}
|
|
20
|
+
function record(value) {
|
|
21
|
+
return typeof value === "object" && value !== null && !Array.isArray(value) ? value : void 0;
|
|
22
|
+
}
|
|
23
|
+
function responseObject(value, what) {
|
|
24
|
+
const object = record(value);
|
|
25
|
+
if (object === void 0) {
|
|
26
|
+
throw new TBError("unavailable", `${what} \u4E0D\u662F\u5BF9\u8C61`, { retryable: true });
|
|
27
|
+
}
|
|
28
|
+
return object;
|
|
29
|
+
}
|
|
30
|
+
function errorMessage(payload, status) {
|
|
31
|
+
const object = record(payload);
|
|
32
|
+
if (object !== void 0) {
|
|
33
|
+
const direct = text(object.error) ?? text(object.message);
|
|
34
|
+
if (direct !== void 0) return direct;
|
|
35
|
+
const errors = object.errors;
|
|
36
|
+
if (Array.isArray(errors) && errors.length > 0) return errors.map(String).join(", ");
|
|
37
|
+
}
|
|
38
|
+
return `FireHydrant request failed with status ${status}`;
|
|
39
|
+
}
|
|
40
|
+
async function request(ctx, input) {
|
|
41
|
+
const url = new URL(`${API_BASE}${input.path}`);
|
|
42
|
+
for (const [key, value] of Object.entries(input.query ?? {})) {
|
|
43
|
+
if (value !== void 0) url.searchParams.set(key, value);
|
|
44
|
+
}
|
|
45
|
+
const response = await guardedFetch(url.toString(), {
|
|
46
|
+
method: input.method ?? "GET",
|
|
47
|
+
headers: {
|
|
48
|
+
"accept": "application/json",
|
|
49
|
+
"authorization": `Bearer ${requireApiKey(ctx, SERVICE)}`,
|
|
50
|
+
"content-type": "application/json"
|
|
51
|
+
},
|
|
52
|
+
...input.body === void 0 ? {} : { body: JSON.stringify(input.body) }
|
|
53
|
+
});
|
|
54
|
+
const body = await response.text();
|
|
55
|
+
let payload = {};
|
|
56
|
+
if (body !== "") {
|
|
57
|
+
try {
|
|
58
|
+
payload = JSON.parse(body);
|
|
59
|
+
} catch {
|
|
60
|
+
throw new TBError("unavailable", "FireHydrant \u8FD4\u56DE\u4E86\u975E\u6CD5 JSON", { retryable: true });
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (!response.ok) throw upstreamError(response.status, errorMessage(payload, response.status));
|
|
64
|
+
return payload;
|
|
65
|
+
}
|
|
66
|
+
function nullableText(value) {
|
|
67
|
+
return text(value) ?? null;
|
|
68
|
+
}
|
|
69
|
+
function nullableInteger(value) {
|
|
70
|
+
return typeof value === "number" && Number.isInteger(value) ? value : null;
|
|
71
|
+
}
|
|
72
|
+
function nullableBoolean(value) {
|
|
73
|
+
return typeof value === "boolean" ? value : null;
|
|
74
|
+
}
|
|
75
|
+
function readArray(value) {
|
|
76
|
+
return Array.isArray(value) ? value : [];
|
|
77
|
+
}
|
|
78
|
+
function normalizeEntityRef(input) {
|
|
79
|
+
return {
|
|
80
|
+
id: nullableText(input.id),
|
|
81
|
+
name: nullableText(input.name),
|
|
82
|
+
slug: nullableText(input.slug),
|
|
83
|
+
raw: input
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
function nullableEntityRef(value) {
|
|
87
|
+
const object = record(value);
|
|
88
|
+
return object === void 0 ? null : normalizeEntityRef(object);
|
|
89
|
+
}
|
|
90
|
+
function normalizeIncident(input) {
|
|
91
|
+
return {
|
|
92
|
+
id: nullableText(input.id),
|
|
93
|
+
name: nullableText(input.name),
|
|
94
|
+
number: nullableInteger(input.number),
|
|
95
|
+
summary: nullableText(input.summary),
|
|
96
|
+
description: nullableText(input.description),
|
|
97
|
+
customerImpactSummary: nullableText(input.customer_impact_summary),
|
|
98
|
+
currentMilestone: nullableText(input.current_milestone),
|
|
99
|
+
severity: nullableText(input.severity),
|
|
100
|
+
priority: nullableText(input.priority),
|
|
101
|
+
createdAt: nullableText(input.created_at),
|
|
102
|
+
startedAt: nullableText(input.started_at),
|
|
103
|
+
updatedAt: nullableText(input.updated_at),
|
|
104
|
+
incidentUrl: nullableText(input.incident_url),
|
|
105
|
+
active: nullableBoolean(input.active),
|
|
106
|
+
restricted: nullableBoolean(input.restricted),
|
|
107
|
+
services: readArray(input.services).map((item) => normalizeEntityRef(responseObject(item, "FireHydrant incident service"))),
|
|
108
|
+
environments: readArray(input.environments).map((item) => normalizeEntityRef(responseObject(item, "FireHydrant incident environment"))),
|
|
109
|
+
tags: readArray(input.tag_list).map(String),
|
|
110
|
+
labels: record(input.labels) ?? null,
|
|
111
|
+
raw: input
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
function normalizeCatalogEntry(input) {
|
|
115
|
+
return {
|
|
116
|
+
id: nullableText(input.id),
|
|
117
|
+
name: nullableText(input.name),
|
|
118
|
+
slug: nullableText(input.slug),
|
|
119
|
+
description: nullableText(input.description),
|
|
120
|
+
serviceTier: nullableInteger(input.service_tier),
|
|
121
|
+
createdAt: nullableText(input.created_at),
|
|
122
|
+
updatedAt: nullableText(input.updated_at),
|
|
123
|
+
activeIncidents: readArray(input.active_incidents).map(String),
|
|
124
|
+
labels: record(input.labels) ?? null,
|
|
125
|
+
owner: nullableEntityRef(input.owner),
|
|
126
|
+
raw: input
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
function normalizePagination(value) {
|
|
130
|
+
const object = record(value);
|
|
131
|
+
if (object === void 0) return null;
|
|
132
|
+
return {
|
|
133
|
+
count: nullableInteger(object.count),
|
|
134
|
+
page: nullableInteger(object.page),
|
|
135
|
+
items: nullableInteger(object.items),
|
|
136
|
+
pages: nullableInteger(object.pages),
|
|
137
|
+
last: nullableInteger(object.last),
|
|
138
|
+
prev: nullableInteger(object.prev),
|
|
139
|
+
next: nullableInteger(object.next),
|
|
140
|
+
raw: object
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
function listQuery(input) {
|
|
144
|
+
const incident = input;
|
|
145
|
+
return {
|
|
146
|
+
page: input.page === void 0 ? void 0 : String(input.page),
|
|
147
|
+
per_page: input.perPage === void 0 ? void 0 : String(input.perPage),
|
|
148
|
+
query: text(input.query),
|
|
149
|
+
name: text(input.name),
|
|
150
|
+
status: text(incident.status),
|
|
151
|
+
services: text(incident.services),
|
|
152
|
+
environments: text(incident.environments),
|
|
153
|
+
tags: text(incident.tags),
|
|
154
|
+
tag_match_strategy: text(incident.tagMatchStrategy),
|
|
155
|
+
archived: incident.archived === void 0 ? void 0 : String(incident.archived),
|
|
156
|
+
created_at_or_after: text(incident.createdAtOrAfter),
|
|
157
|
+
created_at_or_before: text(incident.createdAtOrBefore),
|
|
158
|
+
updated_after: text(incident.updatedAfter),
|
|
159
|
+
updated_before: text(incident.updatedBefore)
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
function compact(input) {
|
|
163
|
+
return Object.fromEntries(Object.entries(input).filter(([, value]) => value !== void 0));
|
|
164
|
+
}
|
|
165
|
+
async function listCollection(ctx, outputKey, path, input, normalizeItem) {
|
|
166
|
+
const raw = responseObject(
|
|
167
|
+
await request(ctx, { path, query: listQuery(input) }),
|
|
168
|
+
`FireHydrant ${outputKey} list response`
|
|
169
|
+
);
|
|
170
|
+
const items = readArray(raw.data).map((item) => normalizeItem(responseObject(item, `FireHydrant ${outputKey} list item`)));
|
|
171
|
+
return { [outputKey]: items, pagination: normalizePagination(raw.pagination), raw };
|
|
172
|
+
}
|
|
173
|
+
async function getSingle(ctx, outputKey, input, normalizeItem) {
|
|
174
|
+
const raw = responseObject(await request(ctx, input), `FireHydrant ${outputKey} response`);
|
|
175
|
+
return { [outputKey]: normalizeItem(raw), raw };
|
|
176
|
+
}
|
|
177
|
+
function pathSegment(value, field) {
|
|
178
|
+
const segment = value.trim();
|
|
179
|
+
if (segment === "") throw new TBError("invalid_argument", `${field} \u4E0D\u80FD\u4E3A\u7A7A`);
|
|
180
|
+
return encodeURIComponent(segment);
|
|
181
|
+
}
|
|
182
|
+
function listIncidents(input, ctx) {
|
|
183
|
+
return listCollection(ctx, "incidents", "/incidents", input, normalizeIncident);
|
|
184
|
+
}
|
|
185
|
+
function getIncident(input, ctx) {
|
|
186
|
+
const path = `/incidents/${pathSegment(input.incidentId, "incidentId")}`;
|
|
187
|
+
return getSingle(ctx, "incident", { path }, normalizeIncident);
|
|
188
|
+
}
|
|
189
|
+
function createIncident(input, ctx) {
|
|
190
|
+
const body = compact({
|
|
191
|
+
name: input.name,
|
|
192
|
+
summary: input.summary,
|
|
193
|
+
customer_impact_summary: input.customerImpactSummary,
|
|
194
|
+
description: input.description,
|
|
195
|
+
priority: input.priority,
|
|
196
|
+
severity: input.severity,
|
|
197
|
+
severity_condition_id: input.severityConditionId,
|
|
198
|
+
severity_impact_id: input.severityImpactId,
|
|
199
|
+
labels: input.labels,
|
|
200
|
+
tag_list: input.tagList,
|
|
201
|
+
impacts: input.impacts?.map((impact) => ({
|
|
202
|
+
type: impact.type,
|
|
203
|
+
id: impact.id,
|
|
204
|
+
condition_id: impact.conditionId
|
|
205
|
+
})),
|
|
206
|
+
team_ids: input.teamIds,
|
|
207
|
+
restricted: input.restricted,
|
|
208
|
+
incident_type_id: input.incidentTypeId,
|
|
209
|
+
skip_incident_type_values: input.skipIncidentTypeValues
|
|
210
|
+
});
|
|
211
|
+
return getSingle(ctx, "incident", { path: "/incidents", method: "POST", body }, normalizeIncident);
|
|
212
|
+
}
|
|
213
|
+
function listServices(input, ctx) {
|
|
214
|
+
return listCollection(ctx, "services", "/services", input, normalizeCatalogEntry);
|
|
215
|
+
}
|
|
216
|
+
function getService(input, ctx) {
|
|
217
|
+
const path = `/services/${pathSegment(input.serviceId, "serviceId")}`;
|
|
218
|
+
return getSingle(ctx, "service", { path }, normalizeCatalogEntry);
|
|
219
|
+
}
|
|
220
|
+
function listEnvironments(input, ctx) {
|
|
221
|
+
return listCollection(ctx, "environments", "/environments", input, normalizeCatalogEntry);
|
|
222
|
+
}
|
|
223
|
+
function getEnvironment(input, ctx) {
|
|
224
|
+
const path = `/environments/${pathSegment(input.environmentId, "environmentId")}`;
|
|
225
|
+
return getSingle(ctx, "environment", { path }, normalizeCatalogEntry);
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
// ../plugins/src/firehydrant/schema.ts
|
|
229
|
+
var listIncidentsInput = external_exports.strictObject({
|
|
230
|
+
page: external_exports.int().min(1).describe("The page number to request.").optional(),
|
|
231
|
+
perPage: external_exports.int().min(1).max(200).describe("The number of records to request per page. FireHydrant allows up to 200.").optional(),
|
|
232
|
+
query: external_exports.string().describe("A text query that searches incident name, summary, and description.").optional(),
|
|
233
|
+
name: external_exports.string().describe("A query to search incidents by name.").optional(),
|
|
234
|
+
status: external_exports.string().describe("The incident status to filter by.").optional(),
|
|
235
|
+
services: external_exports.string().describe("A comma-separated list of service IDs, or is_empty for incidents with no impacted services.").optional(),
|
|
236
|
+
environments: external_exports.string().describe("A comma-separated list of environment IDs, or is_empty for incidents with no impacted environments.").optional(),
|
|
237
|
+
tags: external_exports.string().describe("A comma-separated list of tags.").optional(),
|
|
238
|
+
tagMatchStrategy: external_exports.enum(["any", "match_all", "exclude"]).describe("The tag matching strategy.").optional(),
|
|
239
|
+
archived: external_exports.boolean().describe("Whether to return archived incidents.").optional(),
|
|
240
|
+
createdAtOrAfter: external_exports.iso.datetime({ offset: true }).describe("Only return incidents created at or after this time.").optional(),
|
|
241
|
+
createdAtOrBefore: external_exports.iso.datetime({ offset: true }).describe("Only return incidents created at or before this time.").optional(),
|
|
242
|
+
updatedAfter: external_exports.iso.datetime({ offset: true }).describe("Only return incidents updated after this time.").optional(),
|
|
243
|
+
updatedBefore: external_exports.iso.datetime({ offset: true }).describe("Only return incidents updated before this time.").optional()
|
|
244
|
+
}).describe("The input payload for listing FireHydrant incidents.");
|
|
245
|
+
var listIncidentsOutput = external_exports.strictObject({
|
|
246
|
+
incidents: external_exports.array(external_exports.strictObject({
|
|
247
|
+
id: external_exports.string().describe("The incident UUID.").nullable(),
|
|
248
|
+
name: external_exports.string().describe("The incident name.").nullable(),
|
|
249
|
+
number: external_exports.int().describe("The incident number.").nullable(),
|
|
250
|
+
summary: external_exports.string().describe("The incident summary.").nullable(),
|
|
251
|
+
description: external_exports.string().describe("The incident description.").nullable(),
|
|
252
|
+
customerImpactSummary: external_exports.string().describe("The customer impact summary.").nullable(),
|
|
253
|
+
currentMilestone: external_exports.string().describe("The current incident milestone slug.").nullable(),
|
|
254
|
+
severity: external_exports.string().describe("The incident severity.").nullable(),
|
|
255
|
+
priority: external_exports.string().describe("The incident priority.").nullable(),
|
|
256
|
+
createdAt: external_exports.string().describe("When the incident was created.").nullable(),
|
|
257
|
+
startedAt: external_exports.string().describe("When the incident started.").nullable(),
|
|
258
|
+
updatedAt: external_exports.string().describe("When the incident was last updated.").nullable(),
|
|
259
|
+
incidentUrl: external_exports.string().describe("The FireHydrant incident URL.").nullable(),
|
|
260
|
+
active: external_exports.boolean().describe("Whether the incident is active.").nullable(),
|
|
261
|
+
restricted: external_exports.boolean().describe("Whether the incident is restricted.").nullable(),
|
|
262
|
+
services: external_exports.array(external_exports.strictObject({
|
|
263
|
+
id: external_exports.string().describe("The related entity identifier.").nullable(),
|
|
264
|
+
name: external_exports.string().describe("The related entity name.").nullable(),
|
|
265
|
+
slug: external_exports.string().describe("The related entity slug.").nullable(),
|
|
266
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
267
|
+
}).describe("A compact FireHydrant related entity.")).describe("Services impacted by the incident."),
|
|
268
|
+
environments: external_exports.array(external_exports.strictObject({
|
|
269
|
+
id: external_exports.string().describe("The related entity identifier.").nullable(),
|
|
270
|
+
name: external_exports.string().describe("The related entity name.").nullable(),
|
|
271
|
+
slug: external_exports.string().describe("The related entity slug.").nullable(),
|
|
272
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
273
|
+
}).describe("A compact FireHydrant related entity.")).describe("Environments impacted by the incident."),
|
|
274
|
+
tags: external_exports.array(external_exports.string().describe("A FireHydrant incident tag.")).describe("Tags attached to the incident."),
|
|
275
|
+
labels: external_exports.record(external_exports.string(), external_exports.unknown().describe("The label value.")).describe("FireHydrant labels keyed by label name.").nullable(),
|
|
276
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
277
|
+
}).describe("A normalized FireHydrant incident.")).describe("The incidents returned by FireHydrant."),
|
|
278
|
+
pagination: external_exports.strictObject({
|
|
279
|
+
count: external_exports.int().describe("The total number of matching records.").nullable(),
|
|
280
|
+
page: external_exports.int().describe("The current page number.").nullable(),
|
|
281
|
+
items: external_exports.int().describe("The number of records returned on this page.").nullable(),
|
|
282
|
+
pages: external_exports.int().describe("The total number of available pages.").nullable(),
|
|
283
|
+
last: external_exports.int().describe("The last page number.").nullable(),
|
|
284
|
+
prev: external_exports.int().describe("The previous page number.").nullable(),
|
|
285
|
+
next: external_exports.int().describe("The next page number.").nullable(),
|
|
286
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
287
|
+
}).describe("Pagination metadata returned by FireHydrant.").nullable(),
|
|
288
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
289
|
+
}).describe("The response returned when listing FireHydrant incidents.");
|
|
290
|
+
var getIncidentInput = external_exports.strictObject({
|
|
291
|
+
incidentId: external_exports.string().min(1).describe("The incident ID to load.")
|
|
292
|
+
}).describe("The input payload for loading one FireHydrant incident.");
|
|
293
|
+
var getIncidentOutput = external_exports.strictObject({
|
|
294
|
+
incident: external_exports.strictObject({
|
|
295
|
+
id: external_exports.string().describe("The incident UUID.").nullable(),
|
|
296
|
+
name: external_exports.string().describe("The incident name.").nullable(),
|
|
297
|
+
number: external_exports.int().describe("The incident number.").nullable(),
|
|
298
|
+
summary: external_exports.string().describe("The incident summary.").nullable(),
|
|
299
|
+
description: external_exports.string().describe("The incident description.").nullable(),
|
|
300
|
+
customerImpactSummary: external_exports.string().describe("The customer impact summary.").nullable(),
|
|
301
|
+
currentMilestone: external_exports.string().describe("The current incident milestone slug.").nullable(),
|
|
302
|
+
severity: external_exports.string().describe("The incident severity.").nullable(),
|
|
303
|
+
priority: external_exports.string().describe("The incident priority.").nullable(),
|
|
304
|
+
createdAt: external_exports.string().describe("When the incident was created.").nullable(),
|
|
305
|
+
startedAt: external_exports.string().describe("When the incident started.").nullable(),
|
|
306
|
+
updatedAt: external_exports.string().describe("When the incident was last updated.").nullable(),
|
|
307
|
+
incidentUrl: external_exports.string().describe("The FireHydrant incident URL.").nullable(),
|
|
308
|
+
active: external_exports.boolean().describe("Whether the incident is active.").nullable(),
|
|
309
|
+
restricted: external_exports.boolean().describe("Whether the incident is restricted.").nullable(),
|
|
310
|
+
services: external_exports.array(external_exports.strictObject({
|
|
311
|
+
id: external_exports.string().describe("The related entity identifier.").nullable(),
|
|
312
|
+
name: external_exports.string().describe("The related entity name.").nullable(),
|
|
313
|
+
slug: external_exports.string().describe("The related entity slug.").nullable(),
|
|
314
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
315
|
+
}).describe("A compact FireHydrant related entity.")).describe("Services impacted by the incident."),
|
|
316
|
+
environments: external_exports.array(external_exports.strictObject({
|
|
317
|
+
id: external_exports.string().describe("The related entity identifier.").nullable(),
|
|
318
|
+
name: external_exports.string().describe("The related entity name.").nullable(),
|
|
319
|
+
slug: external_exports.string().describe("The related entity slug.").nullable(),
|
|
320
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
321
|
+
}).describe("A compact FireHydrant related entity.")).describe("Environments impacted by the incident."),
|
|
322
|
+
tags: external_exports.array(external_exports.string().describe("A FireHydrant incident tag.")).describe("Tags attached to the incident."),
|
|
323
|
+
labels: external_exports.record(external_exports.string(), external_exports.unknown().describe("The label value.")).describe("FireHydrant labels keyed by label name.").nullable(),
|
|
324
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
325
|
+
}).describe("A normalized FireHydrant incident."),
|
|
326
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
327
|
+
}).describe("The response returned when loading a FireHydrant incident.");
|
|
328
|
+
var createIncidentInput = external_exports.strictObject({
|
|
329
|
+
name: external_exports.string().min(1).describe("The incident name."),
|
|
330
|
+
summary: external_exports.string().describe("The incident summary.").optional(),
|
|
331
|
+
customerImpactSummary: external_exports.string().describe("The customer impact summary.").optional(),
|
|
332
|
+
description: external_exports.string().describe("The incident description.").optional(),
|
|
333
|
+
priority: external_exports.string().describe("The incident priority.").optional(),
|
|
334
|
+
severity: external_exports.string().describe("The incident severity.").optional(),
|
|
335
|
+
severityConditionId: external_exports.string().min(1).describe("The severity condition ID.").optional(),
|
|
336
|
+
severityImpactId: external_exports.string().min(1).describe("The severity impact ID.").optional(),
|
|
337
|
+
labels: external_exports.record(external_exports.string(), external_exports.unknown().describe("The label value.")).describe("FireHydrant labels keyed by label name.").optional(),
|
|
338
|
+
tagList: external_exports.array(external_exports.string().describe("A FireHydrant incident tag.")).describe("Tags to attach to the incident.").optional(),
|
|
339
|
+
impacts: external_exports.array(external_exports.strictObject({
|
|
340
|
+
type: external_exports.enum(["environment", "functionality", "service"]).describe("The impacted infrastructure type."),
|
|
341
|
+
id: external_exports.string().min(1).describe("The impacted infrastructure ID."),
|
|
342
|
+
conditionId: external_exports.string().min(1).describe("The severity matrix condition ID for the impact.")
|
|
343
|
+
}).describe("An impacted FireHydrant infrastructure item.")).describe("Impacted infrastructure to attach to the incident.").optional(),
|
|
344
|
+
teamIds: external_exports.array(external_exports.string().min(1).describe("A FireHydrant team ID.")).describe("Team IDs to assign to the incident.").optional(),
|
|
345
|
+
restricted: external_exports.boolean().describe("Whether the incident should be restricted.").optional(),
|
|
346
|
+
incidentTypeId: external_exports.string().min(1).describe("The incident type ID.").optional(),
|
|
347
|
+
skipIncidentTypeValues: external_exports.boolean().describe("Whether to skip values copied from the incident type.").optional()
|
|
348
|
+
}).describe("The input payload for creating a FireHydrant incident.");
|
|
349
|
+
var createIncidentOutput = external_exports.strictObject({
|
|
350
|
+
incident: external_exports.strictObject({
|
|
351
|
+
id: external_exports.string().describe("The incident UUID.").nullable(),
|
|
352
|
+
name: external_exports.string().describe("The incident name.").nullable(),
|
|
353
|
+
number: external_exports.int().describe("The incident number.").nullable(),
|
|
354
|
+
summary: external_exports.string().describe("The incident summary.").nullable(),
|
|
355
|
+
description: external_exports.string().describe("The incident description.").nullable(),
|
|
356
|
+
customerImpactSummary: external_exports.string().describe("The customer impact summary.").nullable(),
|
|
357
|
+
currentMilestone: external_exports.string().describe("The current incident milestone slug.").nullable(),
|
|
358
|
+
severity: external_exports.string().describe("The incident severity.").nullable(),
|
|
359
|
+
priority: external_exports.string().describe("The incident priority.").nullable(),
|
|
360
|
+
createdAt: external_exports.string().describe("When the incident was created.").nullable(),
|
|
361
|
+
startedAt: external_exports.string().describe("When the incident started.").nullable(),
|
|
362
|
+
updatedAt: external_exports.string().describe("When the incident was last updated.").nullable(),
|
|
363
|
+
incidentUrl: external_exports.string().describe("The FireHydrant incident URL.").nullable(),
|
|
364
|
+
active: external_exports.boolean().describe("Whether the incident is active.").nullable(),
|
|
365
|
+
restricted: external_exports.boolean().describe("Whether the incident is restricted.").nullable(),
|
|
366
|
+
services: external_exports.array(external_exports.strictObject({
|
|
367
|
+
id: external_exports.string().describe("The related entity identifier.").nullable(),
|
|
368
|
+
name: external_exports.string().describe("The related entity name.").nullable(),
|
|
369
|
+
slug: external_exports.string().describe("The related entity slug.").nullable(),
|
|
370
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
371
|
+
}).describe("A compact FireHydrant related entity.")).describe("Services impacted by the incident."),
|
|
372
|
+
environments: external_exports.array(external_exports.strictObject({
|
|
373
|
+
id: external_exports.string().describe("The related entity identifier.").nullable(),
|
|
374
|
+
name: external_exports.string().describe("The related entity name.").nullable(),
|
|
375
|
+
slug: external_exports.string().describe("The related entity slug.").nullable(),
|
|
376
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
377
|
+
}).describe("A compact FireHydrant related entity.")).describe("Environments impacted by the incident."),
|
|
378
|
+
tags: external_exports.array(external_exports.string().describe("A FireHydrant incident tag.")).describe("Tags attached to the incident."),
|
|
379
|
+
labels: external_exports.record(external_exports.string(), external_exports.unknown().describe("The label value.")).describe("FireHydrant labels keyed by label name.").nullable(),
|
|
380
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
381
|
+
}).describe("A normalized FireHydrant incident."),
|
|
382
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
383
|
+
}).describe("The response returned when creating a FireHydrant incident.");
|
|
384
|
+
var listServicesInput = external_exports.strictObject({
|
|
385
|
+
page: external_exports.int().min(1).describe("The page number to request.").optional(),
|
|
386
|
+
perPage: external_exports.int().min(1).max(200).describe("The number of records to request per page. FireHydrant allows up to 200.").optional(),
|
|
387
|
+
query: external_exports.string().describe("A free-text query to search matching records.").optional(),
|
|
388
|
+
name: external_exports.string().describe("A name query to search matching records.").optional()
|
|
389
|
+
}).describe("The input payload for FireHydrant paginated list actions.");
|
|
390
|
+
var listServicesOutput = external_exports.strictObject({
|
|
391
|
+
services: external_exports.array(external_exports.strictObject({
|
|
392
|
+
id: external_exports.string().describe("The catalog entry UUID.").nullable(),
|
|
393
|
+
name: external_exports.string().describe("The catalog entry name.").nullable(),
|
|
394
|
+
slug: external_exports.string().describe("The catalog entry slug.").nullable(),
|
|
395
|
+
description: external_exports.string().describe("The catalog entry description.").nullable(),
|
|
396
|
+
serviceTier: external_exports.int().describe("The service tier when FireHydrant provides one.").nullable(),
|
|
397
|
+
createdAt: external_exports.string().describe("When the catalog entry was created.").nullable(),
|
|
398
|
+
updatedAt: external_exports.string().describe("When the catalog entry was last updated.").nullable(),
|
|
399
|
+
activeIncidents: external_exports.array(external_exports.string().describe("An active incident identifier.")).describe("Active incident identifiers associated with this catalog entry."),
|
|
400
|
+
labels: external_exports.record(external_exports.string(), external_exports.unknown().describe("The label value.")).describe("FireHydrant labels keyed by label name.").nullable(),
|
|
401
|
+
owner: external_exports.strictObject({
|
|
402
|
+
id: external_exports.string().describe("The related entity identifier.").nullable(),
|
|
403
|
+
name: external_exports.string().describe("The related entity name.").nullable(),
|
|
404
|
+
slug: external_exports.string().describe("The related entity slug.").nullable(),
|
|
405
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
406
|
+
}).describe("A compact FireHydrant related entity.").nullable(),
|
|
407
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
408
|
+
}).describe("A normalized FireHydrant catalog entry.")).describe("The services returned by FireHydrant."),
|
|
409
|
+
pagination: external_exports.strictObject({
|
|
410
|
+
count: external_exports.int().describe("The total number of matching records.").nullable(),
|
|
411
|
+
page: external_exports.int().describe("The current page number.").nullable(),
|
|
412
|
+
items: external_exports.int().describe("The number of records returned on this page.").nullable(),
|
|
413
|
+
pages: external_exports.int().describe("The total number of available pages.").nullable(),
|
|
414
|
+
last: external_exports.int().describe("The last page number.").nullable(),
|
|
415
|
+
prev: external_exports.int().describe("The previous page number.").nullable(),
|
|
416
|
+
next: external_exports.int().describe("The next page number.").nullable(),
|
|
417
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
418
|
+
}).describe("Pagination metadata returned by FireHydrant.").nullable(),
|
|
419
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
420
|
+
}).describe("The response returned when listing FireHydrant services.");
|
|
421
|
+
var getServiceInput = external_exports.strictObject({
|
|
422
|
+
serviceId: external_exports.string().min(1).describe("The service UUID or slug to load.")
|
|
423
|
+
}).describe("The input payload for loading one FireHydrant service.");
|
|
424
|
+
var getServiceOutput = external_exports.strictObject({
|
|
425
|
+
service: external_exports.strictObject({
|
|
426
|
+
id: external_exports.string().describe("The catalog entry UUID.").nullable(),
|
|
427
|
+
name: external_exports.string().describe("The catalog entry name.").nullable(),
|
|
428
|
+
slug: external_exports.string().describe("The catalog entry slug.").nullable(),
|
|
429
|
+
description: external_exports.string().describe("The catalog entry description.").nullable(),
|
|
430
|
+
serviceTier: external_exports.int().describe("The service tier when FireHydrant provides one.").nullable(),
|
|
431
|
+
createdAt: external_exports.string().describe("When the catalog entry was created.").nullable(),
|
|
432
|
+
updatedAt: external_exports.string().describe("When the catalog entry was last updated.").nullable(),
|
|
433
|
+
activeIncidents: external_exports.array(external_exports.string().describe("An active incident identifier.")).describe("Active incident identifiers associated with this catalog entry."),
|
|
434
|
+
labels: external_exports.record(external_exports.string(), external_exports.unknown().describe("The label value.")).describe("FireHydrant labels keyed by label name.").nullable(),
|
|
435
|
+
owner: external_exports.strictObject({
|
|
436
|
+
id: external_exports.string().describe("The related entity identifier.").nullable(),
|
|
437
|
+
name: external_exports.string().describe("The related entity name.").nullable(),
|
|
438
|
+
slug: external_exports.string().describe("The related entity slug.").nullable(),
|
|
439
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
440
|
+
}).describe("A compact FireHydrant related entity.").nullable(),
|
|
441
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
442
|
+
}).describe("A normalized FireHydrant catalog entry."),
|
|
443
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
444
|
+
}).describe("The response returned when loading a FireHydrant service.");
|
|
445
|
+
var listEnvironmentsInput = external_exports.strictObject({
|
|
446
|
+
page: external_exports.int().min(1).describe("The page number to request.").optional(),
|
|
447
|
+
perPage: external_exports.int().min(1).max(200).describe("The number of records to request per page. FireHydrant allows up to 200.").optional(),
|
|
448
|
+
query: external_exports.string().describe("A free-text query to search matching records.").optional(),
|
|
449
|
+
name: external_exports.string().describe("A name query to search matching records.").optional()
|
|
450
|
+
}).describe("The input payload for FireHydrant paginated list actions.");
|
|
451
|
+
var listEnvironmentsOutput = external_exports.strictObject({
|
|
452
|
+
environments: external_exports.array(external_exports.strictObject({
|
|
453
|
+
id: external_exports.string().describe("The catalog entry UUID.").nullable(),
|
|
454
|
+
name: external_exports.string().describe("The catalog entry name.").nullable(),
|
|
455
|
+
slug: external_exports.string().describe("The catalog entry slug.").nullable(),
|
|
456
|
+
description: external_exports.string().describe("The catalog entry description.").nullable(),
|
|
457
|
+
serviceTier: external_exports.int().describe("The service tier when FireHydrant provides one.").nullable(),
|
|
458
|
+
createdAt: external_exports.string().describe("When the catalog entry was created.").nullable(),
|
|
459
|
+
updatedAt: external_exports.string().describe("When the catalog entry was last updated.").nullable(),
|
|
460
|
+
activeIncidents: external_exports.array(external_exports.string().describe("An active incident identifier.")).describe("Active incident identifiers associated with this catalog entry."),
|
|
461
|
+
labels: external_exports.record(external_exports.string(), external_exports.unknown().describe("The label value.")).describe("FireHydrant labels keyed by label name.").nullable(),
|
|
462
|
+
owner: external_exports.strictObject({
|
|
463
|
+
id: external_exports.string().describe("The related entity identifier.").nullable(),
|
|
464
|
+
name: external_exports.string().describe("The related entity name.").nullable(),
|
|
465
|
+
slug: external_exports.string().describe("The related entity slug.").nullable(),
|
|
466
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
467
|
+
}).describe("A compact FireHydrant related entity.").nullable(),
|
|
468
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
469
|
+
}).describe("A normalized FireHydrant catalog entry.")).describe("The environments returned by FireHydrant."),
|
|
470
|
+
pagination: external_exports.strictObject({
|
|
471
|
+
count: external_exports.int().describe("The total number of matching records.").nullable(),
|
|
472
|
+
page: external_exports.int().describe("The current page number.").nullable(),
|
|
473
|
+
items: external_exports.int().describe("The number of records returned on this page.").nullable(),
|
|
474
|
+
pages: external_exports.int().describe("The total number of available pages.").nullable(),
|
|
475
|
+
last: external_exports.int().describe("The last page number.").nullable(),
|
|
476
|
+
prev: external_exports.int().describe("The previous page number.").nullable(),
|
|
477
|
+
next: external_exports.int().describe("The next page number.").nullable(),
|
|
478
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
479
|
+
}).describe("Pagination metadata returned by FireHydrant.").nullable(),
|
|
480
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
481
|
+
}).describe("The response returned when listing FireHydrant environments.");
|
|
482
|
+
var getEnvironmentInput = external_exports.strictObject({
|
|
483
|
+
environmentId: external_exports.string().min(1).describe("The environment UUID or slug to load.")
|
|
484
|
+
}).describe("The input payload for loading one FireHydrant environment.");
|
|
485
|
+
var getEnvironmentOutput = external_exports.strictObject({
|
|
486
|
+
environment: external_exports.strictObject({
|
|
487
|
+
id: external_exports.string().describe("The catalog entry UUID.").nullable(),
|
|
488
|
+
name: external_exports.string().describe("The catalog entry name.").nullable(),
|
|
489
|
+
slug: external_exports.string().describe("The catalog entry slug.").nullable(),
|
|
490
|
+
description: external_exports.string().describe("The catalog entry description.").nullable(),
|
|
491
|
+
serviceTier: external_exports.int().describe("The service tier when FireHydrant provides one.").nullable(),
|
|
492
|
+
createdAt: external_exports.string().describe("When the catalog entry was created.").nullable(),
|
|
493
|
+
updatedAt: external_exports.string().describe("When the catalog entry was last updated.").nullable(),
|
|
494
|
+
activeIncidents: external_exports.array(external_exports.string().describe("An active incident identifier.")).describe("Active incident identifiers associated with this catalog entry."),
|
|
495
|
+
labels: external_exports.record(external_exports.string(), external_exports.unknown().describe("The label value.")).describe("FireHydrant labels keyed by label name.").nullable(),
|
|
496
|
+
owner: external_exports.strictObject({
|
|
497
|
+
id: external_exports.string().describe("The related entity identifier.").nullable(),
|
|
498
|
+
name: external_exports.string().describe("The related entity name.").nullable(),
|
|
499
|
+
slug: external_exports.string().describe("The related entity slug.").nullable(),
|
|
500
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
501
|
+
}).describe("A compact FireHydrant related entity.").nullable(),
|
|
502
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
503
|
+
}).describe("A normalized FireHydrant catalog entry."),
|
|
504
|
+
raw: external_exports.looseObject({}).describe("The raw object returned by FireHydrant.")
|
|
505
|
+
}).describe("The response returned when loading a FireHydrant environment.");
|
|
506
|
+
var firehydrantActions = {
|
|
507
|
+
list_incidents: {
|
|
508
|
+
description: "List FireHydrant incidents with stable pagination and common filters.",
|
|
509
|
+
effect: "read",
|
|
510
|
+
inputSchema: listIncidentsInput,
|
|
511
|
+
outputSchema: external_exports.toJSONSchema(listIncidentsOutput, { io: "output", unrepresentable: "any" })
|
|
512
|
+
},
|
|
513
|
+
get_incident: {
|
|
514
|
+
description: "Retrieve a single FireHydrant incident by ID.",
|
|
515
|
+
effect: "read",
|
|
516
|
+
inputSchema: getIncidentInput,
|
|
517
|
+
outputSchema: external_exports.toJSONSchema(getIncidentOutput, { io: "output", unrepresentable: "any" })
|
|
518
|
+
},
|
|
519
|
+
create_incident: {
|
|
520
|
+
description: "Create a FireHydrant incident using a JSON-friendly request body.",
|
|
521
|
+
effect: "write",
|
|
522
|
+
inputSchema: createIncidentInput,
|
|
523
|
+
outputSchema: external_exports.toJSONSchema(createIncidentOutput, { io: "output", unrepresentable: "any" })
|
|
524
|
+
},
|
|
525
|
+
list_services: {
|
|
526
|
+
description: "List FireHydrant services with pagination and search filters.",
|
|
527
|
+
effect: "read",
|
|
528
|
+
inputSchema: listServicesInput,
|
|
529
|
+
outputSchema: external_exports.toJSONSchema(listServicesOutput, { io: "output", unrepresentable: "any" })
|
|
530
|
+
},
|
|
531
|
+
get_service: {
|
|
532
|
+
description: "Retrieve a single FireHydrant service by UUID or slug.",
|
|
533
|
+
effect: "read",
|
|
534
|
+
inputSchema: getServiceInput,
|
|
535
|
+
outputSchema: external_exports.toJSONSchema(getServiceOutput, { io: "output", unrepresentable: "any" })
|
|
536
|
+
},
|
|
537
|
+
list_environments: {
|
|
538
|
+
description: "List FireHydrant environments with pagination and search filters.",
|
|
539
|
+
effect: "read",
|
|
540
|
+
inputSchema: listEnvironmentsInput,
|
|
541
|
+
outputSchema: external_exports.toJSONSchema(listEnvironmentsOutput, { io: "output", unrepresentable: "any" })
|
|
542
|
+
},
|
|
543
|
+
get_environment: {
|
|
544
|
+
description: "Retrieve a single FireHydrant environment by UUID or slug.",
|
|
545
|
+
effect: "read",
|
|
546
|
+
inputSchema: getEnvironmentInput,
|
|
547
|
+
outputSchema: external_exports.toJSONSchema(getEnvironmentOutput, { io: "output", unrepresentable: "any" })
|
|
548
|
+
}
|
|
549
|
+
};
|
|
550
|
+
|
|
551
|
+
// ../plugins/src/firehydrant/index.ts
|
|
552
|
+
function createFirehydrantPlugin() {
|
|
553
|
+
return createProviderPlugin({
|
|
554
|
+
description: "FireHydrant",
|
|
555
|
+
actions: firehydrantActions,
|
|
556
|
+
// 上游 credentialValidators 打 /incidents?per_page=1 验凭证;这里对应 list_incidents。
|
|
557
|
+
credentialProbe: "list_incidents",
|
|
558
|
+
handlers: {
|
|
559
|
+
list_incidents: listIncidents,
|
|
560
|
+
get_incident: getIncident,
|
|
561
|
+
create_incident: createIncident,
|
|
562
|
+
list_services: listServices,
|
|
563
|
+
get_service: getService,
|
|
564
|
+
list_environments: listEnvironments,
|
|
565
|
+
get_environment: getEnvironment
|
|
566
|
+
}
|
|
567
|
+
});
|
|
568
|
+
}
|
|
569
|
+
var firehydrant_default = createFirehydrantPlugin();
|
|
570
|
+
export {
|
|
571
|
+
createFirehydrantPlugin,
|
|
572
|
+
firehydrant_default as default
|
|
573
|
+
};
|