Comparing version 0.1.8 to 0.1.9
@@ -1,11 +0,9 @@ | ||
import * as t from "io-ts"; | ||
declare const ResultType: t.TypeC<{ | ||
result: t.StringC; | ||
token_usage: t.TypeC<{ | ||
input: t.NumberC; | ||
output: t.NumberC; | ||
}>; | ||
declare function generateWithTokenUsage(task: string): Promise<{ | ||
result: string; | ||
tokenUsage: { | ||
input: number; | ||
output: number; | ||
}; | ||
}>; | ||
declare function generateWithTokenUsage(task: string): Promise<t.TypeOf<typeof ResultType>>; | ||
declare function generate(task: string): Promise<string>; | ||
export { generate, generateWithTokenUsage }; |
@@ -104,3 +104,3 @@ "use strict"; | ||
} | ||
return [2 /*return*/, res]; | ||
return [2 /*return*/, { result: res.result, tokenUsage: res.token_usage }]; | ||
} | ||
@@ -107,0 +107,0 @@ }); |
import { generate, generateWithTokenUsage } from "./generate"; | ||
import { generateWithType, generateWithTypeWithTokenUsage } from "./probabilistic_helpers/generateWithType"; | ||
import { t } from "./probabilistic_helpers/types"; | ||
import { splitString } from "./split"; | ||
export { generate, generateWithTokenUsage, generateWithType, generateWithTypeWithTokenUsage, splitString, }; | ||
export { generate, generateWithTokenUsage, generateWithType, generateWithTypeWithTokenUsage, splitString, t, }; |
"use strict"; | ||
exports.__esModule = true; | ||
exports.splitString = exports.generateWithTypeWithTokenUsage = exports.generateWithType = exports.generateWithTokenUsage = exports.generate = void 0; | ||
exports.t = exports.splitString = exports.generateWithTypeWithTokenUsage = exports.generateWithType = exports.generateWithTokenUsage = exports.generate = void 0; | ||
var generate_1 = require("./generate"); | ||
@@ -10,3 +10,5 @@ exports.generate = generate_1.generate; | ||
exports.generateWithTypeWithTokenUsage = generateWithType_1.generateWithTypeWithTokenUsage; | ||
var types_1 = require("./probabilistic_helpers/types"); | ||
exports.t = types_1.t; | ||
var split_1 = require("./split"); | ||
exports.splitString = split_1.splitString; |
@@ -45,11 +45,14 @@ "use strict"; | ||
.join(""); | ||
return (entries | ||
// eslint-disable-next-line no-use-before-define | ||
return entries | ||
.map(function (_a) { | ||
var key = _a[0], value = _a[1]; | ||
return [key, internalTsio2String(value, indent + 1)]; | ||
return [ | ||
key, | ||
internalTsio2String(value, indent + 1), | ||
value._desc ? " // ".concat(value._desc) : "", | ||
]; | ||
}) | ||
.reduce(function (prev, curr) { | ||
return "".concat(prev, "\n").concat(leftpad).concat(JSON.stringify(curr[0])).concat(partial ? "?" : "", ": ").concat(curr[1], ","); | ||
}, "")); | ||
return "".concat(prev, "\n").concat(leftpad).concat(JSON.stringify(curr[0])).concat(partial ? "?" : "", ": ").concat(curr[1], ",").concat(curr[2]); | ||
}, ""); | ||
} | ||
@@ -116,3 +119,3 @@ function internalTsio2String(type, indent) { | ||
case 2: | ||
_a = _b.sent(), resultJson = _a.result, tu = _a.token_usage; | ||
_a = _b.sent(), resultJson = _a.result, tu = _a.tokenUsage; | ||
tokenUsage.output += tu.output; | ||
@@ -122,3 +125,6 @@ tokenUsage.input += tu.input; | ||
try { | ||
result = JSON.parse(resultJson); | ||
result = JSON.parse(resultJson | ||
.replace("\n", "") | ||
.replace(/^```((json)|(JSON))?/, "") | ||
.replace(/```$/, "")); | ||
} | ||
@@ -125,0 +131,0 @@ catch (e) { |
@@ -1,3 +0,2 @@ | ||
import { generateWithType, splitString } from "../lib/index"; | ||
import * as t from "io-ts"; | ||
import { generateWithType, t } from "../lib/index"; | ||
@@ -14,2 +13,5 @@ (async () => { | ||
arg2_name: t.string, | ||
an_unhelpful_field_name: t.string.description( | ||
"A description of the given function", | ||
), | ||
type: t.union([t.literal("function"), t.literal("method")]), | ||
@@ -16,0 +18,0 @@ }), |
@@ -34,3 +34,5 @@ import fetch from "node-fetch"; | ||
async function generateWithTokenUsage(task: string): Promise<t.TypeOf<typeof ResultType>> { | ||
async function generateWithTokenUsage( | ||
task: string, | ||
): Promise<{ result: string; tokenUsage: { input: number; output: number } }> { | ||
const res = await fetch(`${POLYFACT_ENDPOINT}/generate`, { | ||
@@ -49,3 +51,3 @@ method: "POST", | ||
return res; | ||
return { result: res.result, tokenUsage: res.token_usage }; | ||
} | ||
@@ -52,0 +54,0 @@ |
@@ -6,2 +6,3 @@ import { generate, generateWithTokenUsage } from "./generate"; | ||
} from "./probabilistic_helpers/generateWithType"; | ||
import { t } from "./probabilistic_helpers/types"; | ||
import { splitString } from "./split"; | ||
@@ -15,2 +16,3 @@ | ||
splitString, | ||
t, | ||
}; |
@@ -0,1 +1,2 @@ | ||
/* eslint-disable no-use-before-define */ | ||
import * as t from "io-ts"; | ||
@@ -9,14 +10,15 @@ import fetch from "node-fetch"; | ||
.join(""); | ||
return ( | ||
entries | ||
// eslint-disable-next-line no-use-before-define | ||
.map(([key, value]) => [key, internalTsio2String(value, indent + 1)]) | ||
.reduce( | ||
(prev, curr) => | ||
`${prev}\n${leftpad}${JSON.stringify(curr[0])}${partial ? "?" : ""}: ${ | ||
curr[1] | ||
},`, | ||
"", | ||
) | ||
); | ||
return entries | ||
.map(([key, value]) => [ | ||
key, | ||
internalTsio2String(value, indent + 1), | ||
value._desc ? ` // ${value._desc}` : "", | ||
]) | ||
.reduce( | ||
(prev, curr) => | ||
`${prev}\n${leftpad}${JSON.stringify(curr[0])}${partial ? "?" : ""}: ${curr[1]},${ | ||
curr[2] | ||
}`, | ||
"", | ||
); | ||
} | ||
@@ -88,3 +90,3 @@ | ||
for (let tryCount = 0; tryCount < 5; tryCount++) { | ||
const { result: resultJson, token_usage: tu } = await generateWithTokenUsage( | ||
const { result: resultJson, tokenUsage: tu } = await generateWithTokenUsage( | ||
generateTypedPrompt(typeFormat, task), | ||
@@ -98,3 +100,8 @@ ); | ||
try { | ||
result = JSON.parse(resultJson); | ||
result = JSON.parse( | ||
resultJson | ||
.replace("\n", "") | ||
.replace(/^```((json)|(JSON))?/, "") | ||
.replace(/```$/, ""), | ||
); | ||
} catch (e) { | ||
@@ -101,0 +108,0 @@ continue; |
{ | ||
"name": "polyfact", | ||
"version": "0.1.8", | ||
"version": "0.1.9", | ||
"main": "dist/index.js", | ||
@@ -5,0 +5,0 @@ "types": "dist/index.d.ts", |
Sorry, the diff of this file is not supported yet
831649
29
1266