@promptbook/core 0.25.0 → 0.26.0

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/esm/index.es.js CHANGED
@@ -561,6 +561,12 @@ function parseCommand(listItem) {
561
561
  functionName: functionName,
562
562
  };
563
563
  }
564
+ else if (type.startsWith('EXPECT_JSON')) {
565
+ return {
566
+ type: 'EXPECT_FORMAT',
567
+ format: 'JSON',
568
+ };
569
+ }
564
570
  else if (type.startsWith('EXPECT')) {
565
571
  try {
566
572
  listItemParts.shift();
@@ -616,7 +622,7 @@ function parseCommand(listItem) {
616
622
  throw new Error("Invalid unit \"".concat(unitRaw, "\""));
617
623
  }
618
624
  return {
619
- type: 'EXPECT',
625
+ type: 'EXPECT_AMOUNT',
620
626
  sign: sign,
621
627
  unit: unit,
622
628
  amount: amount,
@@ -737,7 +743,8 @@ function promptTemplatePipelineStringToJson(promptTemplatePipelineString) {
737
743
  var postprocessingCommands = [];
738
744
  var listItems_3 = extractAllListItemsFromMarkdown(section.content);
739
745
  var executionType = 'PROMPT_TEMPLATE';
740
- var expectations = {};
746
+ var expectAmount = {};
747
+ var expectFormat = undefined;
741
748
  var isExecutionTypeChanged = false;
742
749
  try {
743
750
  for (var listItems_2 = (e_3 = void 0, __values(listItems_3)), listItems_2_1 = listItems_2.next(); !listItems_2_1.done; listItems_2_1 = listItems_2.next()) {
@@ -761,22 +768,28 @@ function promptTemplatePipelineStringToJson(promptTemplatePipelineString) {
761
768
  case 'POSTPROCESS':
762
769
  postprocessingCommands.push(command);
763
770
  break;
764
- case 'EXPECT':
771
+ case 'EXPECT_AMOUNT':
765
772
  // eslint-disable-next-line no-case-declarations
766
773
  var unit = command.unit.toLowerCase();
767
- expectations[unit] = expectations[unit] || {};
774
+ expectAmount[unit] = expectAmount[unit] || {};
768
775
  if (command.sign === 'MINIMUM' || command.sign === 'EXACTLY') {
769
- if (expectations[unit].min !== undefined) {
770
- throw new Error("Already defined minumum ".concat(expectations[unit].min, " ").concat(command.unit.toLowerCase(), ", now trying to redefine it to ").concat(command.amount));
776
+ if (expectAmount[unit].min !== undefined) {
777
+ throw new Error("Already defined minumum ".concat(expectAmount[unit].min, " ").concat(command.unit.toLowerCase(), ", now trying to redefine it to ").concat(command.amount));
771
778
  }
772
- expectations[unit].min = command.amount;
779
+ expectAmount[unit].min = command.amount;
773
780
  } /* not else */
774
781
  if (command.sign === 'MAXIMUM' || command.sign === 'EXACTLY') {
775
- if (expectations[unit].max !== undefined) {
776
- throw new Error("Already defined maximum ".concat(expectations[unit].max, " ").concat(command.unit.toLowerCase(), ", now trying to redefine it to ").concat(command.amount));
782
+ if (expectAmount[unit].max !== undefined) {
783
+ throw new Error("Already defined maximum ".concat(expectAmount[unit].max, " ").concat(command.unit.toLowerCase(), ", now trying to redefine it to ").concat(command.amount));
777
784
  }
778
- expectations[unit].max = command.amount;
785
+ expectAmount[unit].max = command.amount;
786
+ }
787
+ break;
788
+ case 'EXPECT_FORMAT':
789
+ if (expectFormat !== undefined && command.format !== expectFormat) {
790
+ throw new Error("Expect format is already defined to \"".concat(expectFormat, "\". Now you try to redefine it by \"").concat(command.format, "\"."));
779
791
  }
792
+ expectFormat = command.format;
780
793
  break;
781
794
  default:
782
795
  throw new Error("Command ".concat(command.type, " is not allowed in the block of the prompt template ONLY at the head of the prompt template pipeline"));
@@ -836,12 +849,16 @@ function promptTemplatePipelineStringToJson(promptTemplatePipelineString) {
836
849
  }
837
850
  return parameterName;
838
851
  };
852
+ if (Object.keys(expectAmount).length === 0) {
853
+ expectAmount = undefined;
854
+ }
839
855
  ptbJson.promptTemplates.push({
840
856
  name: normalizeTo_PascalCase(section.title),
841
857
  title: section.title,
842
858
  description: description_1,
843
859
  executionType: executionType,
844
- expectations: expectations,
860
+ expectAmount: expectAmount,
861
+ expectFormat: expectFormat,
845
862
  modelRequirements: templateModelRequirements,
846
863
  contentLanguage: executionType === 'SCRIPT' ? language : undefined,
847
864
  content: content,
@@ -1149,6 +1166,25 @@ var CountUtils = {
1149
1166
  PAGES: countPages,
1150
1167
  };
1151
1168
 
1169
+ /**
1170
+ * Function isValidJsonString will tell you if the string is valid JSON or not
1171
+ */
1172
+ function isValidJsonString(value) {
1173
+ try {
1174
+ JSON.parse(value);
1175
+ return true;
1176
+ }
1177
+ catch (error) {
1178
+ if (!(error instanceof Error)) {
1179
+ throw error;
1180
+ }
1181
+ if (error.message.includes('Unexpected token')) {
1182
+ return false;
1183
+ }
1184
+ return false;
1185
+ }
1186
+ }
1187
+
1152
1188
  /**
1153
1189
  * All possible emoji chars like "🍆", "🍡", "🍤"...
1154
1190
  * Note: this will be needed to update annually - now updated at 2022-01-19
@@ -1375,25 +1411,34 @@ function createPtpExecutor(options) {
1375
1411
  return [3 /*break*/, 12];
1376
1412
  case 11: throw new Error("Unknown model variant \"".concat(currentTemplate.modelRequirements.modelVariant, "\""));
1377
1413
  case 12:
1378
- try {
1379
- // TODO: !!!!!! Here should postprocessing happen
1380
- for (_e = (e_2 = void 0, __values(Object.entries(currentTemplate.expectations))), _f = _e.next(); !_f.done; _f = _e.next()) {
1381
- _g = __read(_f.value, 2), unit = _g[0], _h = _g[1], max = _h.max, min = _h.min;
1382
- amount = CountUtils[unit.toUpperCase()](resultString);
1383
- if (min && amount < min) {
1384
- throw new Error("Expected at least ".concat(min, " ").concat(unit, " but got ").concat(amount));
1385
- } /* not else */
1386
- if (max && amount > max) {
1387
- throw new Error("Expected at most ".concat(max, " ").concat(unit, " but got ").concat(amount));
1414
+ // TODO: !!!!!! Here should postprocessing happen
1415
+ if (currentTemplate.expectFormat) {
1416
+ if (currentTemplate.expectFormat === 'JSON') {
1417
+ if (!isValidJsonString(resultString)) {
1418
+ throw new Error('Expected valid JSON string');
1388
1419
  }
1389
1420
  }
1390
1421
  }
1391
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
1392
- finally {
1422
+ if (currentTemplate.expectAmount) {
1393
1423
  try {
1394
- if (_f && !_f.done && (_l = _e.return)) _l.call(_e);
1424
+ for (_e = (e_2 = void 0, __values(Object.entries(currentTemplate.expectAmount))), _f = _e.next(); !_f.done; _f = _e.next()) {
1425
+ _g = __read(_f.value, 2), unit = _g[0], _h = _g[1], max = _h.max, min = _h.min;
1426
+ amount = CountUtils[unit.toUpperCase()](resultString);
1427
+ if (min && amount < min) {
1428
+ throw new Error("Expected at least ".concat(min, " ").concat(unit, " but got ").concat(amount));
1429
+ } /* not else */
1430
+ if (max && amount > max) {
1431
+ throw new Error("Expected at most ".concat(max, " ").concat(unit, " but got ").concat(amount));
1432
+ }
1433
+ }
1434
+ }
1435
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
1436
+ finally {
1437
+ try {
1438
+ if (_f && !_f.done && (_l = _e.return)) _l.call(_e);
1439
+ }
1440
+ finally { if (e_2) throw e_2.error; }
1395
1441
  }
1396
- finally { if (e_2) throw e_2.error; }
1397
1442
  }
1398
1443
  return [3 /*break*/, 15];
1399
1444
  case 13:
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../src/config.ts","../../../src/types/ScriptLanguage.ts","../../../src/utils/markdown-json/countMarkdownStructureDeepness.ts","../../../src/utils/markdown-json/markdownToMarkdownStructure.ts","../../../src/utils/markdown/extractAllListItemsFromMarkdown.ts","../../../src/utils/markdown/extractAllBlocksFromMarkdown.ts","../../../src/utils/markdown/extractOneBlockFromMarkdown.ts","../../../src/utils/markdown/removeContentComments.ts","../../../src/types/ExecutionTypes.ts","../../../src/types/PromptTemplatePipelineJson/PromptTemplateJson.ts","../../../src/utils/markdown/removeMarkdownFormatting.ts","../../../src/utils/parseNumber.ts","../../../src/conversion/parseCommand.ts","../../../src/conversion/promptTemplatePipelineStringToJson.ts","../../../src/conversion/validatePromptTemplatePipelineJson.ts","../../../src/classes/PromptTemplatePipeline.ts","../../../src/utils/expectation-counters/countCharacters.ts","../../../src/utils/expectation-counters/countLines.ts","../../../src/utils/expectation-counters/countPages.ts","../../../src/utils/expectation-counters/countParagraphs.ts","../../../src/utils/expectation-counters/countSentences.ts","../../../src/utils/expectation-counters/countWords.ts","../../../src/utils/expectation-counters/index.ts","../../../src/utils/emojis.ts","../../../src/utils/removeEmojis.ts","../../../src/utils/replaceParameters.ts","../../../src/execution/createPtpExecutor.ts","../../../src/classes/PromptTemplatePipelineLibrary.ts","../../../src/execution/plugins/natural-execution-tools/mocked/MockedEchoNaturalExecutionTools.ts","../../../src/execution/plugins/user-interface-execution-tools/callback/CallbackInterfaceTools.ts","../../../src/execution/plugins/user-interface-execution-tools/simple-prompt/SimplePromptInterfaceTools.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../src/config.ts","../../../src/types/ScriptLanguage.ts","../../../src/utils/markdown-json/countMarkdownStructureDeepness.ts","../../../src/utils/markdown-json/markdownToMarkdownStructure.ts","../../../src/utils/markdown/extractAllListItemsFromMarkdown.ts","../../../src/utils/markdown/extractAllBlocksFromMarkdown.ts","../../../src/utils/markdown/extractOneBlockFromMarkdown.ts","../../../src/utils/markdown/removeContentComments.ts","../../../src/types/ExecutionTypes.ts","../../../src/types/PromptTemplatePipelineJson/PromptTemplateJson.ts","../../../src/utils/markdown/removeMarkdownFormatting.ts","../../../src/utils/parseNumber.ts","../../../src/conversion/parseCommand.ts","../../../src/conversion/promptTemplatePipelineStringToJson.ts","../../../src/conversion/validatePromptTemplatePipelineJson.ts","../../../src/classes/PromptTemplatePipeline.ts","../../../src/utils/expectation-counters/countCharacters.ts","../../../src/utils/expectation-counters/countLines.ts","../../../src/utils/expectation-counters/countPages.ts","../../../src/utils/expectation-counters/countParagraphs.ts","../../../src/utils/expectation-counters/countSentences.ts","../../../src/utils/expectation-counters/countWords.ts","../../../src/utils/expectation-counters/index.ts","../../../src/utils/isValidJsonString.ts","../../../src/utils/emojis.ts","../../../src/utils/removeEmojis.ts","../../../src/utils/replaceParameters.ts","../../../src/execution/createPtpExecutor.ts","../../../src/classes/PromptTemplatePipelineLibrary.ts","../../../src/execution/plugins/natural-execution-tools/mocked/MockedEchoNaturalExecutionTools.ts","../../../src/execution/plugins/user-interface-execution-tools/callback/CallbackInterfaceTools.ts","../../../src/execution/plugins/user-interface-execution-tools/simple-prompt/SimplePromptInterfaceTools.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
@@ -66,13 +66,25 @@ export interface PostprocessCommand {
66
66
  }
67
67
  /**
68
68
  * Expect command describes the desired output of the prompt template (after post-processing)
69
+ * It can set limits for the maximum/minimum length of the output, measured in characters, words, sentences, paragraphs or some other shape of the output.
70
+ */
71
+ export type ExpectCommand = ExpectAmountCommand | ExpectFormatCommand;
72
+ /**
73
+ * Expect amount command describes the desired output of the prompt template (after post-processing)
69
74
  * It can set limits for the maximum/minimum length of the output, measured in characters, words, sentences, paragraphs,...
70
75
  *
71
76
  * Note: LLMs work with tokens, not characters, but in Promptbooks we want to use some human-recognisable and cross-model interoperable units.
72
77
  */
73
- export interface ExpectCommand {
74
- readonly type: 'EXPECT';
78
+ export interface ExpectAmountCommand {
79
+ readonly type: 'EXPECT_AMOUNT';
75
80
  readonly sign: 'EXACTLY' | 'MINIMUM' | 'MAXIMUM';
76
81
  readonly unit: ExpectationUnit;
77
82
  readonly amount: ExpectationAmount;
78
83
  }
84
+ /**
85
+ * Represents a command that expects a specific format.
86
+ */
87
+ export interface ExpectFormatCommand {
88
+ readonly type: 'EXPECT_FORMAT';
89
+ readonly format: 'JSON';
90
+ }
@@ -1,4 +1,5 @@
1
1
  import { number_integer, number_positive_or_zero, string_javascript, string_markdown, string_name, string_prompt, string_template } from '../.././types/typeAliases';
2
+ import { ExpectFormatCommand } from '../Command';
2
3
  import { ExecutionType } from '../ExecutionTypes';
3
4
  import { ModelRequirements } from '../ModelRequirements';
4
5
  import { ScriptLanguage } from '../ScriptLanguage';
@@ -12,12 +13,18 @@ export type PromptTemplateJson = NaturalTemplateJson | SimpleTemplateJson | Scri
12
13
  export interface NaturalTemplateJson extends PromptTemplateJsonCommon {
13
14
  readonly executionType: 'PROMPT_TEMPLATE';
14
15
  /**
15
- * Expectations for the answer
16
+ * Expect this amount of each unit in the answer
17
+ *
18
+ * For example 5 words, 3 sentences, 2 paragraphs, ...
16
19
  */
17
- readonly expectations: Partial<Record<Lowercase<ExpectationUnit>, {
20
+ readonly expectAmount?: Partial<Record<Lowercase<ExpectationUnit>, {
18
21
  min?: ExpectationAmount;
19
22
  max?: ExpectationAmount;
20
23
  }>>;
24
+ /**
25
+ * Expect this format of the answer
26
+ */
27
+ readonly expectFormat?: ExpectFormatCommand['format'];
21
28
  /**
22
29
  * Requirements for the model
23
30
  * - This is required only for executionType PROMPT_TEMPLATE
@@ -31,7 +38,7 @@ export declare const EXPECTATION_UNITS: readonly ["CHARACTERS", "WORDS", "SENTEN
31
38
  /**
32
39
  * Unit of text measurement
33
40
  */
34
- export type ExpectationUnit = (typeof EXPECTATION_UNITS)[number];
41
+ export type ExpectationUnit = typeof EXPECTATION_UNITS[number];
35
42
  /**
36
43
  * Amount of text measurement
37
44
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/core",
3
- "version": "0.25.0",
3
+ "version": "0.26.0",
4
4
  "description": "Library to supercharge your use of large language models",
5
5
  "private": false,
6
6
  "sideEffects": false,
package/umd/index.umd.js CHANGED
@@ -568,6 +568,12 @@
568
568
  functionName: functionName,
569
569
  };
570
570
  }
571
+ else if (type.startsWith('EXPECT_JSON')) {
572
+ return {
573
+ type: 'EXPECT_FORMAT',
574
+ format: 'JSON',
575
+ };
576
+ }
571
577
  else if (type.startsWith('EXPECT')) {
572
578
  try {
573
579
  listItemParts.shift();
@@ -623,7 +629,7 @@
623
629
  throw new Error("Invalid unit \"".concat(unitRaw, "\""));
624
630
  }
625
631
  return {
626
- type: 'EXPECT',
632
+ type: 'EXPECT_AMOUNT',
627
633
  sign: sign,
628
634
  unit: unit,
629
635
  amount: amount,
@@ -744,7 +750,8 @@
744
750
  var postprocessingCommands = [];
745
751
  var listItems_3 = extractAllListItemsFromMarkdown(section.content);
746
752
  var executionType = 'PROMPT_TEMPLATE';
747
- var expectations = {};
753
+ var expectAmount = {};
754
+ var expectFormat = undefined;
748
755
  var isExecutionTypeChanged = false;
749
756
  try {
750
757
  for (var listItems_2 = (e_3 = void 0, __values(listItems_3)), listItems_2_1 = listItems_2.next(); !listItems_2_1.done; listItems_2_1 = listItems_2.next()) {
@@ -768,22 +775,28 @@
768
775
  case 'POSTPROCESS':
769
776
  postprocessingCommands.push(command);
770
777
  break;
771
- case 'EXPECT':
778
+ case 'EXPECT_AMOUNT':
772
779
  // eslint-disable-next-line no-case-declarations
773
780
  var unit = command.unit.toLowerCase();
774
- expectations[unit] = expectations[unit] || {};
781
+ expectAmount[unit] = expectAmount[unit] || {};
775
782
  if (command.sign === 'MINIMUM' || command.sign === 'EXACTLY') {
776
- if (expectations[unit].min !== undefined) {
777
- throw new Error("Already defined minumum ".concat(expectations[unit].min, " ").concat(command.unit.toLowerCase(), ", now trying to redefine it to ").concat(command.amount));
783
+ if (expectAmount[unit].min !== undefined) {
784
+ throw new Error("Already defined minumum ".concat(expectAmount[unit].min, " ").concat(command.unit.toLowerCase(), ", now trying to redefine it to ").concat(command.amount));
778
785
  }
779
- expectations[unit].min = command.amount;
786
+ expectAmount[unit].min = command.amount;
780
787
  } /* not else */
781
788
  if (command.sign === 'MAXIMUM' || command.sign === 'EXACTLY') {
782
- if (expectations[unit].max !== undefined) {
783
- throw new Error("Already defined maximum ".concat(expectations[unit].max, " ").concat(command.unit.toLowerCase(), ", now trying to redefine it to ").concat(command.amount));
789
+ if (expectAmount[unit].max !== undefined) {
790
+ throw new Error("Already defined maximum ".concat(expectAmount[unit].max, " ").concat(command.unit.toLowerCase(), ", now trying to redefine it to ").concat(command.amount));
784
791
  }
785
- expectations[unit].max = command.amount;
792
+ expectAmount[unit].max = command.amount;
793
+ }
794
+ break;
795
+ case 'EXPECT_FORMAT':
796
+ if (expectFormat !== undefined && command.format !== expectFormat) {
797
+ throw new Error("Expect format is already defined to \"".concat(expectFormat, "\". Now you try to redefine it by \"").concat(command.format, "\"."));
786
798
  }
799
+ expectFormat = command.format;
787
800
  break;
788
801
  default:
789
802
  throw new Error("Command ".concat(command.type, " is not allowed in the block of the prompt template ONLY at the head of the prompt template pipeline"));
@@ -843,12 +856,16 @@
843
856
  }
844
857
  return parameterName;
845
858
  };
859
+ if (Object.keys(expectAmount).length === 0) {
860
+ expectAmount = undefined;
861
+ }
846
862
  ptbJson.promptTemplates.push({
847
863
  name: n12.normalizeTo_PascalCase(section.title),
848
864
  title: section.title,
849
865
  description: description_1,
850
866
  executionType: executionType,
851
- expectations: expectations,
867
+ expectAmount: expectAmount,
868
+ expectFormat: expectFormat,
852
869
  modelRequirements: templateModelRequirements,
853
870
  contentLanguage: executionType === 'SCRIPT' ? language : undefined,
854
871
  content: content,
@@ -1156,6 +1173,25 @@
1156
1173
  PAGES: countPages,
1157
1174
  };
1158
1175
 
1176
+ /**
1177
+ * Function isValidJsonString will tell you if the string is valid JSON or not
1178
+ */
1179
+ function isValidJsonString(value) {
1180
+ try {
1181
+ JSON.parse(value);
1182
+ return true;
1183
+ }
1184
+ catch (error) {
1185
+ if (!(error instanceof Error)) {
1186
+ throw error;
1187
+ }
1188
+ if (error.message.includes('Unexpected token')) {
1189
+ return false;
1190
+ }
1191
+ return false;
1192
+ }
1193
+ }
1194
+
1159
1195
  /**
1160
1196
  * All possible emoji chars like "🍆", "🍡", "🍤"...
1161
1197
  * Note: this will be needed to update annually - now updated at 2022-01-19
@@ -1382,25 +1418,34 @@
1382
1418
  return [3 /*break*/, 12];
1383
1419
  case 11: throw new Error("Unknown model variant \"".concat(currentTemplate.modelRequirements.modelVariant, "\""));
1384
1420
  case 12:
1385
- try {
1386
- // TODO: !!!!!! Here should postprocessing happen
1387
- for (_e = (e_2 = void 0, __values(Object.entries(currentTemplate.expectations))), _f = _e.next(); !_f.done; _f = _e.next()) {
1388
- _g = __read(_f.value, 2), unit = _g[0], _h = _g[1], max = _h.max, min = _h.min;
1389
- amount = CountUtils[unit.toUpperCase()](resultString);
1390
- if (min && amount < min) {
1391
- throw new Error("Expected at least ".concat(min, " ").concat(unit, " but got ").concat(amount));
1392
- } /* not else */
1393
- if (max && amount > max) {
1394
- throw new Error("Expected at most ".concat(max, " ").concat(unit, " but got ").concat(amount));
1421
+ // TODO: !!!!!! Here should postprocessing happen
1422
+ if (currentTemplate.expectFormat) {
1423
+ if (currentTemplate.expectFormat === 'JSON') {
1424
+ if (!isValidJsonString(resultString)) {
1425
+ throw new Error('Expected valid JSON string');
1395
1426
  }
1396
1427
  }
1397
1428
  }
1398
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
1399
- finally {
1429
+ if (currentTemplate.expectAmount) {
1400
1430
  try {
1401
- if (_f && !_f.done && (_l = _e.return)) _l.call(_e);
1431
+ for (_e = (e_2 = void 0, __values(Object.entries(currentTemplate.expectAmount))), _f = _e.next(); !_f.done; _f = _e.next()) {
1432
+ _g = __read(_f.value, 2), unit = _g[0], _h = _g[1], max = _h.max, min = _h.min;
1433
+ amount = CountUtils[unit.toUpperCase()](resultString);
1434
+ if (min && amount < min) {
1435
+ throw new Error("Expected at least ".concat(min, " ").concat(unit, " but got ").concat(amount));
1436
+ } /* not else */
1437
+ if (max && amount > max) {
1438
+ throw new Error("Expected at most ".concat(max, " ").concat(unit, " but got ").concat(amount));
1439
+ }
1440
+ }
1441
+ }
1442
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
1443
+ finally {
1444
+ try {
1445
+ if (_f && !_f.done && (_l = _e.return)) _l.call(_e);
1446
+ }
1447
+ finally { if (e_2) throw e_2.error; }
1402
1448
  }
1403
- finally { if (e_2) throw e_2.error; }
1404
1449
  }
1405
1450
  return [3 /*break*/, 15];
1406
1451
  case 13:
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../src/config.ts","../../../src/types/ScriptLanguage.ts","../../../src/utils/markdown-json/countMarkdownStructureDeepness.ts","../../../src/utils/markdown-json/markdownToMarkdownStructure.ts","../../../src/utils/markdown/extractAllListItemsFromMarkdown.ts","../../../src/utils/markdown/extractAllBlocksFromMarkdown.ts","../../../src/utils/markdown/extractOneBlockFromMarkdown.ts","../../../src/utils/markdown/removeContentComments.ts","../../../src/types/ExecutionTypes.ts","../../../src/types/PromptTemplatePipelineJson/PromptTemplateJson.ts","../../../src/utils/markdown/removeMarkdownFormatting.ts","../../../src/utils/parseNumber.ts","../../../src/conversion/parseCommand.ts","../../../src/conversion/promptTemplatePipelineStringToJson.ts","../../../src/conversion/validatePromptTemplatePipelineJson.ts","../../../src/classes/PromptTemplatePipeline.ts","../../../src/utils/expectation-counters/countCharacters.ts","../../../src/utils/expectation-counters/countLines.ts","../../../src/utils/expectation-counters/countPages.ts","../../../src/utils/expectation-counters/countParagraphs.ts","../../../src/utils/expectation-counters/countSentences.ts","../../../src/utils/expectation-counters/countWords.ts","../../../src/utils/expectation-counters/index.ts","../../../src/utils/emojis.ts","../../../src/utils/removeEmojis.ts","../../../src/utils/replaceParameters.ts","../../../src/execution/createPtpExecutor.ts","../../../src/classes/PromptTemplatePipelineLibrary.ts","../../../src/execution/plugins/natural-execution-tools/mocked/MockedEchoNaturalExecutionTools.ts","../../../src/execution/plugins/user-interface-execution-tools/callback/CallbackInterfaceTools.ts","../../../src/execution/plugins/user-interface-execution-tools/simple-prompt/SimplePromptInterfaceTools.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["spaceTrim","capitalize","normalizeTo_SCREAMING_CASE","normalizeTo_camelCase","normalizeTo_PascalCase","removeDiacritics"],"mappings":"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"}
1
+ {"version":3,"file":"index.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../src/config.ts","../../../src/types/ScriptLanguage.ts","../../../src/utils/markdown-json/countMarkdownStructureDeepness.ts","../../../src/utils/markdown-json/markdownToMarkdownStructure.ts","../../../src/utils/markdown/extractAllListItemsFromMarkdown.ts","../../../src/utils/markdown/extractAllBlocksFromMarkdown.ts","../../../src/utils/markdown/extractOneBlockFromMarkdown.ts","../../../src/utils/markdown/removeContentComments.ts","../../../src/types/ExecutionTypes.ts","../../../src/types/PromptTemplatePipelineJson/PromptTemplateJson.ts","../../../src/utils/markdown/removeMarkdownFormatting.ts","../../../src/utils/parseNumber.ts","../../../src/conversion/parseCommand.ts","../../../src/conversion/promptTemplatePipelineStringToJson.ts","../../../src/conversion/validatePromptTemplatePipelineJson.ts","../../../src/classes/PromptTemplatePipeline.ts","../../../src/utils/expectation-counters/countCharacters.ts","../../../src/utils/expectation-counters/countLines.ts","../../../src/utils/expectation-counters/countPages.ts","../../../src/utils/expectation-counters/countParagraphs.ts","../../../src/utils/expectation-counters/countSentences.ts","../../../src/utils/expectation-counters/countWords.ts","../../../src/utils/expectation-counters/index.ts","../../../src/utils/isValidJsonString.ts","../../../src/utils/emojis.ts","../../../src/utils/removeEmojis.ts","../../../src/utils/replaceParameters.ts","../../../src/execution/createPtpExecutor.ts","../../../src/classes/PromptTemplatePipelineLibrary.ts","../../../src/execution/plugins/natural-execution-tools/mocked/MockedEchoNaturalExecutionTools.ts","../../../src/execution/plugins/user-interface-execution-tools/callback/CallbackInterfaceTools.ts","../../../src/execution/plugins/user-interface-execution-tools/simple-prompt/SimplePromptInterfaceTools.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["spaceTrim","capitalize","normalizeTo_SCREAMING_CASE","normalizeTo_camelCase","normalizeTo_PascalCase","removeDiacritics"],"mappings":"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"}
@@ -66,13 +66,25 @@ export interface PostprocessCommand {
66
66
  }
67
67
  /**
68
68
  * Expect command describes the desired output of the prompt template (after post-processing)
69
+ * It can set limits for the maximum/minimum length of the output, measured in characters, words, sentences, paragraphs or some other shape of the output.
70
+ */
71
+ export type ExpectCommand = ExpectAmountCommand | ExpectFormatCommand;
72
+ /**
73
+ * Expect amount command describes the desired output of the prompt template (after post-processing)
69
74
  * It can set limits for the maximum/minimum length of the output, measured in characters, words, sentences, paragraphs,...
70
75
  *
71
76
  * Note: LLMs work with tokens, not characters, but in Promptbooks we want to use some human-recognisable and cross-model interoperable units.
72
77
  */
73
- export interface ExpectCommand {
74
- readonly type: 'EXPECT';
78
+ export interface ExpectAmountCommand {
79
+ readonly type: 'EXPECT_AMOUNT';
75
80
  readonly sign: 'EXACTLY' | 'MINIMUM' | 'MAXIMUM';
76
81
  readonly unit: ExpectationUnit;
77
82
  readonly amount: ExpectationAmount;
78
83
  }
84
+ /**
85
+ * Represents a command that expects a specific format.
86
+ */
87
+ export interface ExpectFormatCommand {
88
+ readonly type: 'EXPECT_FORMAT';
89
+ readonly format: 'JSON';
90
+ }
@@ -1,4 +1,5 @@
1
1
  import { number_integer, number_positive_or_zero, string_javascript, string_markdown, string_name, string_prompt, string_template } from '../.././types/typeAliases';
2
+ import { ExpectFormatCommand } from '../Command';
2
3
  import { ExecutionType } from '../ExecutionTypes';
3
4
  import { ModelRequirements } from '../ModelRequirements';
4
5
  import { ScriptLanguage } from '../ScriptLanguage';
@@ -12,12 +13,18 @@ export type PromptTemplateJson = NaturalTemplateJson | SimpleTemplateJson | Scri
12
13
  export interface NaturalTemplateJson extends PromptTemplateJsonCommon {
13
14
  readonly executionType: 'PROMPT_TEMPLATE';
14
15
  /**
15
- * Expectations for the answer
16
+ * Expect this amount of each unit in the answer
17
+ *
18
+ * For example 5 words, 3 sentences, 2 paragraphs, ...
16
19
  */
17
- readonly expectations: Partial<Record<Lowercase<ExpectationUnit>, {
20
+ readonly expectAmount?: Partial<Record<Lowercase<ExpectationUnit>, {
18
21
  min?: ExpectationAmount;
19
22
  max?: ExpectationAmount;
20
23
  }>>;
24
+ /**
25
+ * Expect this format of the answer
26
+ */
27
+ readonly expectFormat?: ExpectFormatCommand['format'];
21
28
  /**
22
29
  * Requirements for the model
23
30
  * - This is required only for executionType PROMPT_TEMPLATE
@@ -31,7 +38,7 @@ export declare const EXPECTATION_UNITS: readonly ["CHARACTERS", "WORDS", "SENTEN
31
38
  /**
32
39
  * Unit of text measurement
33
40
  */
34
- export type ExpectationUnit = (typeof EXPECTATION_UNITS)[number];
41
+ export type ExpectationUnit = typeof EXPECTATION_UNITS[number];
35
42
  /**
36
43
  * Amount of text measurement
37
44
  */