@promptbook/cli 0.69.0-14 โ†’ 0.69.0-16

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 (29) hide show
  1. package/README.md +4 -0
  2. package/esm/index.es.js +91 -49
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/promptbook-collection/index.d.ts +0 -3
  5. package/esm/typings/src/cli/cli-commands/make.d.ts +1 -1
  6. package/esm/typings/src/collection/constructors/createCollectionFromUrl.d.ts +1 -1
  7. package/esm/typings/src/commands/FOREACH/ForeachCommand.d.ts +1 -1
  8. package/esm/typings/src/commands/FOREACH/foreachCommandParser.d.ts +0 -1
  9. package/esm/typings/src/config.d.ts +2 -2
  10. package/esm/typings/src/conversion/pipelineStringToJsonSync.d.ts +1 -1
  11. package/esm/typings/src/conversion/validation/validatePipeline.d.ts +6 -6
  12. package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +1 -1
  13. package/esm/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +1 -1
  14. package/esm/typings/src/llm-providers/_common/utils/cache/CacheItem.d.ts +1 -1
  15. package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
  16. package/esm/typings/src/llm-providers/anthropic-claude/createAnthropicClaudeExecutionTools.d.ts +2 -2
  17. package/esm/typings/src/llm-providers/anthropic-claude/playground/playground.d.ts +2 -2
  18. package/esm/typings/src/llm-providers/openai/playground/playground.d.ts +1 -1
  19. package/esm/typings/src/personas/preparePersona.d.ts +1 -1
  20. package/esm/typings/src/prepare/isPipelinePrepared.d.ts +1 -1
  21. package/esm/typings/src/prepare/prepareTemplates.d.ts +1 -1
  22. package/esm/typings/src/types/PipelineJson/PipelineJson.d.ts +1 -1
  23. package/esm/typings/src/types/typeAliases.d.ts +1 -1
  24. package/esm/typings/src/utils/serialization/checkSerializableAsJson.d.ts +1 -1
  25. package/esm/typings/src/utils/serialization/isSerializableAsJson.d.ts +1 -1
  26. package/package.json +1 -1
  27. package/umd/index.umd.js +91 -49
  28. package/umd/index.umd.js.map +1 -1
  29. /package/esm/typings/src/{personas/preparePersona.test.d.ts โ†’ collection/constructors/createCollectionFromDirectory.test.d.ts} +0 -0
@@ -1,7 +1,6 @@
1
1
  declare const _default: ({
2
2
  title: string;
3
3
  pipelineUrl: string;
4
- promptbookVersion: string;
5
4
  parameters: {
6
5
  name: string;
7
6
  description: string;
@@ -24,7 +23,6 @@ declare const _default: ({
24
23
  } | {
25
24
  title: string;
26
25
  pipelineUrl: string;
27
- promptbookVersion: string;
28
26
  parameters: {
29
27
  name: string;
30
28
  description: string;
@@ -53,7 +51,6 @@ declare const _default: ({
53
51
  } | {
54
52
  title: string;
55
53
  pipelineUrl: string;
56
- promptbookVersion: string;
57
54
  parameters: {
58
55
  name: string;
59
56
  description: string;
@@ -6,7 +6,7 @@ import type { Command as Program } from 'commander';
6
6
  */
7
7
  export declare function initializeMakeCommand(program: Program): void;
8
8
  /**
9
- * TODO: [๐Ÿฅƒ] !!! Allow `ptbk make` without configuring any llm tools
9
+ * TODO: [๐Ÿฅƒ][main] !!! Allow `ptbk make` without configuring any llm tools
10
10
  * TODO: Maybe remove this command - "about" command should be enough?
11
11
  * TODO: [0] DRY Javascript and typescript - Maybe make ONLY typescript and for javascript just remove types
12
12
  * Note: [๐ŸŸก] This code should never be published outside of `@promptbook/cli`
@@ -25,5 +25,5 @@ type CreatePipelineCollectionFromUrlyOptions = {
25
25
  export declare function createCollectionFromUrl(url: string_url | URL, options: CreatePipelineCollectionFromUrlyOptions): Promise<PipelineCollection>;
26
26
  export {};
27
27
  /**
28
- * TODO: !!!! [๐Ÿง ] Library precompilation and do not mix markdown and json promptbooks
28
+ * TODO:[main] !!!! [๐Ÿง ] Library precompilation and do not mix markdown and json promptbooks
29
29
  */
@@ -1,6 +1,6 @@
1
1
  import type { ForeachJson } from './ForeachJson';
2
2
  /**
3
- * Parsed FOREACH command <- Write [๐Ÿญ] !!!!!!
3
+ * Parsed FOREACH command which is used to iterate over a table of values
4
4
  *
5
5
  * @see ./foreachCommandParser.ts for more details
6
6
  * @private within the commands folder
@@ -10,7 +10,6 @@ import type { ForeachCommand } from './ForeachCommand';
10
10
  */
11
11
  export declare const foreachCommandParser: PipelineTemplateCommandParser<ForeachCommand>;
12
12
  /**
13
- * TODO: !!!!!! Remove console logs
14
13
  * TODO: [๐Ÿง ][๐Ÿฆฅ] Better (less confusing) name for "cell" / "subvalue" / "subparameter"
15
14
  * TODO: [๐Ÿญ] !!!!!! Make .ptbk.md file with examples of the FOREACH command and also with wrong parsing and logic
16
15
  */
@@ -69,14 +69,14 @@ export declare const MAX_EXECUTION_ATTEMPTS = 3;
69
69
  export declare const MAX_FILENAME_LENGTH = 30;
70
70
  /**
71
71
  * @@@
72
- * TODO: [๐Ÿ] !!! Use
72
+ * TODO: [๐Ÿ][main] !!! Use
73
73
  *
74
74
  * @public exported from `@promptbook/core`
75
75
  */
76
76
  export declare const MAX_KNOWLEDGE_SOURCES_SCRAPING_DEPTH = 3;
77
77
  /**
78
78
  * @@@
79
- * TODO: [๐Ÿ] !!! Use
79
+ * TODO: [๐Ÿ][main] !!! Use
80
80
  *
81
81
  * @public exported from `@promptbook/core`
82
82
  */
@@ -18,7 +18,7 @@ import type { PipelineString } from '../types/PipelineString';
18
18
  */
19
19
  export declare function pipelineStringToJsonSync(pipelineString: PipelineString): PipelineJson;
20
20
  /**
21
- * TODO: !!!! Warn if used only sync version
21
+ * TODO:[main] !!!! Warn if used only sync version
22
22
  * TODO: [๐Ÿšž] Report here line/column of error
23
23
  * TODO: Use spaceTrim more effectively
24
24
  * TODO: [๐Ÿง ] Parameter flags - isInput, isOutput, isInternal
@@ -20,7 +20,7 @@ export declare function validatePipeline(pipeline: PipelineJson): PipelineJson;
20
20
  */
21
21
  export declare function validatePipelineCore(pipeline: PipelineJson): void;
22
22
  /**
23
- * TODO: !!!!!! [๐Ÿงžโ€โ™€๏ธ] Do not allow joker + foreach
23
+ * TODO: !!!!! [๐Ÿงžโ€โ™€๏ธ] Do not allow joker + foreach
24
24
  * TODO: [๐Ÿง ] Work with promptbookVersion
25
25
  * TODO: Use here some json-schema, Zod or something similar and change it to:
26
26
  * > /**
@@ -32,11 +32,11 @@ export declare function validatePipelineCore(pipeline: PipelineJson): void;
32
32
  * > ex port function validatePipeline(promptbook: really_unknown): asserts promptbook is PipelineJson {
33
33
  */
34
34
  /**
35
- * TODO: [๐Ÿฃ] !!!! Validate that all samples match expectations
36
- * TODO: [๐Ÿฃ][๐Ÿ] !!!! Validate that knowledge is valid (non-void)
37
- * TODO: [๐Ÿฃ] !!!! Validate that persona can be used only with CHAT variant
38
- * TODO: [๐Ÿฃ] !!!! Validate that parameter with reserved name not used RESERVED_PARAMETER_NAMES
39
- * TODO: [๐Ÿฃ] !!!! Validate that reserved parameter is not used as joker
35
+ * TODO: [๐Ÿฃ][main] !!!! Validate that all samples match expectations
36
+ * TODO: [๐Ÿฃ][๐Ÿ][main] !!!! Validate that knowledge is valid (non-void)
37
+ * TODO: [๐Ÿฃ][main] !!!! Validate that persona can be used only with CHAT variant
38
+ * TODO: [๐Ÿฃ][main] !!!! Validate that parameter with reserved name not used RESERVED_PARAMETER_NAMES
39
+ * TODO: [๐Ÿฃ][main] !!!! Validate that reserved parameter is not used as joker
40
40
  * TODO: [๐Ÿง ] Validation not only logic itself but imports around - files and websites and rerefenced pipelines exists
41
41
  * TODO: [๐Ÿ› ] Actions, instruments (and maybe knowledge) => Functions and tools
42
42
  */
@@ -8,7 +8,7 @@ import type { string_markdown } from '../../../types/typeAliases';
8
8
  */
9
9
  export declare function prepareKnowledgeFromMarkdown(knowledgeContent: string_markdown, options: PrepareOptions): Promise<Array<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>>>;
10
10
  /**
11
- * TODO: [๐Ÿ][๐Ÿ”ผ] !!! Export via `@promptbook/markdown`
11
+ * TODO: [๐Ÿ][๐Ÿ”ผ][main] !!! Export via `@promptbook/markdown`
12
12
  * TODO: [๐Ÿช‚] Do it in parallel 11:11
13
13
  * Note: No need to aggregate usage here, it is done by intercepting the llmTools
14
14
  */
@@ -8,7 +8,7 @@ import type { string_base64 } from '../../../types/typeAliases';
8
8
  */
9
9
  export declare function prepareKnowledgeFromPdf(content: string_base64, options: PrepareOptions): Promise<Array<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>>>;
10
10
  /**
11
- * TODO: [๐Ÿ][๐Ÿ”ผ] !!! Export via `@promptbook/pdf`
11
+ * TODO: [๐Ÿ][๐Ÿ”ผ][main] !!! Export via `@promptbook/pdf`
12
12
  * TODO: [๐Ÿงบ] In future, content can be alse File or Blob BUT for now for wider compatibility its only base64
13
13
  * @see https://stackoverflow.com/questions/14653349/node-js-cant-create-blobs
14
14
  * TODO: [๐Ÿช‚] Do it in parallel
@@ -13,7 +13,7 @@ export type CacheItem = {
13
13
  /**
14
14
  * @@@
15
15
  */
16
- promptbookVersion: string_promptbook_version;
16
+ promptbookVersion?: string_promptbook_version;
17
17
  /**
18
18
  * @@@
19
19
  */
@@ -16,7 +16,7 @@ export declare const ANTHROPIC_CLAUDE_MODELS: Array<AvailableModel & {
16
16
  }>;
17
17
  /**
18
18
  * Note: [๐Ÿค–] Add models of new variant
19
- * TODO: [๐Ÿง ] !!! Add embedding models OR Anthropic has only chat+completion models?
19
+ * TODO: [๐Ÿง ][main] !!! Add embedding models OR Anthropic has only chat+completion models?
20
20
  * TODO: [๐Ÿง ] Some mechanism to propagate unsureness
21
21
  * TODO: [๐Ÿง ][๐Ÿ‘ฎโ€โ™€๏ธ] Put here more info like description, isVision, trainingDateCutoff, languages, strengths ( Top-level performance, intelligence, fluency, and understanding), contextWindow,...
22
22
  * TODO: [๐ŸŽฐ] Some mechanism to auto-update available models
@@ -11,8 +11,8 @@ export declare const createAnthropicClaudeExecutionTools: ((options: AnthropicCl
11
11
  className: string;
12
12
  };
13
13
  /**
14
- * TODO: [๐Ÿง ] !!!! Make anonymous this with all LLM providers
15
- * TODO: [๐Ÿง ][๐Ÿงฑ] !!!! Maybe change all `new AnthropicClaudeExecutionTools` -> `createAnthropicClaudeExecutionTools` in manual
14
+ * TODO: [๐Ÿง ][main] !!!! Make anonymous this with all LLM providers
15
+ * TODO: [๐Ÿง ][๐Ÿงฑ][main] !!!! Maybe change all `new AnthropicClaudeExecutionTools` -> `createAnthropicClaudeExecutionTools` in manual
16
16
  * TODO: [๐Ÿง ] Maybe auto-detect usage in browser and determine default value of `isProxied`
17
17
  * TODO: [๐Ÿฆบ] Is there some way how to put `packageName` and `className` on top and function definition on bottom?
18
18
  * TODO: [๐ŸŽถ] Naming "constructor" vs "creator" vs "factory"
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ts-node
2
2
  export {};
3
3
  /**
4
- * TODO: !!! Playground with WebGPT / Promptbook.studio anonymous server
5
- * TODO: !!! Test here that `systemMessage`, `temperature` and `seed` are working correctly
4
+ * TODO:[main] !!! Playground with WebGPT / Promptbook.studio anonymous server
5
+ * TODO:[main] !!! Test here that `systemMessage`, `temperature` and `seed` are working correctly
6
6
  */
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ts-node
2
2
  export {};
3
3
  /**
4
- * TODO: !!! Test here that `systemMessage`, `temperature` and `seed` are working correctly
4
+ * TODO:[main] !!! Test here that `systemMessage`, `temperature` and `seed` are working correctly
5
5
  */
@@ -9,7 +9,7 @@ import type { string_persona_description } from '../types/typeAliases';
9
9
  */
10
10
  export declare function preparePersona(personaDescription: string_persona_description, options: PrepareOptions): Promise<PersonaPreparedJson['modelRequirements']>;
11
11
  /**
12
- * TODO: [๐Ÿ”ƒ] !!!!! If the persona was prepared with different version or different set of models, prepare it once again
12
+ * TODO: [๐Ÿ”ƒ][main] !!!!! If the persona was prepared with different version or different set of models, prepare it once again
13
13
  * TODO: [๐Ÿข] !! Check validity of `modelName` in pipeline
14
14
  * TODO: [๐Ÿข] !! Check validity of `systemMessage` in pipeline
15
15
  * TODO: [๐Ÿข] !! Check validity of `temperature` in pipeline
@@ -6,7 +6,7 @@ import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
6
6
  */
7
7
  export declare function isPipelinePrepared(pipeline: PipelineJson): boolean;
8
8
  /**
9
- * TODO: [๐Ÿ”ƒ] !!!!! If the pipeline was prepared with different version or different set of models, prepare it once again
9
+ * TODO: [๐Ÿ”ƒ][main] !!!!! If the pipeline was prepared with different version or different set of models, prepare it once again
10
10
  * TODO: [๐Ÿ ] Maybe base this on `makeValidator`
11
11
  * TODO: [๐ŸงŠ] Pipeline can be partially prepared, this should return true ONLY if fully prepared
12
12
  * TODO: [๐Ÿงฟ] Maybe do same process with same granularity and subfinctions as `preparePipeline`
@@ -23,7 +23,7 @@ export {};
23
23
  /**
24
24
  * TODO: [๐Ÿง ] Add context to each template (if missing)
25
25
  * TODO: [๐Ÿง ] What is better name `prepareTemplate` or `prepareTemplateAndParameters`
26
- * TODO: [โ™จ] !!! Prepare index the samples and maybe templates
26
+ * TODO: [โ™จ][main] !!! Prepare index the samples and maybe templates
27
27
  * TODO: Write tests for `preparePipeline`
28
28
  * TODO: [๐Ÿ] Leverage the batch API and build queues @see https://platform.openai.com/docs/guides/batch
29
29
  * TODO: [๐ŸงŠ] In future one preparation can take data from previous preparation and save tokens and time
@@ -42,7 +42,7 @@ export type PipelineJson = {
42
42
  /**
43
43
  * Version of the .ptbk.json file
44
44
  */
45
- readonly promptbookVersion: string_semantic_version;
45
+ readonly promptbookVersion?: string_semantic_version;
46
46
  /**
47
47
  * Description of the promptbook
48
48
  * It can use multiple paragraphs of simple markdown formatting like **bold**, *italic*, [link](https://example.com), ... BUT not code blocks and structure
@@ -592,7 +592,7 @@ export type number_megabytes = number_positive;
592
592
  export type number_gigabytes = number_positive;
593
593
  export type number_terabytes = number_positive;
594
594
  /**.
595
- * TODO: !!! Change "For example" to @example
595
+ * TODO:[main] !!! Change "For example" to @example
596
596
  * TODO: !! Change to branded types
597
597
  * TODO: Delete type aliases that are not exported or used internally
598
598
  */
@@ -22,6 +22,6 @@ import type { string_name } from '../../types/typeAliases';
22
22
  export declare function checkSerializableAsJson(name: string_name, value: unknown): void;
23
23
  /**
24
24
  * TODO: [๐Ÿง ][๐Ÿ›ฃ] More elegant way to tracking than passing `name`
25
- * TODO: [๐Ÿง ] !!! In-memory cache of same values to prevent multiple checks
25
+ * TODO: [๐Ÿง ][main] !!! In-memory cache of same values to prevent multiple checks
26
26
  * Note: [๐Ÿ ] This is how `checkSerializableAsJson` + `isSerializableAsJson` together can just retun true/false or rich error message
27
27
  */
@@ -19,6 +19,6 @@
19
19
  */
20
20
  export declare function isSerializableAsJson(value: unknown): boolean;
21
21
  /**
22
- * TODO: [๐Ÿง ] !!! In-memory cache of same values to prevent multiple checks
22
+ * TODO: [๐Ÿง ][main] !!! In-memory cache of same values to prevent multiple checks
23
23
  * TODO: [๐Ÿง ][๐Ÿ’บ] Can be done this on type-level?
24
24
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/cli",
3
- "version": "0.69.0-14",
3
+ "version": "0.69.0-16",
4
4
  "description": "Supercharge your use of large language models",
5
5
  "private": false,
6
6
  "sideEffects": false,