@ai-sdk/workflow 1.0.0-canary.81 → 1.0.0-canary.83
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/CHANGELOG.md +19 -0
- package/dist/index.d.mts +24 -5
- package/dist/index.mjs +39 -37
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +1 -0
- package/src/stream-text-iterator.ts +8 -3
- package/src/workflow-agent.ts +35 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# @ai-sdk/workflow
|
|
2
2
|
|
|
3
|
+
## 1.0.0-canary.83
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 19736ee: feat(ai): rename onStepFinish to onStepEnd
|
|
8
|
+
- Updated dependencies [19736ee]
|
|
9
|
+
- Updated dependencies [d66ae02]
|
|
10
|
+
- Updated dependencies [e4182bd]
|
|
11
|
+
- ai@7.0.0-canary.166
|
|
12
|
+
|
|
13
|
+
## 1.0.0-canary.82
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- Updated dependencies [ce769dd]
|
|
18
|
+
- @ai-sdk/provider@4.0.0-canary.18
|
|
19
|
+
- ai@7.0.0-canary.165
|
|
20
|
+
- @ai-sdk/provider-utils@5.0.0-canary.46
|
|
21
|
+
|
|
3
22
|
## 1.0.0-canary.81
|
|
4
23
|
|
|
5
24
|
### Patch Changes
|
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { LanguageModelV4, SharedV4ProviderOptions, LanguageModelV4CallOptions, LanguageModelV4Prompt, LanguageModelV4StreamPart } from '@ai-sdk/provider';
|
|
2
2
|
import { Context, HasRequiredKey, InferToolSetContext } from '@ai-sdk/provider-utils';
|
|
3
|
-
import { ToolSet, LanguageModel, Instructions, ToolChoice, TelemetryOptions as TelemetryOptions$1, StopCondition, ActiveTools, LanguageModelResponseMetadata, LanguageModelUsage, FinishReason, ToolCallRepairFunction, StepResult,
|
|
3
|
+
import { ToolSet, LanguageModel, Instructions, ToolChoice, TelemetryOptions as TelemetryOptions$1, StopCondition, ActiveTools, LanguageModelResponseMetadata, LanguageModelUsage, FinishReason, ToolCallRepairFunction, StepResult, GenerateTextOnStepEndCallback, ModelMessage, Experimental_LanguageModelStreamPart, UIMessage, UIMessageChunk, ChatTransport, PrepareSendMessagesRequest, PrepareReconnectToStreamRequest, ChatRequestOptions } from 'ai';
|
|
4
4
|
export { Experimental_LanguageModelStreamPart as ModelCallStreamPart, Output, ToolCallRepairFunction } from 'ai';
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -16,10 +16,17 @@ type CompatibleLanguageModel = LanguageModelV4;
|
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* Callback function to be called after each step completes.
|
|
19
|
-
* Alias for the AI SDK's
|
|
19
|
+
* Alias for the AI SDK's GenerateTextOnStepEndCallback, using
|
|
20
20
|
* WorkflowAgent-consistent naming.
|
|
21
21
|
*/
|
|
22
|
-
type
|
|
22
|
+
type WorkflowAgentOnStepEndCallback<TTools extends ToolSet = ToolSet, TRuntimeContext extends Context = Context> = GenerateTextOnStepEndCallback<TTools, TRuntimeContext>;
|
|
23
|
+
/**
|
|
24
|
+
* Callback function to be called after each step completes.
|
|
25
|
+
* Deprecated alias for `WorkflowAgentOnStepEndCallback`.
|
|
26
|
+
*
|
|
27
|
+
* @deprecated Use `WorkflowAgentOnStepEndCallback` instead.
|
|
28
|
+
*/
|
|
29
|
+
type WorkflowAgentOnStepFinishCallback<TTools extends ToolSet = ToolSet, TRuntimeContext extends Context = Context> = WorkflowAgentOnStepEndCallback<TTools, TRuntimeContext>;
|
|
23
30
|
/**
|
|
24
31
|
* Infer the type of the tools of a workflow agent.
|
|
25
32
|
*/
|
|
@@ -358,6 +365,12 @@ type WorkflowAgentOptions<TTools extends ToolSet = ToolSet, TRuntimeContext exte
|
|
|
358
365
|
/**
|
|
359
366
|
* Callback function to be called after each step completes.
|
|
360
367
|
*/
|
|
368
|
+
onStepEnd?: WorkflowAgentOnStepEndCallback<TTools, TRuntimeContext>;
|
|
369
|
+
/**
|
|
370
|
+
* Callback function to be called after each step completes.
|
|
371
|
+
*
|
|
372
|
+
* @deprecated Use `onStepEnd` instead.
|
|
373
|
+
*/
|
|
361
374
|
onStepFinish?: WorkflowAgentOnStepFinishCallback<TTools, TRuntimeContext>;
|
|
362
375
|
/**
|
|
363
376
|
* Callback that is called when the LLM response and all request tool executions are finished.
|
|
@@ -684,6 +697,12 @@ type WorkflowAgentStreamOptions<TTools extends ToolSet = ToolSet, TRuntimeContex
|
|
|
684
697
|
/**
|
|
685
698
|
* Callback function to be called after each step completes.
|
|
686
699
|
*/
|
|
700
|
+
onStepEnd?: WorkflowAgentOnStepEndCallback<TTools, TRuntimeContext>;
|
|
701
|
+
/**
|
|
702
|
+
* Callback function to be called after each step completes.
|
|
703
|
+
*
|
|
704
|
+
* @deprecated Use `onStepEnd` instead.
|
|
705
|
+
*/
|
|
687
706
|
onStepFinish?: WorkflowAgentOnStepFinishCallback<TTools, TRuntimeContext>;
|
|
688
707
|
/**
|
|
689
708
|
* Callback that is invoked when an error occurs during streaming.
|
|
@@ -878,7 +897,7 @@ declare class WorkflowAgent<TBaseTools extends ToolSet = ToolSet, TRuntimeContex
|
|
|
878
897
|
private experimentalRepairToolCall?;
|
|
879
898
|
private experimentalDownload?;
|
|
880
899
|
private prepareStep?;
|
|
881
|
-
private
|
|
900
|
+
private constructorOnStepEnd?;
|
|
882
901
|
private constructorOnEnd?;
|
|
883
902
|
private constructorOnStart?;
|
|
884
903
|
private constructorOnStepStart?;
|
|
@@ -1056,4 +1075,4 @@ declare class WorkflowChatTransport<UI_MESSAGE extends UIMessage> implements Cha
|
|
|
1056
1075
|
private onFinish;
|
|
1057
1076
|
}
|
|
1058
1077
|
|
|
1059
|
-
export { type CompatibleLanguageModel, type DownloadFunction, type GenerationSettings, type InferWorkflowAgentTools, type InferWorkflowAgentUIMessage, type OutputSpecification, type PrepareCallCallback, type PrepareCallOptions, type PrepareCallResult, type PrepareStepCallback, type PrepareStepInfo, type PrepareStepResult, type ProviderOptions, type ReconnectToStreamOptions, type SendMessagesOptions, type StreamTextTransform, type TelemetryOptions, WorkflowAgent, type WorkflowAgentOnAbortCallback, type WorkflowAgentOnEndCallback, type WorkflowAgentOnErrorCallback, type WorkflowAgentOnFinishCallback, type WorkflowAgentOnStartCallback, type WorkflowAgentOnStepFinishCallback, type WorkflowAgentOnStepStartCallback, type WorkflowAgentOnToolExecutionEndCallback, type WorkflowAgentOnToolExecutionStartCallback, type WorkflowAgentOptions, type WorkflowAgentStreamOptions, type WorkflowAgentStreamResult, WorkflowChatTransport, type WorkflowChatTransportOptions, createModelCallToUIChunkTransform, toUIMessageChunk };
|
|
1078
|
+
export { type CompatibleLanguageModel, type DownloadFunction, type GenerationSettings, type InferWorkflowAgentTools, type InferWorkflowAgentUIMessage, type OutputSpecification, type PrepareCallCallback, type PrepareCallOptions, type PrepareCallResult, type PrepareStepCallback, type PrepareStepInfo, type PrepareStepResult, type ProviderOptions, type ReconnectToStreamOptions, type SendMessagesOptions, type StreamTextTransform, type TelemetryOptions, WorkflowAgent, type WorkflowAgentOnAbortCallback, type WorkflowAgentOnEndCallback, type WorkflowAgentOnErrorCallback, type WorkflowAgentOnFinishCallback, type WorkflowAgentOnStartCallback, type WorkflowAgentOnStepEndCallback, type WorkflowAgentOnStepFinishCallback, type WorkflowAgentOnStepStartCallback, type WorkflowAgentOnToolExecutionEndCallback, type WorkflowAgentOnToolExecutionStartCallback, type WorkflowAgentOptions, type WorkflowAgentStreamOptions, type WorkflowAgentStreamResult, WorkflowChatTransport, type WorkflowChatTransportOptions, createModelCallToUIChunkTransform, toUIMessageChunk };
|
package/dist/index.mjs
CHANGED
|
@@ -301,6 +301,7 @@ async function* streamTextIterator({
|
|
|
301
301
|
writable,
|
|
302
302
|
model,
|
|
303
303
|
stopConditions,
|
|
304
|
+
onStepEnd,
|
|
304
305
|
onStepFinish,
|
|
305
306
|
onStepStart,
|
|
306
307
|
onError,
|
|
@@ -590,10 +591,11 @@ async function* streamTextIterator({
|
|
|
590
591
|
`Unexpected finish reason: ${typeof (finish == null ? void 0 : finish.finishReason) === "object" ? JSON.stringify(finish == null ? void 0 : finish.finishReason) : finish == null ? void 0 : finish.finishReason}`
|
|
591
592
|
);
|
|
592
593
|
}
|
|
593
|
-
|
|
594
|
-
|
|
594
|
+
const resolvedOnStepEnd = onStepEnd != null ? onStepEnd : onStepFinish;
|
|
595
|
+
if (resolvedOnStepEnd) {
|
|
596
|
+
await resolvedOnStepEnd(step);
|
|
595
597
|
}
|
|
596
|
-
await ((_j = telemetryDispatcher.
|
|
598
|
+
await ((_j = telemetryDispatcher.onStepEnd) == null ? void 0 : _j.call(telemetryDispatcher, normalizeStepForTelemetry(step)));
|
|
597
599
|
} catch (error) {
|
|
598
600
|
if (onError) {
|
|
599
601
|
await onError({ error });
|
|
@@ -647,7 +649,7 @@ function sanitizeProviderMetadataForToolCall(metadata) {
|
|
|
647
649
|
// src/workflow-agent.ts
|
|
648
650
|
var WorkflowAgent = class {
|
|
649
651
|
constructor(options) {
|
|
650
|
-
var _a, _b;
|
|
652
|
+
var _a, _b, _c;
|
|
651
653
|
this.id = options.id;
|
|
652
654
|
this.model = options.model;
|
|
653
655
|
this.tools = (_a = options.tools) != null ? _a : {};
|
|
@@ -662,7 +664,7 @@ var WorkflowAgent = class {
|
|
|
662
664
|
this.experimentalRepairToolCall = options.experimental_repairToolCall;
|
|
663
665
|
this.experimentalDownload = options.experimental_download;
|
|
664
666
|
this.prepareStep = options.prepareStep;
|
|
665
|
-
this.
|
|
667
|
+
this.constructorOnStepEnd = (_c = options.onStepEnd) != null ? _c : options.onStepFinish;
|
|
666
668
|
const { onFinish, onEnd = onFinish } = options;
|
|
667
669
|
this.constructorOnEnd = onEnd;
|
|
668
670
|
this.constructorOnStart = options.experimental_onStart;
|
|
@@ -689,7 +691,7 @@ var WorkflowAgent = class {
|
|
|
689
691
|
throw new Error("Not implemented");
|
|
690
692
|
}
|
|
691
693
|
async stream(options) {
|
|
692
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N;
|
|
694
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O;
|
|
693
695
|
const { onFinish, onEnd = onFinish } = options;
|
|
694
696
|
let effectiveModel = this.model;
|
|
695
697
|
let effectiveInstructions = (_a = options.system) != null ? _a : this.instructions;
|
|
@@ -939,9 +941,9 @@ var WorkflowAgent = class {
|
|
|
939
941
|
providerOptions: options.providerOptions
|
|
940
942
|
}
|
|
941
943
|
};
|
|
942
|
-
const
|
|
943
|
-
this.
|
|
944
|
-
options.onStepFinish
|
|
944
|
+
const mergedOnStepEnd = mergeCallbacks(
|
|
945
|
+
this.constructorOnStepEnd,
|
|
946
|
+
(_n = options.onStepEnd) != null ? _n : options.onStepFinish
|
|
945
947
|
);
|
|
946
948
|
const mergedOnEnd = mergeCallbacks(
|
|
947
949
|
this.constructorOnEnd,
|
|
@@ -964,11 +966,11 @@ var WorkflowAgent = class {
|
|
|
964
966
|
options.onToolExecutionEnd
|
|
965
967
|
);
|
|
966
968
|
const effectiveToolChoice = effectiveToolChoiceFromPrepare;
|
|
967
|
-
const effectiveActiveTools = (
|
|
968
|
-
const effectiveTools = effectiveActiveTools && effectiveActiveTools.length > 0 ? (
|
|
969
|
+
const effectiveActiveTools = (_o = options.activeTools) != null ? _o : this.activeTools;
|
|
970
|
+
const effectiveTools = effectiveActiveTools && effectiveActiveTools.length > 0 ? (_p = filterActiveTools2({
|
|
969
971
|
tools: this.tools,
|
|
970
972
|
activeTools: effectiveActiveTools
|
|
971
|
-
})) != null ?
|
|
973
|
+
})) != null ? _p : this.tools : this.tools;
|
|
972
974
|
const effectiveModelInfo = getModelInfo2(effectiveModel);
|
|
973
975
|
let runtimeContext = effectiveRuntimeContext;
|
|
974
976
|
let toolsContext = effectiveToolsContext;
|
|
@@ -983,7 +985,7 @@ var WorkflowAgent = class {
|
|
|
983
985
|
toolsContext
|
|
984
986
|
});
|
|
985
987
|
}
|
|
986
|
-
await ((
|
|
988
|
+
await ((_s = telemetryDispatcher.onStart) == null ? void 0 : _s.call(telemetryDispatcher, {
|
|
987
989
|
callId: "workflow-agent",
|
|
988
990
|
operationId: "ai.workflowAgent.stream",
|
|
989
991
|
provider: effectiveModelInfo.provider,
|
|
@@ -1001,11 +1003,11 @@ var WorkflowAgent = class {
|
|
|
1001
1003
|
frequencyPenalty: mergedGenerationSettings.frequencyPenalty,
|
|
1002
1004
|
stopSequences: mergedGenerationSettings.stopSequences,
|
|
1003
1005
|
seed: mergedGenerationSettings.seed,
|
|
1004
|
-
maxRetries: (
|
|
1006
|
+
maxRetries: (_q = mergedGenerationSettings.maxRetries) != null ? _q : 2,
|
|
1005
1007
|
timeout: void 0,
|
|
1006
1008
|
headers: mergedGenerationSettings.headers,
|
|
1007
1009
|
providerOptions: mergedGenerationSettings.providerOptions,
|
|
1008
|
-
output: (
|
|
1010
|
+
output: (_r = options.output) != null ? _r : this.output,
|
|
1009
1011
|
runtimeContext,
|
|
1010
1012
|
toolsContext
|
|
1011
1013
|
}));
|
|
@@ -1150,7 +1152,7 @@ var WorkflowAgent = class {
|
|
|
1150
1152
|
}
|
|
1151
1153
|
}));
|
|
1152
1154
|
};
|
|
1153
|
-
if ((
|
|
1155
|
+
if ((_t = mergedGenerationSettings.abortSignal) == null ? void 0 : _t.aborted) {
|
|
1154
1156
|
if (options.onAbort) {
|
|
1155
1157
|
await options.onAbort({ steps });
|
|
1156
1158
|
}
|
|
@@ -1167,19 +1169,19 @@ var WorkflowAgent = class {
|
|
|
1167
1169
|
tools: effectiveTools,
|
|
1168
1170
|
writable: options.writable,
|
|
1169
1171
|
prompt: modelPrompt,
|
|
1170
|
-
stopConditions: (
|
|
1171
|
-
|
|
1172
|
+
stopConditions: (_u = options.stopWhen) != null ? _u : this.stopWhen,
|
|
1173
|
+
onStepEnd: mergedOnStepEnd,
|
|
1172
1174
|
onStepStart: mergedOnStepStart,
|
|
1173
1175
|
onError: options.onError,
|
|
1174
|
-
prepareStep: (
|
|
1176
|
+
prepareStep: (_v = options.prepareStep) != null ? _v : this.prepareStep,
|
|
1175
1177
|
generationSettings: mergedGenerationSettings,
|
|
1176
1178
|
toolChoice: effectiveToolChoice,
|
|
1177
1179
|
runtimeContext,
|
|
1178
1180
|
toolsContext,
|
|
1179
1181
|
telemetry: effectiveTelemetry,
|
|
1180
|
-
includeRawChunks: (
|
|
1181
|
-
repairToolCall: (
|
|
1182
|
-
responseFormat: await ((
|
|
1182
|
+
includeRawChunks: (_w = options.includeRawChunks) != null ? _w : false,
|
|
1183
|
+
repairToolCall: (_x = options.experimental_repairToolCall) != null ? _x : this.experimentalRepairToolCall,
|
|
1184
|
+
responseFormat: await ((_z = (_y = options.output) != null ? _y : this.output) == null ? void 0 : _z.responseFormat)
|
|
1183
1185
|
});
|
|
1184
1186
|
let finalMessages;
|
|
1185
1187
|
let encounteredError;
|
|
@@ -1187,7 +1189,7 @@ var WorkflowAgent = class {
|
|
|
1187
1189
|
try {
|
|
1188
1190
|
let result = await iterator.next();
|
|
1189
1191
|
while (!result.done) {
|
|
1190
|
-
if ((
|
|
1192
|
+
if ((_A = mergedGenerationSettings.abortSignal) == null ? void 0 : _A.aborted) {
|
|
1191
1193
|
wasAborted = true;
|
|
1192
1194
|
if (options.onAbort) {
|
|
1193
1195
|
await options.onAbort({ steps });
|
|
@@ -1314,8 +1316,8 @@ var WorkflowAgent = class {
|
|
|
1314
1316
|
await mergedOnEnd({
|
|
1315
1317
|
steps,
|
|
1316
1318
|
messages: messages2,
|
|
1317
|
-
text: (
|
|
1318
|
-
finishReason: (
|
|
1319
|
+
text: (_B = lastStep == null ? void 0 : lastStep.text) != null ? _B : "",
|
|
1320
|
+
finishReason: (_C = lastStep == null ? void 0 : lastStep.finishReason) != null ? _C : "other",
|
|
1319
1321
|
usage: totalUsage,
|
|
1320
1322
|
totalUsage,
|
|
1321
1323
|
runtimeContext,
|
|
@@ -1327,7 +1329,7 @@ var WorkflowAgent = class {
|
|
|
1327
1329
|
const telemetrySteps = steps.map(normalizeStepForTelemetry2);
|
|
1328
1330
|
const lastStep = telemetrySteps[telemetrySteps.length - 1];
|
|
1329
1331
|
const totalUsage = aggregateUsage(steps);
|
|
1330
|
-
await ((
|
|
1332
|
+
await ((_D = telemetryDispatcher.onEnd) == null ? void 0 : _D.call(telemetryDispatcher, {
|
|
1331
1333
|
...lastStep,
|
|
1332
1334
|
steps: telemetrySteps,
|
|
1333
1335
|
usage: totalUsage,
|
|
@@ -1352,8 +1354,8 @@ var WorkflowAgent = class {
|
|
|
1352
1354
|
}
|
|
1353
1355
|
}
|
|
1354
1356
|
if (options.writable) {
|
|
1355
|
-
const sendFinish = (
|
|
1356
|
-
const preventClose = (
|
|
1357
|
+
const sendFinish = (_E = options.sendFinish) != null ? _E : true;
|
|
1358
|
+
const preventClose = (_F = options.preventClose) != null ? _F : false;
|
|
1357
1359
|
if (sendFinish || !preventClose) {
|
|
1358
1360
|
await closeStream(options.writable, preventClose, sendFinish);
|
|
1359
1361
|
}
|
|
@@ -1461,10 +1463,10 @@ var WorkflowAgent = class {
|
|
|
1461
1463
|
} else if (options.onError) {
|
|
1462
1464
|
await options.onError({ error });
|
|
1463
1465
|
}
|
|
1464
|
-
await ((
|
|
1466
|
+
await ((_G = telemetryDispatcher.onError) == null ? void 0 : _G.call(telemetryDispatcher, error));
|
|
1465
1467
|
}
|
|
1466
1468
|
const messages = finalMessages != null ? finalMessages : prompt.messages;
|
|
1467
|
-
const effectiveOutput = (
|
|
1469
|
+
const effectiveOutput = (_H = options.output) != null ? _H : this.output;
|
|
1468
1470
|
let experimentalOutput = void 0;
|
|
1469
1471
|
if (effectiveOutput && steps.length > 0) {
|
|
1470
1472
|
const lastStep = steps[steps.length - 1];
|
|
@@ -1492,8 +1494,8 @@ var WorkflowAgent = class {
|
|
|
1492
1494
|
await mergedOnEnd({
|
|
1493
1495
|
steps,
|
|
1494
1496
|
messages,
|
|
1495
|
-
text: (
|
|
1496
|
-
finishReason: (
|
|
1497
|
+
text: (_I = lastStep == null ? void 0 : lastStep.text) != null ? _I : "",
|
|
1498
|
+
finishReason: (_J = lastStep == null ? void 0 : lastStep.finishReason) != null ? _J : "other",
|
|
1497
1499
|
usage: totalUsage,
|
|
1498
1500
|
totalUsage,
|
|
1499
1501
|
runtimeContext,
|
|
@@ -1505,7 +1507,7 @@ var WorkflowAgent = class {
|
|
|
1505
1507
|
const telemetrySteps = steps.map(normalizeStepForTelemetry2);
|
|
1506
1508
|
const lastStep = telemetrySteps[telemetrySteps.length - 1];
|
|
1507
1509
|
const totalUsage = aggregateUsage(steps);
|
|
1508
|
-
await ((
|
|
1510
|
+
await ((_K = telemetryDispatcher.onEnd) == null ? void 0 : _K.call(telemetryDispatcher, {
|
|
1509
1511
|
...lastStep,
|
|
1510
1512
|
steps: telemetrySteps,
|
|
1511
1513
|
usage: totalUsage,
|
|
@@ -1514,8 +1516,8 @@ var WorkflowAgent = class {
|
|
|
1514
1516
|
}
|
|
1515
1517
|
if (encounteredError) {
|
|
1516
1518
|
if (options.writable) {
|
|
1517
|
-
const sendFinish = (
|
|
1518
|
-
const preventClose = (
|
|
1519
|
+
const sendFinish = (_L = options.sendFinish) != null ? _L : true;
|
|
1520
|
+
const preventClose = (_M = options.preventClose) != null ? _M : false;
|
|
1519
1521
|
if (sendFinish || !preventClose) {
|
|
1520
1522
|
await closeStream(options.writable, preventClose, sendFinish);
|
|
1521
1523
|
}
|
|
@@ -1523,8 +1525,8 @@ var WorkflowAgent = class {
|
|
|
1523
1525
|
throw encounteredError;
|
|
1524
1526
|
}
|
|
1525
1527
|
if (options.writable) {
|
|
1526
|
-
const sendFinish = (
|
|
1527
|
-
const preventClose = (
|
|
1528
|
+
const sendFinish = (_N = options.sendFinish) != null ? _N : true;
|
|
1529
|
+
const preventClose = (_O = options.preventClose) != null ? _O : false;
|
|
1528
1530
|
if (sendFinish || !preventClose) {
|
|
1529
1531
|
await closeStream(options.writable, preventClose, sendFinish);
|
|
1530
1532
|
}
|