@promptbook/types 0.88.0-1 → 0.88.0-10

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/README.md CHANGED
@@ -83,8 +83,6 @@ Rest of the documentation is common for **entire promptbook ecosystem**:
83
83
 
84
84
  During the computer revolution, we have seen [multiple generations of computer languages](https://github.com/webgptorg/promptbook/discussions/180), from the physical rewiring of the vacuum tubes through low-level machine code to the high-level languages like Python or JavaScript. And now, we're on the edge of the **next revolution**!
85
85
 
86
-
87
-
88
86
  It's a revolution of writing software in **plain human language** that is understandable and executable by both humans and machines – and it's going to change everything!
89
87
 
90
88
  The incredible growth in power of microprocessors and the Moore's Law have been the driving force behind the ever-more powerful languages, and it's been an amazing journey! Similarly, the large language models (like GPT or Claude) are the next big thing in language technology, and they're set to transform the way we interact with computers.
@@ -141,27 +139,28 @@ Promptbook project is ecosystem of multiple projects and tools, following is a l
141
139
  </tbody>
142
140
  </table>
143
141
 
142
+ Hello world examples:
143
+
144
+ - [Hello world](https://github.com/webgptorg/hello-world)
145
+ - [Hello world in Node.js](https://github.com/webgptorg/hello-world-node-js)
146
+ - [Hello world in Next.js](https://github.com/webgptorg/hello-world-next-js)
147
+
144
148
  We also have a community of developers and users of **Promptbook**:
145
149
 
146
150
  - [Discord community](https://discord.gg/x3QWNaa89N)
147
151
  - [Landing page `ptbk.io`](https://ptbk.io)
148
152
  - [Github discussions](https://github.com/webgptorg/promptbook/discussions)
149
153
  - [LinkedIn `Promptbook`](https://linkedin.com/company/promptbook)
150
- - [Facebook `Promptbook`](https://www.facebook.com/61560776453536)
154
+ - [Facebook `Promptbook`](https://www.facebook.com/61560776453536)
151
155
 
152
156
  And **Promptbook.studio** branded socials:
153
157
 
154
-
155
-
156
158
  - [Instagram `@promptbook.studio`](https://www.instagram.com/promptbook.studio/)
157
159
 
158
160
  And **Promptujeme** sub-brand:
159
161
 
160
162
  _/Subbrand for Czech clients/_
161
163
 
162
-
163
-
164
-
165
164
  - [Promptujeme.cz](https://www.promptujeme.cz/)
166
165
  - [Facebook `Promptujeme`](https://www.facebook.com/promptujeme/)
167
166
 
@@ -179,8 +178,6 @@ _/Sub-brand for images and graphics generated via Promptbook prompting/_
179
178
 
180
179
  ## 💙 The Book language
181
180
 
182
-
183
-
184
181
  Following is the documentation and blueprint of the [Book language](https://github.com/webgptorg/book).
185
182
 
186
183
  Book is a language that can be used to write AI applications, agents, workflows, automations, knowledgebases, translators, sheet processors, email automations and more. It allows you to harness the power of AI models in human-like terms, without the need to know the specifics and technicalities of the models.
@@ -230,8 +227,6 @@ Personas can have access to different knowledge, tools and actions. They can als
230
227
 
231
228
  - [PERSONA](https://github.com/webgptorg/promptbook/blob/main/documents/commands/PERSONA.md)
232
229
 
233
-
234
-
235
230
  ### **How:** Knowledge, Instruments and Actions
236
231
 
237
232
  The resources used by the personas are used to do the work.
@@ -307,16 +302,9 @@ Or you can install them separately:
307
302
 
308
303
  ## 📚 Dictionary
309
304
 
310
-
311
-
312
-
313
-
314
-
315
- ### 📚 Dictionary
316
-
317
305
  The following glossary is used to clarify certain concepts:
318
306
 
319
- #### General LLM / AI terms
307
+ ### General LLM / AI terms
320
308
 
321
309
  - **Prompt drift** is a phenomenon where the AI model starts to generate outputs that are not aligned with the original prompt. This can happen due to the model's training data, the prompt's wording, or the model's architecture.
322
310
  - **Pipeline, workflow or chain** is a sequence of tasks that are executed in a specific order. In the context of AI, a pipeline can refer to a sequence of AI models that are used to process data.
@@ -327,13 +315,9 @@ The following glossary is used to clarify certain concepts:
327
315
  - **Retrieval-augmented generation** is a machine learning paradigm where a model generates text by retrieving relevant information from a large database of text. This approach combines the benefits of generative models and retrieval models.
328
316
  - **Longtail** refers to non-common or rare events, items, or entities that are not well-represented in the training data of machine learning models. Longtail items are often challenging for models to predict accurately.
329
317
 
318
+ _Note: This section is not complete dictionary, more list of general AI / LLM terms that has connection with Promptbook_
330
319
 
331
-
332
- _Note: Thos section is not complete dictionary, more list of general AI / LLM terms that has connection with Promptbook_
333
-
334
-
335
-
336
- #### 💯 Core concepts
320
+ ### 💯 Core concepts
337
321
 
338
322
  - [📚 Collection of pipelines](https://github.com/webgptorg/promptbook/discussions/65)
339
323
  - [📯 Pipeline](https://github.com/webgptorg/promptbook/discussions/64)
@@ -346,7 +330,7 @@ _Note: Thos section is not complete dictionary, more list of general AI / LLM te
346
330
  - [🔣 Words not tokens](https://github.com/webgptorg/promptbook/discussions/29)
347
331
  - [☯ Separation of concerns](https://github.com/webgptorg/promptbook/discussions/32)
348
332
 
349
- ##### Advanced concepts
333
+ #### Advanced concepts
350
334
 
351
335
  - [📚 Knowledge (Retrieval-augmented generation)](https://github.com/webgptorg/promptbook/discussions/41)
352
336
  - [🌏 Remote server](https://github.com/webgptorg/promptbook/discussions/89)
@@ -363,17 +347,9 @@ _Note: Thos section is not complete dictionary, more list of general AI / LLM te
363
347
 
364
348
 
365
349
 
366
- ### Terms specific to Promptbook TypeScript implementation
367
-
368
- - Anonymous mode
369
- - Application mode
370
-
350
+ ## 🚂 Promptbook Engine
371
351
 
372
-
373
- ## 🔌 Usage in Typescript / Javascript
374
-
375
- - [Simple usage](./examples/usage/simple-script)
376
- - [Usage with client and remote server](./examples/usage/remote)
352
+ ![Schema of Promptbook Engine](./documents/promptbook-engine.svg)
377
353
 
378
354
  ## ➕➖ When to use Promptbook?
379
355
 
@@ -439,13 +415,13 @@ See [TODO.md](./TODO.md)
439
415
  <div style="display: flex; align-items: center; gap: 20px;">
440
416
 
441
417
  <a href="https://promptbook.studio/">
442
- <img src="./design/promptbook-studio-logo.png" alt="Partner 3" height="100">
418
+ <img src="./design/promptbook-studio-logo.png" alt="Partner 3" height="70">
443
419
  </a>
444
420
 
445
421
  <a href="https://technologickainkubace.org/en/about-technology-incubation/about-the-project/">
446
- <img src="./other/partners/CI-Technology-Incubation.png" alt="Technology Incubation" height="100">
422
+ <img src="./other/partners/CI-Technology-Incubation.png" alt="Technology Incubation" height="70">
447
423
  </a>
448
-
424
+
449
425
  </div>
450
426
 
451
427
  ## 🖋️ Contributing
@@ -40,6 +40,7 @@ import type { ExecutionReportString } from '../execution/execution-report/Execut
40
40
  import type { ExecutionReportStringOptions } from '../execution/execution-report/ExecutionReportStringOptions';
41
41
  import type { ExecutionTask } from '../execution/ExecutionTask';
42
42
  import type { PreparationTask } from '../execution/ExecutionTask';
43
+ import type { task_status } from '../execution/ExecutionTask';
43
44
  import type { AbstractTask } from '../execution/ExecutionTask';
44
45
  import type { Task } from '../execution/ExecutionTask';
45
46
  import type { ExecutionTools } from '../execution/ExecutionTools';
@@ -322,6 +323,7 @@ export type { ExecutionReportString };
322
323
  export type { ExecutionReportStringOptions };
323
324
  export type { ExecutionTask };
324
325
  export type { PreparationTask };
326
+ export type { task_status };
325
327
  export type { AbstractTask };
326
328
  export type { Task };
327
329
  export type { ExecutionTools };
@@ -62,6 +62,7 @@ import { clonePipeline } from '../utils/serialization/clonePipeline';
62
62
  import { deepClone } from '../utils/serialization/deepClone';
63
63
  import { exportJson } from '../utils/serialization/exportJson';
64
64
  import { isSerializableAsJson } from '../utils/serialization/isSerializableAsJson';
65
+ import { jsonStringsToJsons } from '../utils/serialization/jsonStringsToJsons';
65
66
  import { difference } from '../utils/sets/difference';
66
67
  import { intersection } from '../utils/sets/intersection';
67
68
  import { union } from '../utils/sets/union';
@@ -143,6 +144,7 @@ export { clonePipeline };
143
144
  export { deepClone };
144
145
  export { exportJson };
145
146
  export { isSerializableAsJson };
147
+ export { jsonStringsToJsons };
146
148
  export { difference };
147
149
  export { intersection };
148
150
  export { union };
@@ -0,0 +1,11 @@
1
+ import type { Command as Program } from 'commander';
2
+ type actionCallbackFunction = Parameters<Program['action']>[0];
3
+ /**
4
+ * Wraps action to handle error console logging and exit process with error code
5
+ *
6
+ * @param action Action to be wrapped in error handling
7
+ * @returns Wrapped action
8
+ * @private internal helper function for CLI commands
9
+ */
10
+ export declare function handleActionErrors(action: actionCallbackFunction): actionCallbackFunction;
11
+ export {};
@@ -40,6 +40,10 @@ export type PreparationTask = AbstractTask<PipelineExecutorResult> & {
40
40
  readonly taskType: 'PREPARATION';
41
41
  readonly taskId: `prep-${task_id}`;
42
42
  };
43
+ /**
44
+ * Status of a task
45
+ */
46
+ export type task_status = 'RUNNING' | 'FINISHED' | 'ERROR';
43
47
  /**
44
48
  * Base interface for all task types
45
49
  */
@@ -52,6 +56,18 @@ export type AbstractTask<TTaskResult extends AbstractTaskResult> = {
52
56
  * Unique identifier for the task
53
57
  */
54
58
  readonly taskId: task_id;
59
+ /**
60
+ * Status of the task
61
+ */
62
+ readonly status: task_status;
63
+ /**
64
+ * Date when the task was created
65
+ */
66
+ readonly createdAt: Date;
67
+ /**
68
+ * Date when the task was last updated
69
+ */
70
+ readonly updatedAt: Date;
55
71
  /**
56
72
  * Gets a promise that resolves with the task result
57
73
  */
@@ -66,6 +82,14 @@ export type AbstractTask<TTaskResult extends AbstractTaskResult> = {
66
82
  * Gets just the current value which is mutated during the task processing
67
83
  */
68
84
  currentValue: PartialDeep<TTaskResult>;
85
+ /**
86
+ * List of errors that occurred during the task processing
87
+ */
88
+ readonly errors: Array<Error>;
89
+ /**
90
+ * List of warnings that occurred during the task processing
91
+ */
92
+ readonly warnings: Array<Error>;
69
93
  };
70
94
  export type Task = ExecutionTask | PreparationTask;
71
95
  export {};
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Recursively converts JSON strings to JSON objects
3
+
4
+ * @public exported from `@promptbook/utils`
5
+ */
6
+ export declare function jsonStringsToJsons<T>(object: T): T;
7
+ /**
8
+ * TODO: Type the return type correctly
9
+ */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/types",
3
- "version": "0.88.0-1",
3
+ "version": "0.88.0-10",
4
4
  "description": "It's time for a paradigm shift. The future of software in plain English, French or Latin",
5
5
  "private": false,
6
6
  "sideEffects": false,
@@ -45,6 +45,6 @@
45
45
  "homepage": "https://ptbk.io/",
46
46
  "typings": "./esm/typings/src/_packages/types.index.d.ts",
47
47
  "peerDependencies": {
48
- "@promptbook/core": "0.88.0-1"
48
+ "@promptbook/core": "0.88.0-10"
49
49
  }
50
50
  }