@promptbook/core 0.74.0-7 → 0.75.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 (53) hide show
  1. package/README.md +2 -11
  2. package/esm/index.es.js +566 -232
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/promptbook-collection/index.d.ts +3 -0
  5. package/esm/typings/src/_packages/core.index.d.ts +17 -1
  6. package/esm/typings/src/_packages/types.index.d.ts +10 -0
  7. package/esm/typings/src/_packages/utils.index.d.ts +4 -0
  8. package/esm/typings/src/cli/cli-commands/run.d.ts +1 -1
  9. package/esm/typings/src/cli/main.d.ts +4 -1
  10. package/esm/typings/src/cli/promptbookCli.d.ts +1 -1
  11. package/esm/typings/src/cli/test/ptbk.d.ts +1 -1
  12. package/esm/typings/src/collection/collectionToJson.test.d.ts +1 -1
  13. package/esm/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +1 -1
  14. package/esm/typings/src/commands/BOOK_VERSION/BookVersionCommand.d.ts +1 -1
  15. package/esm/typings/src/commands/FOREACH/foreachCommandParser.d.ts +2 -2
  16. package/esm/typings/src/commands/FORMFACTOR/FormfactorCommand.d.ts +11 -0
  17. package/esm/typings/src/commands/FORMFACTOR/formfactorCommand.test.d.ts +1 -0
  18. package/esm/typings/src/commands/FORMFACTOR/formfactorCommandParser.d.ts +11 -0
  19. package/esm/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +1 -1
  20. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +2 -0
  21. package/esm/typings/src/commands/index.d.ts +1 -1
  22. package/esm/typings/src/config.d.ts +6 -0
  23. package/esm/typings/src/conversion/pipelineJsonToString.d.ts +3 -3
  24. package/esm/typings/src/conversion/pipelineStringToJson.d.ts +2 -2
  25. package/esm/typings/src/conversion/pipelineStringToJsonSync.d.ts +2 -2
  26. package/esm/typings/src/conversion/utils/stringifyPipelineJson.d.ts +1 -1
  27. package/esm/typings/src/conversion/validation/_importPipeline.d.ts +7 -7
  28. package/esm/typings/src/formats/_common/FormatDefinition.d.ts +1 -1
  29. package/esm/typings/src/formats/_common/FormatSubvalueDefinition.d.ts +1 -1
  30. package/esm/typings/src/formfactors/_common/AbstractFormfactorDefinition.d.ts +29 -0
  31. package/esm/typings/src/formfactors/_common/FormfactorDefinition.d.ts +5 -0
  32. package/esm/typings/src/formfactors/_common/string_formfactor_name.d.ts +5 -0
  33. package/esm/typings/src/formfactors/chat/ChatFormfactorDefinition.d.ts +10 -0
  34. package/esm/typings/src/formfactors/generic/GenericFormfactorDefinition.d.ts +10 -0
  35. package/esm/typings/src/formfactors/index.d.ts +14 -0
  36. package/esm/typings/src/pipeline/pipeline-interface/PipelineInterface.d.ts +22 -0
  37. package/esm/typings/src/pipeline/pipeline-interface/getPipelineInterface.d.ts +11 -0
  38. package/esm/typings/src/pipeline/pipeline-interface/isPipelineImplementingInterface.d.ts +25 -0
  39. package/esm/typings/src/pipeline/pipeline-interface/isPipelineInterfacesEqual.d.ts +11 -0
  40. package/esm/typings/src/storage/blackhole/BlackholeStorage.d.ts +33 -0
  41. package/esm/typings/src/storage/memory/MemoryStorage.d.ts +1 -1
  42. package/esm/typings/src/storage/{memory/utils → utils}/PrefixStorage.d.ts +1 -1
  43. package/esm/typings/src/types/PipelineJson/PipelineJson.d.ts +11 -4
  44. package/esm/typings/src/types/PipelineJson/PreparationJson.d.ts +1 -1
  45. package/esm/typings/src/types/Prompt.d.ts +1 -1
  46. package/esm/typings/src/types/typeAliases.d.ts +2 -2
  47. package/esm/typings/src/utils/expectation-counters/config.d.ts +12 -0
  48. package/esm/typings/src/utils/expectation-counters/countLines.d.ts +2 -0
  49. package/esm/typings/src/utils/expectation-counters/countPages.d.ts +2 -0
  50. package/package.json +1 -1
  51. package/umd/index.umd.js +573 -231
  52. package/umd/index.umd.js.map +1 -1
  53. /package/esm/typings/src/storage/{memory → local-storage}/utils/makePromptbookStorageFromWebStorage.d.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  import type { PromptbookStorage } from '../_common/PromptbookStorage';
2
2
  /**
3
- * Stores
3
+ * Stores data in memory (HEAP)
4
4
  *
5
5
  * @public exported from `@promptbook/core`
6
6
  */
@@ -1,5 +1,5 @@
1
1
  import type { Promisable } from 'type-fest';
2
- import type { PromptbookStorage } from '../../_common/PromptbookStorage';
2
+ import type { PromptbookStorage } from '../_common/PromptbookStorage';
3
3
  /**
4
4
  * This class behaves like LocalStorage but separates keys by prefix
5
5
  *
@@ -1,3 +1,4 @@
1
+ import type { string_formfactor_name } from '../../formfactors/_common/string_formfactor_name';
1
2
  import type { ModelRequirements } from '../ModelRequirements';
2
3
  import type { string_filename } from '../typeAliases';
3
4
  import type { string_markdown_text } from '../typeAliases';
@@ -26,12 +27,12 @@ export type PipelineJson = {
26
27
  * Note: It must be unique across all pipeline collections
27
28
  * Note: It must use HTTPs URL
28
29
  * Tip: You can do versioning in the URL
29
- * For example: https://promptbook.studio/webgpt/write-website-content-cs.ptbk.md@1.0.0
30
+ * For example: https://promptbook.studio/webgpt/write-website-content-cs.book.md@1.0.0
30
31
  * Warning: Do not hash part of the URL, hash part is used for identification of the template in the pipeline
31
32
  */
32
33
  readonly pipelineUrl?: string_pipeline_url;
33
34
  /**
34
- * Internal helper for tracking the source `.ptbk.md` file of the pipeline
35
+ * Internal helper for tracking the source `.book.md` file of the pipeline
35
36
  */
36
37
  readonly sourceFile?: string_filename;
37
38
  /**
@@ -40,14 +41,20 @@ export type PipelineJson = {
40
41
  */
41
42
  readonly title: string_markdown_text;
42
43
  /**
43
- * Version of the .ptbk.json file
44
+ * Version of the Book language
45
+ *
46
+ * @see https://github.com/webgptorg/book
44
47
  */
45
- readonly promptbookVersion?: string_semantic_version;
48
+ readonly bookVersion?: string_semantic_version;
46
49
  /**
47
50
  * Description of the promptbook
48
51
  * It can use multiple paragraphs of simple markdown formatting like **bold**, *italic*, [link](https://example.com), ... BUT not code blocks and structure
49
52
  */
50
53
  readonly description?: string_markdown_text;
54
+ /**
55
+ * Name of the formfactor that the pipeline is shaped for
56
+ */
57
+ readonly formfactorName: string_formfactor_name;
51
58
  /**
52
59
  * Set of variables that are used across the pipeline
53
60
  */
@@ -18,5 +18,5 @@ export type PreparationJson = {
18
18
  /**
19
19
  * TODO: [🍙] Make some standard order of json properties
20
20
  * TODO: Maybe put here used `modelName`
21
- * TODO: [🍥] When using `date` it changes all examples .ptbk.json files each time so until some more elegant solution omit the time from prepared pipeline
21
+ * TODO: [🍥] When using `date` it changes all examples .book.json files each time so until some more elegant solution omit the time from prepared pipeline
22
22
  */
@@ -95,7 +95,7 @@ export type CommonPrompt = {
95
95
  /**
96
96
  * Unique identifier of the pipeline with specific template name as hash
97
97
  *
98
- * @example https://promptbook.studio/webgpt/write-website-content-cs.ptbk.md#keywords
98
+ * @example https://promptbook.studio/webgpt/write-website-content-cs.book.md#keywords
99
99
  */
100
100
  readonly pipelineUrl?: string_pipeline_url_with_hashtemplate;
101
101
  /**
@@ -298,13 +298,13 @@ export type string_base_url = string;
298
298
  /**
299
299
  * Semantic helper
300
300
  *
301
- * For example `"https://promptbook.studio/webgpt/write-website-content-cs.ptbk.md"`
301
+ * For example `"https://promptbook.studio/webgpt/write-website-content-cs.book.md"`
302
302
  */
303
303
  export type string_pipeline_url = string;
304
304
  /**
305
305
  * Semantic helper
306
306
  *
307
- * For example `"https://promptbook.studio/webgpt/write-website-content-cs.ptbk.md#keywords"`
307
+ * For example `"https://promptbook.studio/webgpt/write-website-content-cs.book.md#keywords"`
308
308
  */
309
309
  export type string_pipeline_url_with_hashtemplate = string;
310
310
  /**
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Number of characters per standard line with 11pt Arial font size.
3
+ *
4
+ * @public exported from `@promptbook/utils`
5
+ */
6
+ export declare const CHARACTERS_PER_STANDARD_LINE = 63;
7
+ /**
8
+ * Number of lines per standard A4 page with 11pt Arial font size and standard margins and spacing.
9
+ *
10
+ * @public exported from `@promptbook/utils`
11
+ */
12
+ export declare const LINES_PER_STANDARD_PAGE = 44;
@@ -2,6 +2,8 @@ import type { ExpectationAmount } from '../../types/PipelineJson/Expectations';
2
2
  /**
3
3
  * Counts number of lines in the text
4
4
  *
5
+ * Note: This does not check only for the presence of newlines, but also for the length of the standard line.
6
+ *
5
7
  * @public exported from `@promptbook/utils`
6
8
  */
7
9
  export declare function countLines(text: string): ExpectationAmount;
@@ -2,6 +2,8 @@ import type { ExpectationAmount } from '../../types/PipelineJson/Expectations';
2
2
  /**
3
3
  * Counts number of pages in the text
4
4
  *
5
+ * Note: This does not check only for the count of newlines, but also for the length of the standard line and length of the standard page.
6
+ *
5
7
  * @public exported from `@promptbook/utils`
6
8
  */
7
9
  export declare function countPages(text: string): ExpectationAmount;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/core",
3
- "version": "0.74.0-7",
3
+ "version": "0.75.0-0",
4
4
  "description": "Supercharge your use of large language models",
5
5
  "private": false,
6
6
  "sideEffects": false,