@redocly/replay 0.27.0-next.6 → 0.27.0-next.8
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/{replay-AiChatProvider-D7E0a83D.js → replay-AiChatProvider-DHIxHTKX.js} +6 -6
- package/dist/{replay-AiChatProvider-p9SioFWy.js → replay-AiChatProvider-O8HHQobN.js} +1 -1
- package/dist/{replay-AiChatSqliteDBStorage-CKQJ5VZi.js → replay-AiChatSqliteDBStorage-DNMrzkJg.js} +1 -1
- package/dist/{replay-AiChatSqliteDBStorage-DgGB1XKW.js → replay-AiChatSqliteDBStorage-DjUq9VX3.js} +1 -1
- package/dist/{replay-AiPanel-DvOGYsWl.js → replay-AiPanel-CR815YqV.js} +1178 -1111
- package/dist/replay-AiPanel-CfYBCkrN.js +868 -0
- package/dist/{replay-SqliteDBStorage-D_31Bd3Z.js → replay-SqliteDBStorage-B3oYWXem.js} +1 -1
- package/dist/{replay-SqliteDBStorage-CNJbZXTw.js → replay-SqliteDBStorage-CC9kLioX.js} +1 -1
- package/dist/{replay-agent-loop-DklepPbJ.js → replay-agent-loop-CCYOzyHo.js} +3 -3
- package/dist/{replay-agent-loop-fKCHgyOD.js → replay-agent-loop-CTq5eJ4u.js} +1 -1
- package/dist/{replay-ai-chat-mappers-D-vUBq2s.js → replay-ai-chat-mappers-B_wovMvG.js} +1 -1
- package/dist/{replay-ai-chat-mappers-IWtvE0Nl.js → replay-ai-chat-mappers-C8y5UhCq.js} +1 -1
- package/dist/{replay-create-model-CfrWgdF7.js → replay-create-model-C5yvtnXA.js} +2 -2
- package/dist/{replay-create-model-xGRAIhcu.js → replay-create-model-CBCmuEKC.js} +2 -2
- package/dist/{replay-db-XlueEDU-.js → replay-db-CCBQadnT.js} +3 -3
- package/dist/{replay-db-BtdwaWh3.js → replay-db-DfOjLqsq.js} +7 -7
- package/dist/{replay-external-resolver-Skh0OGde.js → replay-external-resolver-B6tpqUZt.js} +1 -1
- package/dist/{replay-external-resolver-D6VSVDwt.js → replay-external-resolver-BRouROm6.js} +2 -2
- package/dist/{replay-index-BEzVYZeb.js → replay-index-B_OHqSlS.js} +5 -5
- package/dist/{replay-index-CCvitTKt.js → replay-index-Bzttek8l.js} +1 -1
- package/dist/{replay-index-DXnDNeqk.js → replay-index-BzzBKjHm.js} +22915 -22423
- package/dist/{replay-index-BOB__Jm6.js → replay-index-Cpkh9r0X.js} +1 -1
- package/dist/{replay-index-S_wAPmTA.js → replay-index-Dfnqt_IZ.js} +1153 -1131
- package/dist/{replay-index-fVC8e5y9.js → replay-index-Xq6K7XSm.js} +1 -1
- package/dist/{replay-lint-DjMIgYfF.js → replay-lint-DlDmPTBV.js} +6950 -6653
- package/dist/{replay-lint-graphql-Bltv-T6_.js → replay-lint-graphql-BQJ00lU4.js} +1 -1
- package/dist/{replay-lint-graphql-bkrdHRy7.js → replay-lint-graphql-DHOq8lRT.js} +1 -1
- package/dist/replay-lint-gtuMJgII.js +184 -0
- package/dist/{replay-resolve-CQL6WBG1.js → replay-resolve-DqFS69S_.js} +1 -1
- package/dist/{replay-resolve-BhcSceq-.js → replay-resolve-DsgcWnjC.js} +1 -1
- package/dist/{replay-respect-run-rJm4W93K.js → replay-respect-run-7Cwe1_ri.js} +23 -23
- package/dist/{replay-respect-run-CecN1j9r.js → replay-respect-run-D1zyh-5j.js} +297 -295
- package/dist/{replay-tauri-path--BfusnkB.js → replay-tauri-path-BAY3g5sW.js} +2 -2
- package/dist/{replay-tauri-path--8KtMkGg.js → replay-tauri-path-CaVeI3a-.js} +1 -1
- package/dist/{replay-useAiChatQueries-Btd-PmIH.js → replay-useAiChatQueries-CxZNLVje.js} +155 -153
- package/dist/{replay-useAiChatQueries-B1-NwsZz.js → replay-useAiChatQueries-D99tAUpY.js} +4 -2
- package/dist/{replay-validate-key-Bk0SFd3-.js → replay-validate-key-Cv0mvYDS.js} +1 -1
- package/dist/{replay-validate-key-CYsfegSv.js → replay-validate-key-Di8MCBz7.js} +2 -2
- package/dist/replay.cjs +1 -1
- package/dist/replay.js +1 -1
- package/package.json +4 -4
- package/dist/replay-AiPanel-BLkqnlmb.js +0 -849
- package/dist/replay-lint-BCVeL_wb.js +0 -184
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { useContext as Et, createContext as
|
|
2
|
-
import { R as
|
|
3
|
-
import { b as k, f as at, a as it, c as ct, d as Z, e as lt, i as
|
|
4
|
-
import { b as oo, o as no, d as ro, e as p, u as ee, f as c, h as
|
|
1
|
+
import { useContext as Et, createContext as xt } from "react";
|
|
2
|
+
import { R as $t, E as se, a1 as H, a2 as Rt, a3 as _t, a4 as qt, b as O, U as D, a5 as Je, a6 as de, Q as ue, a7 as Qe, a8 as pe, a9 as fe, aa as Pt, ab as j, ac as me, ad as Xe, ae as Ze, af as he, ag as Nt, ah as Ut, ai as Dt, I as Lt, aj as Wt, ak as et, al as tt, am as Mt, J as X, an as Ft, T as ot, H as nt, ao as jt, Y as Bt, ap as Oe, aq as Yt, ar as zt, as as Ae, at as Ht, au as Gt, O as g, av as Ee, aw as Vt, ax as xe, ay as Kt, az as Jt, aA as Qt, A as rt, a as st } from "./replay-index-BzzBKjHm.js";
|
|
3
|
+
import { b as k, f as at, a as it, c as ct, d as Z, e as lt, i as $e, h as we, R as L, j as Xt, k as Zt, p as eo, s as Re, l as to } from "./replay-db-DfOjLqsq.js";
|
|
4
|
+
import { b as oo, o as no, d as ro, e as p, u as ee, f as c, h as x, j as S, n as T, k as U, m as w, q as b, r as Ie, t as B, v as te, Z as W, w as so, x as _e, c as ao, s as io, y as co } from "./replay-create-model-C5yvtnXA.js";
|
|
5
5
|
import { useInfiniteQuery as lo, useQuery as uo } from "@tanstack/react-query";
|
|
6
6
|
const G = {
|
|
7
7
|
path: "pathParameters",
|
|
8
8
|
query: "queryParameters",
|
|
9
9
|
header: "headers",
|
|
10
10
|
cookie: "cookies"
|
|
11
|
-
},
|
|
11
|
+
}, $i = {
|
|
12
12
|
run_request: {
|
|
13
13
|
approveLabel: "Run",
|
|
14
14
|
denyLabel: "Skip"
|
|
@@ -55,7 +55,7 @@ function mo(e) {
|
|
|
55
55
|
return {
|
|
56
56
|
[z.WEB_SEARCH]: oo.tools.webFetch_20250910()
|
|
57
57
|
};
|
|
58
|
-
case
|
|
58
|
+
case $t:
|
|
59
59
|
return {
|
|
60
60
|
[z.WEB_SEARCH]: {
|
|
61
61
|
type: "provider",
|
|
@@ -69,12 +69,12 @@ function mo(e) {
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
const ho = ["info", "workflows", "sourceDescriptions"];
|
|
72
|
-
function
|
|
72
|
+
function wo(e) {
|
|
73
73
|
const t = [];
|
|
74
74
|
return e.collectionId && t.push(`Collection ID: ${e.collectionId}`), e.collection?.info?.title && t.push(`Title: ${e.collection.info.title}`), e.collection?.info?.summary && t.push(`Summary: ${e.collection.info.summary}`), e.collection?.info?.description && t.push(`Description: ${e.collection.info.description}`), k(t, `
|
|
75
75
|
`);
|
|
76
76
|
}
|
|
77
|
-
function
|
|
77
|
+
function Io(e) {
|
|
78
78
|
const t = [];
|
|
79
79
|
if (e.collection?.workflows?.length) {
|
|
80
80
|
t.push("Workflows:");
|
|
@@ -99,10 +99,10 @@ function vo(e, t) {
|
|
|
99
99
|
for (const n of t)
|
|
100
100
|
switch (n) {
|
|
101
101
|
case "info":
|
|
102
|
-
o.push(
|
|
102
|
+
o.push(wo(e));
|
|
103
103
|
break;
|
|
104
104
|
case "workflows":
|
|
105
|
-
o.push(
|
|
105
|
+
o.push(Io(e));
|
|
106
106
|
break;
|
|
107
107
|
case "sourceDescriptions":
|
|
108
108
|
o.push(yo(e));
|
|
@@ -176,9 +176,9 @@ function Oo(e) {
|
|
|
176
176
|
return e.steps?.length ? `Step wiring (security + outputs per step):
|
|
177
177
|
${e.steps.map((o) => {
|
|
178
178
|
const n = [` stepId=${o.stepId}${dt(o)}`], r = Z(o.security);
|
|
179
|
-
r && n.push(
|
|
180
|
-
const s =
|
|
181
|
-
return s && n.push(
|
|
179
|
+
r && n.push($e(r, " "));
|
|
180
|
+
const s = we(o.outputs);
|
|
181
|
+
return s && n.push($e(s, " ")), n.join(`
|
|
182
182
|
`);
|
|
183
183
|
}).join(`
|
|
184
184
|
`)}` : null;
|
|
@@ -206,7 +206,7 @@ function Eo(e) {
|
|
|
206
206
|
return e.collectionId && t.push(`Collection ID: ${e.collectionId}`), e.workflowId && t.push(`Workflow ID: ${e.workflowId}`), e.workflow?.summary && t.push(`Summary: ${e.workflow.summary}`), e.workflow?.description && t.push(`Description: ${e.workflow.description}`), k(t, `
|
|
207
207
|
`);
|
|
208
208
|
}
|
|
209
|
-
function
|
|
209
|
+
function xo(e, t) {
|
|
210
210
|
const o = ["Current tab (workflow)"], n = e.workflow;
|
|
211
211
|
for (const r of t) {
|
|
212
212
|
if (r === "info") {
|
|
@@ -222,7 +222,7 @@ function $o(e, t) {
|
|
|
222
222
|
|
|
223
223
|
`);
|
|
224
224
|
}
|
|
225
|
-
function
|
|
225
|
+
function $o(e, t) {
|
|
226
226
|
return k(
|
|
227
227
|
[
|
|
228
228
|
e.collectionId ? `Collection ID: ${e.collectionId}` : null,
|
|
@@ -269,7 +269,7 @@ function No(e, t) {
|
|
|
269
269
|
case "security":
|
|
270
270
|
return Z(e.security) || null;
|
|
271
271
|
case "outputs":
|
|
272
|
-
return
|
|
272
|
+
return we(e.outputs) || null;
|
|
273
273
|
case "successCriteria":
|
|
274
274
|
return Xt(e.successCriteria) || null;
|
|
275
275
|
default:
|
|
@@ -373,7 +373,7 @@ function Fo(e, t) {
|
|
|
373
373
|
);
|
|
374
374
|
}
|
|
375
375
|
function jo(e, t) {
|
|
376
|
-
return e.type === "collection" ? go(e, t) : e.type === "workflow" ?
|
|
376
|
+
return e.type === "collection" ? go(e, t) : e.type === "workflow" ? $o(e, t) : e.type === "step" ? Fo(e, t) : bo(e, t);
|
|
377
377
|
}
|
|
378
378
|
function Bo(e, t) {
|
|
379
379
|
return e.map((o) => jo(o, t));
|
|
@@ -484,7 +484,7 @@ function en(e, t = ["info"], o) {
|
|
|
484
484
|
case O.Step:
|
|
485
485
|
return Lo(e, t);
|
|
486
486
|
case O.Workflow:
|
|
487
|
-
return
|
|
487
|
+
return xo(e, t);
|
|
488
488
|
case O.Collection:
|
|
489
489
|
return vo(e, t);
|
|
490
490
|
case O.WorkflowRun:
|
|
@@ -610,7 +610,7 @@ const dn = {
|
|
|
610
610
|
},
|
|
611
611
|
chatStatus: "ready",
|
|
612
612
|
chatError: void 0
|
|
613
|
-
}, un =
|
|
613
|
+
}, un = xt(
|
|
614
614
|
dn
|
|
615
615
|
);
|
|
616
616
|
function qi() {
|
|
@@ -627,28 +627,28 @@ p({
|
|
|
627
627
|
});
|
|
628
628
|
const ye = p({
|
|
629
629
|
action: S(["add", "update", "remove"]).describe('Action to perform: "add", "update" or "remove".'),
|
|
630
|
-
approved:
|
|
630
|
+
approved: x().default(!0)
|
|
631
631
|
}), _ = ye.extend({
|
|
632
632
|
id: c().optional().describe("Existing item id. Required for update/remove actions.")
|
|
633
633
|
}), fn = ye.extend({
|
|
634
634
|
index: T().int().min(0).optional().describe("Existing item index. Required for update/remove actions.")
|
|
635
635
|
}), mn = p({
|
|
636
|
-
isError:
|
|
637
|
-
blocked:
|
|
636
|
+
isError: w(!1),
|
|
637
|
+
blocked: w(!0),
|
|
638
638
|
note: c(),
|
|
639
639
|
data: U().optional(),
|
|
640
640
|
error: U().optional()
|
|
641
641
|
});
|
|
642
|
-
function
|
|
643
|
-
return
|
|
642
|
+
function $(e) {
|
|
643
|
+
return Ie([
|
|
644
644
|
p({
|
|
645
|
-
isError:
|
|
645
|
+
isError: w(!0),
|
|
646
646
|
error: pn,
|
|
647
647
|
data: U().optional(),
|
|
648
648
|
blocked: U().optional()
|
|
649
649
|
}),
|
|
650
650
|
p({
|
|
651
|
-
isError:
|
|
651
|
+
isError: w(!1),
|
|
652
652
|
data: e,
|
|
653
653
|
error: U().optional(),
|
|
654
654
|
note: c().optional(),
|
|
@@ -660,12 +660,12 @@ function x(e) {
|
|
|
660
660
|
const hn = p({
|
|
661
661
|
status: S(["applied", "failed"]),
|
|
662
662
|
summary: c().optional()
|
|
663
|
-
}),
|
|
663
|
+
}), wn = p({
|
|
664
664
|
totalChanges: T().int().min(0),
|
|
665
665
|
approvedChanges: T().int().min(0),
|
|
666
666
|
applied: b(hn),
|
|
667
667
|
resultingState: c().optional().describe("Resulting state of the mutated fields after all changes were applied.")
|
|
668
|
-
}), ft =
|
|
668
|
+
}), ft = $(wn), In = "Read structured state from the **active** Replay tab.\n\n**What it does**\n- Returns structured data for the active tab.\n- Read-only: does not open/switch tabs and does not mutate saved or unsaved content.\n- Returns UI-facing tab data (editable fields, configured values, responses/results), not a full OpenAPI schema dump.\n\n**Use when**\n- You need to verify UI state in the active tab after an action (edit, save, execute, rerun, tab switch).\n- You need to inspect request/response/result content as rendered in Replay UI.\n\n**Never use when**\n- You are gathering **initial schema/context** for a request from project assets (OpenAPI/Arazzo); use project-asset lookup with exact ids/coordinates.\n- You need IDs or operation/workflow coordinates from project assets; resolve them via project-asset lookup, not active-tab UI reads.\n- You need a different tab; this tool never changes focus.\n- You need to run a request or change any saved/unsaved tab content; this tool is strictly read-only.\n\n**Input guidance**\n- Treat IDs from `info` as canonical for follow-up actions.\n- Request only needed sections and combine them in one call.\n- Prefer including `info` unless you need only one slice.\n- Sections by tab type:\n - Collection tab: `info`, `workflows`, `sourceDescriptions`.\n - Workflow tab: `info`, `inputs`, `parameters`, `security`, `outputs`, `steps`, `wiring` (every step's security bindings + outputs in one call - inspect or verify multi-step wiring without opening step tabs).\n - Step tab: `info`, `parameters`, `requestBody`, `security`, `outputs`, `successCriteria`, `response`.\n - Workflow run tab: `info`, `result` (status, per-step outcomes, masked bodies; `stepIds` fetches full ones), `severity`.\n- Invalid sections are skipped; if none apply, response falls back to `info`.\n\n**Loop/budget guidance**\n- Read each needed section once per turn.\n- Re-read only after mutation/save, or when you need to inspect new output.\n- If `result` is RUNNING, re-read until the run finishes.", yn = S([
|
|
669
669
|
"info",
|
|
670
670
|
"workflows",
|
|
671
671
|
"sourceDescriptions",
|
|
@@ -689,8 +689,8 @@ const hn = p({
|
|
|
689
689
|
)
|
|
690
690
|
}), gn = p({
|
|
691
691
|
message: c()
|
|
692
|
-
}), bn =
|
|
693
|
-
description:
|
|
692
|
+
}), bn = $(gn), kn = {
|
|
693
|
+
description: In,
|
|
694
694
|
inputSchema: vn,
|
|
695
695
|
outputSchema: bn,
|
|
696
696
|
needsApproval: !1
|
|
@@ -757,21 +757,21 @@ const Cn = {
|
|
|
757
757
|
name: c(),
|
|
758
758
|
kind: S(["scalar", "object", "array"]),
|
|
759
759
|
count: T().int().nonnegative().optional()
|
|
760
|
-
}),
|
|
760
|
+
}), xn = p({
|
|
761
761
|
name: c(),
|
|
762
762
|
hint: c()
|
|
763
|
-
}),
|
|
763
|
+
}), $n = p({
|
|
764
764
|
available: b(En),
|
|
765
|
-
blocked: b(
|
|
765
|
+
blocked: b(xn)
|
|
766
766
|
}), Rn = p({
|
|
767
767
|
field: c(),
|
|
768
768
|
value: ee(),
|
|
769
769
|
start: T().int().nonnegative().optional(),
|
|
770
770
|
end: T().int().nonnegative().optional(),
|
|
771
771
|
total: T().int().nonnegative().optional(),
|
|
772
|
-
truncated:
|
|
772
|
+
truncated: x(),
|
|
773
773
|
nextCursor: c().nullable()
|
|
774
|
-
}), _n =
|
|
774
|
+
}), _n = Ie([$n, Rn]), qn = $(_n), Pn = {
|
|
775
775
|
description: On,
|
|
776
776
|
inputSchema: An,
|
|
777
777
|
outputSchema: qn,
|
|
@@ -951,17 +951,17 @@ const Hn = {
|
|
|
951
951
|
definition: Pn,
|
|
952
952
|
createExecutor: (e) => zn(e.store)
|
|
953
953
|
}, Gn = "Manage Replay collections and YAML-backed Arazzo workflows/steps.\n\n**What it does**\n- Creates or deletes collections, workflows, and steps.\n- Can copy the currently focused step tab into another workflow as a new step.\n- Returns a summary plus created/affected IDs when available.\n\n**Use when**\n- You need structural changes to collection/workflow/step hierarchy.\n- You need to create a workflow step from an OpenAPI operation, ad-hoc request, or blank step.\n- You need to persist the currently focused step tab into a target collection/workflow.\n\n**Never use when**\n- You only need to edit fields on an existing step without creating/deleting structure.\n- Required target ids are unknown or ambiguous.\n- You are not sure destructive deletes are intended.\n\n**Input guidance**\n- Provide `payload` with one `action` from:\n - `create_collection`, `delete_collection`\n - `create_workflow`, `delete_workflow`\n - `create_step`, `delete_step`\n - `save_tab_to_collection`\n- Resolve missing `collectionId`, `workflowId`, and `stepId` before mutation.\n- `create_collection`: `title` is display name and derives file ID.\n- `create_step`: choose one source shape:\n - `operation` for OpenAPI link (`apiId`, `path`, `method`, optional `operationId`)\n - `xOperation` for ad-hoc HTTP (`method` + `url`)\n - omit both for a blank step\n- `create_step` optional initial fields: `description`, `parameters`, `body`, `outputs`, `successCriteria`.\n- `save_tab_to_collection`: provide `targetCollectionId`, `targetWorkflowId`, and `newStepName`.\n\n**Loop/budget guidance**\n- Prefer batching related structure setup in minimal calls per workflow.\n- Track returned `stepId` values from create actions; names may be uniquified on collisions.\n- Define outputs for producer steps and reference them as `$steps.<stepId>.outputs.<name>` in downstream steps.\n- Add `successCriteria` on created steps so workflow runs fail on unexpected responses.", Vn = p({
|
|
954
|
-
action:
|
|
954
|
+
action: w("create_collection"),
|
|
955
955
|
title: c().min(1).describe("Collection display title (also used to derive the file id).")
|
|
956
956
|
}).strict(), Kn = p({
|
|
957
|
-
action:
|
|
957
|
+
action: w("delete_collection"),
|
|
958
958
|
collectionId: c().min(1).describe("Target collection id.")
|
|
959
959
|
}).strict(), Jn = p({
|
|
960
|
-
action:
|
|
960
|
+
action: w("create_workflow"),
|
|
961
961
|
collectionId: c().min(1).describe("Parent collection id."),
|
|
962
962
|
name: c().min(1).describe("Workflow summary / display name.")
|
|
963
963
|
}).strict(), Qn = p({
|
|
964
|
-
action:
|
|
964
|
+
action: w("delete_workflow"),
|
|
965
965
|
collectionId: c().min(1),
|
|
966
966
|
workflowId: c().min(1)
|
|
967
967
|
}).strict(), Xn = [
|
|
@@ -980,7 +980,7 @@ const Hn = {
|
|
|
980
980
|
context: c().optional(),
|
|
981
981
|
type: S(["simple", "regex", "jsonpath", "xpath"]).optional()
|
|
982
982
|
}).strict(), or = p({
|
|
983
|
-
action:
|
|
983
|
+
action: w("create_step"),
|
|
984
984
|
collectionId: c().min(1),
|
|
985
985
|
workflowId: c().min(1),
|
|
986
986
|
stepName: c().min(1).optional().describe(
|
|
@@ -1007,12 +1007,12 @@ const Hn = {
|
|
|
1007
1007
|
url: c().min(1).describe("Request URL.")
|
|
1008
1008
|
}).optional().describe("Ad-hoc HTTP request (method + URL). Omit if using operation or a blank step.")
|
|
1009
1009
|
}).strict(), nr = p({
|
|
1010
|
-
action:
|
|
1010
|
+
action: w("delete_step"),
|
|
1011
1011
|
collectionId: c().min(1),
|
|
1012
1012
|
workflowId: c().min(1),
|
|
1013
1013
|
stepId: c().min(1)
|
|
1014
1014
|
}).strict(), rr = p({
|
|
1015
|
-
action:
|
|
1015
|
+
action: w("save_tab_to_collection"),
|
|
1016
1016
|
targetCollectionId: c().min(1),
|
|
1017
1017
|
targetWorkflowId: c().min(1),
|
|
1018
1018
|
newStepName: c().min(1).describe(
|
|
@@ -1038,7 +1038,7 @@ const Hn = {
|
|
|
1038
1038
|
collectionId: c().optional(),
|
|
1039
1039
|
workflowId: c().optional(),
|
|
1040
1040
|
stepId: c().optional()
|
|
1041
|
-
}), ir =
|
|
1041
|
+
}), ir = $(ar), cr = {
|
|
1042
1042
|
description: Gn,
|
|
1043
1043
|
inputSchema: sr,
|
|
1044
1044
|
outputSchema: ir,
|
|
@@ -1128,9 +1128,9 @@ function ur(e) {
|
|
|
1128
1128
|
case "delete_workflow":
|
|
1129
1129
|
return hr(t.payload, e);
|
|
1130
1130
|
case "create_step":
|
|
1131
|
-
return Ir(t.payload, e);
|
|
1132
|
-
case "delete_step":
|
|
1133
1131
|
return wr(t.payload, e);
|
|
1132
|
+
case "delete_step":
|
|
1133
|
+
return Ir(t.payload, e);
|
|
1134
1134
|
case "save_tab_to_collection":
|
|
1135
1135
|
return yr(t.payload, e);
|
|
1136
1136
|
}
|
|
@@ -1201,7 +1201,7 @@ function hr(e, { store: t, handleCloseByDataId: o }) {
|
|
|
1201
1201
|
workflowId: e.workflowId
|
|
1202
1202
|
});
|
|
1203
1203
|
}
|
|
1204
|
-
async function
|
|
1204
|
+
async function wr(e, { store: t, attachApiToCollection: o, convertOperationToReplayValue: n }) {
|
|
1205
1205
|
if (!j(t, e.collectionId))
|
|
1206
1206
|
return h("Collection not found.", { collectionId: e.collectionId });
|
|
1207
1207
|
const s = me(t, {
|
|
@@ -1251,7 +1251,7 @@ async function Ir(e, { store: t, attachApiToCollection: o, convertOperationToRep
|
|
|
1251
1251
|
}
|
|
1252
1252
|
};
|
|
1253
1253
|
}
|
|
1254
|
-
function
|
|
1254
|
+
function Ir(e, { store: t, handleCloseByDataId: o }) {
|
|
1255
1255
|
const n = Ze(t, {
|
|
1256
1256
|
collectionId: e.collectionId,
|
|
1257
1257
|
workflowId: e.workflowId,
|
|
@@ -1378,60 +1378,60 @@ const vr = {
|
|
|
1378
1378
|
- Re-read environment/input data when decisions depend on up-to-date values.
|
|
1379
1379
|
- Batch related input/server changes for the same environment when practical.
|
|
1380
1380
|
- After changing the active environment, re-check assumptions that depended on the previous one.`, q = c().min(1).optional().describe("Environment name. Omit to use the active environment."), br = p({
|
|
1381
|
-
action:
|
|
1381
|
+
action: w("get_environments")
|
|
1382
1382
|
}).strict(), kr = p({
|
|
1383
|
-
action:
|
|
1383
|
+
action: w("get_active_environment")
|
|
1384
1384
|
}).strict(), Sr = p({
|
|
1385
|
-
action:
|
|
1385
|
+
action: w("get_inputs"),
|
|
1386
1386
|
environment: q
|
|
1387
1387
|
}).strict(), Tr = p({
|
|
1388
|
-
action:
|
|
1388
|
+
action: w("get_servers"),
|
|
1389
1389
|
environment: q
|
|
1390
1390
|
}).strict(), Cr = p({
|
|
1391
|
-
action:
|
|
1391
|
+
action: w("get_input"),
|
|
1392
1392
|
environment: q,
|
|
1393
1393
|
inputName: c().min(1)
|
|
1394
1394
|
}).strict(), Or = p({
|
|
1395
|
-
action:
|
|
1395
|
+
action: w("upsert_input"),
|
|
1396
1396
|
environment: q,
|
|
1397
1397
|
name: c().min(1),
|
|
1398
1398
|
value: c(),
|
|
1399
|
-
isSecret:
|
|
1399
|
+
isSecret: x().optional().describe(
|
|
1400
1400
|
"Only when creating a new input name: whether the value is secret (default false). Ignored when the name already exists."
|
|
1401
1401
|
)
|
|
1402
1402
|
}).strict(), Ar = p({
|
|
1403
|
-
action:
|
|
1403
|
+
action: w("remove_input"),
|
|
1404
1404
|
environment: q,
|
|
1405
1405
|
inputName: c().min(1)
|
|
1406
1406
|
}).strict(), ve = p({
|
|
1407
1407
|
name: c().min(1),
|
|
1408
1408
|
value: c()
|
|
1409
1409
|
}).strict(), Er = p({
|
|
1410
|
-
action:
|
|
1410
|
+
action: w("upsert_server"),
|
|
1411
1411
|
environment: q,
|
|
1412
1412
|
apiId: c().min(1),
|
|
1413
1413
|
value: c(),
|
|
1414
1414
|
variables: b(ve).optional()
|
|
1415
|
-
}).strict(),
|
|
1415
|
+
}).strict(), xr = p({
|
|
1416
1416
|
name: c().min(1),
|
|
1417
1417
|
value: c(),
|
|
1418
|
-
isSecret:
|
|
1419
|
-
}).strict(),
|
|
1418
|
+
isSecret: x().optional().describe("Defaults to false when omitted.")
|
|
1419
|
+
}).strict(), $r = p({
|
|
1420
1420
|
apiId: c().min(1),
|
|
1421
1421
|
value: c(),
|
|
1422
1422
|
variables: b(ve).optional()
|
|
1423
1423
|
}).strict(), Rr = p({
|
|
1424
|
-
action:
|
|
1424
|
+
action: w("add_environment"),
|
|
1425
1425
|
environment: c().min(1).describe("Name of a new environment to create."),
|
|
1426
|
-
inputs: b(
|
|
1427
|
-
servers: b(
|
|
1428
|
-
setActive:
|
|
1426
|
+
inputs: b(xr).optional().describe("Optional initial inputs for the new environment."),
|
|
1427
|
+
servers: b($r).optional().describe("Optional initial server mappings for the new environment."),
|
|
1428
|
+
setActive: x().optional().describe("When true, also set the new environment as active.")
|
|
1429
1429
|
}).strict(), _r = p({
|
|
1430
|
-
action:
|
|
1430
|
+
action: w("remove_server"),
|
|
1431
1431
|
environment: q,
|
|
1432
1432
|
apiId: c().min(1)
|
|
1433
1433
|
}).strict(), qr = p({
|
|
1434
|
-
action:
|
|
1434
|
+
action: w("set_active_environment"),
|
|
1435
1435
|
environment: c().min(1).describe("Name of the environment to activate.")
|
|
1436
1436
|
}).strict(), Pr = p({
|
|
1437
1437
|
payload: te("action", [
|
|
@@ -1453,7 +1453,7 @@ const vr = {
|
|
|
1453
1453
|
inputs: b(
|
|
1454
1454
|
p({
|
|
1455
1455
|
name: c(),
|
|
1456
|
-
isSecret:
|
|
1456
|
+
isSecret: x(),
|
|
1457
1457
|
value: c()
|
|
1458
1458
|
})
|
|
1459
1459
|
).optional(),
|
|
@@ -1466,12 +1466,12 @@ const vr = {
|
|
|
1466
1466
|
).optional(),
|
|
1467
1467
|
input: p({
|
|
1468
1468
|
name: c(),
|
|
1469
|
-
isSecret:
|
|
1469
|
+
isSecret: x(),
|
|
1470
1470
|
value: c()
|
|
1471
1471
|
}).optional(),
|
|
1472
1472
|
environment: c().optional(),
|
|
1473
1473
|
apiId: c().optional()
|
|
1474
|
-
}), Ur =
|
|
1474
|
+
}), Ur = $(Nr), Dr = {
|
|
1475
1475
|
description: gr,
|
|
1476
1476
|
inputSchema: Pr,
|
|
1477
1477
|
outputSchema: Ur,
|
|
@@ -1603,7 +1603,7 @@ function Yr(e, t) {
|
|
|
1603
1603
|
input: {
|
|
1604
1604
|
name: a,
|
|
1605
1605
|
isSecret: l,
|
|
1606
|
-
value:
|
|
1606
|
+
value: wt(l, i)
|
|
1607
1607
|
}
|
|
1608
1608
|
}
|
|
1609
1609
|
};
|
|
@@ -1706,7 +1706,7 @@ function Qr(e) {
|
|
|
1706
1706
|
return e.inputs.map((t) => ({
|
|
1707
1707
|
name: t.name,
|
|
1708
1708
|
isSecret: t.isSecret,
|
|
1709
|
-
value:
|
|
1709
|
+
value: wt(t.isSecret, t.value)
|
|
1710
1710
|
}));
|
|
1711
1711
|
}
|
|
1712
1712
|
function Xr(e) {
|
|
@@ -1716,7 +1716,7 @@ function Xr(e) {
|
|
|
1716
1716
|
variables: t.variables.map((o) => ({ name: o.name, value: o.value }))
|
|
1717
1717
|
}));
|
|
1718
1718
|
}
|
|
1719
|
-
function
|
|
1719
|
+
function wt(e, t) {
|
|
1720
1720
|
return e ? Wt : t;
|
|
1721
1721
|
}
|
|
1722
1722
|
const Zr = {
|
|
@@ -1761,7 +1761,7 @@ const Zr = {
|
|
|
1761
1761
|
activeTabIndex: T().int().nonnegative(),
|
|
1762
1762
|
tabId: c(),
|
|
1763
1763
|
tabType: so(O)
|
|
1764
|
-
}), ss =
|
|
1764
|
+
}), ss = $(rs), as = {
|
|
1765
1765
|
description: ts,
|
|
1766
1766
|
inputSchema: ns,
|
|
1767
1767
|
outputSchema: ss,
|
|
@@ -1784,7 +1784,7 @@ function re({
|
|
|
1784
1784
|
details: { matches: l.map(r) }
|
|
1785
1785
|
} : { ok: !1, message: o.notFound, details: s(a) };
|
|
1786
1786
|
}
|
|
1787
|
-
function
|
|
1787
|
+
function It(e, t) {
|
|
1788
1788
|
const o = re({
|
|
1789
1789
|
items: e.collections,
|
|
1790
1790
|
id: t,
|
|
@@ -1808,7 +1808,7 @@ function wt(e, t) {
|
|
|
1808
1808
|
};
|
|
1809
1809
|
}
|
|
1810
1810
|
function ge(e, t, o) {
|
|
1811
|
-
const n =
|
|
1811
|
+
const n = It(e, t);
|
|
1812
1812
|
if (!n.ok) return n;
|
|
1813
1813
|
const r = re({
|
|
1814
1814
|
items: n.value.collection.workflows,
|
|
@@ -1965,7 +1965,7 @@ function ds(e, t) {
|
|
|
1965
1965
|
case "open_step":
|
|
1966
1966
|
return hs(e, t, o.collectionId, o.workflowId, o.stepId);
|
|
1967
1967
|
case "open_new_request":
|
|
1968
|
-
return
|
|
1968
|
+
return ws(e, t, o.requestUrl, o.requestMethod);
|
|
1969
1969
|
default: {
|
|
1970
1970
|
const r = o.action;
|
|
1971
1971
|
return C("Unsupported open_tab action.", { action: r });
|
|
@@ -2005,7 +2005,7 @@ function fs(e, t, o) {
|
|
|
2005
2005
|
const n = o?.trim();
|
|
2006
2006
|
if (!n)
|
|
2007
2007
|
return C("collectionId is required when action is open_collection");
|
|
2008
|
-
const r =
|
|
2008
|
+
const r = It(e, n);
|
|
2009
2009
|
if (!r.ok)
|
|
2010
2010
|
return C(r.message, r.details);
|
|
2011
2011
|
const { collectionId: s } = r.value, a = e.tabsState.tabs.findIndex((l) => {
|
|
@@ -2059,7 +2059,7 @@ function hs(e, t, o, n, r) {
|
|
|
2059
2059
|
state: ot.Normal
|
|
2060
2060
|
}), F(e, f ? "focused" : "opened");
|
|
2061
2061
|
}
|
|
2062
|
-
function
|
|
2062
|
+
function ws(e, t, o, n) {
|
|
2063
2063
|
return o ? t.openStepTabFromXOperation({
|
|
2064
2064
|
method: n ?? "GET",
|
|
2065
2065
|
url: o
|
|
@@ -2067,7 +2067,7 @@ function Is(e, t, o, n) {
|
|
|
2067
2067
|
}
|
|
2068
2068
|
function F(e, t) {
|
|
2069
2069
|
const o = e.tabsState.activeTabIdx.get(), n = e.tabsState.tabs.get({ noproxy: !0 })[o];
|
|
2070
|
-
return n ?
|
|
2070
|
+
return n ? Is(t, o, n.id, n.data.type) : C("No active tab after navigation.", { activeTabIndex: o });
|
|
2071
2071
|
}
|
|
2072
2072
|
function C(e, t) {
|
|
2073
2073
|
return {
|
|
@@ -2075,7 +2075,7 @@ function C(e, t) {
|
|
|
2075
2075
|
error: { message: e, ...t !== void 0 ? { details: t } : {} }
|
|
2076
2076
|
};
|
|
2077
2077
|
}
|
|
2078
|
-
function
|
|
2078
|
+
function Is(e, t, o, n) {
|
|
2079
2079
|
return { isError: !1, data: { outcome: e, activeTabIndex: t, tabId: o, tabType: n } };
|
|
2080
2080
|
}
|
|
2081
2081
|
const ys = {
|
|
@@ -2093,8 +2093,8 @@ Duplicates of earlier statuses and statuses reported back-to-back with no action
|
|
|
2093
2093
|
"Short status line for a milestone (plan start, phase boundary, new debug attempt, pivot). Plain text, no markdown. Do not narrate every tool call."
|
|
2094
2094
|
)
|
|
2095
2095
|
}), bs = p({
|
|
2096
|
-
acknowledged:
|
|
2097
|
-
}), ks =
|
|
2096
|
+
acknowledged: w(!0)
|
|
2097
|
+
}), ks = $(bs), Ss = {
|
|
2098
2098
|
description: vs,
|
|
2099
2099
|
inputSchema: gs,
|
|
2100
2100
|
outputSchema: ks,
|
|
@@ -2124,12 +2124,12 @@ const Es = [
|
|
|
2124
2124
|
blockAfter: 4,
|
|
2125
2125
|
blockMessage: As
|
|
2126
2126
|
})
|
|
2127
|
-
],
|
|
2127
|
+
], xs = {
|
|
2128
2128
|
name: "report_status",
|
|
2129
2129
|
definition: Ss,
|
|
2130
2130
|
guards: Es,
|
|
2131
2131
|
createExecutor: (e) => Ts()
|
|
2132
|
-
},
|
|
2132
|
+
}, $s = `Send the HTTP request for the **currently focused** Replay step tab and return the live response.
|
|
2133
2133
|
|
|
2134
2134
|
**What it does**
|
|
2135
2135
|
- Executes the request from the active step context (saved step or focused draft step).
|
|
@@ -2183,8 +2183,8 @@ const Es = [
|
|
|
2183
2183
|
url: c().optional().describe("Final response URL."),
|
|
2184
2184
|
duration: T().optional().describe("Request duration in milliseconds."),
|
|
2185
2185
|
size: T().optional().describe("Response size in bytes.")
|
|
2186
|
-
}), qs =
|
|
2187
|
-
description:
|
|
2186
|
+
}), qs = $(_s), Ps = {
|
|
2187
|
+
description: $s,
|
|
2188
2188
|
inputSchema: Rs,
|
|
2189
2189
|
outputSchema: qs,
|
|
2190
2190
|
needsApproval: () => !0
|
|
@@ -2263,10 +2263,12 @@ const Ls = {
|
|
|
2263
2263
|
- Does not open any tab. The user opens the finished run themselves from the link you provide.
|
|
2264
2264
|
|
|
2265
2265
|
**Use when**
|
|
2266
|
-
- The user asks to run, re-run, or verify a workflow.
|
|
2266
|
+
- The user explicitly asks to run, re-run, test, or verify a workflow, or accepts a run you offered.
|
|
2267
2267
|
- You need the actual outcome of a workflow (status codes, which steps failed).
|
|
2268
2268
|
|
|
2269
2269
|
**Never use when**
|
|
2270
|
+
- The user only asked to create, build, update, or fix a workflow. Creating is not running: finish at the saved workflow and offer the run instead of starting one.
|
|
2271
|
+
- You want to confirm your own work. A build request never authorizes real traffic with the user's credentials.
|
|
2270
2272
|
- You need a single HTTP request — use \`run_request\`.
|
|
2271
2273
|
- You only need to read an already finished run that is open in a tab — use \`get_current_tab\`.
|
|
2272
2274
|
|
|
@@ -2282,17 +2284,17 @@ const Ls = {
|
|
|
2282
2284
|
}), Fs = p({
|
|
2283
2285
|
stepId: c(),
|
|
2284
2286
|
statusCode: T().int().nullable(),
|
|
2285
|
-
passed:
|
|
2287
|
+
passed: x()
|
|
2286
2288
|
}), js = p({
|
|
2287
2289
|
collectionId: c().describe("Resolved id of the collection that was run."),
|
|
2288
2290
|
workflowId: c().describe("Resolved id of the workflow that was run."),
|
|
2289
2291
|
historyId: c().nullable().describe(
|
|
2290
2292
|
"Id of this saved run. Put it in the workflow-run link as &historyId=... so the user can reopen this exact run. Null when history is not persisted."
|
|
2291
2293
|
),
|
|
2292
|
-
success:
|
|
2294
|
+
success: x().describe(
|
|
2293
2295
|
"Overall verdict from the execution engine. False when a step failed a non-warn check or the run hit the global timeout. Can be false even when passedSteps equals totalSteps: a step that failed and then passed on retry is not counted as failed here."
|
|
2294
2296
|
),
|
|
2295
|
-
timedOut:
|
|
2297
|
+
timedOut: x().describe(
|
|
2296
2298
|
"True when the run hit the global execution timeout. Then success is false even if every listed step passed; report that the run timed out rather than blaming a step."
|
|
2297
2299
|
),
|
|
2298
2300
|
durationMs: T().describe("Total run time in milliseconds."),
|
|
@@ -2301,7 +2303,7 @@ const Ls = {
|
|
|
2301
2303
|
steps: b(Fs).describe(
|
|
2302
2304
|
"Per-step outcome, in execution order: stepId, HTTP statusCode, and pass/fail only — no check name or failure message."
|
|
2303
2305
|
)
|
|
2304
|
-
}), Bs =
|
|
2306
|
+
}), Bs = $(js), Ys = {
|
|
2305
2307
|
description: Ws,
|
|
2306
2308
|
inputSchema: Ms,
|
|
2307
2309
|
outputSchema: Bs,
|
|
@@ -2597,7 +2599,7 @@ const pa = [
|
|
|
2597
2599
|
"authorizationCodeWithPkce",
|
|
2598
2600
|
"implicit",
|
|
2599
2601
|
"password"
|
|
2600
|
-
],
|
|
2602
|
+
], wa = {
|
|
2601
2603
|
grantType: S(ha).optional().describe("OAuth2 grant type."),
|
|
2602
2604
|
clientId: c().optional(),
|
|
2603
2605
|
clientSecret: c().optional(),
|
|
@@ -2607,7 +2609,7 @@ const pa = [
|
|
|
2607
2609
|
accessToken: c().optional(),
|
|
2608
2610
|
username: c().optional().describe("For password grant type."),
|
|
2609
2611
|
password: c().optional().describe("For password grant type.")
|
|
2610
|
-
},
|
|
2612
|
+
}, Ia = p({
|
|
2611
2613
|
username: c().optional(),
|
|
2612
2614
|
password: c().optional()
|
|
2613
2615
|
}).strict(), ya = p({
|
|
@@ -2624,7 +2626,7 @@ const pa = [
|
|
|
2624
2626
|
"Secret value or `$inputs.<name>` / `{$inputs.<name>}`. The `<name>` segment must be identical to `data.name` (OpenAPI apiKey `name`, e.g. accessToken). Wrong example: `data.name` accessToken but key `$inputs.UserCookie` (UserCookie is the securitySchemes ref, not the cookie name)."
|
|
2625
2627
|
)
|
|
2626
2628
|
}).strict(), gt = p({
|
|
2627
|
-
...
|
|
2629
|
+
...wa
|
|
2628
2630
|
}).strict(), ba = gt.extend({
|
|
2629
2631
|
openIdConnectUrl: c().optional(),
|
|
2630
2632
|
userInfoUrl: c().optional()
|
|
@@ -2636,36 +2638,36 @@ const pa = [
|
|
|
2636
2638
|
stepId: bt
|
|
2637
2639
|
}), ka = te("type", [
|
|
2638
2640
|
N.extend({
|
|
2639
|
-
type:
|
|
2640
|
-
data:
|
|
2641
|
+
type: w(g.BasicAuth),
|
|
2642
|
+
data: Ia.optional()
|
|
2641
2643
|
}).strict(),
|
|
2642
2644
|
N.extend({
|
|
2643
|
-
type:
|
|
2645
|
+
type: w(g.DigestAuth),
|
|
2644
2646
|
data: ya.optional()
|
|
2645
2647
|
}).strict(),
|
|
2646
2648
|
N.extend({
|
|
2647
|
-
type:
|
|
2649
|
+
type: w(g.JWT),
|
|
2648
2650
|
data: va.optional()
|
|
2649
2651
|
}).strict(),
|
|
2650
2652
|
N.extend({
|
|
2651
|
-
type:
|
|
2653
|
+
type: w(g.APIKey),
|
|
2652
2654
|
data: ga.optional()
|
|
2653
2655
|
}).strict(),
|
|
2654
2656
|
N.extend({
|
|
2655
|
-
type:
|
|
2657
|
+
type: w(g.OAuth2),
|
|
2656
2658
|
data: gt.optional()
|
|
2657
2659
|
}).strict(),
|
|
2658
2660
|
N.extend({
|
|
2659
|
-
type:
|
|
2661
|
+
type: w(g.OpenIDConnect),
|
|
2660
2662
|
data: ba.optional()
|
|
2661
2663
|
}).strict()
|
|
2662
2664
|
]), Sa = ye.extend({
|
|
2663
|
-
action:
|
|
2665
|
+
action: w("remove"),
|
|
2664
2666
|
index: T().int().min(0).describe(
|
|
2665
2667
|
"0-based position of the entry in the step's current security list; every index in one call refers to that same list. Position, not schemeId, identifies the entry - a step can list the same scheme more than once."
|
|
2666
2668
|
),
|
|
2667
2669
|
stepId: bt
|
|
2668
|
-
}).strict(), Ta =
|
|
2670
|
+
}).strict(), Ta = Ie([ka, Sa]), Ca = p({
|
|
2669
2671
|
collectionId: c().describe(
|
|
2670
2672
|
"Saved step: collection id. Unsaved draft tab on focus: empty string (with empty workflowId and stepId)."
|
|
2671
2673
|
),
|
|
@@ -2693,7 +2695,7 @@ const pa = [
|
|
|
2693
2695
|
UPDATE: "update",
|
|
2694
2696
|
REMOVE: "remove"
|
|
2695
2697
|
};
|
|
2696
|
-
function
|
|
2698
|
+
function I(e, t) {
|
|
2697
2699
|
return {
|
|
2698
2700
|
status: e,
|
|
2699
2701
|
...t !== void 0 && { summary: t }
|
|
@@ -2714,8 +2716,8 @@ function Ea(e, t) {
|
|
|
2714
2716
|
message: `Index ${t.index} out of bounds. Step has ${e.length} security entries.`
|
|
2715
2717
|
} : { ok: !0, entry: e[t.index] };
|
|
2716
2718
|
}
|
|
2717
|
-
const
|
|
2718
|
-
function
|
|
2719
|
+
const xa = /* @__PURE__ */ new Set(["grantType", "openIdConnectUrl", "userInfoUrl"]);
|
|
2720
|
+
function $a(e) {
|
|
2719
2721
|
return e.type === g.OAuth2 || e.type === g.OpenIDConnect;
|
|
2720
2722
|
}
|
|
2721
2723
|
function ze(e, t) {
|
|
@@ -2726,7 +2728,7 @@ function ze(e, t) {
|
|
|
2726
2728
|
function He(e, t) {
|
|
2727
2729
|
const o = Object.entries(t);
|
|
2728
2730
|
for (const [s, a] of o)
|
|
2729
|
-
s === "grantType" && typeof a == "string" &&
|
|
2731
|
+
s === "grantType" && typeof a == "string" && xe[a] && (e.grantType = xe[a]);
|
|
2730
2732
|
const n = e[e.grantType], r = new Set(Object.keys(Kt[e.grantType]));
|
|
2731
2733
|
for (const [s, a] of o)
|
|
2732
2734
|
s !== "grantType" && a !== void 0 && r.has(s) && (n[s] = a);
|
|
@@ -2768,7 +2770,7 @@ function _a(e, t) {
|
|
|
2768
2770
|
}
|
|
2769
2771
|
function qa(e) {
|
|
2770
2772
|
return e.data ? Object.entries(e.data).some(
|
|
2771
|
-
([t, o]) => o !== void 0 &&
|
|
2773
|
+
([t, o]) => o !== void 0 && !xa.has(t)
|
|
2772
2774
|
) : !1;
|
|
2773
2775
|
}
|
|
2774
2776
|
function Pa(e) {
|
|
@@ -2807,21 +2809,21 @@ function Na(e, t, o) {
|
|
|
2807
2809
|
structuredClone(v),
|
|
2808
2810
|
i
|
|
2809
2811
|
), r.push(
|
|
2810
|
-
|
|
2812
|
+
I(
|
|
2811
2813
|
"applied",
|
|
2812
2814
|
`Updated existing ${Pa(i)} in place (index: ${f})${o}`
|
|
2813
2815
|
)
|
|
2814
2816
|
);
|
|
2815
2817
|
continue;
|
|
2816
2818
|
}
|
|
2817
|
-
if (
|
|
2819
|
+
if ($a(i) && qa(i) && !i.data?.grantType)
|
|
2818
2820
|
return {
|
|
2819
2821
|
ok: !1,
|
|
2820
2822
|
message: `grantType is required when adding ${i.type} security with flow values${o}. For a plain http/bearer token use type "${g.JWT}" with data.token instead.`
|
|
2821
2823
|
};
|
|
2822
2824
|
const y = ae(Ee(), i);
|
|
2823
2825
|
n = m ? [y] : [...n, y], r.push(
|
|
2824
|
-
|
|
2826
|
+
I(
|
|
2825
2827
|
"applied",
|
|
2826
2828
|
`Added ${i.type} security (index: ${n.length - 1})${o}`
|
|
2827
2829
|
)
|
|
@@ -2846,14 +2848,14 @@ function Na(e, t, o) {
|
|
|
2846
2848
|
};
|
|
2847
2849
|
}
|
|
2848
2850
|
n = [...n], n[i.index] = ae(structuredClone(u), i), r.push(
|
|
2849
|
-
|
|
2851
|
+
I("applied", `Updated ${i.type} at index ${i.index}${o}`)
|
|
2850
2852
|
);
|
|
2851
2853
|
}
|
|
2852
2854
|
if (l.size > 0) {
|
|
2853
2855
|
const i = n.filter((d) => !l.has(d)), u = n.length - i.length;
|
|
2854
2856
|
n = i;
|
|
2855
2857
|
for (let d = 0; d < u; d++)
|
|
2856
|
-
r.push(
|
|
2858
|
+
r.push(I("applied"));
|
|
2857
2859
|
}
|
|
2858
2860
|
return n.length === 0 && (n = [Ee()]), { ok: !0, security: n, applied: r };
|
|
2859
2861
|
}
|
|
@@ -2943,30 +2945,30 @@ const Da = {
|
|
|
2943
2945
|
context: c().optional().describe("Context for the expression."),
|
|
2944
2946
|
type: S(["simple", "regex", "jsonpath", "xpath"]).optional()
|
|
2945
2947
|
}).strict(), Ba = _.extend({
|
|
2946
|
-
field:
|
|
2948
|
+
field: w("url"),
|
|
2947
2949
|
data: c().min(1).describe("New request URL for step.")
|
|
2948
2950
|
}).strict(), Ya = _.extend({
|
|
2949
|
-
field:
|
|
2951
|
+
field: w("description"),
|
|
2950
2952
|
data: c().describe("New step description text.")
|
|
2951
2953
|
}).strict(), za = _.extend({
|
|
2952
|
-
field:
|
|
2954
|
+
field: w("method"),
|
|
2953
2955
|
data: S(Wa).describe("New HTTP method for x-operation step.")
|
|
2954
2956
|
}).strict(), Ha = _.extend({
|
|
2955
|
-
field:
|
|
2957
|
+
field: w("parameters"),
|
|
2956
2958
|
data: Fa.optional().describe("Parameter data. Required for add/update actions.")
|
|
2957
2959
|
}).strict(), Ga = _.extend({
|
|
2958
|
-
field:
|
|
2960
|
+
field: w("outputs"),
|
|
2959
2961
|
data: p({
|
|
2960
2962
|
name: c().min(1).describe("Output name."),
|
|
2961
2963
|
expression: c().min(1).describe("Output expression.")
|
|
2962
2964
|
}).strict().optional().describe("Output mapping. Required for add/update actions.")
|
|
2963
2965
|
}).strict(), Va = _.extend({
|
|
2964
|
-
field:
|
|
2966
|
+
field: w("successCriteria"),
|
|
2965
2967
|
data: ja.optional().describe(
|
|
2966
2968
|
"Success criterion. Required for add/update actions."
|
|
2967
2969
|
)
|
|
2968
2970
|
}).strict(), Ka = _.extend({
|
|
2969
|
-
field:
|
|
2971
|
+
field: w("body"),
|
|
2970
2972
|
data: p({
|
|
2971
2973
|
contentType: S(Ma).optional().describe(
|
|
2972
2974
|
"Request body content type. Allowed: text/plain, application/json, application/xml."
|
|
@@ -3046,18 +3048,18 @@ function ti(e, t) {
|
|
|
3046
3048
|
switch (e.action) {
|
|
3047
3049
|
case E.ADD: {
|
|
3048
3050
|
if (!e.data)
|
|
3049
|
-
return
|
|
3051
|
+
return I("failed", "Failed parameter add because data is missing.");
|
|
3050
3052
|
const { in: o, name: n, value: r } = e.data, s = ie(o), a = Ke(o, n, r);
|
|
3051
|
-
return be(t.parameters[s], [a]),
|
|
3053
|
+
return be(t.parameters[s], [a]), I(
|
|
3052
3054
|
"applied",
|
|
3053
3055
|
`Added ${o} parameter '${n}' (id: ${a.id})`
|
|
3054
3056
|
);
|
|
3055
3057
|
}
|
|
3056
3058
|
case E.UPDATE: {
|
|
3057
3059
|
if (!e.id)
|
|
3058
|
-
return
|
|
3060
|
+
return I("failed", "Failed parameter update because id is missing.");
|
|
3059
3061
|
if (!e.data)
|
|
3060
|
-
return
|
|
3062
|
+
return I("failed", "Failed parameter update because data is missing.");
|
|
3061
3063
|
const { in: o, name: n, value: r } = e.data, s = ie(o);
|
|
3062
3064
|
return Q(t.parameters[s], e.id, {
|
|
3063
3065
|
find: le,
|
|
@@ -3066,11 +3068,11 @@ function ti(e, t) {
|
|
|
3066
3068
|
id: l.id,
|
|
3067
3069
|
...l.allowReserved !== void 0 && { allowReserved: l.allowReserved }
|
|
3068
3070
|
} : l
|
|
3069
|
-
}) ?
|
|
3071
|
+
}) ? I("applied") : I("failed", `Parameter with id '${e.id}' not found.`);
|
|
3070
3072
|
}
|
|
3071
3073
|
case E.REMOVE: {
|
|
3072
3074
|
if (!e.id)
|
|
3073
|
-
return
|
|
3075
|
+
return I("failed", "Failed parameter remove because id is missing.");
|
|
3074
3076
|
const o = e.id, n = e.data?.in, r = n ? [ie(n)] : Object.values(G);
|
|
3075
3077
|
let s = !1;
|
|
3076
3078
|
for (const a of r)
|
|
@@ -3078,7 +3080,7 @@ function ti(e, t) {
|
|
|
3078
3080
|
s = ke(t.parameters[a], o, le);
|
|
3079
3081
|
break;
|
|
3080
3082
|
}
|
|
3081
|
-
return s ?
|
|
3083
|
+
return s ? I("applied") : I("failed", `Parameter with id '${o}' not found.`);
|
|
3082
3084
|
}
|
|
3083
3085
|
}
|
|
3084
3086
|
}
|
|
@@ -3086,39 +3088,39 @@ function oi(e, t) {
|
|
|
3086
3088
|
switch (e.action) {
|
|
3087
3089
|
case E.ADD: {
|
|
3088
3090
|
if (!e.data)
|
|
3089
|
-
return
|
|
3091
|
+
return I("failed", "Failed output add because data is missing.");
|
|
3090
3092
|
const { name: o, expression: n } = e.data, r = t.outputs.get({ noproxy: !0 }).find((a) => a.key === o);
|
|
3091
3093
|
if (r)
|
|
3092
3094
|
return Q(t.outputs, r.id, {
|
|
3093
3095
|
find: ce,
|
|
3094
3096
|
produce: (a) => ({ ...a, key: o, value: n, active: !0 })
|
|
3095
|
-
}),
|
|
3097
|
+
}), I(
|
|
3096
3098
|
"applied",
|
|
3097
3099
|
`Updated existing output '${o}' in place (id: ${r.id})`
|
|
3098
3100
|
);
|
|
3099
3101
|
const s = crypto.randomUUID();
|
|
3100
|
-
return be(t.outputs, [{ id: s, key: o, value: n, active: !0 }]),
|
|
3102
|
+
return be(t.outputs, [{ id: s, key: o, value: n, active: !0 }]), I("applied", `Added output '${o}' (id: ${s})`);
|
|
3101
3103
|
}
|
|
3102
3104
|
case E.UPDATE: {
|
|
3103
3105
|
if (!e.id)
|
|
3104
|
-
return
|
|
3106
|
+
return I("failed", "Failed output update because id is missing.");
|
|
3105
3107
|
if (!e.data)
|
|
3106
|
-
return
|
|
3108
|
+
return I("failed", "Failed output update because data is missing.");
|
|
3107
3109
|
const { name: o, expression: n } = e.data;
|
|
3108
3110
|
return Q(t.outputs, e.id, {
|
|
3109
3111
|
find: ce,
|
|
3110
3112
|
produce: (s) => ({ ...s, key: o, value: n, active: !0 })
|
|
3111
|
-
}) ?
|
|
3113
|
+
}) ? I("applied") : I("failed", `Output with id '${e.id}' not found.`);
|
|
3112
3114
|
}
|
|
3113
3115
|
case E.REMOVE:
|
|
3114
|
-
return e.id ? ke(t.outputs, e.id, ce) ?
|
|
3116
|
+
return e.id ? ke(t.outputs, e.id, ce) ? I("applied") : I("failed", `Output with id '${e.id}' not found.`) : I("failed", "Failed output remove because id is missing.");
|
|
3115
3117
|
}
|
|
3116
3118
|
}
|
|
3117
3119
|
function ni(e, t) {
|
|
3118
3120
|
switch (e.action) {
|
|
3119
3121
|
case E.ADD: {
|
|
3120
3122
|
if (!e.data)
|
|
3121
|
-
return
|
|
3123
|
+
return I("failed", "Failed success criteria add because data is missing.");
|
|
3122
3124
|
const { condition: o, context: n, type: r } = e.data, s = Je(
|
|
3123
3125
|
r ?? de.SIMPLE
|
|
3124
3126
|
);
|
|
@@ -3128,16 +3130,16 @@ function ni(e, t) {
|
|
|
3128
3130
|
condition: o,
|
|
3129
3131
|
...n !== void 0 && { context: n }
|
|
3130
3132
|
}
|
|
3131
|
-
]),
|
|
3133
|
+
]), I("applied");
|
|
3132
3134
|
}
|
|
3133
3135
|
case E.UPDATE: {
|
|
3134
3136
|
if (typeof e.id != "string")
|
|
3135
|
-
return
|
|
3137
|
+
return I(
|
|
3136
3138
|
"failed",
|
|
3137
3139
|
"Failed success criteria update because id is missing."
|
|
3138
3140
|
);
|
|
3139
3141
|
if (!e.data)
|
|
3140
|
-
return
|
|
3142
|
+
return I(
|
|
3141
3143
|
"failed",
|
|
3142
3144
|
"Failed success criteria update because data is missing."
|
|
3143
3145
|
);
|
|
@@ -3151,20 +3153,20 @@ function ni(e, t) {
|
|
|
3151
3153
|
context: n ?? a.context,
|
|
3152
3154
|
type: r ?? a.type ?? de.SIMPLE
|
|
3153
3155
|
})
|
|
3154
|
-
}) ?
|
|
3156
|
+
}) ? I("applied") : I(
|
|
3155
3157
|
"failed",
|
|
3156
3158
|
`Success criterion with condition '${e.id}' not found.`
|
|
3157
3159
|
);
|
|
3158
3160
|
}
|
|
3159
3161
|
case E.REMOVE:
|
|
3160
|
-
return typeof e.id != "string" ?
|
|
3162
|
+
return typeof e.id != "string" ? I(
|
|
3161
3163
|
"failed",
|
|
3162
3164
|
"Failed success criteria remove because id is missing."
|
|
3163
3165
|
) : ke(
|
|
3164
3166
|
t.successCriteria,
|
|
3165
3167
|
e.id,
|
|
3166
3168
|
Ve
|
|
3167
|
-
) ?
|
|
3169
|
+
) ? I("applied") : I(
|
|
3168
3170
|
"failed",
|
|
3169
3171
|
`Success criterion with condition '${e.id}' not found.`
|
|
3170
3172
|
);
|
|
@@ -3204,17 +3206,17 @@ function ri(e) {
|
|
|
3204
3206
|
)
|
|
3205
3207
|
);
|
|
3206
3208
|
}
|
|
3207
|
-
d.push(
|
|
3209
|
+
d.push(I("applied"));
|
|
3208
3210
|
break;
|
|
3209
3211
|
}
|
|
3210
3212
|
case "description":
|
|
3211
|
-
i.description.set(f.data), d.push(
|
|
3213
|
+
i.description.set(f.data), d.push(I("applied"));
|
|
3212
3214
|
break;
|
|
3213
3215
|
case "body":
|
|
3214
3216
|
i.requestBody.merge({
|
|
3215
3217
|
content: f.data.content,
|
|
3216
3218
|
...f.data.contentType !== void 0 && { type: f.data.contentType }
|
|
3217
|
-
}), d.push(
|
|
3219
|
+
}), d.push(I("applied"));
|
|
3218
3220
|
break;
|
|
3219
3221
|
case "parameters":
|
|
3220
3222
|
d.push(ti(f, i));
|
|
@@ -3234,7 +3236,7 @@ function ri(e) {
|
|
|
3234
3236
|
approvedChanges: a.approvedChanges ?? o.length,
|
|
3235
3237
|
applied: d,
|
|
3236
3238
|
...m && {
|
|
3237
|
-
resultingState:
|
|
3239
|
+
resultingState: we(i.outputs.get({ noproxy: !0 })) || "Outputs: (none)"
|
|
3238
3240
|
}
|
|
3239
3241
|
}
|
|
3240
3242
|
};
|
|
@@ -3329,13 +3331,13 @@ function hi(e) {
|
|
|
3329
3331
|
e.task
|
|
3330
3332
|
]);
|
|
3331
3333
|
}
|
|
3332
|
-
const
|
|
3334
|
+
const wi = {
|
|
3333
3335
|
name: "web_search",
|
|
3334
3336
|
definition: li,
|
|
3335
3337
|
createExecutor: (e) => mi(e.model)
|
|
3336
3338
|
}, Tt = [
|
|
3337
3339
|
ys,
|
|
3338
|
-
|
|
3340
|
+
xs,
|
|
3339
3341
|
Ls,
|
|
3340
3342
|
Hs,
|
|
3341
3343
|
fa,
|
|
@@ -3344,10 +3346,10 @@ const Ii = {
|
|
|
3344
3346
|
Cn,
|
|
3345
3347
|
vr,
|
|
3346
3348
|
Zr,
|
|
3347
|
-
|
|
3349
|
+
wi,
|
|
3348
3350
|
Hn
|
|
3349
3351
|
];
|
|
3350
|
-
function
|
|
3352
|
+
function Ii(e) {
|
|
3351
3353
|
return Tt.some((t) => t.name === e);
|
|
3352
3354
|
}
|
|
3353
3355
|
function Pi(e, t) {
|
|
@@ -3361,7 +3363,7 @@ function Pi(e, t) {
|
|
|
3361
3363
|
}
|
|
3362
3364
|
function yi(e) {
|
|
3363
3365
|
const t = e.startsWith("tool-") ? e.slice(5) : e;
|
|
3364
|
-
return
|
|
3366
|
+
return Ii(t) ? t : void 0;
|
|
3365
3367
|
}
|
|
3366
3368
|
function vi(e, t) {
|
|
3367
3369
|
return `${e}::${t}`;
|
|
@@ -3449,7 +3451,7 @@ function Di(e) {
|
|
|
3449
3451
|
return s(), t;
|
|
3450
3452
|
}
|
|
3451
3453
|
const ki = p({
|
|
3452
|
-
isError:
|
|
3454
|
+
isError: w(!1),
|
|
3453
3455
|
data: p({
|
|
3454
3456
|
collectionId: c().min(1),
|
|
3455
3457
|
workflowId: c().min(1),
|
|
@@ -3508,7 +3510,7 @@ export {
|
|
|
3508
3510
|
Da as c,
|
|
3509
3511
|
Hs as d,
|
|
3510
3512
|
Ls as e,
|
|
3511
|
-
|
|
3513
|
+
xs as f,
|
|
3512
3514
|
Hn as g,
|
|
3513
3515
|
Ni as h,
|
|
3514
3516
|
Ui as i,
|
|
@@ -3522,10 +3524,10 @@ export {
|
|
|
3522
3524
|
vi as q,
|
|
3523
3525
|
Pi as r,
|
|
3524
3526
|
fa as s,
|
|
3525
|
-
|
|
3527
|
+
$i as t,
|
|
3526
3528
|
si as u,
|
|
3527
3529
|
Se as v,
|
|
3528
|
-
|
|
3530
|
+
wi as w,
|
|
3529
3531
|
Te as x,
|
|
3530
3532
|
Ea as y,
|
|
3531
3533
|
vt as z
|