@promptbook/types 0.105.0-1 → 0.105.0-4

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 (35) hide show
  1. package/README.md +36 -77
  2. package/esm/typings/src/_packages/core.index.d.ts +2 -0
  3. package/esm/typings/src/_packages/types.index.d.ts +4 -0
  4. package/esm/typings/src/book-2.0/agent-source/AgentBasicInformation.d.ts +10 -3
  5. package/esm/typings/src/book-2.0/agent-source/AgentModelRequirements.d.ts +11 -1
  6. package/esm/typings/src/book-2.0/agent-source/communication-samples.test.d.ts +1 -0
  7. package/esm/typings/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments.blocks.test.d.ts +1 -0
  8. package/esm/typings/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments.import.test.d.ts +1 -0
  9. package/esm/typings/src/book-2.0/agent-source/parseAgentSource.import.test.d.ts +1 -0
  10. package/esm/typings/src/book-2.0/agent-source/parseAgentSourceWithCommitments.blocks.test.d.ts +1 -0
  11. package/esm/typings/src/commitments/USE_TIME/USE_TIME.d.ts +40 -0
  12. package/esm/typings/src/commitments/USE_TIME/USE_TIME.test.d.ts +1 -0
  13. package/esm/typings/src/commitments/_base/BaseCommitmentDefinition.d.ts +8 -0
  14. package/esm/typings/src/commitments/_base/CommitmentDefinition.d.ts +8 -0
  15. package/esm/typings/src/commitments/index.d.ts +11 -2
  16. package/esm/typings/src/config.d.ts +1 -0
  17. package/esm/typings/src/import-plugins/$fileImportPlugins.d.ts +7 -0
  18. package/esm/typings/src/import-plugins/AgentFileImportPlugin.d.ts +7 -0
  19. package/esm/typings/src/import-plugins/FileImportPlugin.d.ts +24 -0
  20. package/esm/typings/src/import-plugins/JsonFileImportPlugin.d.ts +7 -0
  21. package/esm/typings/src/import-plugins/TextFileImportPlugin.d.ts +7 -0
  22. package/esm/typings/src/llm-providers/_common/utils/cache/cacheLlmTools.d.ts +2 -1
  23. package/esm/typings/src/llm-providers/_common/utils/count-total-usage/countUsage.d.ts +2 -2
  24. package/esm/typings/src/llm-providers/agent/Agent.d.ts +9 -2
  25. package/esm/typings/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +3 -1
  26. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +10 -0
  27. package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +1 -1
  28. package/esm/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +6 -1
  29. package/esm/typings/src/types/ModelRequirements.d.ts +6 -12
  30. package/esm/typings/src/utils/execCommand/$execCommandNormalizeOptions.d.ts +2 -3
  31. package/esm/typings/src/utils/execCommand/ExecCommandOptions.d.ts +7 -1
  32. package/esm/typings/src/utils/organization/keepImported.d.ts +9 -0
  33. package/esm/typings/src/utils/organization/keepTypeImported.d.ts +0 -1
  34. package/esm/typings/src/version.d.ts +1 -1
  35. package/package.json +2 -2
package/README.md CHANGED
@@ -304,19 +304,20 @@ Rest of the documentation is common for **entire promptbook ecosystem**:
304
304
 
305
305
  ## 📖 The Book Whitepaper
306
306
 
307
- For most business applications nowadays, the biggest challenge isn't about the raw capabilities of AI models. Large language models like GPT-5 or Claude-4.1 are extremely capable.
307
+ Nowadays, the biggest challenge for most business applications isn't the raw capabilities of AI models. Large language models such as GPT-5.2 and Claude-4.5 are incredibly capable.
308
308
 
309
- The main challenge is to narrow it down, constrain it, set the proper **context, rules, knowledge, and personality**. There are a lot of tools which can do exactly this. On one side, there are no-code platforms which can launch your agent in seconds. On the other side, there are heavy frameworks like Langchain or Semantic Kernel, which can give you deep control.
309
+ The main challenge lies in **managing the context**, providing rules and knowledge, and narrowing the personality.
310
310
 
311
- Promptbook takes the best from both worlds. You are defining your AI behavior by simple **books**, which are very explicit. They are automatically enforced, but they are very easy to understand, very easy to write, and very reliable and portable.
311
+ In Promptbook, you can define your context **using simple Books** that are very explicit, easy to understand and write, reliable, and highly portable.
312
312
 
313
313
  <table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
314
314
 
315
- **<ins>Paul Smith & Associés</ins>**<br/>
315
+ **<ins>Paul Smith</ins>**<br/>
316
316
  <br/>
317
317
  **PERSONA** You are a company lawyer.<br/>
318
318
  Your job is to provide legal advice and support to the company and its employees.<br/>
319
- You are knowledgeable, professional, and detail-oriented.<br/>
319
+ **RULE** You are knowledgeable, professional, and detail-oriented.<br/>
320
+ TEAM You are part of the legal team of Paul Smith & Associés, you discuss with {Emily White}, the head of the compliance department. {George Brown} is expert in corporate law and {Sophia Black} is expert in labor law.<br/>
320
321
 
321
322
  </td></tr></table>
322
323
 
@@ -326,7 +327,9 @@ You are knowledgeable, professional, and detail-oriented.<br/>
326
327
 
327
328
  We have created a language called **Book**, which allows you to write AI agents in their native language and create your own AI persona. Book provides a guide to define all the traits and commitments.
328
329
 
329
- You can look at it as prompting (or writing a system message), but decorated by **commitments**.
330
+ You can look at it as "prompting" _(or writing a system message)_, but decorated by **commitments**.
331
+
332
+ **Commitments** are special syntax elements that define contracts between you and the AI agent. They are transformed by Promptbook Engine into low-level parameters like which model to use, its temperature, system message, RAG index, MCP servers, and many other parameters. For some commitments _(for example `RULE` commitment)_ Promptbook Engine can even create adversary agents and extra checks to enforce the rules.
330
333
 
331
334
  #### `Persona` commitment
332
335
 
@@ -337,8 +340,6 @@ Personas define the character of your AI persona, its role, and how it should in
337
340
  **<ins>Paul Smith & Associés</ins>**<br/>
338
341
  <br/>
339
342
  **PERSONA** You are a company lawyer.<br/>
340
- Your job is to provide legal advice and support to the company and its employees.<br/>
341
- You are knowledgeable, professional, and detail-oriented.<br/>
342
343
 
343
344
  </td></tr></table>
344
345
 
@@ -358,7 +359,7 @@ Promptbook Engine will automatically enforce this knowledge during interactions.
358
359
  Your job is to provide legal advice and support to the company and its employees.<br/>
359
360
  You are knowledgeable, professional, and detail-oriented.<br/>
360
361
  <br/>
361
- **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
362
+ **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
362
363
  **KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
363
364
 
364
365
  </td></tr></table>
@@ -380,14 +381,14 @@ You are knowledgeable, professional, and detail-oriented.<br/>
380
381
  **RULE** Always ensure compliance with laws and regulations.<br/>
381
382
  **RULE** Never provide legal advice outside your area of expertise.<br/>
382
383
  **RULE** Never provide legal advice about criminal law.<br/>
383
- **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
384
+ **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
384
385
  **KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
385
386
 
386
387
  </td></tr></table>
387
388
 
388
- #### `Action` commitment
389
+ #### `Team` commitment
389
390
 
390
- Action Commitment allows you to define specific actions that the AI can take during interactions. This can include things like posting on a social media platform, sending emails, creating calendar events, or interacting with your internal systems.
391
+ Team commitment allows you to define the team structure and advisory fellow members the AI can consult with. This allows the AI to simulate collaboration and consultation with other experts, enhancing the quality of its responses.
391
392
 
392
393
  <table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
393
394
 
@@ -400,81 +401,36 @@ You are knowledgeable, professional, and detail-oriented.<br/>
400
401
  **RULE** Always ensure compliance with laws and regulations.<br/>
401
402
  **RULE** Never provide legal advice outside your area of expertise.<br/>
402
403
  **RULE** Never provide legal advice about criminal law.<br/>
403
- **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
404
+ **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
404
405
  **KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
405
- **ACTION** When a user asks about an issue that could be treated as a crime, notify legal@company.com.<br/>
406
+ TEAM You are part of the legal team of Paul Smith & Associés, you discuss with {Emily White}, the head of the compliance department. {George Brown} is expert in corporate law and {Sophia Black} is expert in labor law.<br/>
406
407
 
407
408
  </td></tr></table>
408
409
 
409
- [Read more about the language](./BLUEPRINT.md)
410
-
411
- <div style="page-break-after: always;"></div>
412
-
413
- ### Where to use your AI agent in book
414
-
415
- Books can be useful in various applications and scenarios. Here are some examples:
416
-
417
- #### Chat apps:
418
410
 
419
- Create your own chat shopping assistant and place it in your eShop.
420
- You will be able to answer customer questions, help them find products, and provide personalized recommendations. Everything is tightly controlled by the book you have written.
421
411
 
422
- #### Reply Agent:
412
+ ### Promptbook Ecosystem
423
413
 
424
- Create your own AI agent, which will look at your emails and reply to them. It can even create drafts for you to review before sending.
414
+ !!!@@@
425
415
 
426
- #### Coding Agent:
427
-
428
- Do you love Vibecoding, but the AI code is not always aligned with your coding style and architecture, rules, security, etc.? Create your own coding agent to help enforce your specific coding standards and practices.
429
-
430
- This can be integrated to almost any Vibecoding platform, like GitHub Copilot, Amazon CodeWhisperer, Cursor, Cline, Kilocode, Roocode,...
431
-
432
- They will work the same as you are used to, but with your specific rules written in book.
433
-
434
- #### Internal Expertise
435
-
436
- Do you have an app written in TypeScript, Python, C#, Java, or any other language, and you are integrating the AI.
437
-
438
- You can avoid struggle with choosing the best model, its settings like temperature, max tokens, etc., by writing a book agent and using it as your AI expertise.
439
-
440
- Doesn't matter if you do automations, data analysis, customer support, sentiment analysis, classification, or any other task. Your AI agent will be tailored to your specific needs and requirements.
441
-
442
- Even works in no-code platforms!
443
-
444
- <div style="page-break-after: always;"></div>
416
+ #### Promptbook Server
445
417
 
446
- ### How to create your AI agent in book
418
+ !!!@@@
447
419
 
448
- Now you want to use it. There are several ways how to write your first book:
420
+ #### Promptbook Engine
449
421
 
450
- #### From scratch with help from Paul
422
+ !!!@@@
451
423
 
452
- We have written ai asistant in book who can help you with writing your first book.
453
424
 
454
- #### Your AI twin
455
425
 
456
- Copy your own behavior, personality, and knowledge into book and create your AI twin. It can help you with your work, personal life, or any other task.
457
426
 
458
- #### AI persona workpool
459
427
 
460
- Or you can pick from our library of pre-written books for various roles and tasks. You can find books for customer support, coding, marketing, sales, HR, legal, and many other roles.
461
428
 
462
429
 
463
430
 
464
431
 
465
432
 
466
433
 
467
- ## 🚀 Get started
468
-
469
- Take a look at the simple starter kit with books integrated into the **Hello World** sample applications:
470
-
471
- - [Hello Book](https://github.com/webgptorg/hello-world)
472
- - [Hello Book in Node.js](https://github.com/webgptorg/hello-world-node-js)
473
- - [Hello Book in Next.js](https://github.com/webgptorg/hello-world-next-js)
474
-
475
-
476
-
477
-
478
434
 
479
435
 
480
436
  ## 💜 The Promptbook Project
@@ -490,33 +446,32 @@ Promptbook project is ecosystem of multiple projects and tools, following is a l
490
446
  </thead>
491
447
  <tbody>
492
448
  <tr>
493
- <td><a href="https://github.com/webgptorg/book">Book language</a></td>
449
+ <td><a href="https://gallery.ptbk.io/">Agents Server</a></td>
494
450
  <td>
495
- Book is a human-understandable markup language for writing AI applications such as chatbots, knowledge bases, agents, avarars, translators, automations and more.
496
- <hr>
497
- There is also <a href="https://github.com/webgptorg/book-extension">a plugin for VSCode</a> to support <code>.book</code> file extension
451
+ Place where you "AI agents live". It allows to create, manage, deploy, and interact with AI agents created in Book language.
498
452
  </td>
499
453
  </tr>
500
454
  <tr>
501
- <td><a href="https://github.com/webgptorg/promptbook">Promptbook Engine</a></td>
455
+ <td><a href="https://github.com/webgptorg/book">Book language</a></td>
502
456
  <td>
503
- Promptbook engine can run applications written in Book language. It is released as <a href="https://www.npmjs.com/package/@promptbook/core#-packages-for-developers">multiple NPM packages</a> and <a href="https://hub.docker.com/r/hejny/promptbook">Docker HUB</a>
457
+ Human-friendly, high-level language that abstracts away low-level details of AI. It allows to focus on personality, behavior, knowledge, and rules of AI agents rather than on models, parameters, and prompt engineering.
458
+ <hr>
459
+ There is also <a href="https://github.com/webgptorg/book-extension">a plugin for VSCode</a> to support <code>.book</code> file extension
504
460
  </td>
505
461
  </tr>
506
462
  <tr>
507
- <td><a href="https://promptbook.studio">Promptbook Studio</a></td>
463
+ <td><a href="https://github.com/webgptorg/promptbook">Promptbook Engine</a></td>
508
464
  <td>
509
- Promptbook.studio is a web-based editor and runner for book applications. It is still in the experimental MVP stage.
465
+ Promptbook engine can run AI agents based on Book language.
466
+ It is released as <a href="https://www.npmjs.com/package/@promptbook/core#-packages-for-developers">multiple NPM packages</a> and <a href="https://hub.docker.com/r/hejny/promptbook">Promptbook Agent Server as Docker Package</a>
467
+ Agent Server is based on Promptbook Engine.
510
468
  </td>
511
469
  </tr>
470
+
512
471
  </tbody>
513
472
  </table>
514
473
 
515
- Hello world examples:
516
474
 
517
- - [Hello world](https://github.com/webgptorg/hello-world)
518
- - [Hello world in Node.js](https://github.com/webgptorg/hello-world-node-js)
519
- - [Hello world in Next.js](https://github.com/webgptorg/hello-world-next-js)
520
475
 
521
476
  ### 🌐 Community & Social Media
522
477
 
@@ -574,6 +529,8 @@ Join our growing community of developers and users:
574
529
 
575
530
 
576
531
 
532
+
533
+
577
534
  ## 📚 Documentation
578
535
 
579
536
  See detailed guides and API reference in the [docs](https://github.com/webgptorg/promptbook/discussions/categories/concepts) or [online](https://discord.gg/x3QWNaa89N).
@@ -650,6 +607,8 @@ The following glossary is used to clarify certain concepts:
650
607
 
651
608
  _Note: This section is not a complete dictionary, more list of general AI / LLM terms that has connection with Promptbook_
652
609
 
610
+
611
+
653
612
  ### 💯 Core concepts
654
613
 
655
614
  - [📚 Collection of pipelines](https://github.com/webgptorg/promptbook/discussions/65)
@@ -27,6 +27,7 @@ import { getAllCommitmentTypes } from '../commitments/index';
27
27
  import { isCommitmentSupported } from '../commitments/index';
28
28
  import type { GroupedCommitmentDefinition } from '../commitments/index';
29
29
  import { getGroupedCommitmentDefinitions } from '../commitments/index';
30
+ import { getAllCommitmentsToolFunctions } from '../commitments/index';
30
31
  import { NAME } from '../config';
31
32
  import { ADMIN_EMAIL } from '../config';
32
33
  import { PROMPTBOOK_LEGAL_ENTITY } from '../config';
@@ -225,6 +226,7 @@ export { getAllCommitmentTypes };
225
226
  export { isCommitmentSupported };
226
227
  export type { GroupedCommitmentDefinition };
227
228
  export { getGroupedCommitmentDefinitions };
229
+ export { getAllCommitmentsToolFunctions };
228
230
  export { NAME };
229
231
  export { ADMIN_EMAIL };
230
232
  export { PROMPTBOOK_LEGAL_ENTITY };
@@ -106,6 +106,7 @@ import type { CsvSettings } from '../formats/csv/CsvSettings';
106
106
  import type { AbstractFormfactorDefinition } from '../formfactors/_common/AbstractFormfactorDefinition';
107
107
  import type { FormfactorDefinition } from '../formfactors/_common/FormfactorDefinition';
108
108
  import type { string_formfactor_name } from '../formfactors/_common/string_formfactor_name';
109
+ import type { FileImportPlugin } from '../import-plugins/FileImportPlugin';
109
110
  import type { LlmToolsConfiguration } from '../llm-providers/_common/register/LlmToolsConfiguration';
110
111
  import type { LlmToolsMetadata } from '../llm-providers/_common/register/LlmToolsMetadata';
111
112
  import type { LlmToolsOptions } from '../llm-providers/_common/register/LlmToolsOptions';
@@ -179,6 +180,7 @@ import type { ScraperSourceHandler } from '../scrapers/_common/Scraper';
179
180
  import type { ScraperIntermediateSource } from '../scrapers/_common/ScraperIntermediateSource';
180
181
  import type { JavascriptExecutionToolsOptions } from '../scripting/javascript/JavascriptExecutionToolsOptions';
181
182
  import type { PostprocessingFunction } from '../scripting/javascript/JavascriptExecutionToolsOptions';
183
+ import type { ToolFunction } from '../scripting/javascript/JavascriptExecutionToolsOptions';
182
184
  import type { SearchEngine } from '../search-engines/SearchEngine';
183
185
  import type { SearchResult } from '../search-engines/SearchResult';
184
186
  import type { PromptbookStorage } from '../storage/_common/PromptbookStorage';
@@ -478,6 +480,7 @@ export type { CsvSettings };
478
480
  export type { AbstractFormfactorDefinition };
479
481
  export type { FormfactorDefinition };
480
482
  export type { string_formfactor_name };
483
+ export type { FileImportPlugin };
481
484
  export type { LlmToolsConfiguration };
482
485
  export type { LlmToolsMetadata };
483
486
  export type { LlmToolsOptions };
@@ -551,6 +554,7 @@ export type { ScraperSourceHandler };
551
554
  export type { ScraperIntermediateSource };
552
555
  export type { JavascriptExecutionToolsOptions };
553
556
  export type { PostprocessingFunction };
557
+ export type { ToolFunction };
554
558
  export type { SearchEngine };
555
559
  export type { SearchResult };
556
560
  export type { PromptbookStorage };
@@ -31,7 +31,7 @@ export type AgentCapability = {
31
31
  /**
32
32
  * The type of the capability
33
33
  */
34
- type: 'browser' | 'search-engine' | 'knowledge';
34
+ type: 'browser' | 'search-engine' | 'knowledge' | 'time';
35
35
  /**
36
36
  * The label to display for this capability
37
37
  */
@@ -90,12 +90,19 @@ export type AgentBasicInformation = {
90
90
  * - @Parameter (single word parameter starting with @)
91
91
  * - {parameterName} or {parameter with multiple words} or {parameterName: description text}
92
92
  */
93
- parameters: BookParameter[];
93
+ parameters: Array<BookParameter>;
94
94
  /**
95
95
  * Capabilities of the agent
96
96
  * This is parsed from commitments like USE BROWSER, USE SEARCH ENGINE, KNOWLEDGE, etc.
97
97
  */
98
- capabilities: AgentCapability[];
98
+ capabilities: Array<AgentCapability>;
99
+ /**
100
+ * List of sample conversations (question/answer pairs)
101
+ */
102
+ samples: Array<{
103
+ question: string | null;
104
+ answer: string;
105
+ }>;
99
106
  };
100
107
  /**
101
108
  * TODO: [🐱‍🚀] Make all properties of `AgentBasicInformation` readonly
@@ -32,6 +32,10 @@ export type AgentModelRequirements = {
32
32
  * List of imported agent URLs
33
33
  */
34
34
  readonly importedAgentUrls?: ReadonlyArray<string_agent_url>;
35
+ /**
36
+ * List of imported file URLs or paths
37
+ */
38
+ readonly importedFileUrls?: ReadonlyArray<string>;
35
39
  /**
36
40
  * Optional list of knowledge source links that the agent can use
37
41
  */
@@ -40,7 +44,7 @@ export type AgentModelRequirements = {
40
44
  * List of sample conversations (question/answer pairs)
41
45
  */
42
46
  readonly samples?: ReadonlyArray<{
43
- question: string;
47
+ question: string | null;
44
48
  answer: string;
45
49
  }>;
46
50
  /**
@@ -64,6 +68,12 @@ export type AgentModelRequirements = {
64
68
  * Each commitment can store its own data here
65
69
  */
66
70
  readonly metadata?: Record<string, TODO_any>;
71
+ /**
72
+ * Notes associated with the agent
73
+ *
74
+ * Note: This does not affect agent behavior in any way
75
+ */
76
+ readonly notes?: ReadonlyArray<string>;
67
77
  };
68
78
  /**
69
79
  * TODO: [🐤] DRY `AgentModelRequirements` and `ModelRequirements`
@@ -0,0 +1,40 @@
1
+ import { string_javascript_name } from '../../_packages/types.index';
2
+ import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
3
+ import { ToolFunction } from '../../scripting/javascript/JavascriptExecutionToolsOptions';
4
+ import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
5
+ /**
6
+ * USE TIME commitment definition
7
+ *
8
+ * The `USE TIME` commitment indicates that the agent should be able to determine the current date and time.
9
+ *
10
+ * Example usage in agent source:
11
+ *
12
+ * ```book
13
+ * USE TIME
14
+ * ```
15
+ *
16
+ * @private [🪔] Maybe export the commitments through some package
17
+ */
18
+ export declare class UseTimeCommitmentDefinition extends BaseCommitmentDefinition<'USE TIME'> {
19
+ constructor();
20
+ /**
21
+ * Short one-line description of USE TIME.
22
+ */
23
+ get description(): string;
24
+ /**
25
+ * Icon for this commitment.
26
+ */
27
+ get icon(): string;
28
+ /**
29
+ * Markdown documentation for USE TIME commitment.
30
+ */
31
+ get documentation(): string;
32
+ applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
33
+ /**
34
+ * Gets the `get_current_time` tool function implementation.
35
+ */
36
+ getToolFunctions(): Record<string_javascript_name, ToolFunction>;
37
+ }
38
+ /**
39
+ * Note: [💞] Ignore a discrepancy between file name and entity name
40
+ */
@@ -1,4 +1,6 @@
1
1
  import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
2
+ import { ToolFunction } from '../../scripting/javascript/JavascriptExecutionToolsOptions';
3
+ import { string_javascript_name } from '../../types/typeAliases';
2
4
  import type { CommitmentDefinition } from './CommitmentDefinition';
3
5
  /**
4
6
  * Base implementation of CommitmentDefinition that provides common functionality
@@ -61,4 +63,10 @@ export declare abstract class BaseCommitmentDefinition<TBookCommitment extends s
61
63
  * but can be useful for organizing and structuring the message during processing
62
64
  */
63
65
  protected addCommentSection(requirements: AgentModelRequirements, commentTitle: string, content: string, position?: 'beginning' | 'end'): AgentModelRequirements;
66
+ /**
67
+ * Gets tool function implementations provided by this commitment
68
+ *
69
+ * When the `applyToAgentModelRequirements` adds tools to the requirements, this method should return the corresponding function definitions.
70
+ */
71
+ getToolFunctions(): Record<string_javascript_name, ToolFunction>;
64
72
  }
@@ -1,4 +1,6 @@
1
+ import { string_javascript_name } from '../../_packages/types.index';
1
2
  import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
3
+ import { ToolFunction } from '../../scripting/javascript/JavascriptExecutionToolsOptions';
2
4
  /**
3
5
  * Definition of a commitment that can be applied to agent model requirements
4
6
  *
@@ -50,4 +52,10 @@ export type CommitmentDefinition = {
50
52
  * @returns Updated agent model requirements
51
53
  */
52
54
  applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
55
+ /**
56
+ * Gets tool function implementations provided by this commitment
57
+ *
58
+ * When the `applyToAgentModelRequirements` adds tools to the requirements, this method should return the corresponding function definitions.
59
+ */
60
+ getToolFunctions(): Record<string_javascript_name, ToolFunction>;
53
61
  };
@@ -1,5 +1,7 @@
1
1
  import type { BookCommitment } from './_base/BookCommitment';
2
2
  import type { CommitmentDefinition } from './_base/CommitmentDefinition';
3
+ import { ToolFunction } from '../scripting/javascript/JavascriptExecutionToolsOptions';
4
+ import { string_javascript_name } from '../types/typeAliases';
3
5
  import { ActionCommitmentDefinition } from './ACTION/ACTION';
4
6
  import { ClosedCommitmentDefinition } from './CLOSED/CLOSED';
5
7
  import { ComponentCommitmentDefinition } from './COMPONENT/COMPONENT';
@@ -7,8 +9,8 @@ import { DeleteCommitmentDefinition } from './DELETE/DELETE';
7
9
  import { DictionaryCommitmentDefinition } from './DICTIONARY/DICTIONARY';
8
10
  import { FormatCommitmentDefinition } from './FORMAT/FORMAT';
9
11
  import { FromCommitmentDefinition } from './FROM/FROM';
10
- import { ImportCommitmentDefinition } from './IMPORT/IMPORT';
11
12
  import { GoalCommitmentDefinition } from './GOAL/GOAL';
13
+ import { ImportCommitmentDefinition } from './IMPORT/IMPORT';
12
14
  import { KnowledgeCommitmentDefinition } from './KNOWLEDGE/KNOWLEDGE';
13
15
  import { LanguageCommitmentDefinition } from './LANGUAGE/LANGUAGE';
14
16
  import { MemoryCommitmentDefinition } from './MEMORY/MEMORY';
@@ -33,6 +35,7 @@ import { UseCommitmentDefinition } from './USE/USE';
33
35
  import { UseBrowserCommitmentDefinition } from './USE_BROWSER/USE_BROWSER';
34
36
  import { UseMcpCommitmentDefinition } from './USE_MCP/USE_MCP';
35
37
  import { UseSearchEngineCommitmentDefinition } from './USE_SEARCH_ENGINE/USE_SEARCH_ENGINE';
38
+ import { UseTimeCommitmentDefinition } from './USE_TIME/USE_TIME';
36
39
  import { NotYetImplementedCommitmentDefinition } from './_base/NotYetImplementedCommitmentDefinition';
37
40
  /**
38
41
  * Registry of all available commitment definitions
@@ -41,7 +44,7 @@ import { NotYetImplementedCommitmentDefinition } from './_base/NotYetImplemented
41
44
  *
42
45
  * @private Use functions to access commitments instead of this array directly
43
46
  */
44
- export declare const COMMITMENT_REGISTRY: readonly [PersonaCommitmentDefinition, PersonaCommitmentDefinition, KnowledgeCommitmentDefinition, MemoryCommitmentDefinition, MemoryCommitmentDefinition, StyleCommitmentDefinition, StyleCommitmentDefinition, RuleCommitmentDefinition, RuleCommitmentDefinition, LanguageCommitmentDefinition, LanguageCommitmentDefinition, SampleCommitmentDefinition, SampleCommitmentDefinition, FormatCommitmentDefinition, FormatCommitmentDefinition, FromCommitmentDefinition, ImportCommitmentDefinition, ImportCommitmentDefinition, ModelCommitmentDefinition, ModelCommitmentDefinition, ActionCommitmentDefinition, ActionCommitmentDefinition, ComponentCommitmentDefinition, MetaImageCommitmentDefinition, MetaColorCommitmentDefinition, MetaFontCommitmentDefinition, MetaLinkCommitmentDefinition, MetaCommitmentDefinition, NoteCommitmentDefinition, NoteCommitmentDefinition, NoteCommitmentDefinition, NoteCommitmentDefinition, GoalCommitmentDefinition, GoalCommitmentDefinition, InitialMessageCommitmentDefinition, UserMessageCommitmentDefinition, AgentMessageCommitmentDefinition, MessageCommitmentDefinition, MessageCommitmentDefinition, ScenarioCommitmentDefinition, ScenarioCommitmentDefinition, DeleteCommitmentDefinition, DeleteCommitmentDefinition, DeleteCommitmentDefinition, DeleteCommitmentDefinition, DictionaryCommitmentDefinition, OpenCommitmentDefinition, ClosedCommitmentDefinition, UseBrowserCommitmentDefinition, UseSearchEngineCommitmentDefinition, UseMcpCommitmentDefinition, UseCommitmentDefinition, NotYetImplementedCommitmentDefinition<"EXPECT">, NotYetImplementedCommitmentDefinition<"BEHAVIOUR">, NotYetImplementedCommitmentDefinition<"BEHAVIOURS">, NotYetImplementedCommitmentDefinition<"AVOID">, NotYetImplementedCommitmentDefinition<"AVOIDANCE">, NotYetImplementedCommitmentDefinition<"CONTEXT">];
47
+ export declare const COMMITMENT_REGISTRY: readonly [PersonaCommitmentDefinition, PersonaCommitmentDefinition, KnowledgeCommitmentDefinition, MemoryCommitmentDefinition, MemoryCommitmentDefinition, StyleCommitmentDefinition, StyleCommitmentDefinition, RuleCommitmentDefinition, RuleCommitmentDefinition, LanguageCommitmentDefinition, LanguageCommitmentDefinition, SampleCommitmentDefinition, SampleCommitmentDefinition, FormatCommitmentDefinition, FormatCommitmentDefinition, FromCommitmentDefinition, ImportCommitmentDefinition, ImportCommitmentDefinition, ModelCommitmentDefinition, ModelCommitmentDefinition, ActionCommitmentDefinition, ActionCommitmentDefinition, ComponentCommitmentDefinition, MetaImageCommitmentDefinition, MetaColorCommitmentDefinition, MetaFontCommitmentDefinition, MetaLinkCommitmentDefinition, MetaCommitmentDefinition, NoteCommitmentDefinition, NoteCommitmentDefinition, NoteCommitmentDefinition, NoteCommitmentDefinition, GoalCommitmentDefinition, GoalCommitmentDefinition, InitialMessageCommitmentDefinition, UserMessageCommitmentDefinition, AgentMessageCommitmentDefinition, MessageCommitmentDefinition, MessageCommitmentDefinition, ScenarioCommitmentDefinition, ScenarioCommitmentDefinition, DeleteCommitmentDefinition, DeleteCommitmentDefinition, DeleteCommitmentDefinition, DeleteCommitmentDefinition, DictionaryCommitmentDefinition, OpenCommitmentDefinition, ClosedCommitmentDefinition, UseBrowserCommitmentDefinition, UseSearchEngineCommitmentDefinition, UseTimeCommitmentDefinition, UseMcpCommitmentDefinition, UseCommitmentDefinition, NotYetImplementedCommitmentDefinition<"EXPECT">, NotYetImplementedCommitmentDefinition<"BEHAVIOUR">, NotYetImplementedCommitmentDefinition<"BEHAVIOURS">, NotYetImplementedCommitmentDefinition<"AVOID">, NotYetImplementedCommitmentDefinition<"AVOIDANCE">, NotYetImplementedCommitmentDefinition<"CONTEXT">];
45
48
  /**
46
49
  * Gets a commitment definition by its type
47
50
  * @param type The commitment type to look up
@@ -89,6 +92,12 @@ export type GroupedCommitmentDefinition = {
89
92
  * @public exported from `@promptbook/core`
90
93
  */
91
94
  export declare function getGroupedCommitmentDefinitions(): ReadonlyArray<GroupedCommitmentDefinition>;
95
+ /**
96
+ * Gets all function implementations provided by all commitments
97
+ *
98
+ * @public exported from `@promptbook/core`
99
+ */
100
+ export declare function getAllCommitmentsToolFunctions(): Record<string_javascript_name, ToolFunction>;
92
101
  /**
93
102
  * TODO: [🧠] Maybe create through standardized $register
94
103
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -63,6 +63,7 @@ export declare const PROMPTBOOK_SYNTAX_COLORS: {
63
63
  readonly SEPARATOR: import("./utils/take/interfaces/ITakeChain").WithTake<Color>;
64
64
  readonly COMMITMENT: import("./utils/take/interfaces/ITakeChain").WithTake<Color>;
65
65
  readonly PARAMETER: import("./utils/take/interfaces/ITakeChain").WithTake<Color>;
66
+ readonly CODE_BLOCK: import("./utils/take/interfaces/ITakeChain").WithTake<Color>;
66
67
  };
67
68
  /**
68
69
  * Chat color of the Promptbook (in chat)
@@ -0,0 +1,7 @@
1
+ import type { FileImportPlugin } from './FileImportPlugin';
2
+ /**
3
+ * All available file import plugins
4
+ *
5
+ * @private [🥝] Maybe export the import plugins through some package
6
+ */
7
+ export declare const $fileImportPlugins: ReadonlyArray<FileImportPlugin>;
@@ -0,0 +1,7 @@
1
+ import type { FileImportPlugin } from './FileImportPlugin';
2
+ /**
3
+ * Plugin for importing agent books *(`.book` files)*
4
+ *
5
+ * @private [🥝] Maybe export the import plugins through some package
6
+ */
7
+ export declare const AgentFileImportPlugin: FileImportPlugin;
@@ -0,0 +1,24 @@
1
+ import type { string_mime_type } from '../types/typeAliases';
2
+ /**
3
+ * Type for file import plugins
4
+ *
5
+ * Each plugin handles a specific set of MIME types or file extensions.
6
+ */
7
+ export type FileImportPlugin = {
8
+ /**
9
+ * Unique name of the plugin
10
+ */
11
+ readonly name: string;
12
+ /**
13
+ * Checks if the plugin can handle the given MIME type or file extension
14
+ */
15
+ canImport(mimeType: string_mime_type): boolean;
16
+ /**
17
+ * Processes the file content and returns the string to be placed in the agent book
18
+ *
19
+ * @param content - The raw content of the file
20
+ * @param mimeType - The MIME type of the file
21
+ * @returns The processed content (e.g. wrapped in code block)
22
+ */
23
+ import(content: string, mimeType: string_mime_type): string | Promise<string>;
24
+ };
@@ -0,0 +1,7 @@
1
+ import type { FileImportPlugin } from './FileImportPlugin';
2
+ /**
3
+ * Plugin for importing JSON files
4
+ *
5
+ * @private [🥝] Maybe export the import plugins through some package
6
+ */
7
+ export declare const JsonFileImportPlugin: FileImportPlugin;
@@ -0,0 +1,7 @@
1
+ import type { FileImportPlugin } from './FileImportPlugin';
2
+ /**
3
+ * Plugin for importing generic text files
4
+ *
5
+ * @private [🥝] Maybe export the import plugins through some package
6
+ */
7
+ export declare const TextFileImportPlugin: FileImportPlugin;
@@ -4,9 +4,10 @@ import type { CacheLlmToolsOptions } from './CacheLlmToolsOptions';
4
4
  * Intercepts LLM tools and counts total usage of the tools
5
5
  *
6
6
  * Note: It can take extended `LlmExecutionTools` and cache the
7
+ * Note: Returns full proxy of all LLM tool properties and methods
7
8
  *
8
9
  * @param llmTools LLM tools to be intercepted with usage counting, it can contain extra methods like `totalUsage`
9
- * @returns LLM tools with same functionality with added total cost counting
10
+ * @returns Full proxy of LLM tools with same functionality with added caching
10
11
  * @public exported from `@promptbook/core`
11
12
  */
12
13
  export declare function cacheLlmTools<TLlmTools extends LlmExecutionTools>(llmTools: TLlmTools, options?: Partial<CacheLlmToolsOptions>): TLlmTools;
@@ -8,10 +8,10 @@ import type { LlmExecutionToolsWithTotalUsage } from './LlmExecutionToolsWithTot
8
8
  * in real-time through an observable.
9
9
  *
10
10
  * @param llmTools - The LLM tools to be intercepted and tracked
11
- * @returns An augmented version of the tools that includes usage tracking capabilities
11
+ * @returns Full proxy of the tools with added usage tracking capabilities
12
12
  * @public exported from `@promptbook/core`
13
13
  */
14
- export declare function countUsage(llmTools: LlmExecutionTools): LlmExecutionToolsWithTotalUsage;
14
+ export declare function countUsage<TLlmTools extends LlmExecutionTools>(llmTools: TLlmTools): TLlmTools & LlmExecutionToolsWithTotalUsage;
15
15
  /**
16
16
  * TODO: [🧠][💸] Maybe make some common abstraction `interceptLlmTools` and use here (or use javascript Proxy?)
17
17
  * TODO: [🧠] Is there some meaningfull way how to test this util
@@ -42,7 +42,14 @@ export declare class Agent extends AgentLlmExecutionTools implements LlmExecutio
42
42
  * Capabilities of the agent
43
43
  * This is parsed from commitments like USE BROWSER, USE SEARCH ENGINE, KNOWLEDGE, etc.
44
44
  */
45
- capabilities: AgentCapability[];
45
+ capabilities: Array<AgentCapability>;
46
+ /**
47
+ * List of sample conversations (question/answer pairs)
48
+ */
49
+ samples: Array<{
50
+ question: string | null;
51
+ answer: string;
52
+ }>;
46
53
  /**
47
54
  * Computed hash of the agent source for integrity verification
48
55
  */
@@ -63,7 +70,7 @@ export declare class Agent extends AgentLlmExecutionTools implements LlmExecutio
63
70
  /**
64
71
  * Not used in Agent, always returns empty array
65
72
  */
66
- get parameters(): BookParameter[];
73
+ get parameters(): Array<BookParameter>;
67
74
  readonly agentSource: BehaviorSubject<string_book>;
68
75
  constructor(options: AgentOptions);
69
76
  /**
@@ -54,8 +54,10 @@ export declare class AgentLlmExecutionTools implements LlmExecutionTools {
54
54
  private getAgentInfo;
55
55
  /**
56
56
  * Get cached or create agent model requirements
57
+ *
58
+ * Note: [🐤] This is names `getModelRequirements` *(not `getAgentModelRequirements`)* because in future these two will be united
57
59
  */
58
- protected getAgentModelRequirements(): Promise<AgentModelRequirements>;
60
+ getModelRequirements(): Promise<AgentModelRequirements>;
59
61
  get title(): string_title & string_markdown_text;
60
62
  get description(): string_markdown;
61
63
  get profile(): ChatParticipant | undefined;
@@ -1,5 +1,6 @@
1
1
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
2
2
  import type { ChatPromptResult } from '../../execution/PromptResult';
3
+ import type { ModelRequirements } from '../../types/ModelRequirements';
3
4
  import type { Prompt } from '../../types/Prompt';
4
5
  import type { string_markdown, string_markdown_text, string_title, string_token } from '../../types/typeAliases';
5
6
  import type { OpenAiAssistantExecutionToolsOptions } from './OpenAiAssistantExecutionToolsOptions';
@@ -54,6 +55,10 @@ export declare class OpenAiAssistantExecutionTools extends OpenAiExecutionTools
54
55
  * Optional list of knowledge source links (URLs or file paths) to attach to the assistant via vector store
55
56
  */
56
57
  readonly knowledgeSources?: ReadonlyArray<string>;
58
+ /**
59
+ * Optional list of tools to attach to the assistant
60
+ */
61
+ readonly tools?: ModelRequirements['tools'];
57
62
  }): Promise<OpenAiAssistantExecutionTools>;
58
63
  updateAssistant(options: {
59
64
  /**
@@ -72,6 +77,10 @@ export declare class OpenAiAssistantExecutionTools extends OpenAiExecutionTools
72
77
  * Optional list of knowledge source links (URLs or file paths) to attach to the assistant via vector store
73
78
  */
74
79
  readonly knowledgeSources?: ReadonlyArray<string>;
80
+ /**
81
+ * Optional list of tools to attach to the assistant
82
+ */
83
+ readonly tools?: ModelRequirements['tools'];
75
84
  }): Promise<OpenAiAssistantExecutionTools>;
76
85
  /**
77
86
  * Discriminant for type guards
@@ -85,6 +94,7 @@ export declare class OpenAiAssistantExecutionTools extends OpenAiExecutionTools
85
94
  static isOpenAiAssistantExecutionTools(llmExecutionTools: LlmExecutionTools): llmExecutionTools is OpenAiAssistantExecutionTools;
86
95
  }
87
96
  /**
97
+ * TODO: [🙎] In `OpenAiAssistantExecutionTools` Allow to create abstract assistants with `isCreatingNewAssistantsAllowed`
88
98
  * TODO: [🧠][🧙‍♂️] Maybe there can be some wizard for those who want to use just OpenAI
89
99
  * TODO: Maybe make custom OpenAiError
90
100
  * TODO: [🧠][🈁] Maybe use `isDeterministic` from options
@@ -46,7 +46,7 @@ export declare class RemoteLlmExecutionTools<TCustomOptions = undefined> impleme
46
46
  private callCommonModel;
47
47
  }
48
48
  /**
49
- * TODO: !!!! Deprecate pipeline server and all of its components
49
+ * TODO: [🕴] Deprecate pipeline server and all of its components
50
50
  * TODO: Maybe use `$exportJson`
51
51
  * TODO: [🧠][🛍] Maybe not `isAnonymous: boolean` BUT `mode: 'ANONYMOUS'|'COLLECTION'`
52
52
  * TODO: [🍓] Allow to list compatible models with each variant
@@ -1,4 +1,5 @@
1
1
  import type { Promisable } from 'type-fest';
2
+ import { TODO_any } from '../../_packages/types.index';
2
3
  import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
3
4
  import type { string_postprocessing_function_name } from '../../types/typeAliases';
4
5
  /**
@@ -15,12 +16,16 @@ export type JavascriptExecutionToolsOptions = CommonToolsOptions & {
15
16
  * Note: There are also some built-in functions available:
16
17
  * @see ./JavascriptEvalExecutionTools.ts
17
18
  */
18
- functions?: Record<string_postprocessing_function_name, PostprocessingFunction>;
19
+ functions?: Record<string_postprocessing_function_name, PostprocessingFunction | ToolFunction>;
19
20
  };
20
21
  /**
21
22
  * Function that can be used to postprocess the output of the LLM
22
23
  */
23
24
  export type PostprocessingFunction = ((value: string) => Promisable<string>) | Function;
25
+ /**
26
+ * Function that can be used as tool for AI model
27
+ */
28
+ export type ToolFunction = (args: TODO_any) => Promise<TODO_any>;
24
29
  /**
25
30
  * TODO: [🧠][💙] Distinct between options passed into ExecutionTools and to ExecutionTools.execute
26
31
  */
@@ -29,12 +29,6 @@ export type CompletionModelRequirements = CommonModelRequirements & {
29
29
  * Maximum number of tokens that can be generated by the model
30
30
  */
31
31
  readonly maxTokens?: number;
32
- /**
33
- * Tools available for the model
34
- *
35
- * Note: [🚉] This is fully serializable as JSON
36
- */
37
- readonly tools?: LlmToolDefinition[];
38
32
  };
39
33
  /**
40
34
  * Model requirements for the chat variant
@@ -60,12 +54,6 @@ export type ChatModelRequirements = CommonModelRequirements & {
60
54
  * Maximum number of tokens that can be generated by the model
61
55
  */
62
56
  readonly maxTokens?: number;
63
- /**
64
- * Tools available for the model
65
- *
66
- * Note: [🚉] This is fully serializable as JSON
67
- */
68
- readonly tools?: LlmToolDefinition[];
69
57
  };
70
58
  /**
71
59
  * Model requirements for the image generation variant
@@ -135,6 +123,12 @@ export type CommonModelRequirements = {
135
123
  * Seed for the model
136
124
  */
137
125
  readonly seed?: number_seed;
126
+ /**
127
+ * Tools available for the model
128
+ *
129
+ * Note: [🚉] This is fully serializable as JSON
130
+ */
131
+ readonly tools?: LlmToolDefinition[];
138
132
  };
139
133
  /**
140
134
  * TODO: [🧠][🈁] `seed` should maybe be somewhere else (not in `ModelRequirements`) (similar that `user` identification is not here)
@@ -1,5 +1,4 @@
1
- import type { ExecCommandOptions } from './ExecCommandOptions';
2
- import type { ExecCommandOptionsAdvanced } from './ExecCommandOptions';
1
+ import type { ExecCommandOptions, ExecCommandOptionsAdvanced } from './ExecCommandOptions';
3
2
  /**
4
3
  * Normalize options for `execCommand` and `execCommands`
5
4
  *
@@ -7,6 +6,6 @@ import type { ExecCommandOptionsAdvanced } from './ExecCommandOptions';
7
6
  *
8
7
  * @private internal utility of `execCommand` and `execCommands`
9
8
  */
10
- export declare function $execCommandNormalizeOptions(options: ExecCommandOptions): Pick<ExecCommandOptionsAdvanced, 'command' | 'args' | 'cwd' | 'crashOnError' | 'timeout' | 'isVerbose'> & {
9
+ export declare function $execCommandNormalizeOptions(options: ExecCommandOptions): Pick<ExecCommandOptionsAdvanced, 'command' | 'args' | 'cwd' | 'crashOnError' | 'timeout' | 'isVerbose' | 'env'> & {
11
10
  humanReadableCommand: string;
12
11
  };
@@ -5,7 +5,7 @@ type RequiredAndOptional<TBase, TRequired extends keyof TBase, TOptional extends
5
5
  /**
6
6
  * Simple options for `execCommand`
7
7
  */
8
- export type ExecCommandOptions = string | RequiredAndOptional<ExecCommandOptionsAdvanced, 'command', 'args' | 'cwd' | 'crashOnError' | 'timeout' | 'isVerbose'>;
8
+ export type ExecCommandOptions = string | RequiredAndOptional<ExecCommandOptionsAdvanced, 'command', 'args' | 'cwd' | 'crashOnError' | 'timeout' | 'isVerbose' | 'env'>;
9
9
  /**
10
10
  * Advanced options for `execCommand`
11
11
  */
@@ -38,6 +38,12 @@ export type ExecCommandOptionsAdvanced = {
38
38
  * @default false
39
39
  */
40
40
  readonly isVerbose?: boolean;
41
+ /**
42
+ * Environment variables to pass to the command
43
+ *
44
+ * Note: These will be merged with process.env
45
+ */
46
+ readonly env?: Record<string, string>;
41
47
  };
42
48
  export {};
43
49
  /**
@@ -0,0 +1,9 @@
1
+ import { chococake } from './really_any';
2
+ /**
3
+ * Just says that the dependency is imported, not used but should be kept
4
+ *
5
+ * @param dependenciesToKeep any values
6
+ * @returns void
7
+ * @private within the repository
8
+ */
9
+ export declare function keepImported(...dependenciesToKeep: ReadonlyArray<chococake>): void;
@@ -2,7 +2,6 @@
2
2
  * Just says that the type is used but `organize-imports-cli` does not recognize it.
3
3
  * [🤛] This is a workaround for the issue.
4
4
  *
5
- * @param value any values
6
5
  * @returns void
7
6
  * @private within the repository
8
7
  */
@@ -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.105.0-0`).
18
+ * It follows semantic versioning (e.g., `0.105.0-3`).
19
19
  *
20
20
  * @generated
21
21
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/types",
3
- "version": "0.105.0-1",
3
+ "version": "0.105.0-4",
4
4
  "description": "Promptbook: Turn your company's scattered knowledge into AI ready books",
5
5
  "private": false,
6
6
  "sideEffects": false,
@@ -92,6 +92,6 @@
92
92
  },
93
93
  "typings": "./esm/typings/src/_packages/types.index.d.ts",
94
94
  "peerDependencies": {
95
- "@promptbook/core": "0.105.0-1"
95
+ "@promptbook/core": "0.105.0-4"
96
96
  }
97
97
  }