@promptbook/core 0.112.0 → 0.113.0-0

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 (30) hide show
  1. package/README.md +45 -29
  2. package/esm/index.es.js +299 -32
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/src/_packages/core.index.d.ts +22 -0
  5. package/esm/src/_packages/types.index.d.ts +2 -0
  6. package/esm/src/book-2.0/agent-source/AgentBasicInformation.d.ts +2 -0
  7. package/esm/src/book-2.0/agent-source/agentSourceVisibility.d.ts +97 -0
  8. package/esm/src/book-2.0/agent-source/agentSourceVisibility.test.d.ts +1 -0
  9. package/esm/src/book-components/BookEditor/BookEditorMonacoTokenization.d.ts +1 -0
  10. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer.d.ts +6 -0
  11. package/esm/src/collection/agent-collection/CreateAgentInput.d.ts +2 -1
  12. package/esm/src/collection/agent-collection/constructors/agent-collection-in-supabase/prepareAgentSourceForPersistence.d.ts +21 -1
  13. package/esm/src/commitments/META_VISIBILITY/META_VISIBILITY.d.ts +27 -0
  14. package/esm/src/commitments/index.d.ts +2 -1
  15. package/esm/src/version.d.ts +1 -1
  16. package/package.json +1 -1
  17. package/umd/index.umd.js +311 -34
  18. package/umd/index.umd.js.map +1 -1
  19. package/umd/src/_packages/core.index.d.ts +22 -0
  20. package/umd/src/_packages/types.index.d.ts +2 -0
  21. package/umd/src/book-2.0/agent-source/AgentBasicInformation.d.ts +2 -0
  22. package/umd/src/book-2.0/agent-source/agentSourceVisibility.d.ts +97 -0
  23. package/umd/src/book-2.0/agent-source/agentSourceVisibility.test.d.ts +1 -0
  24. package/umd/src/book-components/BookEditor/BookEditorMonacoTokenization.d.ts +1 -0
  25. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer.d.ts +6 -0
  26. package/umd/src/collection/agent-collection/CreateAgentInput.d.ts +2 -1
  27. package/umd/src/collection/agent-collection/constructors/agent-collection-in-supabase/prepareAgentSourceForPersistence.d.ts +21 -1
  28. package/umd/src/commitments/META_VISIBILITY/META_VISIBILITY.d.ts +27 -0
  29. package/umd/src/commitments/index.d.ts +2 -1
  30. package/umd/src/version.d.ts +1 -1
package/README.md CHANGED
@@ -41,14 +41,17 @@ Non-interactive mode takes defaults from command-line options. When `--openai-ap
41
41
  sudo curl -fsSL https://raw.githubusercontent.com/webgptorg/promptbook/refs/heads/main/other/vps/install.sh | bash -s -- \
42
42
  --non-interactive \
43
43
  --yes-i-understand-that-script-should-be-run-on-fresh-server \
44
- --domain s24.ptbk.io \
45
- --openai-api-key sk-proj-abcdef \
46
- --sentry-dsn https://abc@def.ingest.de.sentry.io/123 \
44
+ --domain my-server.com \
45
+ --openai-api-key sk-proj-xxx \
47
46
  --admin-password xxx
48
47
  ```
49
48
 
50
49
 
51
50
 
51
+ <blockquote style="color: #ff8811">
52
+ <b>⚠ Warning:</b> This is a pre-release version of the library. It is not yet ready for production use. Please look at <a href="https://www.npmjs.com/package/@promptbook/core?activeTab=versions">latest stable release</a>.
53
+ </blockquote>
54
+
52
55
  ## 📦 Package `@promptbook/core`
53
56
 
54
57
  - Promptbooks are [divided into several](#-packages) packages, all are published from [single monorepo](https://github.com/webgptorg/promptbook).
@@ -342,7 +345,7 @@ Rest of the documentation is common for **entire promptbook ecosystem**:
342
345
 
343
346
  Promptbook lets you create **persistent AI agents** that work on real goals for your company. The [**Agents Server**](https://gallery.ptbk.io/) is the heart of the project - a place where your AI agents live, remember context, collaborate in teams, and get things done.
344
347
 
345
- 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.
348
+ Nowadays, the biggest challenge for most business applications isn't the raw capabilities of AI models. Large language models such as Claude Mythos, GPT-5.6 or Kimi K2.7 are incredibly capable.
346
349
 
347
350
  The main challenge lies in **managing the context**, providing rules and knowledge, and narrowing the personality.
348
351
 
@@ -350,17 +353,20 @@ In Promptbook, you define your agents **using simple Books** - a human-readable
350
353
 
351
354
  <table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
352
355
 
353
- **<ins>Paul Smith</ins>**<br/>
356
+ **<ins>Lawyer</ins>**<br/>
354
357
  <br/>
355
- **PERSONA** You are a company lawyer.<br/>
358
+ GOAL You are a company lawyer.<br/>
356
359
  Your job is to provide legal advice and support to the company and its employees.<br/>
357
- **GOAL** Respond to incoming legal inquiries via email and keep the company website updated with the latest legal policies.<br/>
360
+ Respond to incoming legal inquiries via email and keep the company website updated with the latest legal policies.<br/>
361
+ <br/>
358
362
  **RULE** You are knowledgeable, professional, and detail-oriented.<br/>
359
363
  **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
360
364
  **KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
361
- **USE EMAIL**<br/>
362
- **USE BROWSER**<br/>
363
- **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/>
365
+ <br/>
366
+ USE EMAIL<br/>
367
+ USE BROWSER<br/>
368
+ <br/>
369
+ 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/>
364
370
 
365
371
  </td></tr></table>
366
372
 
@@ -393,12 +399,12 @@ Goals define what the agent should actively work toward. Unlike a chatbot that o
393
399
 
394
400
  <table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
395
401
 
396
- **<ins>Paul Smith & Associés</ins>**<br/>
402
+ **<ins>Company Lawyer</ins>**<br/>
397
403
  <br/>
398
- **PERSONA** You are a company lawyer.<br/>
404
+ GOAL<br/>
399
405
  Your job is to provide legal advice and support to the company and its employees.<br/>
400
- **GOAL** Respond to incoming legal inquiries via email within 24 hours.<br/>
401
- **GOAL** Keep the company website updated with the latest legal policies and compliance information.<br/>
406
+ GOAL Respond to incoming legal inquiries via email within 24 hours.<br/>
407
+ GOAL Keep the company website updated with the latest legal policies and compliance information.<br/>
402
408
 
403
409
  </td></tr></table>
404
410
 
@@ -416,8 +422,8 @@ Promptbook Engine will automatically enforce this knowledge during interactions.
416
422
  <br/>
417
423
  **PERSONA** You are a company lawyer.<br/>
418
424
  Your job is to provide legal advice and support to the company and its employees.<br/>
419
- **GOAL** Respond to incoming legal inquiries via email within 24 hours.<br/>
420
- **GOAL** Keep the company website updated with the latest legal policies and compliance information.<br/>
425
+ GOAL Respond to incoming legal inquiries via email within 24 hours.<br/>
426
+ GOAL Keep the company website updated with the latest legal policies and compliance information.<br/>
421
427
  **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
422
428
  **KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
423
429
 
@@ -435,8 +441,8 @@ Depending on rule strictness, Promptbook will either propagate it to the prompt
435
441
  <br/>
436
442
  **PERSONA** You are a company lawyer.<br/>
437
443
  Your job is to provide legal advice and support to the company and its employees.<br/>
438
- **GOAL** Respond to incoming legal inquiries via email within 24 hours.<br/>
439
- **GOAL** Keep the company website updated with the latest legal policies and compliance information.<br/>
444
+ GOAL Respond to incoming legal inquiries via email within 24 hours.<br/>
445
+ GOAL Keep the company website updated with the latest legal policies and compliance information.<br/>
440
446
  **RULE** Always ensure compliance with local laws and regulations.<br/>
441
447
  **RULE** Never provide legal advice outside your area of expertise.<br/>
442
448
  **RULE** Never provide legal advice about criminal law.<br/>
@@ -457,16 +463,16 @@ These are what turn a chatbot into a persistent agent that actually does work.
457
463
  <br/>
458
464
  **PERSONA** You are a company lawyer.<br/>
459
465
  Your job is to provide legal advice and support to the company and its employees.<br/>
460
- **GOAL** Respond to incoming legal inquiries via email within 24 hours.<br/>
461
- **GOAL** Keep the company website updated with the latest legal policies and compliance information.<br/>
466
+ GOAL Respond to incoming legal inquiries via email within 24 hours.<br/>
467
+ GOAL Keep the company website updated with the latest legal policies and compliance information.<br/>
462
468
  **RULE** Always ensure compliance with local laws and regulations.<br/>
463
469
  **RULE** Never provide legal advice outside your area of expertise.<br/>
464
470
  **RULE** Never provide legal advice about criminal law.<br/>
465
471
  **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
466
472
  **KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
467
- **USE EMAIL**<br/>
468
- **USE BROWSER**<br/>
469
- **USE SEARCH ENGINE**<br/>
473
+ USE EMAIL<br/>
474
+ USE BROWSER<br/>
475
+ USE SEARCH ENGINE<br/>
470
476
 
471
477
  </td></tr></table>
472
478
 
@@ -480,20 +486,22 @@ Team commitment allows you to define the team structure and advisory fellow memb
480
486
  <br/>
481
487
  **PERSONA** You are a company lawyer.<br/>
482
488
  Your job is to provide legal advice and support to the company and its employees.<br/>
483
- **GOAL** Respond to incoming legal inquiries via email within 24 hours.<br/>
484
- **GOAL** Keep the company website updated with the latest legal policies and compliance information.<br/>
489
+ GOAL Respond to incoming legal inquiries via email within 24 hours.<br/>
490
+ GOAL Keep the company website updated with the latest legal policies and compliance information.<br/>
485
491
  **RULE** Always ensure compliance with local laws and regulations.<br/>
486
492
  **RULE** Never provide legal advice outside your area of expertise.<br/>
487
493
  **RULE** Never provide legal advice about criminal law.<br/>
488
494
  **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
489
495
  **KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
490
- **USE EMAIL**<br/>
491
- **USE BROWSER**<br/>
492
- **USE SEARCH ENGINE**<br/>
493
- **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/>
496
+ USE EMAIL<br/>
497
+ USE BROWSER<br/>
498
+ USE SEARCH ENGINE<br/>
499
+ 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/>
494
500
 
495
501
  </td></tr></table>
496
502
 
503
+
504
+
497
505
  ### Promptbook Ecosystem
498
506
 
499
507
  Promptbook is an ecosystem of tools centered around the **Agents Server** - a production-ready platform for running persistent AI agents.
@@ -516,6 +524,8 @@ The [Promptbook Engine](https://github.com/webgptorg/promptbook) is the open-sou
516
524
 
517
525
 
518
526
 
527
+
528
+
519
529
  ## 💜 The Promptbook Project
520
530
 
521
531
  Promptbook project is an ecosystem centered around the **Agents Server** - a platform for creating, deploying, and running persistent AI agents. Following is a list of the most important pieces of the project:
@@ -553,6 +563,8 @@ Promptbook project is an ecosystem centered around the **Agents Server** - a pla
553
563
  </tbody>
554
564
  </table>
555
565
 
566
+
567
+
556
568
  ### 🌐 Community & Social Media
557
569
 
558
570
  Join our growing community of developers and users:
@@ -609,6 +621,8 @@ Join our growing community of developers and users:
609
621
 
610
622
 
611
623
 
624
+
625
+
612
626
  ## 📚 Documentation
613
627
 
614
628
  See detailed guides and API reference in the [docs](https://github.com/webgptorg/promptbook/discussions/categories/concepts) or [online](https://discord.gg/x3QWNaa89N).
@@ -816,6 +830,8 @@ The following glossary is used to clarify certain concepts:
816
830
 
817
831
  _Note: This section is not a complete dictionary, more list of general AI / LLM terms that has connection with Promptbook_
818
832
 
833
+
834
+
819
835
  ### 💯 Core concepts
820
836
 
821
837
  - [📚 Collection of pipelines](https://github.com/webgptorg/promptbook/discussions/65)
package/esm/index.es.js CHANGED
@@ -1,6 +1,6 @@
1
+ import { spaceTrim as spaceTrim$1 } from 'spacetrim';
1
2
  import CryptoJS from 'crypto-js';
2
3
  import hexEncoder from 'crypto-js/enc-hex';
3
- import { spaceTrim as spaceTrim$1 } from 'spacetrim';
4
4
  import { Subject, BehaviorSubject } from 'rxjs';
5
5
  import { forTime } from 'waitasecond';
6
6
  import sha256 from 'crypto-js/sha256';
@@ -28,12 +28,26 @@ const BOOK_LANGUAGE_VERSION = '2.0.0';
28
28
  * @generated
29
29
  * @see https://github.com/webgptorg/promptbook
30
30
  */
31
- const PROMPTBOOK_ENGINE_VERSION = '0.112.0';
31
+ const PROMPTBOOK_ENGINE_VERSION = '0.113.0-0';
32
32
  /**
33
33
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
34
34
  * Note: [💞] Ignore a discrepancy between file name and entity name
35
35
  */
36
36
 
37
+ /**
38
+ * This error indicates that the promptbook in a markdown format cannot be parsed into a valid promptbook object
39
+ *
40
+ * @public exported from `@promptbook/core`
41
+ */
42
+ class ParseError extends Error {
43
+ constructor(message) {
44
+ super(message);
45
+ this.name = 'ParseError';
46
+ Object.setPrototypeOf(this, ParseError.prototype);
47
+ }
48
+ }
49
+ // TODO: Maybe split `ParseError` and `ApplyError`
50
+
37
51
  /**
38
52
  * Trims string from all 4 sides
39
53
  *
@@ -46,6 +60,181 @@ const PROMPTBOOK_ENGINE_VERSION = '0.112.0';
46
60
  */
47
61
  const spaceTrim = spaceTrim$1;
48
62
 
63
+ /**
64
+ * Supported visibility states for persisted agents.
65
+ *
66
+ * @public exported from `@promptbook/core`
67
+ */
68
+ const AGENT_VISIBILITY_VALUES = ['PRIVATE', 'UNLISTED', 'PUBLIC'];
69
+ /**
70
+ * Fallback visibility used when no valid value is configured.
71
+ *
72
+ * @public exported from `@promptbook/core`
73
+ */
74
+ const DEFAULT_AGENT_VISIBILITY = 'UNLISTED';
75
+ /**
76
+ * Matches a single-line `META VISIBILITY` commitment in book source.
77
+ */
78
+ const META_VISIBILITY_LINE_PATTERN = /^(\s*)META\s+VISIBILITY\b([\s\S]*)$/iu;
79
+ /**
80
+ * Returns `true` when the value is one of supported visibility states.
81
+ *
82
+ * @param value - Raw value to validate.
83
+ * @returns Whether the value is a valid `AgentVisibility`.
84
+ *
85
+ * @public exported from `@promptbook/core`
86
+ */
87
+ function isAgentVisibility(value) {
88
+ return typeof value === 'string' && AGENT_VISIBILITY_VALUES.includes(value);
89
+ }
90
+ /**
91
+ * Normalizes raw visibility text into a supported value.
92
+ *
93
+ * @param value - Raw visibility value.
94
+ * @returns Normalized visibility, or `null` when invalid.
95
+ *
96
+ * @public exported from `@promptbook/core`
97
+ */
98
+ function normalizeAgentVisibility(value) {
99
+ if (typeof value !== 'string') {
100
+ return null;
101
+ }
102
+ const normalized = value.trim().toUpperCase();
103
+ return isAgentVisibility(normalized) ? normalized : null;
104
+ }
105
+ /**
106
+ * Parses visibility from an unknown value with a safe fallback.
107
+ *
108
+ * @param value - Raw visibility value.
109
+ * @param fallback - Fallback when the value is invalid.
110
+ * @returns Parsed visibility.
111
+ *
112
+ * @public exported from `@promptbook/core`
113
+ */
114
+ function parseAgentVisibility(value, fallback = DEFAULT_AGENT_VISIBILITY) {
115
+ var _a;
116
+ return (_a = normalizeAgentVisibility(value)) !== null && _a !== void 0 ? _a : fallback;
117
+ }
118
+ /**
119
+ * Parses visibility and throws when the value is not supported.
120
+ *
121
+ * @param value - Raw visibility value.
122
+ * @param sourceLabel - Human-readable source used in the error message.
123
+ * @returns Parsed visibility.
124
+ *
125
+ * @public exported from `@promptbook/core`
126
+ */
127
+ function parseAgentVisibilityStrict(value, sourceLabel = 'visibility') {
128
+ const visibility = normalizeAgentVisibility(value);
129
+ if (visibility) {
130
+ return visibility;
131
+ }
132
+ throw new ParseError(spaceTrim(`
133
+ Invalid ${sourceLabel}.
134
+
135
+ Value must be one of: ${AGENT_VISIBILITY_VALUES.map((allowedValue) => `\`${allowedValue}\``).join(', ')}.
136
+ `));
137
+ }
138
+ /**
139
+ * Extracts the last `META VISIBILITY` value from an agent source.
140
+ *
141
+ * @param agentSource - Raw book source.
142
+ * @param options - Strict parsing options.
143
+ * @returns Normalized visibility, or `null` when no commitment is present.
144
+ *
145
+ * @public exported from `@promptbook/core`
146
+ */
147
+ function parseAgentSourceVisibility(agentSource, options = {}) {
148
+ let visibilityContent = null;
149
+ for (const line of agentSource.split(/\r?\n/u)) {
150
+ const lineMatch = META_VISIBILITY_LINE_PATTERN.exec(line);
151
+ if (lineMatch) {
152
+ visibilityContent = lineMatch[2].trim();
153
+ }
154
+ }
155
+ if (visibilityContent === null) {
156
+ return null;
157
+ }
158
+ const visibility = normalizeAgentVisibility(visibilityContent);
159
+ if (visibility || !options.isStrict) {
160
+ return visibility;
161
+ }
162
+ return parseAgentVisibilityStrict(visibilityContent, '`META VISIBILITY` commitment');
163
+ }
164
+ /**
165
+ * Returns whether an agent should be listed publicly in anonymous views.
166
+ *
167
+ * @param visibility - Agent visibility to evaluate.
168
+ * @returns `true` for publicly listed agents.
169
+ *
170
+ * @public exported from `@promptbook/core`
171
+ */
172
+ function isPublicAgentVisibility(visibility) {
173
+ return visibility === 'PUBLIC';
174
+ }
175
+ /**
176
+ * Returns the next visibility in UI rotation order.
177
+ *
178
+ * @param visibility - Current visibility.
179
+ * @returns Next visibility value.
180
+ *
181
+ * @public exported from `@promptbook/core`
182
+ */
183
+ function getNextAgentVisibility(visibility) {
184
+ switch (visibility) {
185
+ case 'PRIVATE':
186
+ return 'UNLISTED';
187
+ case 'UNLISTED':
188
+ return 'PUBLIC';
189
+ case 'PUBLIC':
190
+ default:
191
+ return 'PRIVATE';
192
+ }
193
+ }
194
+ /**
195
+ * Inserts or replaces the `META VISIBILITY` commitment in a book source.
196
+ *
197
+ * @param agentSource - Raw book source.
198
+ * @param visibility - Visibility to persist.
199
+ * @returns Source with exactly one normalized `META VISIBILITY` line.
200
+ *
201
+ * @public exported from `@promptbook/core`
202
+ */
203
+ function setAgentSourceVisibility(agentSource, visibility) {
204
+ var _a;
205
+ const normalizedVisibility = parseAgentVisibilityStrict(visibility, '`META VISIBILITY` commitment');
206
+ const lines = agentSource.split(/\r?\n/u);
207
+ const nextLines = [];
208
+ let isVisibilityLineWritten = false;
209
+ for (const line of lines) {
210
+ const lineMatch = META_VISIBILITY_LINE_PATTERN.exec(line);
211
+ if (!lineMatch) {
212
+ nextLines.push(line);
213
+ continue;
214
+ }
215
+ if (isVisibilityLineWritten) {
216
+ continue;
217
+ }
218
+ nextLines.push(`${(_a = lineMatch[1]) !== null && _a !== void 0 ? _a : ''}META VISIBILITY ${normalizedVisibility}`);
219
+ isVisibilityLineWritten = true;
220
+ }
221
+ if (!isVisibilityLineWritten) {
222
+ nextLines.splice(findMetaVisibilityInsertIndex(nextLines), 0, `META VISIBILITY ${normalizedVisibility}`);
223
+ }
224
+ return nextLines.join('\n');
225
+ }
226
+ /**
227
+ * Finds the position after the first non-empty line, which is the agent title.
228
+ *
229
+ * @param lines - Source lines.
230
+ * @returns Insertion index for profile metadata.
231
+ */
232
+ function findMetaVisibilityInsertIndex(lines) {
233
+ const titleLineIndex = lines.findIndex((line) => line.trim().length > 0);
234
+ return titleLineIndex === -1 ? 0 : titleLineIndex + 1;
235
+ }
236
+ // Note: [💞] Ignore a discrepancy between file name and entity name
237
+
49
238
  /**
50
239
  * Class implementing take chain.
51
240
  *
@@ -1769,20 +1958,6 @@ function isValidUrl(url) {
1769
1958
  }
1770
1959
  }
1771
1960
 
1772
- /**
1773
- * This error indicates that the promptbook in a markdown format cannot be parsed into a valid promptbook object
1774
- *
1775
- * @public exported from `@promptbook/core`
1776
- */
1777
- class ParseError extends Error {
1778
- constructor(message) {
1779
- super(message);
1780
- this.name = 'ParseError';
1781
- Object.setPrototypeOf(this, ParseError.prototype);
1782
- }
1783
- }
1784
- // TODO: Maybe split `ParseError` and `ApplyError`
1785
-
1786
1961
  /**
1787
1962
  * Function isValidJsonString will tell you if the string is valid JSON or not
1788
1963
  *
@@ -18590,6 +18765,70 @@ class MetaLinkCommitmentDefinition extends BaseCommitmentDefinition {
18590
18765
  }
18591
18766
  // Note: [💞] Ignore a discrepancy between file name and entity name
18592
18767
 
18768
+ /**
18769
+ * META VISIBILITY commitment definition.
18770
+ *
18771
+ * The `META VISIBILITY` commitment stores whether an agent is public, private, or unlisted.
18772
+ * Agents Server mirrors this value into the database for efficient filtering, but the book
18773
+ * commitment remains the editable source of truth.
18774
+ *
18775
+ * @private Metadata-only commitment used by Agents Server.
18776
+ */
18777
+ class MetaVisibilityCommitmentDefinition extends BaseCommitmentDefinition {
18778
+ constructor() {
18779
+ super('META VISIBILITY');
18780
+ }
18781
+ /**
18782
+ * Short one-line description of META VISIBILITY.
18783
+ */
18784
+ get description() {
18785
+ return 'Set whether the agent is private, unlisted, or public.';
18786
+ }
18787
+ /**
18788
+ * Icon for this commitment.
18789
+ */
18790
+ get icon() {
18791
+ return '👁️';
18792
+ }
18793
+ /**
18794
+ * Markdown documentation for META VISIBILITY commitment.
18795
+ */
18796
+ get documentation() {
18797
+ return spaceTrim$1(`
18798
+ # META VISIBILITY
18799
+
18800
+ Sets the agent visibility used by Agents Server.
18801
+
18802
+ ## Allowed values
18803
+
18804
+ - \`PRIVATE\` - accessible only to signed-in users with access.
18805
+ - \`UNLISTED\` - accessible by direct link but hidden from public listings.
18806
+ - \`PUBLIC\` - visible in public listings and accessible by anyone.
18807
+
18808
+ ## Key aspects
18809
+
18810
+ - Does not modify the agent's behavior, system message, or tools.
18811
+ - Whitespace and letter case are normalized when persisted.
18812
+ - If multiple \`META VISIBILITY\` commitments are present, persistence keeps one normalized value.
18813
+ - Agents Server mirrors the value into the database for filtering, but the book is the source of truth.
18814
+
18815
+ ## Example
18816
+
18817
+ \`\`\`book
18818
+ Helpful Assistant
18819
+
18820
+ GOAL Be helpful and friendly.
18821
+ META VISIBILITY PUBLIC
18822
+ \`\`\`
18823
+ `);
18824
+ }
18825
+ applyToAgentModelRequirements(requirements, content) {
18826
+ // META VISIBILITY is metadata only and does not alter model requirements.
18827
+ return requirements;
18828
+ }
18829
+ }
18830
+ // Note: [💞] Ignore a discrepancy between file name and entity name
18831
+
18593
18832
  /**
18594
18833
  * META VOICE commitment definition
18595
18834
  *
@@ -27113,6 +27352,7 @@ const COMMITMENT_REGISTRY = [
27113
27352
  new MetaDomainCommitmentDefinition(),
27114
27353
  new MetaDisclaimerCommitmentDefinition(),
27115
27354
  new MetaInputPlaceholderCommitmentDefinition(),
27355
+ new MetaVisibilityCommitmentDefinition(),
27116
27356
  new MetaCommitmentDefinition(),
27117
27357
  new MetaVoiceCommitmentDefinition(),
27118
27358
  new NoteCommitmentDefinition('NOTE'),
@@ -28457,6 +28697,7 @@ const META_COMMITMENT_APPLIERS = {
28457
28697
  'META COLOR': applyMetaColorContent,
28458
28698
  'META FONT': applyMetaFontContent,
28459
28699
  'META VOICE': applyMetaVoiceContent,
28700
+ 'META VISIBILITY': applyMetaVisibilityContent,
28460
28701
  };
28461
28702
  /**
28462
28703
  * Applies META-style commitments that mutate parsed profile metadata.
@@ -28486,6 +28727,10 @@ function applyGenericMetaCommitment(state, content) {
28486
28727
  applyMetaAvatarContent(state, metaValue);
28487
28728
  return;
28488
28729
  }
28730
+ if (metaTypeRaw.toUpperCase() === 'VISIBILITY') {
28731
+ applyMetaVisibilityContent(state, metaValue);
28732
+ return;
28733
+ }
28489
28734
  const metaType = normalizeTo_camelCase(metaTypeRaw);
28490
28735
  state.meta[metaType] = metaValue;
28491
28736
  }
@@ -28562,6 +28807,15 @@ function applyMetaFontContent(state, content) {
28562
28807
  function applyMetaVoiceContent(state, content) {
28563
28808
  state.meta.voice = spaceTrim$1(content);
28564
28809
  }
28810
+ /**
28811
+ * Applies META VISIBILITY content into the normalized `meta.visibility` field.
28812
+ */
28813
+ function applyMetaVisibilityContent(state, content) {
28814
+ const visibility = normalizeAgentVisibility(content);
28815
+ if (visibility) {
28816
+ state.meta.visibility = visibility;
28817
+ }
28818
+ }
28565
28819
  /**
28566
28820
  * Normalizes the separator in the content
28567
28821
  *
@@ -29667,6 +29921,7 @@ const PROFILE_COMMITMENT_TYPES = new Set([
29667
29921
  'META DESCRIPTION',
29668
29922
  'META DISCLAIMER',
29669
29923
  'META INPUT PLACEHOLDER',
29924
+ 'META VISIBILITY',
29670
29925
  'META COLOR',
29671
29926
  'META FONT',
29672
29927
  'META VOICE',
@@ -30342,18 +30597,23 @@ function $randomBase58(length) {
30342
30597
  *
30343
30598
  * @private shared persistence helper for `AgentCollectionInSupabase`
30344
30599
  */
30345
- function prepareAgentSourceForPersistence(agentSource) {
30346
- let agentProfile = parseAgentSource(agentSource);
30347
- const permanentId = agentProfile.permanentId;
30348
- const strippedAgentSource = stripMetaIdLines(agentSource);
30349
- if (strippedAgentSource !== agentSource) {
30350
- agentSource = strippedAgentSource;
30351
- agentProfile = parseAgentSource(agentSource);
30352
- }
30600
+ function prepareAgentSourceForPersistence(agentSource, options = {}) {
30601
+ var _a, _b, _c;
30602
+ const originalAgentProfile = parseAgentSource(agentSource);
30603
+ const permanentId = originalAgentProfile.permanentId;
30604
+ agentSource = stripMetaIdLines(agentSource);
30605
+ const sourceVisibility = parseAgentSourceVisibility(agentSource, { isStrict: true });
30606
+ const resolvedVisibility = options.isVisibilityOverride || !sourceVisibility
30607
+ ? (_b = (_a = options.visibility) !== null && _a !== void 0 ? _a : sourceVisibility) !== null && _b !== void 0 ? _b : DEFAULT_AGENT_VISIBILITY
30608
+ : sourceVisibility;
30609
+ agentSource = setAgentSourceVisibility(agentSource, resolvedVisibility);
30610
+ const agentProfile = parseAgentSource(agentSource);
30611
+ const visibility = (_c = parseAgentSourceVisibility(agentSource, { isStrict: true })) !== null && _c !== void 0 ? _c : undefined;
30353
30612
  return {
30354
30613
  agentProfile,
30355
30614
  agentSource,
30356
30615
  permanentId,
30616
+ visibility,
30357
30617
  };
30358
30618
  }
30359
30619
  /**
@@ -30384,8 +30644,11 @@ function stripMetaIdLines(agentSource) {
30384
30644
  * @private shared persistence helper for `AgentCollectionInSupabase`
30385
30645
  */
30386
30646
  function createAgentPersistenceRecords(agentSource, options = {}, createdAt = new Date().toISOString()) {
30387
- const preparedAgentSource = prepareAgentSourceForPersistence(agentSource);
30388
- const { agentProfile, agentSource: normalizedAgentSource } = preparedAgentSource;
30647
+ const preparedAgentSource = prepareAgentSourceForPersistence(agentSource, {
30648
+ visibility: options.visibility,
30649
+ isVisibilityOverride: options.visibility !== undefined,
30650
+ });
30651
+ const { agentProfile, agentSource: normalizedAgentSource, visibility } = preparedAgentSource;
30389
30652
  const permanentId = preparedAgentSource.permanentId || $randomBase58(14);
30390
30653
  const { agentName, agentHash } = agentProfile;
30391
30654
  const agentInsertRecord = {
@@ -30405,8 +30668,8 @@ function createAgentPersistenceRecords(agentSource, options = {}, createdAt = ne
30405
30668
  if (options.sortOrder !== undefined) {
30406
30669
  agentInsertRecord.sortOrder = options.sortOrder;
30407
30670
  }
30408
- if (options.visibility !== undefined) {
30409
- agentInsertRecord.visibility = options.visibility;
30671
+ if (visibility !== undefined) {
30672
+ agentInsertRecord.visibility = visibility;
30410
30673
  }
30411
30674
  return {
30412
30675
  createdAgent: {
@@ -30623,7 +30886,7 @@ class AgentCollectionInSupabase /* TODO: [🌈][🐱‍🚀] implements AgentCol
30623
30886
  async updateAgentSource(permanentId, agentSource, options = {}) {
30624
30887
  const selectPreviousAgentResult = await this.supabaseClient
30625
30888
  .from(this.getTableName('Agent'))
30626
- .select('agentHash,agentName,permanentId')
30889
+ .select('agentHash,agentName,permanentId,visibility')
30627
30890
  .eq('permanentId', permanentId)
30628
30891
  .single();
30629
30892
  if (selectPreviousAgentResult.error) {
@@ -30638,8 +30901,11 @@ class AgentCollectionInSupabase /* TODO: [🌈][🐱‍🚀] implements AgentCol
30638
30901
  selectPreviousAgentResult.data.agentName;
30639
30902
  const previousAgentHash = selectPreviousAgentResult.data.agentHash;
30640
30903
  const previousPermanentId = selectPreviousAgentResult.data.permanentId;
30641
- const preparedAgentSource = prepareAgentSourceForPersistence(agentSource);
30642
- const { agentProfile, agentSource: normalizedAgentSource } = preparedAgentSource;
30904
+ const previousVisibility = selectPreviousAgentResult.data.visibility;
30905
+ const preparedAgentSource = prepareAgentSourceForPersistence(agentSource, {
30906
+ visibility: previousVisibility,
30907
+ });
30908
+ const { agentProfile, agentSource: normalizedAgentSource, visibility } = preparedAgentSource;
30643
30909
  let { permanentId: newPermanentId } = preparedAgentSource;
30644
30910
  const { agentHash, agentName } = agentProfile;
30645
30911
  if (!newPermanentId && previousPermanentId) {
@@ -30661,6 +30927,7 @@ class AgentCollectionInSupabase /* TODO: [🌈][🐱‍🚀] implements AgentCol
30661
30927
  updatedAt: new Date().toISOString(),
30662
30928
  agentHash: agentProfile.agentHash,
30663
30929
  agentSource: normalizedAgentSource,
30930
+ visibility: visibility !== null && visibility !== void 0 ? visibility : previousVisibility,
30664
30931
  promptbookEngineVersion: PROMPTBOOK_ENGINE_VERSION,
30665
30932
  })
30666
30933
  .eq('permanentId', permanentId);
@@ -50843,5 +51110,5 @@ function $generateBookBoilerplate(options) {
50843
51110
  }
50844
51111
  // TODO: [🤶] Maybe export through `@promptbook/utils` or `@promptbook/random` package
50845
51112
 
50846
- export { $bookTranspilersRegister, $generateBookBoilerplate, $llmToolsMetadataRegister, $llmToolsRegister, $scrapersMetadataRegister, $scrapersRegister, ADMIN_EMAIL, ADMIN_GITHUB_NAME, API_REQUEST_TIMEOUT, AbstractFormatError, Agent, AgentCollectionInSupabase, AgentLlmExecutionTools, AgentOsTranspiler, AnthropicClaudeManagedTranspiler, AnthropicClaudeSdkTranspiler, AuthenticationError, BIG_DATASET_TRESHOLD, BOOK_LANGUAGE_VERSION, BlackholeStorage, BoilerplateError, BoilerplateFormfactorDefinition, Book, CLAIM, CLI_APP_ID, COLOR_CONSTANTS, CORE_AGENTS_SERVER_WELL_KNOWN_AGENT_NAMES, CallbackInterfaceTools, ChatbotFormfactorDefinition, CollectionError, CompletionFormfactorDefinition, ConflictError, CsvFormatError, CsvFormatParser, DEFAULT_AGENTS_DIRNAME, DEFAULT_BOOK, DEFAULT_BOOKS_DIRNAME, DEFAULT_BOOK_OUTPUT_PARAMETER_NAME, DEFAULT_BOOK_TITLE, DEFAULT_CSV_SETTINGS, DEFAULT_DOWNLOAD_CACHE_DIRNAME, DEFAULT_EXECUTION_CACHE_DIRNAME, DEFAULT_GET_PIPELINE_COLLECTION_FUNCTION_NAME, DEFAULT_INTERMEDIATE_FILES_STRATEGY, DEFAULT_IS_AUTO_INSTALLED, DEFAULT_IS_VERBOSE, DEFAULT_MAX_CONCURRENT_UPLOADS, DEFAULT_MAX_EXECUTION_ATTEMPTS, DEFAULT_MAX_FILE_SIZE, DEFAULT_MAX_KNOWLEDGE_SOURCES_SCRAPING_DEPTH, DEFAULT_MAX_KNOWLEDGE_SOURCES_SCRAPING_TOTAL, DEFAULT_MAX_PARALLEL_COUNT, DEFAULT_MAX_RECURSION, DEFAULT_MAX_REQUESTS_PER_MINUTE, DEFAULT_PIPELINE_COLLECTION_BASE_FILENAME, DEFAULT_PROMPT_TASK_TITLE, DEFAULT_REMOTE_SERVER_URL, DEFAULT_SCRAPE_CACHE_DIRNAME, DEFAULT_TASK_SIMULATED_DURATION_MS, DEFAULT_TASK_TITLE, DatabaseError, E2BTranspiler, EXPECTATION_UNITS, EnvironmentMismatchError, ExecutionReportStringOptionsDefaults, ExpectError, FAILED_VALUE_PLACEHOLDER, FORMFACTOR_DEFINITIONS, FormattedBookInMarkdownTranspiler, GENERIC_PIPELINE_INTERFACE, GeneratorFormfactorDefinition, GenericFormfactorDefinition, HTTP_STATUS_CODES, ImageGeneratorFormfactorDefinition, KnowledgeScrapeError, LIMITS, LimitReachedError, MANDATORY_CSV_SETTINGS, MAX_FILENAME_LENGTH, MODEL_ORDERS, MODEL_TRUST_LEVELS, MODEL_VARIANTS, MatcherFormfactorDefinition, MemoryStorage, MissingToolsError, MultipleLlmExecutionTools, NAME, NETWORK_LIMITS, NonTaskSectionTypes, NotAllowed, NotFoundError, NotYetImplementedCommitmentDefinition, NotYetImplementedError, ORDER_OF_PIPELINE_JSON, OpenAiAgentsTranspiler, OpenAiSdkTranspiler, PADDING_LINES, PENDING_VALUE_PLACEHOLDER, PLAYGROUND_APP_ID, PROMPTBOOK_CHAT_COLOR, PROMPTBOOK_COLOR, PROMPTBOOK_ENGINE_VERSION, PROMPTBOOK_ERRORS, PROMPTBOOK_LEGAL_ENTITY, PROMPTBOOK_LOGO_URL, PROMPTBOOK_SYNTAX_COLORS, PROMPT_PARAMETER_SELF_LEARNING_ENABLED, PUBLIC_AGENTS_SERVERS, ParseError, PipelineExecutionError, PipelineLogicError, PipelineUrlError, PrefixStorage, PromptbookFetchError, RESERVED_PARAMETER_NAMES, RemoteAgent, SET_IS_VERBOSE, SectionTypes, SheetsFormfactorDefinition, TIME_INTERVALS, TaskTypes, TextFormatParser, TranslatorFormfactorDefinition, UNCERTAIN_USAGE, UNCERTAIN_ZERO_VALUE, USER_CHAT_COLOR, UnexpectedError, VirusTotalFileSecurityChecker, WrappedError, ZERO_USAGE, ZERO_VALUE, _AgentMetadata, _AgentRegistration, _AnthropicClaudeMetadataRegistration, _AzureOpenAiMetadataRegistration, _BoilerplateScraperMetadataRegistration, _DeepseekMetadataRegistration, _DocumentScraperMetadataRegistration, _GoogleMetadataRegistration, _LegacyDocumentScraperMetadataRegistration, _MarkdownScraperMetadataRegistration, _MarkitdownScraperMetadataRegistration, _OllamaMetadataRegistration, _OpenAiAssistantMetadataRegistration, _OpenAiCompatibleMetadataRegistration, _OpenAiMetadataRegistration, _PdfScraperMetadataRegistration, _WebsiteScraperMetadataRegistration, aboutPromptbookInformation, addUsage, appendChatAttachmentContext, appendChatAttachmentContextWithContent, book, cacheLlmTools, compilePipeline, computeAgentHash, computeCosineSimilarity, countUsage, createAgentLlmExecutionTools, createAgentModelRequirements, createBasicAgentModelRequirements, createDefaultAgentName, createEmptyAgentModelRequirements, createLlmToolsFromConfiguration, createPipelineCollectionFromJson, createPipelineCollectionFromPromise, createPipelineCollectionFromUrl, createPipelineExecutor, createPipelineSubcollection, createStandaloneBookLanguageMarkdown, embeddingVectorToString, executionReportJsonToString, extractParameterNamesFromTask, filterModels, formatChatAttachmentContentContext, formatChatAttachmentContext, generatePlaceholderAgentProfileImageUrl, getAllCommitmentDefinitions, getAllCommitmentTypes, getAllCommitmentsToolTitles, getCommitmentDefinition, getGroupedCommitmentDefinitions, getPipelineInterface, getSingleLlmExecutionTools, identificationToPromptbookToken, isCommitmentSupported, isPassingExpectations, isPipelineImplementingInterface, isPipelineInterfacesEqual, isPipelinePrepared, isValidBook, isValidPipelineString, joinLlmExecutionTools, limitTotalUsage, makeKnowledgeSourceHandler, migratePipeline, normalizeAgentName, normalizeChatAttachments, padBook, parseAgentSource, parseParameters, parsePipeline, pipelineCollectionToJson, pipelineJsonToString, prepareKnowledgePieces, preparePersona, preparePipeline, prettifyPipelineString, promptbookFetch, promptbookTokenToIdentification, resolveChatAttachmentContents, unpreparePipeline, usageToHuman, usageToWorktime, validateBook, validatePipeline, validatePipelineString };
51113
+ export { $bookTranspilersRegister, $generateBookBoilerplate, $llmToolsMetadataRegister, $llmToolsRegister, $scrapersMetadataRegister, $scrapersRegister, ADMIN_EMAIL, ADMIN_GITHUB_NAME, AGENT_VISIBILITY_VALUES, API_REQUEST_TIMEOUT, AbstractFormatError, Agent, AgentCollectionInSupabase, AgentLlmExecutionTools, AgentOsTranspiler, AnthropicClaudeManagedTranspiler, AnthropicClaudeSdkTranspiler, AuthenticationError, BIG_DATASET_TRESHOLD, BOOK_LANGUAGE_VERSION, BlackholeStorage, BoilerplateError, BoilerplateFormfactorDefinition, Book, CLAIM, CLI_APP_ID, COLOR_CONSTANTS, CORE_AGENTS_SERVER_WELL_KNOWN_AGENT_NAMES, CallbackInterfaceTools, ChatbotFormfactorDefinition, CollectionError, CompletionFormfactorDefinition, ConflictError, CsvFormatError, CsvFormatParser, DEFAULT_AGENTS_DIRNAME, DEFAULT_AGENT_VISIBILITY, DEFAULT_BOOK, DEFAULT_BOOKS_DIRNAME, DEFAULT_BOOK_OUTPUT_PARAMETER_NAME, DEFAULT_BOOK_TITLE, DEFAULT_CSV_SETTINGS, DEFAULT_DOWNLOAD_CACHE_DIRNAME, DEFAULT_EXECUTION_CACHE_DIRNAME, DEFAULT_GET_PIPELINE_COLLECTION_FUNCTION_NAME, DEFAULT_INTERMEDIATE_FILES_STRATEGY, DEFAULT_IS_AUTO_INSTALLED, DEFAULT_IS_VERBOSE, DEFAULT_MAX_CONCURRENT_UPLOADS, DEFAULT_MAX_EXECUTION_ATTEMPTS, DEFAULT_MAX_FILE_SIZE, DEFAULT_MAX_KNOWLEDGE_SOURCES_SCRAPING_DEPTH, DEFAULT_MAX_KNOWLEDGE_SOURCES_SCRAPING_TOTAL, DEFAULT_MAX_PARALLEL_COUNT, DEFAULT_MAX_RECURSION, DEFAULT_MAX_REQUESTS_PER_MINUTE, DEFAULT_PIPELINE_COLLECTION_BASE_FILENAME, DEFAULT_PROMPT_TASK_TITLE, DEFAULT_REMOTE_SERVER_URL, DEFAULT_SCRAPE_CACHE_DIRNAME, DEFAULT_TASK_SIMULATED_DURATION_MS, DEFAULT_TASK_TITLE, DatabaseError, E2BTranspiler, EXPECTATION_UNITS, EnvironmentMismatchError, ExecutionReportStringOptionsDefaults, ExpectError, FAILED_VALUE_PLACEHOLDER, FORMFACTOR_DEFINITIONS, FormattedBookInMarkdownTranspiler, GENERIC_PIPELINE_INTERFACE, GeneratorFormfactorDefinition, GenericFormfactorDefinition, HTTP_STATUS_CODES, ImageGeneratorFormfactorDefinition, KnowledgeScrapeError, LIMITS, LimitReachedError, MANDATORY_CSV_SETTINGS, MAX_FILENAME_LENGTH, MODEL_ORDERS, MODEL_TRUST_LEVELS, MODEL_VARIANTS, MatcherFormfactorDefinition, MemoryStorage, MissingToolsError, MultipleLlmExecutionTools, NAME, NETWORK_LIMITS, NonTaskSectionTypes, NotAllowed, NotFoundError, NotYetImplementedCommitmentDefinition, NotYetImplementedError, ORDER_OF_PIPELINE_JSON, OpenAiAgentsTranspiler, OpenAiSdkTranspiler, PADDING_LINES, PENDING_VALUE_PLACEHOLDER, PLAYGROUND_APP_ID, PROMPTBOOK_CHAT_COLOR, PROMPTBOOK_COLOR, PROMPTBOOK_ENGINE_VERSION, PROMPTBOOK_ERRORS, PROMPTBOOK_LEGAL_ENTITY, PROMPTBOOK_LOGO_URL, PROMPTBOOK_SYNTAX_COLORS, PROMPT_PARAMETER_SELF_LEARNING_ENABLED, PUBLIC_AGENTS_SERVERS, ParseError, PipelineExecutionError, PipelineLogicError, PipelineUrlError, PrefixStorage, PromptbookFetchError, RESERVED_PARAMETER_NAMES, RemoteAgent, SET_IS_VERBOSE, SectionTypes, SheetsFormfactorDefinition, TIME_INTERVALS, TaskTypes, TextFormatParser, TranslatorFormfactorDefinition, UNCERTAIN_USAGE, UNCERTAIN_ZERO_VALUE, USER_CHAT_COLOR, UnexpectedError, VirusTotalFileSecurityChecker, WrappedError, ZERO_USAGE, ZERO_VALUE, _AgentMetadata, _AgentRegistration, _AnthropicClaudeMetadataRegistration, _AzureOpenAiMetadataRegistration, _BoilerplateScraperMetadataRegistration, _DeepseekMetadataRegistration, _DocumentScraperMetadataRegistration, _GoogleMetadataRegistration, _LegacyDocumentScraperMetadataRegistration, _MarkdownScraperMetadataRegistration, _MarkitdownScraperMetadataRegistration, _OllamaMetadataRegistration, _OpenAiAssistantMetadataRegistration, _OpenAiCompatibleMetadataRegistration, _OpenAiMetadataRegistration, _PdfScraperMetadataRegistration, _WebsiteScraperMetadataRegistration, aboutPromptbookInformation, addUsage, appendChatAttachmentContext, appendChatAttachmentContextWithContent, book, cacheLlmTools, compilePipeline, computeAgentHash, computeCosineSimilarity, countUsage, createAgentLlmExecutionTools, createAgentModelRequirements, createBasicAgentModelRequirements, createDefaultAgentName, createEmptyAgentModelRequirements, createLlmToolsFromConfiguration, createPipelineCollectionFromJson, createPipelineCollectionFromPromise, createPipelineCollectionFromUrl, createPipelineExecutor, createPipelineSubcollection, createStandaloneBookLanguageMarkdown, embeddingVectorToString, executionReportJsonToString, extractParameterNamesFromTask, filterModels, formatChatAttachmentContentContext, formatChatAttachmentContext, generatePlaceholderAgentProfileImageUrl, getAllCommitmentDefinitions, getAllCommitmentTypes, getAllCommitmentsToolTitles, getCommitmentDefinition, getGroupedCommitmentDefinitions, getNextAgentVisibility, getPipelineInterface, getSingleLlmExecutionTools, identificationToPromptbookToken, isAgentVisibility, isCommitmentSupported, isPassingExpectations, isPipelineImplementingInterface, isPipelineInterfacesEqual, isPipelinePrepared, isPublicAgentVisibility, isValidBook, isValidPipelineString, joinLlmExecutionTools, limitTotalUsage, makeKnowledgeSourceHandler, migratePipeline, normalizeAgentName, normalizeAgentVisibility, normalizeChatAttachments, padBook, parseAgentSource, parseAgentSourceVisibility, parseAgentVisibility, parseAgentVisibilityStrict, parseParameters, parsePipeline, pipelineCollectionToJson, pipelineJsonToString, prepareKnowledgePieces, preparePersona, preparePipeline, prettifyPipelineString, promptbookFetch, promptbookTokenToIdentification, resolveChatAttachmentContents, setAgentSourceVisibility, unpreparePipeline, usageToHuman, usageToWorktime, validateBook, validatePipeline, validatePipelineString };
50847
51114
  //# sourceMappingURL=index.es.js.map