@promptbook/editable 0.84.0-9 → 0.85.0-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.
Files changed (59) hide show
  1. package/README.md +21 -5
  2. package/esm/index.es.js +56 -6
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/src/_packages/cli.index.d.ts +4 -0
  5. package/esm/typings/src/_packages/core.index.d.ts +12 -4
  6. package/esm/typings/src/_packages/deepseek.index.d.ts +8 -0
  7. package/esm/typings/src/_packages/types.index.d.ts +16 -2
  8. package/esm/typings/src/_packages/utils.index.d.ts +2 -2
  9. package/esm/typings/src/_packages/wizzard.index.d.ts +4 -0
  10. package/esm/typings/src/cli/cli-commands/_boilerplate.d.ts +13 -0
  11. package/esm/typings/src/cli/cli-commands/about.d.ts +4 -1
  12. package/esm/typings/src/cli/cli-commands/hello.d.ts +3 -1
  13. package/esm/typings/src/cli/cli-commands/list-models.d.ts +3 -1
  14. package/esm/typings/src/cli/cli-commands/list-scrapers.d.ts +13 -0
  15. package/esm/typings/src/cli/cli-commands/make.d.ts +3 -1
  16. package/esm/typings/src/cli/cli-commands/prettify.d.ts +3 -1
  17. package/esm/typings/src/cli/cli-commands/run.d.ts +3 -1
  18. package/esm/typings/src/cli/cli-commands/runInteractiveChatbot.d.ts +1 -1
  19. package/esm/typings/src/cli/cli-commands/start-server.d.ts +13 -0
  20. package/esm/typings/src/cli/cli-commands/test-command.d.ts +3 -1
  21. package/esm/typings/src/config.d.ts +27 -1
  22. package/esm/typings/src/conversion/compilePipelineOnRemoteServer.d.ts +1 -1
  23. package/esm/typings/src/execution/AbstractTaskResult.d.ts +25 -0
  24. package/esm/typings/src/execution/ExecutionTask.d.ts +71 -0
  25. package/esm/typings/src/execution/FilesystemTools.d.ts +1 -1
  26. package/esm/typings/src/execution/PipelineExecutor.d.ts +2 -5
  27. package/esm/typings/src/execution/PipelineExecutorResult.d.ts +2 -15
  28. package/esm/typings/src/execution/PromptbookFetch.d.ts +8 -1
  29. package/esm/typings/src/execution/{assertsExecutionSuccessful.d.ts → assertsTaskSuccessful.d.ts} +4 -3
  30. package/esm/typings/src/execution/createPipelineExecutor/00-createPipelineExecutor.d.ts +0 -3
  31. package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +2 -6
  32. package/esm/typings/src/execution/createPipelineExecutor/20-executeTask.d.ts +3 -6
  33. package/esm/typings/src/llm-providers/_common/register/$registeredLlmToolsMessage.d.ts +9 -0
  34. package/esm/typings/src/llm-providers/deepseek/DeepseekExecutionToolsOptions.d.ts +9 -0
  35. package/esm/typings/src/llm-providers/deepseek/createDeepseekExecutionTools.d.ts +14 -0
  36. package/esm/typings/src/llm-providers/deepseek/register-configuration.d.ts +14 -0
  37. package/esm/typings/src/llm-providers/deepseek/register-constructor.d.ts +15 -0
  38. package/esm/typings/src/pipeline/book-notation.d.ts +3 -2
  39. package/esm/typings/src/pipeline/prompt-notation.d.ts +18 -5
  40. package/esm/typings/src/prepare/preparePipelineOnRemoteServer.d.ts +1 -1
  41. package/esm/typings/src/remote-server/socket-types/_subtypes/PromptbookServer_Identification.d.ts +5 -2
  42. package/esm/typings/src/remote-server/startRemoteServer.d.ts +1 -0
  43. package/esm/typings/src/types/typeAliases.d.ts +2 -0
  44. package/esm/typings/src/utils/editable/edit-pipeline-string/deflatePipeline.test.d.ts +1 -0
  45. package/esm/typings/src/utils/editable/utils/isFlatPipeline.test.d.ts +1 -0
  46. package/esm/typings/src/utils/environment/$isRunningInBrowser.d.ts +3 -0
  47. package/esm/typings/src/utils/environment/$isRunningInJest.d.ts +3 -0
  48. package/esm/typings/src/utils/environment/$isRunningInNode.d.ts +3 -0
  49. package/esm/typings/src/utils/environment/$isRunningInWebWorker.d.ts +3 -0
  50. package/esm/typings/src/utils/files/mimeTypeToExtension.d.ts +10 -0
  51. package/esm/typings/src/utils/files/mimeTypeToExtension.test.d.ts +1 -0
  52. package/esm/typings/src/utils/random/$randomSeed.d.ts +2 -1
  53. package/esm/typings/src/utils/random/$randomToken.d.ts +13 -0
  54. package/esm/typings/src/wizzard/wizzard.d.ts +8 -3
  55. package/package.json +9 -16
  56. package/umd/index.umd.js +56 -6
  57. package/umd/index.umd.js.map +1 -1
  58. package/esm/typings/src/remote-server/socket-types/_common/PromptbookServer_Progress.d.ts +0 -10
  59. package/esm/typings/src/types/TaskProgress.d.ts +0 -43
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  <!-- ⚠️ WARNING: This code has been generated so that any manual changes will be overwritten -->
2
2
 
3
- # Promptbook
3
+ # Promptbook
4
4
 
5
5
 
6
6
 
@@ -14,12 +14,13 @@
14
14
 
15
15
 
16
16
 
17
- ## New Features
17
+ ## 🌟 New Features
18
18
 
19
+ - 💫 Support of [`o3-mini` model by OpenAI](https://openai.com/index/openai-o3-mini/)
20
+ - 🐋 **Support of [DeepSeek models](https://www.npmjs.com/package/@promptbook/deepseek)**
19
21
  - 💙 Working [the **Book** language v1.0.0](https://github.com/webgptorg/book)
20
22
  - 🖤 Run books from CLI - `npx ptbk run path/to/your/book`
21
- - 📚 Support of `.docx`, `.doc` and `.pdf` documents
22
- - ✨ **Support of [OpenAI o1 model](https://openai.com/o1/)**
23
+ - 📚 Support of `.docx`, `.doc` and `.pdf` documents as knowledge
23
24
 
24
25
 
25
26
 
@@ -265,8 +266,9 @@ Or you can install them separately:
265
266
  - **[@promptbook/anthropic-claude](https://www.npmjs.com/package/@promptbook/anthropic-claude)** - Execution tools for Anthropic Claude API, wrapper around Anthropic Claude SDK
266
267
  - **[@promptbook/vercel](https://www.npmjs.com/package/@promptbook/vercel)** - Adapter for Vercel functionalities
267
268
  - **[@promptbook/google](https://www.npmjs.com/package/@promptbook/google)** - Integration with Google's Gemini API
269
+ - **[@promptbook/deepseek](https://www.npmjs.com/package/@promptbook/deepseek)** - Integration with [DeepSeek API](https://www.deepseek.com/)
268
270
  - **[@promptbook/azure-openai](https://www.npmjs.com/package/@promptbook/azure-openai)** - Execution tools for Azure OpenAI API
269
- - **[@promptbook/langtail](https://www.npmjs.com/package/@promptbook/langtail)** - Execution tools for Langtail API, wrapper around Langtail SDK
271
+
270
272
  - **[@promptbook/fake-llm](https://www.npmjs.com/package/@promptbook/fake-llm)** - Mocked execution tools for testing the library and saving the tokens
271
273
  - **[@promptbook/remote-client](https://www.npmjs.com/package/@promptbook/remote-client)** - Remote client for remote execution of promptbooks
272
274
  - **[@promptbook/remote-server](https://www.npmjs.com/package/@promptbook/remote-server)** - Remote server for remote execution of promptbooks
@@ -436,6 +438,20 @@ See [TODO.md](./TODO.md)
436
438
 
437
439
 
438
440
 
441
+ ## 🤝 Partners
442
+
443
+ <div style="display: flex; align-items: center; gap: 20px;">
444
+
445
+ <a href="https://promptbook.studio/">
446
+ <img src="./other/design/promptbook-studio-logo.png" alt="Partner 3" height="100">
447
+ </a>
448
+
449
+ <a href="https://technologickainkubace.org/en/about-technology-incubation/about-the-project/">
450
+ <img src="./other/partners/CI-Technology-Incubation.png" alt="Technology Incubation" height="100">
451
+ </a>
452
+
453
+ </div>
454
+
439
455
  ## 🖋️ Contributing
440
456
 
441
457
  I am open to pull requests, feedback, and suggestions. Or if you like this utility, you can [☕ buy me a coffee](https://www.buymeacoffee.com/hejny) or [donate via cryptocurrencies](https://github.com/hejny/hejny/blob/main/documents/crypto.md).
package/esm/index.es.js CHANGED
@@ -17,7 +17,7 @@ var BOOK_LANGUAGE_VERSION = '1.0.0';
17
17
  * @generated
18
18
  * @see https://github.com/webgptorg/promptbook
19
19
  */
20
- var PROMPTBOOK_ENGINE_VERSION = '0.84.0-8';
20
+ var PROMPTBOOK_ENGINE_VERSION = '0.84.0';
21
21
  /**
22
22
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
23
23
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -188,6 +188,12 @@ var ADMIN_GITHUB_NAME = 'hejny';
188
188
  * @public exported from `@promptbook/core`
189
189
  */
190
190
  var DEFAULT_BOOK_TITLE = "\u2728 Untitled Book";
191
+ /**
192
+ * When the pipeline is flat and no name of return parameter is provided, this name is used
193
+ *
194
+ * @public exported from `@promptbook/core`
195
+ */
196
+ var DEFAULT_BOOK_OUTPUT_PARAMETER_NAME = 'result';
191
197
  // <- TODO: [🧠] Better system for generator warnings - not always "code" and "by `@promptbook/cli`"
192
198
  /**
193
199
  * The maximum number of iterations for a loops
@@ -3868,6 +3874,21 @@ function parseCommandVariant(input) {
3868
3874
  return null;
3869
3875
  }
3870
3876
 
3877
+ /**
3878
+ * Checks if value is valid email
3879
+ *
3880
+ * @public exported from `@promptbook/utils`
3881
+ */
3882
+ function isValidEmail(email) {
3883
+ if (typeof email !== 'string') {
3884
+ return false;
3885
+ }
3886
+ if (email.split('\n').length > 1) {
3887
+ return false;
3888
+ }
3889
+ return /^.+@.+\..+$/.test(email);
3890
+ }
3891
+
3871
3892
  /**
3872
3893
  * Function `validatePipelineString` will validate the if the string is a valid pipeline string
3873
3894
  * It does not check if the string is fully logically correct, but if it is a string that can be a pipeline string or the string looks completely different.
@@ -3881,6 +3902,15 @@ function validatePipelineString(pipelineString) {
3881
3902
  if (isValidJsonString(pipelineString)) {
3882
3903
  throw new ParseError('Expected a book, but got a JSON string');
3883
3904
  }
3905
+ else if (isValidUrl(pipelineString)) {
3906
+ throw new ParseError("Expected a book, but got just the URL \"".concat(pipelineString, "\""));
3907
+ }
3908
+ else if (isValidFilePath(pipelineString)) {
3909
+ throw new ParseError("Expected a book, but got just the file path \"".concat(pipelineString, "\""));
3910
+ }
3911
+ else if (isValidEmail(pipelineString)) {
3912
+ throw new ParseError("Expected a book, but got just the email \"".concat(pipelineString, "\""));
3913
+ }
3884
3914
  // <- TODO: Implement the validation + add tests when the pipeline logic considered as invalid
3885
3915
  return pipelineString;
3886
3916
  }
@@ -3908,12 +3938,15 @@ function isFlatPipeline(pipelineString) {
3908
3938
  pipelineString = removeMarkdownComments(pipelineString);
3909
3939
  pipelineString = spaceTrim(pipelineString);
3910
3940
  var isMarkdownBeginningWithHeadline = pipelineString.startsWith('# ');
3911
- var isLastLineReturnStatement = pipelineString.split('\n').pop().split('`').join('').startsWith('->');
3912
- // TODO: Also (double)check
3941
+ //const isLastLineReturnStatement = pipelineString.split('\n').pop()!.split('`').join('').startsWith('->');
3942
+ var isBacktickBlockUsed = pipelineString.includes('```');
3943
+ var isQuoteBlocksUsed = /^>\s+/m.test(pipelineString);
3944
+ var isBlocksUsed = isBacktickBlockUsed || isQuoteBlocksUsed;
3945
+ // TODO: [🧉] Also (double)check
3913
3946
  // > const usedCommands
3914
3947
  // > const isBlocksUsed
3915
3948
  // > const returnStatementCount
3916
- var isFlat = !isMarkdownBeginningWithHeadline && isLastLineReturnStatement;
3949
+ var isFlat = !isMarkdownBeginningWithHeadline && !isBlocksUsed; /* && isLastLineReturnStatement */
3917
3950
  return isFlat;
3918
3951
  }
3919
3952
 
@@ -3927,9 +3960,26 @@ function deflatePipeline(pipelineString) {
3927
3960
  return pipelineString;
3928
3961
  }
3929
3962
  var pipelineStringLines = pipelineString.split('\n');
3930
- var returnStatement = pipelineStringLines.pop();
3963
+ var potentialReturnStatement = pipelineStringLines.pop();
3964
+ var returnStatement;
3965
+ if (/(-|=)>\s*\{.*\}/.test(potentialReturnStatement)) {
3966
+ // Note: Last line is return statement
3967
+ returnStatement = potentialReturnStatement;
3968
+ }
3969
+ else {
3970
+ // Note: Last line is not a return statement
3971
+ returnStatement = "-> {".concat(DEFAULT_BOOK_OUTPUT_PARAMETER_NAME, "}");
3972
+ pipelineStringLines.push(potentialReturnStatement);
3973
+ }
3931
3974
  var prompt = spaceTrim(pipelineStringLines.join('\n'));
3932
- pipelineString = validatePipelineString(spaceTrim(function (block) { return "\n # ".concat(DEFAULT_BOOK_TITLE, "\n\n ## Prompt\n\n ```\n ").concat(block(prompt), "\n ```\n\n ").concat(returnStatement, "\n "); }));
3975
+ var quotedPrompt;
3976
+ if (prompt.split('\n').length <= 1) {
3977
+ quotedPrompt = "> ".concat(prompt);
3978
+ }
3979
+ else {
3980
+ quotedPrompt = spaceTrim(function (block) { return "\n ```\n ".concat(block(prompt.split('`').join('\\`')), "\n ```\n "); });
3981
+ }
3982
+ pipelineString = validatePipelineString(spaceTrim(function (block) { return "\n # ".concat(DEFAULT_BOOK_TITLE, "\n\n ## Prompt\n\n ").concat(block(quotedPrompt), "\n\n ").concat(returnStatement, "\n "); }));
3933
3983
  // <- TODO: Maybe use book` notation
3934
3984
  return pipelineString;
3935
3985
  }