@upstash/workflow 0.2.7 → 0.2.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/astro.d.mts +1 -1
- package/astro.d.ts +1 -1
- package/astro.js +10 -1
- package/astro.mjs +1 -1
- package/{chunk-U6XFLG7W.mjs → chunk-BPUSHNSD.mjs} +133 -92
- package/cloudflare.d.mts +1 -1
- package/cloudflare.d.ts +1 -1
- package/cloudflare.js +10 -1
- package/cloudflare.mjs +1 -1
- package/express.d.mts +1 -1
- package/express.d.ts +1 -1
- package/express.js +10 -1
- package/express.mjs +1 -1
- package/h3.d.mts +1 -1
- package/h3.d.ts +1 -1
- package/h3.js +10 -1
- package/h3.mjs +1 -1
- package/hono.d.mts +1 -1
- package/hono.d.ts +1 -1
- package/hono.js +10 -1
- package/hono.mjs +1 -1
- package/index.d.mts +266 -4
- package/index.d.ts +266 -4
- package/index.js +97 -2
- package/index.mjs +57 -2
- package/nextjs.d.mts +1 -1
- package/nextjs.d.ts +1 -1
- package/nextjs.js +10 -1
- package/nextjs.mjs +1 -1
- package/package.json +1 -1
- package/solidjs.d.mts +1 -1
- package/solidjs.d.ts +1 -1
- package/solidjs.js +10 -1
- package/solidjs.mjs +1 -1
- package/svelte.d.mts +1 -1
- package/svelte.d.ts +1 -1
- package/svelte.js +10 -1
- package/svelte.mjs +1 -1
- package/{types-Cuqlx2Cr.d.mts → types-B62AnIU3.d.mts} +57 -3
- package/{types-Cuqlx2Cr.d.ts → types-B62AnIU3.d.ts} +57 -3
package/astro.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { APIContext, APIRoute } from 'astro';
|
|
2
|
-
import {
|
|
2
|
+
import { e as WorkflowContext, k as PublicServeOptions } from './types-B62AnIU3.mjs';
|
|
3
3
|
import '@upstash/qstash';
|
|
4
4
|
import 'zod';
|
|
5
5
|
import 'ai';
|
package/astro.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { APIContext, APIRoute } from 'astro';
|
|
2
|
-
import {
|
|
2
|
+
import { e as WorkflowContext, k as PublicServeOptions } from './types-B62AnIU3.js';
|
|
3
3
|
import '@upstash/qstash';
|
|
4
4
|
import 'zod';
|
|
5
5
|
import 'ai';
|
package/astro.js
CHANGED
|
@@ -1002,6 +1002,14 @@ var getHeaders = ({
|
|
|
1002
1002
|
}
|
|
1003
1003
|
if (failureUrl) {
|
|
1004
1004
|
baseHeaders[`Upstash-Failure-Callback-Forward-${WORKFLOW_FAILURE_HEADER}`] = "true";
|
|
1005
|
+
baseHeaders[`Upstash-Failure-Callback-Forward-Upstash-Workflow-Failure-Callback`] = "true";
|
|
1006
|
+
baseHeaders["Upstash-Failure-Callback-Workflow-Runid"] = workflowRunId;
|
|
1007
|
+
baseHeaders["Upstash-Failure-Callback-Workflow-Init"] = "false";
|
|
1008
|
+
baseHeaders["Upstash-Failure-Callback-Workflow-Url"] = workflowUrl;
|
|
1009
|
+
baseHeaders["Upstash-Failure-Callback-Workflow-Calltype"] = "failureCall";
|
|
1010
|
+
if (retries !== void 0) {
|
|
1011
|
+
baseHeaders["Upstash-Failure-Callback-Retries"] = retries.toString();
|
|
1012
|
+
}
|
|
1005
1013
|
if (!step?.callUrl) {
|
|
1006
1014
|
baseHeaders["Upstash-Failure-Callback"] = failureUrl;
|
|
1007
1015
|
}
|
|
@@ -1692,9 +1700,10 @@ var wrapTools = ({
|
|
|
1692
1700
|
return Object.fromEntries(
|
|
1693
1701
|
Object.entries(tools).map((toolInfo) => {
|
|
1694
1702
|
const [toolName, tool3] = toolInfo;
|
|
1703
|
+
const executeAsStep = "executeAsStep" in tool3 ? tool3.executeAsStep : true;
|
|
1695
1704
|
const aiSDKTool = convertToAISDKTool(tool3);
|
|
1696
1705
|
const execute = aiSDKTool.execute;
|
|
1697
|
-
if (execute) {
|
|
1706
|
+
if (execute && executeAsStep) {
|
|
1698
1707
|
const wrappedExecute = (...params) => {
|
|
1699
1708
|
return context.run(`Run tool ${toolName}`, () => execute(...params));
|
|
1700
1709
|
};
|
package/astro.mjs
CHANGED
|
@@ -99,6 +99,130 @@ var StepTypes = [
|
|
|
99
99
|
"Notify"
|
|
100
100
|
];
|
|
101
101
|
|
|
102
|
+
// src/agents/adapters.ts
|
|
103
|
+
import { createOpenAI } from "@ai-sdk/openai";
|
|
104
|
+
import { tool } from "ai";
|
|
105
|
+
|
|
106
|
+
// src/agents/constants.ts
|
|
107
|
+
var AGENT_NAME_HEADER = "upstash-agent-name";
|
|
108
|
+
var MANAGER_AGENT_PROMPT = `You are an agent orchestrating other AI Agents.
|
|
109
|
+
|
|
110
|
+
These other agents have tools available to them.
|
|
111
|
+
|
|
112
|
+
Given a prompt, utilize these agents to address requests.
|
|
113
|
+
|
|
114
|
+
Don't always call all the agents provided to you at the same time. You can call one and use it's response to call another.
|
|
115
|
+
|
|
116
|
+
Avoid calling the same agent twice in one turn. Instead, prefer to call it once but provide everything
|
|
117
|
+
you need from that agent.
|
|
118
|
+
`;
|
|
119
|
+
|
|
120
|
+
// src/agents/adapters.ts
|
|
121
|
+
var createWorkflowOpenAI = (context, config) => {
|
|
122
|
+
const { baseURL, apiKey } = config ?? {};
|
|
123
|
+
return createOpenAI({
|
|
124
|
+
baseURL,
|
|
125
|
+
apiKey,
|
|
126
|
+
compatibility: "strict",
|
|
127
|
+
fetch: async (input, init) => {
|
|
128
|
+
try {
|
|
129
|
+
const headers = init?.headers ? Object.fromEntries(new Headers(init.headers).entries()) : {};
|
|
130
|
+
const body = init?.body ? JSON.parse(init.body) : void 0;
|
|
131
|
+
const agentName = headers[AGENT_NAME_HEADER];
|
|
132
|
+
const stepName = agentName ? `Call Agent ${agentName}` : "Call Agent";
|
|
133
|
+
const responseInfo = await context.call(stepName, {
|
|
134
|
+
url: input.toString(),
|
|
135
|
+
method: init?.method,
|
|
136
|
+
headers,
|
|
137
|
+
body
|
|
138
|
+
});
|
|
139
|
+
const responseHeaders = new Headers(
|
|
140
|
+
Object.entries(responseInfo.header).reduce(
|
|
141
|
+
(acc, [key, values]) => {
|
|
142
|
+
acc[key] = values.join(", ");
|
|
143
|
+
return acc;
|
|
144
|
+
},
|
|
145
|
+
{}
|
|
146
|
+
)
|
|
147
|
+
);
|
|
148
|
+
return new Response(JSON.stringify(responseInfo.body), {
|
|
149
|
+
status: responseInfo.status,
|
|
150
|
+
headers: responseHeaders
|
|
151
|
+
});
|
|
152
|
+
} catch (error) {
|
|
153
|
+
if (error instanceof Error && error.name === "WorkflowAbort") {
|
|
154
|
+
throw error;
|
|
155
|
+
} else {
|
|
156
|
+
console.error("Error in fetch implementation:", error);
|
|
157
|
+
throw error;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
};
|
|
163
|
+
var wrapTools = ({
|
|
164
|
+
context,
|
|
165
|
+
tools
|
|
166
|
+
}) => {
|
|
167
|
+
return Object.fromEntries(
|
|
168
|
+
Object.entries(tools).map((toolInfo) => {
|
|
169
|
+
const [toolName, tool3] = toolInfo;
|
|
170
|
+
const executeAsStep = "executeAsStep" in tool3 ? tool3.executeAsStep : true;
|
|
171
|
+
const aiSDKTool = convertToAISDKTool(tool3);
|
|
172
|
+
const execute = aiSDKTool.execute;
|
|
173
|
+
if (execute && executeAsStep) {
|
|
174
|
+
const wrappedExecute = (...params) => {
|
|
175
|
+
return context.run(`Run tool ${toolName}`, () => execute(...params));
|
|
176
|
+
};
|
|
177
|
+
aiSDKTool.execute = wrappedExecute;
|
|
178
|
+
}
|
|
179
|
+
return [toolName, aiSDKTool];
|
|
180
|
+
})
|
|
181
|
+
);
|
|
182
|
+
};
|
|
183
|
+
var convertToAISDKTool = (tool3) => {
|
|
184
|
+
const isLangchainTool = "invoke" in tool3;
|
|
185
|
+
return isLangchainTool ? convertLangchainTool(tool3) : tool3;
|
|
186
|
+
};
|
|
187
|
+
var convertLangchainTool = (langchainTool) => {
|
|
188
|
+
return tool({
|
|
189
|
+
description: langchainTool.description,
|
|
190
|
+
parameters: langchainTool.schema,
|
|
191
|
+
execute: async (...param) => langchainTool.invoke(...param)
|
|
192
|
+
});
|
|
193
|
+
};
|
|
194
|
+
var WorkflowTool = class {
|
|
195
|
+
/**
|
|
196
|
+
* description of the tool
|
|
197
|
+
*/
|
|
198
|
+
description;
|
|
199
|
+
/**
|
|
200
|
+
* schema of the tool
|
|
201
|
+
*/
|
|
202
|
+
schema;
|
|
203
|
+
/**
|
|
204
|
+
* function to invoke the tool
|
|
205
|
+
*/
|
|
206
|
+
invoke;
|
|
207
|
+
/**
|
|
208
|
+
* whether the invoke method of the tool is to be wrapped with `context.run`
|
|
209
|
+
*/
|
|
210
|
+
executeAsStep;
|
|
211
|
+
/**
|
|
212
|
+
*
|
|
213
|
+
* @param description description of the tool
|
|
214
|
+
* @param schema schema of the tool
|
|
215
|
+
* @param invoke function to invoke the tool
|
|
216
|
+
* @param executeAsStep whether the invoke method of the tool is to be wrapped with `context.run`
|
|
217
|
+
*/
|
|
218
|
+
constructor(params) {
|
|
219
|
+
this.description = params.description;
|
|
220
|
+
this.schema = params.schema;
|
|
221
|
+
this.invoke = params.invoke;
|
|
222
|
+
this.executeAsStep = params.executeAsStep ?? true;
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
|
|
102
226
|
// src/client/utils.ts
|
|
103
227
|
import { QstashError as QstashError2 } from "@upstash/qstash";
|
|
104
228
|
var makeNotifyRequest = async (requester, eventId, eventData) => {
|
|
@@ -1015,6 +1139,14 @@ var getHeaders = ({
|
|
|
1015
1139
|
}
|
|
1016
1140
|
if (failureUrl) {
|
|
1017
1141
|
baseHeaders[`Upstash-Failure-Callback-Forward-${WORKFLOW_FAILURE_HEADER}`] = "true";
|
|
1142
|
+
baseHeaders[`Upstash-Failure-Callback-Forward-Upstash-Workflow-Failure-Callback`] = "true";
|
|
1143
|
+
baseHeaders["Upstash-Failure-Callback-Workflow-Runid"] = workflowRunId;
|
|
1144
|
+
baseHeaders["Upstash-Failure-Callback-Workflow-Init"] = "false";
|
|
1145
|
+
baseHeaders["Upstash-Failure-Callback-Workflow-Url"] = workflowUrl;
|
|
1146
|
+
baseHeaders["Upstash-Failure-Callback-Workflow-Calltype"] = "failureCall";
|
|
1147
|
+
if (retries !== void 0) {
|
|
1148
|
+
baseHeaders["Upstash-Failure-Callback-Retries"] = retries.toString();
|
|
1149
|
+
}
|
|
1018
1150
|
if (!step?.callUrl) {
|
|
1019
1151
|
baseHeaders["Upstash-Failure-Callback"] = failureUrl;
|
|
1020
1152
|
}
|
|
@@ -1637,98 +1769,6 @@ var WorkflowApi = class extends BaseWorkflowApi {
|
|
|
1637
1769
|
}
|
|
1638
1770
|
};
|
|
1639
1771
|
|
|
1640
|
-
// src/agents/adapters.ts
|
|
1641
|
-
import { createOpenAI } from "@ai-sdk/openai";
|
|
1642
|
-
import { tool } from "ai";
|
|
1643
|
-
|
|
1644
|
-
// src/agents/constants.ts
|
|
1645
|
-
var AGENT_NAME_HEADER = "upstash-agent-name";
|
|
1646
|
-
var MANAGER_AGENT_PROMPT = `You are an agent orchestrating other AI Agents.
|
|
1647
|
-
|
|
1648
|
-
These other agents have tools available to them.
|
|
1649
|
-
|
|
1650
|
-
Given a prompt, utilize these agents to address requests.
|
|
1651
|
-
|
|
1652
|
-
Don't always call all the agents provided to you at the same time. You can call one and use it's response to call another.
|
|
1653
|
-
|
|
1654
|
-
Avoid calling the same agent twice in one turn. Instead, prefer to call it once but provide everything
|
|
1655
|
-
you need from that agent.
|
|
1656
|
-
`;
|
|
1657
|
-
|
|
1658
|
-
// src/agents/adapters.ts
|
|
1659
|
-
var createWorkflowOpenAI = (context, config) => {
|
|
1660
|
-
const { baseURL, apiKey } = config ?? {};
|
|
1661
|
-
return createOpenAI({
|
|
1662
|
-
baseURL,
|
|
1663
|
-
apiKey,
|
|
1664
|
-
compatibility: "strict",
|
|
1665
|
-
fetch: async (input, init) => {
|
|
1666
|
-
try {
|
|
1667
|
-
const headers = init?.headers ? Object.fromEntries(new Headers(init.headers).entries()) : {};
|
|
1668
|
-
const body = init?.body ? JSON.parse(init.body) : void 0;
|
|
1669
|
-
const agentName = headers[AGENT_NAME_HEADER];
|
|
1670
|
-
const stepName = agentName ? `Call Agent ${agentName}` : "Call Agent";
|
|
1671
|
-
const responseInfo = await context.call(stepName, {
|
|
1672
|
-
url: input.toString(),
|
|
1673
|
-
method: init?.method,
|
|
1674
|
-
headers,
|
|
1675
|
-
body
|
|
1676
|
-
});
|
|
1677
|
-
const responseHeaders = new Headers(
|
|
1678
|
-
Object.entries(responseInfo.header).reduce(
|
|
1679
|
-
(acc, [key, values]) => {
|
|
1680
|
-
acc[key] = values.join(", ");
|
|
1681
|
-
return acc;
|
|
1682
|
-
},
|
|
1683
|
-
{}
|
|
1684
|
-
)
|
|
1685
|
-
);
|
|
1686
|
-
return new Response(JSON.stringify(responseInfo.body), {
|
|
1687
|
-
status: responseInfo.status,
|
|
1688
|
-
headers: responseHeaders
|
|
1689
|
-
});
|
|
1690
|
-
} catch (error) {
|
|
1691
|
-
if (error instanceof Error && error.name === "WorkflowAbort") {
|
|
1692
|
-
throw error;
|
|
1693
|
-
} else {
|
|
1694
|
-
console.error("Error in fetch implementation:", error);
|
|
1695
|
-
throw error;
|
|
1696
|
-
}
|
|
1697
|
-
}
|
|
1698
|
-
}
|
|
1699
|
-
});
|
|
1700
|
-
};
|
|
1701
|
-
var wrapTools = ({
|
|
1702
|
-
context,
|
|
1703
|
-
tools
|
|
1704
|
-
}) => {
|
|
1705
|
-
return Object.fromEntries(
|
|
1706
|
-
Object.entries(tools).map((toolInfo) => {
|
|
1707
|
-
const [toolName, tool3] = toolInfo;
|
|
1708
|
-
const aiSDKTool = convertToAISDKTool(tool3);
|
|
1709
|
-
const execute = aiSDKTool.execute;
|
|
1710
|
-
if (execute) {
|
|
1711
|
-
const wrappedExecute = (...params) => {
|
|
1712
|
-
return context.run(`Run tool ${toolName}`, () => execute(...params));
|
|
1713
|
-
};
|
|
1714
|
-
aiSDKTool.execute = wrappedExecute;
|
|
1715
|
-
}
|
|
1716
|
-
return [toolName, aiSDKTool];
|
|
1717
|
-
})
|
|
1718
|
-
);
|
|
1719
|
-
};
|
|
1720
|
-
var convertToAISDKTool = (tool3) => {
|
|
1721
|
-
const isLangchainTool = "invoke" in tool3;
|
|
1722
|
-
return isLangchainTool ? convertLangchainTool(tool3) : tool3;
|
|
1723
|
-
};
|
|
1724
|
-
var convertLangchainTool = (langchainTool) => {
|
|
1725
|
-
return tool({
|
|
1726
|
-
description: langchainTool.description,
|
|
1727
|
-
parameters: langchainTool.schema,
|
|
1728
|
-
execute: async (...param) => langchainTool.invoke(...param)
|
|
1729
|
-
});
|
|
1730
|
-
};
|
|
1731
|
-
|
|
1732
1772
|
// src/agents/agent.ts
|
|
1733
1773
|
import { z } from "zod";
|
|
1734
1774
|
import { generateText, tool as tool2, ToolExecutionError } from "ai";
|
|
@@ -2904,6 +2944,7 @@ export {
|
|
|
2904
2944
|
WorkflowAbort,
|
|
2905
2945
|
StepTypes,
|
|
2906
2946
|
triggerFirstInvocation,
|
|
2947
|
+
WorkflowTool,
|
|
2907
2948
|
WorkflowContext,
|
|
2908
2949
|
WorkflowLogger,
|
|
2909
2950
|
getWorkflowRunId,
|
package/cloudflare.d.mts
CHANGED
package/cloudflare.d.ts
CHANGED
package/cloudflare.js
CHANGED
|
@@ -1002,6 +1002,14 @@ var getHeaders = ({
|
|
|
1002
1002
|
}
|
|
1003
1003
|
if (failureUrl) {
|
|
1004
1004
|
baseHeaders[`Upstash-Failure-Callback-Forward-${WORKFLOW_FAILURE_HEADER}`] = "true";
|
|
1005
|
+
baseHeaders[`Upstash-Failure-Callback-Forward-Upstash-Workflow-Failure-Callback`] = "true";
|
|
1006
|
+
baseHeaders["Upstash-Failure-Callback-Workflow-Runid"] = workflowRunId;
|
|
1007
|
+
baseHeaders["Upstash-Failure-Callback-Workflow-Init"] = "false";
|
|
1008
|
+
baseHeaders["Upstash-Failure-Callback-Workflow-Url"] = workflowUrl;
|
|
1009
|
+
baseHeaders["Upstash-Failure-Callback-Workflow-Calltype"] = "failureCall";
|
|
1010
|
+
if (retries !== void 0) {
|
|
1011
|
+
baseHeaders["Upstash-Failure-Callback-Retries"] = retries.toString();
|
|
1012
|
+
}
|
|
1005
1013
|
if (!step?.callUrl) {
|
|
1006
1014
|
baseHeaders["Upstash-Failure-Callback"] = failureUrl;
|
|
1007
1015
|
}
|
|
@@ -1692,9 +1700,10 @@ var wrapTools = ({
|
|
|
1692
1700
|
return Object.fromEntries(
|
|
1693
1701
|
Object.entries(tools).map((toolInfo) => {
|
|
1694
1702
|
const [toolName, tool3] = toolInfo;
|
|
1703
|
+
const executeAsStep = "executeAsStep" in tool3 ? tool3.executeAsStep : true;
|
|
1695
1704
|
const aiSDKTool = convertToAISDKTool(tool3);
|
|
1696
1705
|
const execute = aiSDKTool.execute;
|
|
1697
|
-
if (execute) {
|
|
1706
|
+
if (execute && executeAsStep) {
|
|
1698
1707
|
const wrappedExecute = (...params) => {
|
|
1699
1708
|
return context.run(`Run tool ${toolName}`, () => execute(...params));
|
|
1700
1709
|
};
|
package/cloudflare.mjs
CHANGED
package/express.d.mts
CHANGED
package/express.d.ts
CHANGED
package/express.js
CHANGED
|
@@ -24674,6 +24674,14 @@ var getHeaders = ({
|
|
|
24674
24674
|
}
|
|
24675
24675
|
if (failureUrl) {
|
|
24676
24676
|
baseHeaders[`Upstash-Failure-Callback-Forward-${WORKFLOW_FAILURE_HEADER}`] = "true";
|
|
24677
|
+
baseHeaders[`Upstash-Failure-Callback-Forward-Upstash-Workflow-Failure-Callback`] = "true";
|
|
24678
|
+
baseHeaders["Upstash-Failure-Callback-Workflow-Runid"] = workflowRunId;
|
|
24679
|
+
baseHeaders["Upstash-Failure-Callback-Workflow-Init"] = "false";
|
|
24680
|
+
baseHeaders["Upstash-Failure-Callback-Workflow-Url"] = workflowUrl;
|
|
24681
|
+
baseHeaders["Upstash-Failure-Callback-Workflow-Calltype"] = "failureCall";
|
|
24682
|
+
if (retries !== void 0) {
|
|
24683
|
+
baseHeaders["Upstash-Failure-Callback-Retries"] = retries.toString();
|
|
24684
|
+
}
|
|
24677
24685
|
if (!step?.callUrl) {
|
|
24678
24686
|
baseHeaders["Upstash-Failure-Callback"] = failureUrl;
|
|
24679
24687
|
}
|
|
@@ -25364,9 +25372,10 @@ var wrapTools = ({
|
|
|
25364
25372
|
return Object.fromEntries(
|
|
25365
25373
|
Object.entries(tools).map((toolInfo) => {
|
|
25366
25374
|
const [toolName, tool3] = toolInfo;
|
|
25375
|
+
const executeAsStep = "executeAsStep" in tool3 ? tool3.executeAsStep : true;
|
|
25367
25376
|
const aiSDKTool = convertToAISDKTool(tool3);
|
|
25368
25377
|
const execute = aiSDKTool.execute;
|
|
25369
|
-
if (execute) {
|
|
25378
|
+
if (execute && executeAsStep) {
|
|
25370
25379
|
const wrappedExecute = (...params) => {
|
|
25371
25380
|
return context.run(`Run tool ${toolName}`, () => execute(...params));
|
|
25372
25381
|
};
|
package/express.mjs
CHANGED
package/h3.d.mts
CHANGED
package/h3.d.ts
CHANGED
package/h3.js
CHANGED
|
@@ -1314,6 +1314,14 @@ var getHeaders = ({
|
|
|
1314
1314
|
}
|
|
1315
1315
|
if (failureUrl) {
|
|
1316
1316
|
baseHeaders[`Upstash-Failure-Callback-Forward-${WORKFLOW_FAILURE_HEADER}`] = "true";
|
|
1317
|
+
baseHeaders[`Upstash-Failure-Callback-Forward-Upstash-Workflow-Failure-Callback`] = "true";
|
|
1318
|
+
baseHeaders["Upstash-Failure-Callback-Workflow-Runid"] = workflowRunId;
|
|
1319
|
+
baseHeaders["Upstash-Failure-Callback-Workflow-Init"] = "false";
|
|
1320
|
+
baseHeaders["Upstash-Failure-Callback-Workflow-Url"] = workflowUrl;
|
|
1321
|
+
baseHeaders["Upstash-Failure-Callback-Workflow-Calltype"] = "failureCall";
|
|
1322
|
+
if (retries !== void 0) {
|
|
1323
|
+
baseHeaders["Upstash-Failure-Callback-Retries"] = retries.toString();
|
|
1324
|
+
}
|
|
1317
1325
|
if (!step?.callUrl) {
|
|
1318
1326
|
baseHeaders["Upstash-Failure-Callback"] = failureUrl;
|
|
1319
1327
|
}
|
|
@@ -2004,9 +2012,10 @@ var wrapTools = ({
|
|
|
2004
2012
|
return Object.fromEntries(
|
|
2005
2013
|
Object.entries(tools).map((toolInfo) => {
|
|
2006
2014
|
const [toolName, tool3] = toolInfo;
|
|
2015
|
+
const executeAsStep = "executeAsStep" in tool3 ? tool3.executeAsStep : true;
|
|
2007
2016
|
const aiSDKTool = convertToAISDKTool(tool3);
|
|
2008
2017
|
const execute = aiSDKTool.execute;
|
|
2009
|
-
if (execute) {
|
|
2018
|
+
if (execute && executeAsStep) {
|
|
2010
2019
|
const wrappedExecute = (...params) => {
|
|
2011
2020
|
return context.run(`Run tool ${toolName}`, () => execute(...params));
|
|
2012
2021
|
};
|
package/h3.mjs
CHANGED
package/hono.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Context } from 'hono';
|
|
2
|
-
import { R as RouteFunction,
|
|
2
|
+
import { R as RouteFunction, k as PublicServeOptions } from './types-B62AnIU3.mjs';
|
|
3
3
|
import { Variables } from 'hono/types';
|
|
4
4
|
import '@upstash/qstash';
|
|
5
5
|
import 'zod';
|
package/hono.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Context } from 'hono';
|
|
2
|
-
import { R as RouteFunction,
|
|
2
|
+
import { R as RouteFunction, k as PublicServeOptions } from './types-B62AnIU3.js';
|
|
3
3
|
import { Variables } from 'hono/types';
|
|
4
4
|
import '@upstash/qstash';
|
|
5
5
|
import 'zod';
|
package/hono.js
CHANGED
|
@@ -1002,6 +1002,14 @@ var getHeaders = ({
|
|
|
1002
1002
|
}
|
|
1003
1003
|
if (failureUrl) {
|
|
1004
1004
|
baseHeaders[`Upstash-Failure-Callback-Forward-${WORKFLOW_FAILURE_HEADER}`] = "true";
|
|
1005
|
+
baseHeaders[`Upstash-Failure-Callback-Forward-Upstash-Workflow-Failure-Callback`] = "true";
|
|
1006
|
+
baseHeaders["Upstash-Failure-Callback-Workflow-Runid"] = workflowRunId;
|
|
1007
|
+
baseHeaders["Upstash-Failure-Callback-Workflow-Init"] = "false";
|
|
1008
|
+
baseHeaders["Upstash-Failure-Callback-Workflow-Url"] = workflowUrl;
|
|
1009
|
+
baseHeaders["Upstash-Failure-Callback-Workflow-Calltype"] = "failureCall";
|
|
1010
|
+
if (retries !== void 0) {
|
|
1011
|
+
baseHeaders["Upstash-Failure-Callback-Retries"] = retries.toString();
|
|
1012
|
+
}
|
|
1005
1013
|
if (!step?.callUrl) {
|
|
1006
1014
|
baseHeaders["Upstash-Failure-Callback"] = failureUrl;
|
|
1007
1015
|
}
|
|
@@ -1692,9 +1700,10 @@ var wrapTools = ({
|
|
|
1692
1700
|
return Object.fromEntries(
|
|
1693
1701
|
Object.entries(tools).map((toolInfo) => {
|
|
1694
1702
|
const [toolName, tool3] = toolInfo;
|
|
1703
|
+
const executeAsStep = "executeAsStep" in tool3 ? tool3.executeAsStep : true;
|
|
1695
1704
|
const aiSDKTool = convertToAISDKTool(tool3);
|
|
1696
1705
|
const execute = aiSDKTool.execute;
|
|
1697
|
-
if (execute) {
|
|
1706
|
+
if (execute && executeAsStep) {
|
|
1698
1707
|
const wrappedExecute = (...params) => {
|
|
1699
1708
|
return context.run(`Run tool ${toolName}`, () => execute(...params));
|
|
1700
1709
|
};
|