@promptbook/color 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.
- package/README.md +36 -77
- package/esm/index.es.js +1 -1
- package/esm/typings/src/_packages/core.index.d.ts +2 -0
- package/esm/typings/src/_packages/types.index.d.ts +4 -0
- package/esm/typings/src/book-2.0/agent-source/AgentBasicInformation.d.ts +10 -3
- package/esm/typings/src/book-2.0/agent-source/AgentModelRequirements.d.ts +11 -1
- package/esm/typings/src/book-2.0/agent-source/communication-samples.test.d.ts +1 -0
- package/esm/typings/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments.blocks.test.d.ts +1 -0
- package/esm/typings/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments.import.test.d.ts +1 -0
- package/esm/typings/src/book-2.0/agent-source/parseAgentSource.import.test.d.ts +1 -0
- package/esm/typings/src/book-2.0/agent-source/parseAgentSourceWithCommitments.blocks.test.d.ts +1 -0
- package/esm/typings/src/commitments/USE_TIME/USE_TIME.d.ts +40 -0
- package/esm/typings/src/commitments/USE_TIME/USE_TIME.test.d.ts +1 -0
- package/esm/typings/src/commitments/_base/BaseCommitmentDefinition.d.ts +8 -0
- package/esm/typings/src/commitments/_base/CommitmentDefinition.d.ts +8 -0
- package/esm/typings/src/commitments/index.d.ts +11 -2
- package/esm/typings/src/config.d.ts +1 -0
- package/esm/typings/src/import-plugins/$fileImportPlugins.d.ts +7 -0
- package/esm/typings/src/import-plugins/AgentFileImportPlugin.d.ts +7 -0
- package/esm/typings/src/import-plugins/FileImportPlugin.d.ts +24 -0
- package/esm/typings/src/import-plugins/JsonFileImportPlugin.d.ts +7 -0
- package/esm/typings/src/import-plugins/TextFileImportPlugin.d.ts +7 -0
- package/esm/typings/src/llm-providers/_common/utils/cache/cacheLlmTools.d.ts +2 -1
- package/esm/typings/src/llm-providers/_common/utils/count-total-usage/countUsage.d.ts +2 -2
- package/esm/typings/src/llm-providers/agent/Agent.d.ts +9 -2
- package/esm/typings/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +3 -1
- package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +10 -0
- package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +1 -1
- package/esm/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +6 -1
- package/esm/typings/src/types/ModelRequirements.d.ts +6 -12
- package/esm/typings/src/utils/execCommand/$execCommandNormalizeOptions.d.ts +2 -3
- package/esm/typings/src/utils/execCommand/ExecCommandOptions.d.ts +7 -1
- package/esm/typings/src/utils/organization/keepImported.d.ts +9 -0
- package/esm/typings/src/utils/organization/keepTypeImported.d.ts +0 -1
- package/esm/typings/src/version.d.ts +1 -1
- package/package.json +2 -2
- package/umd/index.umd.js +1 -1
package/README.md
CHANGED
|
@@ -248,19 +248,20 @@ Rest of the documentation is common for **entire promptbook ecosystem**:
|
|
|
248
248
|
|
|
249
249
|
## 📖 The Book Whitepaper
|
|
250
250
|
|
|
251
|
-
|
|
251
|
+
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.
|
|
252
252
|
|
|
253
|
-
The main challenge
|
|
253
|
+
The main challenge lies in **managing the context**, providing rules and knowledge, and narrowing the personality.
|
|
254
254
|
|
|
255
|
-
Promptbook
|
|
255
|
+
In Promptbook, you can define your context **using simple Books** that are very explicit, easy to understand and write, reliable, and highly portable.
|
|
256
256
|
|
|
257
257
|
<table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
|
|
258
258
|
|
|
259
|
-
**<ins>Paul Smith
|
|
259
|
+
**<ins>Paul Smith</ins>**<br/>
|
|
260
260
|
<br/>
|
|
261
261
|
**PERSONA** You are a company lawyer.<br/>
|
|
262
262
|
Your job is to provide legal advice and support to the company and its employees.<br/>
|
|
263
|
-
You are knowledgeable, professional, and detail-oriented.<br/>
|
|
263
|
+
**RULE** You are knowledgeable, professional, and detail-oriented.<br/>
|
|
264
|
+
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/>
|
|
264
265
|
|
|
265
266
|
</td></tr></table>
|
|
266
267
|
|
|
@@ -270,7 +271,9 @@ You are knowledgeable, professional, and detail-oriented.<br/>
|
|
|
270
271
|
|
|
271
272
|
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.
|
|
272
273
|
|
|
273
|
-
You can look at it as prompting (or writing a system message), but decorated by **commitments**.
|
|
274
|
+
You can look at it as "prompting" _(or writing a system message)_, but decorated by **commitments**.
|
|
275
|
+
|
|
276
|
+
**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.
|
|
274
277
|
|
|
275
278
|
#### `Persona` commitment
|
|
276
279
|
|
|
@@ -281,8 +284,6 @@ Personas define the character of your AI persona, its role, and how it should in
|
|
|
281
284
|
**<ins>Paul Smith & Associés</ins>**<br/>
|
|
282
285
|
<br/>
|
|
283
286
|
**PERSONA** You are a company lawyer.<br/>
|
|
284
|
-
Your job is to provide legal advice and support to the company and its employees.<br/>
|
|
285
|
-
You are knowledgeable, professional, and detail-oriented.<br/>
|
|
286
287
|
|
|
287
288
|
</td></tr></table>
|
|
288
289
|
|
|
@@ -302,7 +303,7 @@ Promptbook Engine will automatically enforce this knowledge during interactions.
|
|
|
302
303
|
Your job is to provide legal advice and support to the company and its employees.<br/>
|
|
303
304
|
You are knowledgeable, professional, and detail-oriented.<br/>
|
|
304
305
|
<br/>
|
|
305
|
-
**KNOWLEDGE**
|
|
306
|
+
**KNOWLEDGE** https://company.com/company-policies.pdf<br/>
|
|
306
307
|
**KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
|
|
307
308
|
|
|
308
309
|
</td></tr></table>
|
|
@@ -324,14 +325,14 @@ You are knowledgeable, professional, and detail-oriented.<br/>
|
|
|
324
325
|
**RULE** Always ensure compliance with laws and regulations.<br/>
|
|
325
326
|
**RULE** Never provide legal advice outside your area of expertise.<br/>
|
|
326
327
|
**RULE** Never provide legal advice about criminal law.<br/>
|
|
327
|
-
**KNOWLEDGE**
|
|
328
|
+
**KNOWLEDGE** https://company.com/company-policies.pdf<br/>
|
|
328
329
|
**KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
|
|
329
330
|
|
|
330
331
|
</td></tr></table>
|
|
331
332
|
|
|
332
|
-
#### `
|
|
333
|
+
#### `Team` commitment
|
|
333
334
|
|
|
334
|
-
|
|
335
|
+
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.
|
|
335
336
|
|
|
336
337
|
<table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
|
|
337
338
|
|
|
@@ -344,81 +345,36 @@ You are knowledgeable, professional, and detail-oriented.<br/>
|
|
|
344
345
|
**RULE** Always ensure compliance with laws and regulations.<br/>
|
|
345
346
|
**RULE** Never provide legal advice outside your area of expertise.<br/>
|
|
346
347
|
**RULE** Never provide legal advice about criminal law.<br/>
|
|
347
|
-
**KNOWLEDGE**
|
|
348
|
+
**KNOWLEDGE** https://company.com/company-policies.pdf<br/>
|
|
348
349
|
**KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
|
|
349
|
-
|
|
350
|
+
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/>
|
|
350
351
|
|
|
351
352
|
</td></tr></table>
|
|
352
353
|
|
|
353
|
-
[Read more about the language](./BLUEPRINT.md)
|
|
354
|
-
|
|
355
|
-
<div style="page-break-after: always;"></div>
|
|
356
|
-
|
|
357
|
-
### Where to use your AI agent in book
|
|
358
|
-
|
|
359
|
-
Books can be useful in various applications and scenarios. Here are some examples:
|
|
360
|
-
|
|
361
|
-
#### Chat apps:
|
|
362
354
|
|
|
363
|
-
Create your own chat shopping assistant and place it in your eShop.
|
|
364
|
-
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.
|
|
365
355
|
|
|
366
|
-
|
|
356
|
+
### Promptbook Ecosystem
|
|
367
357
|
|
|
368
|
-
|
|
358
|
+
!!!@@@
|
|
369
359
|
|
|
370
|
-
####
|
|
371
|
-
|
|
372
|
-
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.
|
|
373
|
-
|
|
374
|
-
This can be integrated to almost any Vibecoding platform, like GitHub Copilot, Amazon CodeWhisperer, Cursor, Cline, Kilocode, Roocode,...
|
|
375
|
-
|
|
376
|
-
They will work the same as you are used to, but with your specific rules written in book.
|
|
377
|
-
|
|
378
|
-
#### Internal Expertise
|
|
379
|
-
|
|
380
|
-
Do you have an app written in TypeScript, Python, C#, Java, or any other language, and you are integrating the AI.
|
|
381
|
-
|
|
382
|
-
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.
|
|
383
|
-
|
|
384
|
-
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.
|
|
385
|
-
|
|
386
|
-
Even works in no-code platforms!
|
|
387
|
-
|
|
388
|
-
<div style="page-break-after: always;"></div>
|
|
360
|
+
#### Promptbook Server
|
|
389
361
|
|
|
390
|
-
|
|
362
|
+
!!!@@@
|
|
391
363
|
|
|
392
|
-
|
|
364
|
+
#### Promptbook Engine
|
|
393
365
|
|
|
394
|
-
|
|
366
|
+
!!!@@@
|
|
395
367
|
|
|
396
|
-
We have written ai asistant in book who can help you with writing your first book.
|
|
397
368
|
|
|
398
|
-
#### Your AI twin
|
|
399
369
|
|
|
400
|
-
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.
|
|
401
370
|
|
|
402
|
-
#### AI persona workpool
|
|
403
371
|
|
|
404
|
-
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.
|
|
405
372
|
|
|
406
373
|
|
|
407
374
|
|
|
408
375
|
|
|
409
376
|
|
|
410
377
|
|
|
411
|
-
## 🚀 Get started
|
|
412
|
-
|
|
413
|
-
Take a look at the simple starter kit with books integrated into the **Hello World** sample applications:
|
|
414
|
-
|
|
415
|
-
- [Hello Book](https://github.com/webgptorg/hello-world)
|
|
416
|
-
- [Hello Book in Node.js](https://github.com/webgptorg/hello-world-node-js)
|
|
417
|
-
- [Hello Book in Next.js](https://github.com/webgptorg/hello-world-next-js)
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
378
|
|
|
423
379
|
|
|
424
380
|
## 💜 The Promptbook Project
|
|
@@ -434,33 +390,32 @@ Promptbook project is ecosystem of multiple projects and tools, following is a l
|
|
|
434
390
|
</thead>
|
|
435
391
|
<tbody>
|
|
436
392
|
<tr>
|
|
437
|
-
<td><a href="https://
|
|
393
|
+
<td><a href="https://gallery.ptbk.io/">Agents Server</a></td>
|
|
438
394
|
<td>
|
|
439
|
-
|
|
440
|
-
<hr>
|
|
441
|
-
There is also <a href="https://github.com/webgptorg/book-extension">a plugin for VSCode</a> to support <code>.book</code> file extension
|
|
395
|
+
Place where you "AI agents live". It allows to create, manage, deploy, and interact with AI agents created in Book language.
|
|
442
396
|
</td>
|
|
443
397
|
</tr>
|
|
444
398
|
<tr>
|
|
445
|
-
<td><a href="https://github.com/webgptorg/
|
|
399
|
+
<td><a href="https://github.com/webgptorg/book">Book language</a></td>
|
|
446
400
|
<td>
|
|
447
|
-
|
|
401
|
+
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.
|
|
402
|
+
<hr>
|
|
403
|
+
There is also <a href="https://github.com/webgptorg/book-extension">a plugin for VSCode</a> to support <code>.book</code> file extension
|
|
448
404
|
</td>
|
|
449
405
|
</tr>
|
|
450
406
|
<tr>
|
|
451
|
-
<td><a href="https://promptbook
|
|
407
|
+
<td><a href="https://github.com/webgptorg/promptbook">Promptbook Engine</a></td>
|
|
452
408
|
<td>
|
|
453
|
-
Promptbook
|
|
409
|
+
Promptbook engine can run AI agents based on Book language.
|
|
410
|
+
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>
|
|
411
|
+
Agent Server is based on Promptbook Engine.
|
|
454
412
|
</td>
|
|
455
413
|
</tr>
|
|
414
|
+
|
|
456
415
|
</tbody>
|
|
457
416
|
</table>
|
|
458
417
|
|
|
459
|
-
Hello world examples:
|
|
460
418
|
|
|
461
|
-
- [Hello world](https://github.com/webgptorg/hello-world)
|
|
462
|
-
- [Hello world in Node.js](https://github.com/webgptorg/hello-world-node-js)
|
|
463
|
-
- [Hello world in Next.js](https://github.com/webgptorg/hello-world-next-js)
|
|
464
419
|
|
|
465
420
|
### 🌐 Community & Social Media
|
|
466
421
|
|
|
@@ -518,6 +473,8 @@ Join our growing community of developers and users:
|
|
|
518
473
|
|
|
519
474
|
|
|
520
475
|
|
|
476
|
+
|
|
477
|
+
|
|
521
478
|
## 📚 Documentation
|
|
522
479
|
|
|
523
480
|
See detailed guides and API reference in the [docs](https://github.com/webgptorg/promptbook/discussions/categories/concepts) or [online](https://discord.gg/x3QWNaa89N).
|
|
@@ -594,6 +551,8 @@ The following glossary is used to clarify certain concepts:
|
|
|
594
551
|
|
|
595
552
|
_Note: This section is not a complete dictionary, more list of general AI / LLM terms that has connection with Promptbook_
|
|
596
553
|
|
|
554
|
+
|
|
555
|
+
|
|
597
556
|
### 💯 Core concepts
|
|
598
557
|
|
|
599
558
|
- [📚 Collection of pipelines](https://github.com/webgptorg/promptbook/discussions/65)
|
package/esm/index.es.js
CHANGED
|
@@ -14,7 +14,7 @@ const BOOK_LANGUAGE_VERSION = '2.0.0';
|
|
|
14
14
|
* @generated
|
|
15
15
|
* @see https://github.com/webgptorg/promptbook
|
|
16
16
|
*/
|
|
17
|
-
const PROMPTBOOK_ENGINE_VERSION = '0.105.0-
|
|
17
|
+
const PROMPTBOOK_ENGINE_VERSION = '0.105.0-4';
|
|
18
18
|
/**
|
|
19
19
|
* TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
|
|
20
20
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
@@ -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 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/esm/typings/src/book-2.0/agent-source/parseAgentSourceWithCommitments.blocks.test.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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,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
|
+
};
|
|
@@ -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
|
|
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
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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;
|
|
@@ -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-
|
|
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/color",
|
|
3
|
-
"version": "0.105.0-
|
|
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,
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
"module": "./esm/index.es.js",
|
|
92
92
|
"typings": "./esm/typings/src/_packages/color.index.d.ts",
|
|
93
93
|
"peerDependencies": {
|
|
94
|
-
"@promptbook/core": "0.105.0-
|
|
94
|
+
"@promptbook/core": "0.105.0-4"
|
|
95
95
|
},
|
|
96
96
|
"dependencies": {
|
|
97
97
|
"spacetrim": "0.11.60"
|
package/umd/index.umd.js
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* @generated
|
|
19
19
|
* @see https://github.com/webgptorg/promptbook
|
|
20
20
|
*/
|
|
21
|
-
const PROMPTBOOK_ENGINE_VERSION = '0.105.0-
|
|
21
|
+
const PROMPTBOOK_ENGINE_VERSION = '0.105.0-4';
|
|
22
22
|
/**
|
|
23
23
|
* TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
|
|
24
24
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|