( out: Json | Json[], chosenAction: Action, )
| 13 | import { StreamingStepInput } from "@superflows/chat-ui-react/dist/src/lib/types"; |
| 14 | |
| 15 | export function processAPIoutput( |
| 16 | out: Json | Json[], |
| 17 | chosenAction: Action, |
| 18 | ): Json | Json[] { |
| 19 | const keys = chosenAction.keys_to_keep; |
| 20 | if (keys && Array.isArray(keys) && keys.every((k) => typeof k === "string")) { |
| 21 | if (Array.isArray(out)) { |
| 22 | console.log("De-duplicating array"); |
| 23 | out = deduplicateArray(out) as Json[]; |
| 24 | } |
| 25 | console.log("Filtering to keep keys:", keys); |
| 26 | out = filterKeys(out, keys as string[]); |
| 27 | } |
| 28 | |
| 29 | return out; |
| 30 | } |
| 31 | |
| 32 | function forgeLogMessage(url: string, requestOptions: RequestInit) { |
| 33 | return `Attempting fetch with url: ${url}\n\nWith options:${JSON.stringify( |
no test coverage detected