@promptbook/remote-client 0.103.0-4 → 0.103.0-41

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 (145) hide show
  1. package/README.md +57 -21
  2. package/esm/index.es.js +75 -4
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/books/index.d.ts +0 -81
  5. package/esm/typings/src/_packages/browser.index.d.ts +6 -0
  6. package/esm/typings/src/_packages/cli.index.d.ts +4 -0
  7. package/esm/typings/src/_packages/components.index.d.ts +12 -8
  8. package/esm/typings/src/_packages/core.index.d.ts +30 -10
  9. package/esm/typings/src/_packages/node.index.d.ts +4 -2
  10. package/esm/typings/src/_packages/remote-server.index.d.ts +2 -0
  11. package/esm/typings/src/_packages/types.index.d.ts +18 -2
  12. package/esm/typings/src/_packages/wizard.index.d.ts +4 -0
  13. package/esm/typings/src/book-2.0/agent-source/AgentBasicInformation.d.ts +1 -0
  14. package/esm/typings/src/book-2.0/agent-source/padBook.d.ts +16 -0
  15. package/esm/typings/src/book-components/BookEditor/BookEditor.d.ts +76 -15
  16. package/esm/typings/src/book-components/BookEditor/BookEditorActionbar.d.ts +14 -0
  17. package/esm/typings/src/book-components/BookEditor/BookEditorMonaco.d.ts +5 -0
  18. package/esm/typings/src/book-components/Chat/MarkdownContent/MarkdownContent.d.ts +15 -0
  19. package/esm/typings/src/book-components/Chat/MockedChat/MockedChat.d.ts +5 -0
  20. package/esm/typings/src/book-components/Chat/save/html/htmlSaveFormatDefinition.d.ts +1 -0
  21. package/esm/typings/src/book-components/Chat/save/pdf/pdfSaveFormatDefinition.d.ts +4 -0
  22. package/esm/typings/src/book-components/Qr/BrandedQrCode.d.ts +18 -0
  23. package/esm/typings/src/book-components/Qr/GenericQrCode.d.ts +10 -0
  24. package/esm/typings/src/book-components/Qr/PromptbookQrCode.d.ts +18 -0
  25. package/esm/typings/src/book-components/Qr/useQrCode.d.ts +15 -0
  26. package/esm/typings/src/book-components/_common/Dropdown/Dropdown.d.ts +15 -0
  27. package/esm/typings/src/book-components/_common/Modal/Modal.d.ts +2 -2
  28. package/esm/typings/src/book-components/_common/Tooltip/Tooltip.d.ts +47 -0
  29. package/esm/typings/src/book-components/_common/react-utils/classNames.d.ts +1 -1
  30. package/esm/typings/src/book-components/icons/AboutIcon.d.ts +9 -0
  31. package/esm/typings/src/book-components/icons/CloseIcon.d.ts +4 -8
  32. package/esm/typings/src/book-components/icons/DownloadIcon.d.ts +9 -0
  33. package/esm/typings/src/book-components/icons/ExitFullscreenIcon.d.ts +7 -0
  34. package/esm/typings/src/book-components/icons/FullscreenIcon.d.ts +7 -0
  35. package/esm/typings/src/book-components/icons/MenuIcon.d.ts +12 -0
  36. package/esm/typings/src/cli/cli-commands/_boilerplate.d.ts +2 -1
  37. package/esm/typings/src/cli/cli-commands/about.d.ts +3 -1
  38. package/esm/typings/src/cli/cli-commands/hello.d.ts +2 -1
  39. package/esm/typings/src/cli/cli-commands/list-models.d.ts +2 -1
  40. package/esm/typings/src/cli/cli-commands/list-scrapers.d.ts +2 -1
  41. package/esm/typings/src/cli/cli-commands/login.d.ts +2 -1
  42. package/esm/typings/src/cli/cli-commands/make.d.ts +2 -1
  43. package/esm/typings/src/cli/cli-commands/prettify.d.ts +2 -1
  44. package/esm/typings/src/cli/cli-commands/run.d.ts +2 -1
  45. package/esm/typings/src/cli/cli-commands/{start-server.d.ts → start-agents-server.d.ts} +3 -2
  46. package/esm/typings/src/cli/cli-commands/start-pipelines-server.d.ts +15 -0
  47. package/esm/typings/src/cli/cli-commands/test-command.d.ts +2 -1
  48. package/esm/typings/src/cli/common/$addGlobalOptionsToCommand.d.ts +2 -1
  49. package/esm/typings/src/collection/agent-collection/AgentCollection.d.ts +36 -0
  50. package/esm/typings/src/collection/agent-collection/constructors/AgentCollectionInDirectory.d.ts +88 -0
  51. package/esm/typings/src/collection/{PipelineCollection.d.ts → pipeline-collection/PipelineCollection.d.ts} +7 -3
  52. package/esm/typings/src/collection/{SimplePipelineCollection.d.ts → pipeline-collection/SimplePipelineCollection.d.ts} +5 -5
  53. package/esm/typings/src/collection/{constructors/createCollectionFromDirectory.d.ts → pipeline-collection/constructors/createPipelineCollectionFromDirectory.d.ts} +8 -11
  54. package/esm/typings/src/collection/pipeline-collection/constructors/createPipelineCollectionFromJson.d.ts +13 -0
  55. package/esm/typings/src/collection/{constructors/createCollectionFromPromise.d.ts → pipeline-collection/constructors/createPipelineCollectionFromPromise.d.ts} +6 -5
  56. package/esm/typings/src/collection/{constructors/createCollectionFromUrl.d.ts → pipeline-collection/constructors/createPipelineCollectionFromUrl.d.ts} +3 -3
  57. package/esm/typings/src/collection/{constructors/createSubcollection.d.ts → pipeline-collection/constructors/createPipelineSubcollection.d.ts} +3 -3
  58. package/esm/typings/src/collection/pipeline-collection/pipelineCollectionToJson.d.ts +13 -0
  59. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +4 -5
  60. package/esm/typings/src/config.d.ts +22 -2
  61. package/esm/typings/src/errors/0-index.d.ts +3 -0
  62. package/esm/typings/src/errors/NotAllowed.d.ts +9 -0
  63. package/esm/typings/src/execution/AvailableModel.d.ts +1 -0
  64. package/esm/typings/src/execution/Executables.d.ts +3 -0
  65. package/esm/typings/src/execution/ExecutionTask.d.ts +12 -3
  66. package/esm/typings/src/execution/ExecutionTools.d.ts +5 -0
  67. package/esm/typings/src/execution/FilesystemTools.d.ts +1 -1
  68. package/esm/typings/src/execution/LlmExecutionTools.d.ts +7 -1
  69. package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +5 -0
  70. package/esm/typings/src/execution/createPipelineExecutor/20-executeTask.d.ts +5 -0
  71. package/esm/typings/src/execution/createPipelineExecutor/30-executeFormatSubvalues.d.ts +5 -0
  72. package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +5 -0
  73. package/esm/typings/src/execution/utils/logLlmCall.d.ts +8 -0
  74. package/esm/typings/src/execution/utils/usage-constants.d.ts +4 -124
  75. package/esm/typings/src/high-level-abstractions/_common/HighLevelAbstraction.d.ts +2 -1
  76. package/esm/typings/src/llm-providers/_common/register/$registeredLlmToolsMessage.d.ts +2 -1
  77. package/esm/typings/src/llm-providers/agent/Agent.d.ts +49 -0
  78. package/esm/typings/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +9 -4
  79. package/esm/typings/src/llm-providers/agent/AgentOptions.d.ts +17 -0
  80. package/esm/typings/src/llm-providers/agent/CreateAgentLlmExecutionToolsOptions.d.ts +16 -0
  81. package/esm/typings/src/llm-providers/agent/createAgentLlmExecutionTools.d.ts +1 -19
  82. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +28 -0
  83. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionToolsOptions.d.ts +7 -1
  84. package/esm/typings/src/other/templates/getTemplatesPipelineCollection.d.ts +1 -1
  85. package/esm/typings/src/playground/permanent/_boilerplate.d.ts +5 -0
  86. package/esm/typings/src/playground/permanent/agent-with-browser-playground.d.ts +5 -0
  87. package/esm/typings/src/playground/playground.d.ts +0 -3
  88. package/esm/typings/src/playground/playground1.d.ts +2 -0
  89. package/esm/typings/src/remote-server/startAgentServer.d.ts +23 -0
  90. package/esm/typings/src/remote-server/startRemoteServer.d.ts +4 -1
  91. package/esm/typings/src/remote-server/types/RemoteServerOptions.d.ts +22 -8
  92. package/esm/typings/src/scrapers/_boilerplate/createBoilerplateScraper.d.ts +1 -12
  93. package/esm/typings/src/scrapers/_boilerplate/register-metadata.d.ts +1 -9
  94. package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +1 -12
  95. package/esm/typings/src/scrapers/document/register-metadata.d.ts +1 -9
  96. package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +1 -12
  97. package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +1 -9
  98. package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +1 -12
  99. package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +1 -9
  100. package/esm/typings/src/scrapers/markitdown/createMarkitdownScraper.d.ts +1 -12
  101. package/esm/typings/src/scrapers/markitdown/register-metadata.d.ts +1 -9
  102. package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +1 -12
  103. package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +1 -9
  104. package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +1 -12
  105. package/esm/typings/src/scrapers/website/register-metadata.d.ts +1 -9
  106. package/esm/typings/src/storage/env-storage/$EnvStorage.d.ts +2 -1
  107. package/esm/typings/src/transpilers/_common/BookTranspiler.d.ts +29 -0
  108. package/esm/typings/src/transpilers/_common/BookTranspilerOptions.d.ts +18 -0
  109. package/esm/typings/src/transpilers/_common/register/$bookTranspilersRegister.d.ts +15 -0
  110. package/esm/typings/src/transpilers/formatted-book-in-markdown/FormattedBookInMarkdownTranspiler.d.ts +13 -0
  111. package/esm/typings/src/transpilers/formatted-book-in-markdown/register.d.ts +15 -0
  112. package/esm/typings/src/transpilers/openai-sdk/OpenAiSdkTranspiler.d.ts +13 -0
  113. package/esm/typings/src/transpilers/openai-sdk/OpenAiSdkTranspiler.test.d.ts +1 -0
  114. package/esm/typings/src/transpilers/openai-sdk/playground/playground.d.ts +5 -0
  115. package/esm/typings/src/transpilers/openai-sdk/register.d.ts +15 -0
  116. package/esm/typings/src/types/LlmCall.d.ts +20 -0
  117. package/esm/typings/src/types/Updatable.d.ts +19 -0
  118. package/esm/typings/src/types/typeAliases.d.ts +1 -1
  119. package/esm/typings/src/utils/execCommand/$execCommand.d.ts +2 -1
  120. package/esm/typings/src/utils/execCommand/$execCommands.d.ts +2 -1
  121. package/esm/typings/src/utils/files/$induceBookDownload.d.ts +13 -0
  122. package/esm/typings/src/utils/files/$induceFileDownload.d.ts +13 -0
  123. package/esm/typings/src/utils/files/ObjectUrl.d.ts +46 -0
  124. package/esm/typings/src/utils/files/listAllFiles.d.ts +2 -3
  125. package/esm/typings/src/utils/misc/aboutPromptbookInformation.d.ts +21 -0
  126. package/esm/typings/src/utils/misc/injectCssModuleIntoShadowRoot.d.ts +1 -0
  127. package/esm/typings/src/utils/misc/xAboutPromptbookInformation.d.ts +13 -0
  128. package/esm/typings/src/utils/organization/$side_effect.d.ts +7 -0
  129. package/esm/typings/src/utils/serialization/$deepFreeze.d.ts +2 -1
  130. package/esm/typings/src/version.d.ts +1 -1
  131. package/esm/typings/src/wizard/$getCompiledBook.d.ts +1 -2
  132. package/package.json +4 -4
  133. package/umd/index.umd.js +75 -4
  134. package/umd/index.umd.js.map +1 -1
  135. package/esm/typings/src/book-components/BookEditor/BookEditorInner.d.ts +0 -5
  136. package/esm/typings/src/book-components/BookEditor/BookEditorWrapper.d.ts +0 -9
  137. package/esm/typings/src/book-components/BookEditor/config.d.ts +0 -10
  138. package/esm/typings/src/book-components/Chat/utils/renderMarkdown.d.ts +0 -21
  139. package/esm/typings/src/collection/collectionToJson.d.ts +0 -13
  140. package/esm/typings/src/collection/constructors/createCollectionFromJson.d.ts +0 -13
  141. /package/esm/typings/src/{book-components/Chat/utils/renderMarkdown.test.d.ts → collection/agent-collection/constructors/AgentCollectionInDirectory.test.d.ts} +0 -0
  142. /package/esm/typings/src/collection/{constructors/createCollectionFromDirectory.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromDirectory.test.d.ts} +0 -0
  143. /package/esm/typings/src/collection/{constructors/createCollectionFromJson.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromJson.test.d.ts} +0 -0
  144. /package/esm/typings/src/collection/{constructors/createCollectionFromPromise.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromPromise.test.d.ts} +0 -0
  145. /package/esm/typings/src/collection/{collectionToJson.test.d.ts → pipeline-collection/pipelineCollectionToJson.test.d.ts} +0 -0
@@ -0,0 +1,29 @@
1
+ import { Promisable } from 'type-fest';
2
+ import { BookTranspilerOptions, ExecutionTools, Registered, string_book, string_name, string_script, string_title } from '../../_packages/types.index';
3
+ /**
4
+ * Transpiler takes a book and transpiles it into another format (e.g., Langchain).
5
+ */
6
+ export type BookTranspiler = Registered & {
7
+ /**
8
+ * The name of the transpiler.
9
+ * It is used to identify the transpiler in the register.
10
+ *
11
+ * @example 'python-langchain'
12
+ */
13
+ readonly name: string_name;
14
+ /**
15
+ * The title of the transpiler.
16
+ * It is used to display the transpiler in the UI.
17
+ *
18
+ * @example 'Python Langchain'
19
+ */
20
+ readonly title: string_title;
21
+ /**
22
+ * Transpiles a book.
23
+ *
24
+ * @param book book to transpile
25
+ * @param options additional options for the transpiler
26
+ * @returns transpiled book
27
+ */
28
+ transpileBook(book: string_book, tools: ExecutionTools, options?: BookTranspilerOptions): Promisable<string_script>;
29
+ };
@@ -0,0 +1,18 @@
1
+ import { CommonToolsOptions } from '../../execution/CommonToolsOptions';
2
+ /**
3
+ * Options for the BookTranspiler.
4
+ */
5
+ export type BookTranspilerOptions = Omit<CommonToolsOptions, 'maxRequestsPerMinute'> & {
6
+ /**
7
+ * If true, the transpiler will log verbose information to the console.
8
+ *
9
+ * @default false
10
+ */
11
+ readonly isVerbose?: boolean;
12
+ /**
13
+ * If true, the transpiler will include comments in the output.
14
+ *
15
+ * @default true
16
+ */
17
+ readonly shouldIncludeComments?: boolean;
18
+ };
@@ -0,0 +1,15 @@
1
+ import { $Register } from '../../../utils/misc/$Register';
2
+ import { BookTranspiler } from '../BookTranspiler';
3
+ /**
4
+ * Register for book transpilers.
5
+ *
6
+ * Note: `$` is used to indicate that this interacts with the global scope
7
+ * @singleton Only one instance of each register is created per build, but there can be more instances across different builds or environments.
8
+ * @see https://github.com/webgptorg/promptbook/issues/249
9
+ *
10
+ * @public exported from `@promptbook/core`
11
+ */
12
+ export declare const $bookTranspilersRegister: $Register<BookTranspiler>;
13
+ /**
14
+ * TODO: [®] DRY Register logic
15
+ */
@@ -0,0 +1,13 @@
1
+ import { BookTranspilerOptions, ExecutionTools, string_book, string_markdown } from '../../_packages/types.index';
2
+ /**
3
+ * Converts a book into a 1:1 formatted markdown
4
+ *
5
+ * @public exported from `@promptbook/core`
6
+ */
7
+ export declare const FormattedBookInMarkdownTranspiler: {
8
+ readonly name: "formatted-book-in-markdown";
9
+ readonly title: "Formatted Book in Markdown";
10
+ readonly packageName: "@promptbook/core";
11
+ readonly className: "FormattedBookInMarkdownTranspiler";
12
+ readonly transpileBook: (book: string_book, tools: ExecutionTools, options?: BookTranspilerOptions) => string_markdown;
13
+ };
@@ -0,0 +1,15 @@
1
+ import { Registration } from '../../_packages/types.index';
2
+ /**
3
+ * Registration of transpiler
4
+ *
5
+ * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
6
+ *
7
+ * @public exported from `@promptbook/wizard`
8
+ * @public exported from `@promptbook/cli`
9
+ *
10
+ * TODO: !!! Which package should export this?
11
+ */
12
+ export declare const _FormattedBookInMarkdownTranspilerRegistration: Registration;
13
+ /**
14
+ * Note: [💞] Ignore a discrepancy between file name and entity name
15
+ */
@@ -0,0 +1,13 @@
1
+ import { BookTranspilerOptions, ExecutionTools, string_book, string_script } from '../../_packages/types.index';
2
+ /**
3
+ * Transpiler to Javascript code using OpenAI SDK.
4
+ *
5
+ * @public exported from `@promptbook/core`
6
+ */
7
+ export declare const OpenAiSdkTranspiler: {
8
+ readonly name: "openai-sdk";
9
+ readonly title: "OpenAI SDK";
10
+ readonly packageName: "@promptbook/core";
11
+ readonly className: "OpenAiSdkTranspiler";
12
+ readonly transpileBook: (book: string_book, tools: ExecutionTools, options?: BookTranspilerOptions) => Promise<string_script>;
13
+ };
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ts-node
2
+ export {};
3
+ /**
4
+ * Note: [⚫] Code in this file should never be published in any package
5
+ */
@@ -0,0 +1,15 @@
1
+ import { Registration } from '../../_packages/types.index';
2
+ /**
3
+ * Registration of transpiler
4
+ *
5
+ * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
6
+ *
7
+ * @public exported from `@promptbook/wizard`
8
+ * @public exported from `@promptbook/cli`
9
+ *
10
+ * TODO: !!!! Which package should export this?
11
+ */
12
+ export declare const _OpenAiSdkTranspilerRegistration: Registration;
13
+ /**
14
+ * Note: [💞] Ignore a discrepancy between file name and entity name
15
+ */
@@ -0,0 +1,20 @@
1
+ import type { ExecutionPromptReportJson } from '../execution/execution-report/ExecutionPromptReportJson';
2
+ import type { string_model_name } from './typeAliases';
3
+ /**
4
+ * Represents a single LLM call with its report.
5
+ *
6
+ * @see https://github.com/webgptorg/promptbook/issues/24
7
+ */
8
+ export type LlmCall = {
9
+ /**
10
+ * The name of the model used for the call.
11
+ */
12
+ readonly modelName: string_model_name;
13
+ /**
14
+ * The report of the LLM execution.
15
+ */
16
+ readonly report: ExecutionPromptReportJson;
17
+ };
18
+ /**
19
+ * TODO: !!! Maybe different shape of LlmCall
20
+ */
@@ -0,0 +1,19 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ /**
3
+ * A type that represents a value that can be updated over time:
4
+ *
5
+ * 1) It can be a static value of type `TValue`
6
+ * 2) Or a `BehaviorSubject` that emits values of type `TValue`
7
+ * 3) Or pair of `[getValue, setValue]` functions for getting and setting the value
8
+ */
9
+ export type Updatable<TValue> = TValue | BehaviorSubject<TValue> | [TValue, (value: TValue) => void];
10
+ /**
11
+ * Restricts an Updatable to a (2) BehaviorSubject variant
12
+ *
13
+ * @see Updatable
14
+ * @private internal utility <- TODO: [🧠] Maybe export from `@promptbook/types`
15
+ */
16
+ export declare function asUpdatableSubject<TValue>(value: Updatable<TValue>): BehaviorSubject<TValue>;
17
+ /**
18
+ * TODO: [🧠] Maybe `BehaviorSubject` is too heavy for this use case, maybe just tuple `[value,setValue]` is enough
19
+ */
@@ -323,7 +323,7 @@ export type string_css_property = string;
323
323
  *
324
324
  * For example `13px`
325
325
  */
326
- export type string_css_value = string;
326
+ export type string_css_value = string | number;
327
327
  /**
328
328
  * Semantic helper
329
329
  *
@@ -1,3 +1,4 @@
1
+ import { $side_effect } from '../organization/$side_effect';
1
2
  import type { ExecCommandOptions } from './ExecCommandOptions';
2
3
  /**
3
4
  * Run one command in a shell
@@ -10,7 +11,7 @@ import type { ExecCommandOptions } from './ExecCommandOptions';
10
11
  *
11
12
  * @public exported from `@promptbook/node`
12
13
  */
13
- export declare function $execCommand(options: ExecCommandOptions): Promise<string>;
14
+ export declare function $execCommand(options: ExecCommandOptions): Promise<$side_effect & string>;
14
15
  /**
15
16
  * Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
16
17
  */
@@ -1,3 +1,4 @@
1
+ import { $side_effect } from '../organization/$side_effect';
1
2
  /**
2
3
  * Run multiple commands in a shell in sequence
3
4
  *
@@ -8,7 +9,7 @@
8
9
  *
9
10
  * @public exported from `@promptbook/node`
10
11
  */
11
- export declare function $execCommands({ commands, cwd, crashOnError, }: {
12
+ export declare function $execCommands({ commands, cwd, crashOnError, }: $side_effect & {
12
13
  readonly commands: string[];
13
14
  readonly cwd: string;
14
15
  readonly crashOnError?: boolean;
@@ -0,0 +1,13 @@
1
+ import { string_book } from '../../_packages/types.index';
2
+ import { $side_effect } from '../organization/$side_effect';
3
+ /**
4
+ * Download a Book in a browser
5
+ *
6
+ * Note: `$` is used to indicate that this function is not a pure function - its purpose is to cause a side effect (download a file)
7
+ *
8
+ * @public exported from `@promptbook/browser`
9
+ */
10
+ export declare function $induceBookDownload(book: string_book): Promise<$side_effect>;
11
+ /**
12
+ * Note: [🔵] Code in this file should never be published outside of `@promptbook/browser`
13
+ */
@@ -0,0 +1,13 @@
1
+ import { string_url } from '../../types/typeAliases';
2
+ import { $side_effect } from '../organization/$side_effect';
3
+ /**
4
+ * Download a File in a browser
5
+ *
6
+ * Note: `$` is used to indicate that this function is not a pure function - its purpose is to cause a side effect (download a file)
7
+ *
8
+ * @public exported from `@promptbook/browser`
9
+ */
10
+ export declare function $induceFileDownload(fileOrBlobOrUrl: File | Blob | URL | string_url): Promise<$side_effect>;
11
+ /**
12
+ * Note: [🔵] Code in this file should never be published outside of `@promptbook/browser`
13
+ */
@@ -0,0 +1,46 @@
1
+ import { IDestroyable, Registration } from 'destroyable';
2
+ import { string_mime_type, string_url } from '../../types/typeAliases';
3
+ /**
4
+ * Converts Blob, File or MediaSource to url using URL.createObjectURL
5
+ *
6
+ * @public exported from `@promptbook/browser`
7
+ */
8
+ export declare class ObjectUrl extends Registration implements IDestroyable {
9
+ readonly src: string_url;
10
+ private constructor();
11
+ /**
12
+ * Creates ObjectUrl from multiple input types
13
+ * Note: DO NOT forget to call destroy() when you are done with it
14
+ */
15
+ static from(source: Blob | File | MediaSource | string, mimeType: string_mime_type): ObjectUrl;
16
+ /**
17
+ * Creates ObjectUrl from string
18
+ * Note: DO NOT forget to call destroy() when you are done with it
19
+ */
20
+ static fromString(source: string, mimeType: string_mime_type): ObjectUrl;
21
+ /**
22
+ * Creates ObjectUrl
23
+ * DO NOT forget to call destroy() when you are done with it
24
+ */
25
+ static fromBlob(source: Blob | File | MediaSource): ObjectUrl;
26
+ /**
27
+ * Creates ObjectUrl:
28
+ * 1) With functionality for Blobs, Files or MediaSources
29
+ * 2) Just a wrapper for string urls
30
+ *
31
+ * DO NOT forget to call destroy() when you are done with it
32
+ */
33
+ static fromBlobOrUrl(source: Blob | File | MediaSource | URL | string_url): ObjectUrl;
34
+ /**
35
+ * Gets object url as string
36
+ * @alias src
37
+ */
38
+ get href(): string_url;
39
+ /**
40
+ * Gets object url as URL object
41
+ */
42
+ get url(): URL;
43
+ }
44
+ /**
45
+ * Note: [🔵] Code in this file should never be published outside of `@promptbook/browser`
46
+ */
@@ -1,13 +1,12 @@
1
1
  import type { FilesystemTools } from '../../execution/FilesystemTools';
2
- import type { string_dirname } from '../../types/typeAliases';
3
- import type { string_filename } from '../../types/typeAliases';
2
+ import type { string_dirname, string_filename } from '../../types/typeAliases';
4
3
  /**
5
4
  * Reads all files in the directory
6
5
  *
7
6
  * @param path
8
7
  * @param isRecursive
9
8
  * @returns List of all files in the directory
10
- * @private internal function of `createCollectionFromDirectory`
9
+ * @private internal function of `AgentCollectionInDirectory` and `createPipelineCollectionFromDirectory`
11
10
  */
12
11
  export declare function listAllFiles(path: string_dirname, isRecursive: boolean, fs: FilesystemTools): Promise<Array<string_filename>>;
13
12
  /**
@@ -0,0 +1,21 @@
1
+ import type { string_markdown } from '../../types/typeAliases';
2
+ export type AboutPromptbookInformationOptions = {
3
+ /**
4
+ * Include information about available servers
5
+ *
6
+ * @default true
7
+ */
8
+ isServersInfoIncluded?: boolean;
9
+ };
10
+ /**
11
+ * Provide information about Promptbook, engine version, book language version, servers, ...
12
+ *
13
+ * @param options Which information to include
14
+ * @returns Information about Promptbook in markdown format
15
+ *
16
+ * @public exported from `@promptbook/core`
17
+ */
18
+ export declare function aboutPromptbookInformation(options?: AboutPromptbookInformationOptions): string_markdown;
19
+ /**
20
+ * TODO: [🗽] Unite branding and make single place for it
21
+ */
@@ -16,5 +16,6 @@ export type InjectCssModuleIntoShadowRootOptions = {
16
16
  *
17
17
  * @public exported from `@promptbook/components`
18
18
  * <- TODO: [🧠] Make `@promptbook/components-utils`
19
+ * @deprecated This was used for BookEditor shadow DOM support, which is no longer needed
19
20
  */
20
21
  export declare function injectCssModuleIntoShadowRoot(options: InjectCssModuleIntoShadowRootOptions): void;
@@ -0,0 +1,13 @@
1
+ import type { AboutPromptbookInformationOptions } from './aboutPromptbookInformation';
2
+ type AboutPromptbookInformationProps = AboutPromptbookInformationOptions;
3
+ /**
4
+ * Provide information about Promptbook, engine version, book language version, servers, ...
5
+ *
6
+ * @public exported from `@promptbook/components`
7
+ */
8
+ export declare function AboutPromptbookInformation(props: AboutPromptbookInformationProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
10
+ /**
11
+ * TODO: !!! Remove "x" from filename
12
+ * TODO: [🗽] Unite branding and make single place for it
13
+ */
@@ -0,0 +1,7 @@
1
+ import { really_any } from './really_any';
2
+ /**
3
+ * Organizational helper to mark a function that produces side effects
4
+ *
5
+ * @private within the repository
6
+ */
7
+ export type $side_effect = void | really_any;
@@ -1,4 +1,5 @@
1
1
  import type { ReadonlyDeep } from 'type-fest';
2
+ import { $side_effect } from '../organization/$side_effect';
2
3
  /**
3
4
  * Freezes the given object and all its nested objects recursively
4
5
  *
@@ -8,7 +9,7 @@ import type { ReadonlyDeep } from 'type-fest';
8
9
  * @returns The same object as the input, but deeply frozen
9
10
  * @public exported from `@promptbook/utils`
10
11
  */
11
- export declare function $deepFreeze<TObject>(objectValue: TObject): ReadonlyDeep<TObject>;
12
+ export declare function $deepFreeze<TObject>(objectValue: TObject): ReadonlyDeep<$side_effect & TObject>;
12
13
  /**
13
14
  * TODO: [🧠] Is there a way how to meaningfully test this utility
14
15
  */
@@ -15,7 +15,7 @@ export declare const BOOK_LANGUAGE_VERSION: string_semantic_version;
15
15
  export declare const PROMPTBOOK_ENGINE_VERSION: string_promptbook_version;
16
16
  /**
17
17
  * Represents the version string of the Promptbook engine.
18
- * It follows semantic versioning (e.g., `0.103.0-3`).
18
+ * It follows semantic versioning (e.g., `0.103.0-40`).
19
19
  *
20
20
  * @generated
21
21
  */
@@ -2,8 +2,7 @@ import type { ExecutionTools } from '../execution/ExecutionTools';
2
2
  import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson';
3
3
  import type { PipelineString } from '../pipeline/PipelineString';
4
4
  import type { PrepareAndScrapeOptions } from '../prepare/PrepareAndScrapeOptions';
5
- import type { string_filename } from '../types/typeAliases';
6
- import type { string_pipeline_url } from '../types/typeAliases';
5
+ import type { string_filename, string_pipeline_url } from '../types/typeAliases';
7
6
  /**
8
7
  * @see ./wizard.ts `getPipeline` method
9
8
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/remote-client",
3
- "version": "0.103.0-4",
3
+ "version": "0.103.0-41",
4
4
  "description": "Promptbook: Turn your company's scattered knowledge into AI ready books",
5
5
  "private": false,
6
6
  "sideEffects": false,
@@ -100,13 +100,13 @@
100
100
  "module": "./esm/index.es.js",
101
101
  "typings": "./esm/typings/src/_packages/remote-client.index.d.ts",
102
102
  "peerDependencies": {
103
- "@promptbook/core": "0.103.0-4"
103
+ "@promptbook/core": "0.103.0-41"
104
104
  },
105
105
  "dependencies": {
106
106
  "crypto": "1.0.1",
107
107
  "crypto-js": "4.2.0",
108
108
  "papaparse": "5.4.1",
109
- "socket.io-client": "4.7.2",
110
- "spacetrim": "0.11.59"
109
+ "socket.io-client": "4.7.5",
110
+ "spacetrim": "0.11.60"
111
111
  }
112
112
  }
package/umd/index.umd.js CHANGED
@@ -23,7 +23,7 @@
23
23
  * @generated
24
24
  * @see https://github.com/webgptorg/promptbook
25
25
  */
26
- const PROMPTBOOK_ENGINE_VERSION = '0.103.0-4';
26
+ const PROMPTBOOK_ENGINE_VERSION = '0.103.0-41';
27
27
  /**
28
28
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
29
29
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -158,6 +158,19 @@
158
158
  }
159
159
  }
160
160
 
161
+ /**
162
+ * This error indicates that promptbook operation is not allowed
163
+ *
164
+ * @public exported from `@promptbook/core`
165
+ */
166
+ class NotAllowed extends Error {
167
+ constructor(message) {
168
+ super(message);
169
+ this.name = 'NotAllowed';
170
+ Object.setPrototypeOf(this, NotAllowed.prototype);
171
+ }
172
+ }
173
+
161
174
  /**
162
175
  * This error indicates that promptbook not found in the collection
163
176
  *
@@ -1221,15 +1234,30 @@
1221
1234
  * @public exported from `@promptbook/core`
1222
1235
  */
1223
1236
  const PROMPTBOOK_COLOR = Color.fromHex('#79EAFD');
1224
- // <- TODO: [🧠] Using `Color` here increases the package size approx 3kb, maybe remove it
1237
+ // <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
1225
1238
  /**
1226
- * Dark color of the Promptbook
1239
+ * Colors for syntax highlighting in the `<BookEditor/>`
1240
+ *
1241
+ * TODO: [🗽] Unite branding and make single place for it
1242
+ *
1243
+ * @public exported from `@promptbook/core`
1244
+ */
1245
+ ({
1246
+ TITLE: Color.fromHex('#244EA8'),
1247
+ LINE: Color.fromHex('#eeeeee'),
1248
+ COMMITMENT: Color.fromHex('#DA0F78'),
1249
+ PARAMETER: Color.fromHex('#8e44ad'),
1250
+ });
1251
+ // <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
1252
+ /**
1253
+ * Chat color of the Promptbook (in chat)
1227
1254
  *
1228
1255
  * TODO: [🗽] Unite branding and make single place for it
1229
1256
  *
1230
1257
  * @public exported from `@promptbook/core`
1231
1258
  */
1232
1259
  PROMPTBOOK_COLOR.then(lighten(0.1)).then(saturate(0.9)).then(grayscale(0.9));
1260
+ // <- TODO: [🧠][🈵] Using `Color` and `lighten`, `saturate`,... here increases the package size approx 3kb, maybe remove it
1233
1261
  /**
1234
1262
  * Color of the user (in chat)
1235
1263
  *
@@ -1238,6 +1266,7 @@
1238
1266
  * @public exported from `@promptbook/core`
1239
1267
  */
1240
1268
  Color.fromHex('#1D4ED8');
1269
+ // <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
1241
1270
  /**
1242
1271
  * When the title is not provided, the default title is used
1243
1272
  *
@@ -1412,6 +1441,7 @@
1412
1441
  PromptbookFetchError,
1413
1442
  UnexpectedError,
1414
1443
  WrappedError,
1444
+ NotAllowed,
1415
1445
  // TODO: [🪑]> VersionMismatchError,
1416
1446
  };
1417
1447
  /**
@@ -5563,6 +5593,46 @@
5563
5593
  const SUPPORTED_SCRIPT_LANGUAGES = ['javascript', 'typescript', 'python'];
5564
5594
  // <- TODO: [🏥] DRY
5565
5595
 
5596
+ /**
5597
+ * Number of padding lines to add at the end of the book content
5598
+ *
5599
+ * @public exported from `@promptbook/core`
5600
+ */
5601
+ const PADDING_LINES = 11;
5602
+ /**
5603
+ * A function that adds padding to the book content
5604
+ *
5605
+ * @public exported from `@promptbook/core`
5606
+ */
5607
+ function padBook(content) {
5608
+ if (!content) {
5609
+ return '\n'.repeat(PADDING_LINES);
5610
+ }
5611
+ const lines = content.split('\n');
5612
+ let trailingEmptyLines = 0;
5613
+ for (let i = lines.length - 1; i >= 0; i--) {
5614
+ const line = lines[i];
5615
+ if (line === undefined) {
5616
+ // Note: This should not happen in reality, but it's here to satisfy TypeScript's noUncheckedIndexedAccess option
5617
+ continue;
5618
+ }
5619
+ if (line.trim() === '') {
5620
+ trailingEmptyLines++;
5621
+ }
5622
+ else {
5623
+ break;
5624
+ }
5625
+ }
5626
+ if (trailingEmptyLines >= PADDING_LINES) {
5627
+ return content;
5628
+ }
5629
+ const linesToAdd = PADDING_LINES - trailingEmptyLines;
5630
+ return (content + '\n'.repeat(linesToAdd));
5631
+ }
5632
+ /**
5633
+ * TODO: [🧠] Maybe export
5634
+ */
5635
+
5566
5636
  /**
5567
5637
  * Removes Markdown (or HTML) comments
5568
5638
  *
@@ -5608,6 +5678,7 @@
5608
5678
  if (!isFlatPipeline(pipelineString)) {
5609
5679
  return pipelineString;
5610
5680
  }
5681
+ pipelineString = spaceTrim__default["default"](pipelineString);
5611
5682
  const pipelineStringLines = pipelineString.split('\n');
5612
5683
  const potentialReturnStatement = pipelineStringLines.pop();
5613
5684
  let returnStatement;
@@ -5642,7 +5713,7 @@
5642
5713
  ${returnStatement}
5643
5714
  `));
5644
5715
  // <- TODO: Maybe use book` notation
5645
- return pipelineString;
5716
+ return padBook(pipelineString);
5646
5717
  }
5647
5718
  /**
5648
5719
  * TODO: Unit test