@promptbook/node 0.112.0-64 → 0.112.0-65

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 (41) hide show
  1. package/esm/index.es.js +85 -198
  2. package/esm/index.es.js.map +1 -1
  3. package/esm/src/_packages/components.index.d.ts +0 -2
  4. package/esm/src/_packages/core.index.d.ts +2 -2
  5. package/esm/src/_packages/types.index.d.ts +0 -2
  6. package/esm/src/book-2.0/book-language-documentation/BookLanguageDocumentationExample.d.ts +27 -0
  7. package/esm/src/book-2.0/book-language-documentation/bookLanguageCommonPitfalls.d.ts +25 -0
  8. package/esm/src/book-2.0/book-language-documentation/bookLanguageDocumentationExamples.d.ts +10 -0
  9. package/esm/src/book-2.0/book-language-documentation/createStandaloneBookLanguageMarkdown.d.ts +14 -0
  10. package/esm/src/book-2.0/book-language-documentation/renderGroupedCommitmentDocumentationMarkdown.d.ts +43 -0
  11. package/esm/src/book-components/Chat/types/ChatMessage.d.ts +0 -34
  12. package/esm/src/commitments/KNOWLEDGE/KNOWLEDGE.d.ts +0 -11
  13. package/esm/src/commitments/_common/toolRuntimeContext.d.ts +0 -6
  14. package/esm/src/formfactors/index.d.ts +2 -2
  15. package/esm/src/formfactors/matcher/MatcherFormfactorDefinition.d.ts +1 -1
  16. package/esm/src/formfactors/translator/TranslatorFormfactorDefinition.d.ts +1 -1
  17. package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionTools.d.ts +0 -4
  18. package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionToolsOptions.d.ts +0 -9
  19. package/esm/src/version.d.ts +1 -1
  20. package/package.json +2 -2
  21. package/umd/index.umd.js +85 -198
  22. package/umd/index.umd.js.map +1 -1
  23. package/umd/src/_packages/components.index.d.ts +0 -2
  24. package/umd/src/_packages/core.index.d.ts +2 -2
  25. package/umd/src/_packages/types.index.d.ts +0 -2
  26. package/umd/src/book-2.0/book-language-documentation/BookLanguageDocumentationExample.d.ts +27 -0
  27. package/umd/src/book-2.0/book-language-documentation/bookLanguageCommonPitfalls.d.ts +25 -0
  28. package/umd/src/book-2.0/book-language-documentation/bookLanguageDocumentationExamples.d.ts +10 -0
  29. package/umd/src/book-2.0/book-language-documentation/createStandaloneBookLanguageMarkdown.d.ts +14 -0
  30. package/umd/src/book-2.0/book-language-documentation/renderGroupedCommitmentDocumentationMarkdown.d.ts +43 -0
  31. package/umd/src/book-components/Chat/types/ChatMessage.d.ts +0 -34
  32. package/umd/src/commitments/KNOWLEDGE/KNOWLEDGE.d.ts +0 -11
  33. package/umd/src/commitments/_common/toolRuntimeContext.d.ts +0 -6
  34. package/umd/src/formfactors/index.d.ts +2 -2
  35. package/umd/src/formfactors/matcher/MatcherFormfactorDefinition.d.ts +1 -1
  36. package/umd/src/formfactors/translator/TranslatorFormfactorDefinition.d.ts +1 -1
  37. package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionTools.d.ts +0 -4
  38. package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionToolsOptions.d.ts +0 -9
  39. package/umd/src/version.d.ts +1 -1
  40. /package/esm/src/{commitments/KNOWLEDGE/KNOWLEDGE.test.d.ts → book-2.0/book-language-documentation/renderGroupedCommitmentDocumentationMarkdown.test.d.ts} +0 -0
  41. /package/umd/src/{commitments/KNOWLEDGE/KNOWLEDGE.test.d.ts → book-2.0/book-language-documentation/renderGroupedCommitmentDocumentationMarkdown.test.d.ts} +0 -0
package/esm/index.es.js CHANGED
@@ -35,7 +35,7 @@ const BOOK_LANGUAGE_VERSION = '2.0.0';
35
35
  * @generated
36
36
  * @see https://github.com/webgptorg/promptbook
37
37
  */
38
- const PROMPTBOOK_ENGINE_VERSION = '0.112.0-64';
38
+ const PROMPTBOOK_ENGINE_VERSION = '0.112.0-65';
39
39
  /**
40
40
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
41
41
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -8843,8 +8843,10 @@ const ImageGeneratorFormfactorDefinition = {
8843
8843
  */
8844
8844
  const MatcherFormfactorDefinition = {
8845
8845
  name: 'EXPERIMENTAL_MATCHER',
8846
- description: `An evaluation system that determines whether content meets specific criteria or patterns.
8847
- Used for content validation, quality assessment, and intelligent filtering tasks. Currently in experimental phase.`,
8846
+ description: spaceTrim$1(`
8847
+ An evaluation system that determines whether content meets specific criteria or patterns.
8848
+ Used for content validation, quality assessment, and intelligent filtering tasks. Currently in experimental phase.
8849
+ `),
8848
8850
  documentationUrl: `https://github.com/webgptorg/promptbook/discussions/177`,
8849
8851
  pipelineInterface: {
8850
8852
  inputParameters: [
@@ -8901,9 +8903,11 @@ const SheetsFormfactorDefinition = {
8901
8903
  */
8902
8904
  const TranslatorFormfactorDefinition = {
8903
8905
  name: 'TRANSLATOR',
8904
- description: `A text transformation system that converts input content into different forms,
8905
- including language translations, paraphrasing, style conversions, and tone adjustments.
8906
- This form factor takes one input and produces one transformed output.`,
8906
+ description: spaceTrim$1(`
8907
+ A text transformation system that converts input content into different forms,
8908
+ including language translations, paraphrasing, style conversions, and tone adjustments.
8909
+ This form factor takes one input and produces one transformed output.
8910
+ `),
8907
8911
  documentationUrl: `https://github.com/webgptorg/promptbook/discussions/175`,
8908
8912
  pipelineInterface: {
8909
8913
  inputParameters: [
@@ -10278,12 +10282,21 @@ const QuickChatbotHla = {
10278
10282
  // <- TODO: [🧠] Make this dynamic, async, prepare-phase HLAs
10279
10283
  ],
10280
10284
  });
10281
- // TODO: Use spaceTrim in multiline strings
10282
10285
  $pipelineJson.tasks.push({
10283
10286
  taskType: 'PROMPT_TASK',
10284
10287
  name: 'create-an-answer',
10285
10288
  title: 'Create an answer',
10286
- content: 'Write a response to the user message:\n\n**Question from user**\n\n> {userMessage}\n\n**Previous conversation**\n\n> {previousConversationSummary}',
10289
+ content: spaceTrim$1(`
10290
+ Write a response to the user message:
10291
+
10292
+ **Question from user**
10293
+
10294
+ > {userMessage}
10295
+
10296
+ **Previous conversation**
10297
+
10298
+ > {previousConversationSummary}
10299
+ `),
10287
10300
  resultingParameterName: 'chatbotResponse',
10288
10301
  personaName,
10289
10302
  dependentParameterNames: [
@@ -10295,7 +10308,26 @@ const QuickChatbotHla = {
10295
10308
  taskType: 'PROMPT_TASK',
10296
10309
  name: 'summarize-the-conversation',
10297
10310
  title: 'Summarize the conversation',
10298
- content: 'Summarize the conversation in a few words:\n\n## Rules\n\n- Summarise the text of the conversation in a few words\n- Convert the text to its basic idea\n- Imagine you are writing the headline or subject line of an email\n- Respond with a few words of summary only\n\n## Conversation\n\n**User:**\n\n> {userMessage}\n\n**You:**\n\n> {chatbotResponse}',
10311
+ content: spaceTrim$1(`
10312
+ Summarize the conversation in a few words:
10313
+
10314
+ ## Rules
10315
+
10316
+ - Summarise the text of the conversation in a few words
10317
+ - Convert the text to its basic idea
10318
+ - Imagine you are writing the headline or subject line of an email
10319
+ - Respond with a few words of summary only
10320
+
10321
+ ## Conversation
10322
+
10323
+ **User:**
10324
+
10325
+ > {userMessage}
10326
+
10327
+ **You:**
10328
+
10329
+ > {chatbotResponse}
10330
+ `),
10299
10331
  resultingParameterName: 'conversationSummary',
10300
10332
  personaName,
10301
10333
  expectations: {
@@ -15838,18 +15870,6 @@ function parseDataUrlKnowledgeSource(source) {
15838
15870
  }
15839
15871
  // Note: [💞] Ignore a discrepancy between file name and entity name
15840
15872
 
15841
- /**
15842
- * Name of the tool used by agents to search configured `KNOWLEDGE` sources.
15843
- *
15844
- * @public exported from `@promptbook/core`
15845
- */
15846
- const KNOWLEDGE_SEARCH_TOOL_NAME = 'knowledge_search';
15847
- /**
15848
- * Title of the system-message section generated for `KNOWLEDGE` commitments.
15849
- *
15850
- * @private constant of `KnowledgeCommitmentDefinition`
15851
- */
15852
- const KNOWLEDGE_SEARCH_SYSTEM_SECTION_TITLE = 'Knowledge Search';
15853
15873
  /**
15854
15874
  * KNOWLEDGE commitment definition
15855
15875
  *
@@ -15971,17 +15991,9 @@ class KnowledgeCommitmentDefinition extends BaseCommitmentDefinition {
15971
15991
  knowledgeInfoEntries.push(`Knowledge Source Inline: ${inlineSource.filename} (derived from inline content and processed for retrieval during chat)`);
15972
15992
  }
15973
15993
  if (knowledgeInfoEntries.length === 0) {
15974
- return addKnowledgeSearchToolAndSystemSection(nextRequirements);
15994
+ return nextRequirements;
15975
15995
  }
15976
- return addKnowledgeSearchToolAndSystemSection(nextRequirements);
15977
- }
15978
- /**
15979
- * Gets human-readable titles for tool functions provided by this commitment.
15980
- */
15981
- getToolTitles() {
15982
- return {
15983
- [KNOWLEDGE_SEARCH_TOOL_NAME]: 'Knowledge search',
15984
- };
15996
+ return this.appendToSystemMessage(nextRequirements, knowledgeInfoEntries.join('\n'), '\n\n');
15985
15997
  }
15986
15998
  }
15987
15999
  /**
@@ -15995,128 +16007,6 @@ function hasMeaningfulNonUrlText(content, urls) {
15995
16007
  const significantText = contentWithoutUrls.replace(/[\s.,!?;:'"`()[\]{}<>/-]+/g, '');
15996
16008
  return significantText.length > 0;
15997
16009
  }
15998
- /**
15999
- * Adds the shared `knowledge_search` tool definition and the consolidated system-message section.
16000
- *
16001
- * @param requirements - Requirements after one `KNOWLEDGE` commitment was applied.
16002
- * @returns Requirements with the knowledge search instructions and tool definition.
16003
- *
16004
- * @private internal utility of `KnowledgeCommitmentDefinition`
16005
- */
16006
- function addKnowledgeSearchToolAndSystemSection(requirements) {
16007
- const nextRequirements = addKnowledgeSearchTool(requirements);
16008
- const section = createKnowledgeSearchSystemSection(nextRequirements);
16009
- const sectionHeader = `## ${KNOWLEDGE_SEARCH_SYSTEM_SECTION_TITLE}`;
16010
- if (nextRequirements.systemMessage.includes(sectionHeader)) {
16011
- return {
16012
- ...nextRequirements,
16013
- systemMessage: nextRequirements.systemMessage.replace(new RegExp(`## ${KNOWLEDGE_SEARCH_SYSTEM_SECTION_TITLE.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}[\\s\\S]*?(?=\\n\\n##|$)`), section),
16014
- };
16015
- }
16016
- return {
16017
- ...nextRequirements,
16018
- systemMessage: nextRequirements.systemMessage.trim()
16019
- ? `${nextRequirements.systemMessage}\n\n${section}`
16020
- : section,
16021
- };
16022
- }
16023
- /**
16024
- * Adds the `knowledge_search` model tool when it is not already present.
16025
- *
16026
- * @param requirements - Current model requirements.
16027
- * @returns Requirements with the tool definition available to the model.
16028
- *
16029
- * @private internal utility of `KnowledgeCommitmentDefinition`
16030
- */
16031
- function addKnowledgeSearchTool(requirements) {
16032
- const existingTools = requirements.tools || [];
16033
- if (existingTools.some((tool) => tool.name === KNOWLEDGE_SEARCH_TOOL_NAME)) {
16034
- return requirements;
16035
- }
16036
- return {
16037
- ...requirements,
16038
- tools: [
16039
- ...existingTools,
16040
- {
16041
- name: KNOWLEDGE_SEARCH_TOOL_NAME,
16042
- description: spaceTrim$1(`
16043
- Search the agent's configured knowledge sources and return relevant excerpts with citation ids.
16044
- Use this before answering questions that may depend on the agent's KNOWLEDGE commitments.
16045
- `),
16046
- parameters: {
16047
- type: 'object',
16048
- properties: {
16049
- query: {
16050
- type: 'string',
16051
- description: 'The natural-language search query for the knowledge base.',
16052
- },
16053
- limit: {
16054
- type: 'integer',
16055
- description: 'Maximum number of matching source excerpts to return.',
16056
- },
16057
- },
16058
- required: ['query'],
16059
- },
16060
- },
16061
- ],
16062
- };
16063
- }
16064
- /**
16065
- * Creates the model-facing system-message section for knowledge search.
16066
- *
16067
- * @param requirements - Current model requirements.
16068
- * @returns Markdown system-message section.
16069
- *
16070
- * @private internal utility of `KnowledgeCommitmentDefinition`
16071
- */
16072
- function createKnowledgeSearchSystemSection(requirements) {
16073
- const sourceEntries = createKnowledgeSourceSystemEntries(requirements);
16074
- const sourceList = sourceEntries.length > 0 ? sourceEntries.map((entry) => `- ${entry}`).join('\n') : '- None';
16075
- return spaceTrim$1(`
16076
- ## ${KNOWLEDGE_SEARCH_SYSTEM_SECTION_TITLE}
16077
-
16078
- - Use \`${KNOWLEDGE_SEARCH_TOOL_NAME}\` to search the configured knowledge sources before answering questions that depend on this agent's knowledge base.
16079
- - Base source-backed factual answers on the returned excerpts.
16080
- - When you use a returned excerpt, include its citation marker in the answer body, for example \`[0:0]\`.
16081
- - If the search returns no relevant information, say that the knowledge base did not contain the answer instead of inventing it.
16082
-
16083
- Configured knowledge sources:
16084
- ${sourceList}
16085
- `);
16086
- }
16087
- /**
16088
- * Builds a stable list of configured knowledge sources for system-message diagnostics.
16089
- *
16090
- * @param requirements - Current model requirements.
16091
- * @returns Human-readable source entries.
16092
- *
16093
- * @private internal utility of `KnowledgeCommitmentDefinition`
16094
- */
16095
- function createKnowledgeSourceSystemEntries(requirements) {
16096
- var _a;
16097
- const entries = [];
16098
- const seenEntries = new Set();
16099
- for (const source of requirements.knowledgeSources || []) {
16100
- const entry = `Source URL: ${source} (processed for retrieval during chat)`;
16101
- if (seenEntries.has(entry)) {
16102
- continue;
16103
- }
16104
- seenEntries.add(entry);
16105
- entries.push(entry);
16106
- }
16107
- const inlineSources = (((_a = requirements._metadata) === null || _a === void 0 ? void 0 : _a.inlineKnowledgeSources) || [])
16108
- .map((source) => source.filename)
16109
- .filter(Boolean);
16110
- for (const filename of inlineSources) {
16111
- const entry = `Knowledge Source Inline: ${filename} (Inline source: processed for retrieval during chat)`;
16112
- if (seenEntries.has(entry)) {
16113
- continue;
16114
- }
16115
- seenEntries.add(entry);
16116
- entries.push(entry);
16117
- }
16118
- return entries;
16119
- }
16120
16010
 
16121
16011
  /**
16122
16012
  * LANGUAGE commitment definition
@@ -21861,7 +21751,11 @@ class PersonaCommitmentDefinition extends BaseCommitmentDefinition {
21861
21751
  // Create new system message with persona at the beginning
21862
21752
  // Format: "You are {agentName}\n{personaContent}"
21863
21753
  // The # PERSONA comment will be removed later by removeCommentsFromSystemMessage
21864
- const personaSection = `# PERSONA\nYou are ${agentName}\n${mergedPersonaContent}`; // <- TODO: Use spaceTrim
21754
+ const personaSection = spaceTrim$1((block) => `
21755
+ # PERSONA
21756
+ You are ${agentName}
21757
+ ${block(mergedPersonaContent)}
21758
+ `);
21865
21759
  const newSystemMessage = cleanedMessage ? `${personaSection}\n\n${cleanedMessage}` : personaSection;
21866
21760
  return {
21867
21761
  ...requirements,
@@ -34083,11 +33977,11 @@ function formatChatAttachmentContext(attachments) {
34083
33977
  if (attachments.length === 0) {
34084
33978
  return '';
34085
33979
  }
34086
- return [
34087
- CHAT_ATTACHMENTS_HEADING,
34088
- ...attachments.map((attachment) => formatChatAttachmentLine(attachment)),
34089
- CHAT_ATTACHMENTS_INSTRUCTION,
34090
- ].join('\n');
33980
+ return spaceTrim$1((block) => `
33981
+ ${CHAT_ATTACHMENTS_HEADING}
33982
+ ${block(attachments.map((attachment) => formatChatAttachmentLine(attachment)).join('\n'))}
33983
+ ${CHAT_ATTACHMENTS_INSTRUCTION}
33984
+ `);
34091
33985
  }
34092
33986
 
34093
33987
  /**
@@ -34328,24 +34222,24 @@ function formatResolvedChatAttachmentContent(contentResolution) {
34328
34222
  : ''}`
34329
34223
  : null;
34330
34224
  const warningsLine = contentResolution.warnings.length > 0 ? `Warnings: ${contentResolution.warnings.join(' | ')}` : null;
34331
- if (!contentResolution.content) {
34225
+ const metadataLines = [decodingLine, warningsLine].filter((line) => Boolean(line)).join('\n');
34226
+ const resolvedContent = contentResolution.content;
34227
+ if (!resolvedContent) {
34332
34228
  const reason = contentResolution.reason || 'content unavailable';
34333
- return [`- ${attachmentLabel}: ${reason}. URL: ${contentResolution.attachment.url}`, decodingLine, warningsLine]
34334
- .filter(Boolean)
34335
- .join('\n');
34229
+ return spaceTrim$1((block) => `
34230
+ - ${attachmentLabel}: ${reason}. URL: ${contentResolution.attachment.url}
34231
+ ${block(metadataLines)}
34232
+ `);
34336
34233
  }
34337
34234
  const truncatedLabel = contentResolution.isTruncated ? ' [truncated]' : '';
34338
- return [
34339
- `File: ${attachmentLabel}${truncatedLabel}`,
34340
- `URL: ${contentResolution.attachment.url}`,
34341
- decodingLine,
34342
- warningsLine,
34343
- '```text',
34344
- contentResolution.content,
34345
- '```',
34346
- ]
34347
- .filter(Boolean)
34348
- .join('\n');
34235
+ return spaceTrim$1((block) => `
34236
+ File: ${attachmentLabel}${truncatedLabel}
34237
+ URL: ${contentResolution.attachment.url}
34238
+ ${block(metadataLines)}
34239
+ \`\`\`text
34240
+ ${block(resolvedContent)}
34241
+ \`\`\`
34242
+ `);
34349
34243
  }
34350
34244
  /**
34351
34245
  * Formats inline attachment-content context section for the model.
@@ -34359,11 +34253,14 @@ function formatChatAttachmentContentContext(resolvedContents) {
34359
34253
  if (resolvedContents.length === 0) {
34360
34254
  return '';
34361
34255
  }
34362
- return [
34363
- CHAT_ATTACHMENT_CONTENT_HEADING,
34364
- CHAT_ATTACHMENT_CONTENT_INSTRUCTION,
34365
- ...resolvedContents.map((resolvedContent) => formatResolvedChatAttachmentContent(resolvedContent)),
34366
- ].join('\n\n');
34256
+ return spaceTrim$1((block) => `
34257
+ ${CHAT_ATTACHMENT_CONTENT_HEADING}
34258
+ ${CHAT_ATTACHMENT_CONTENT_INSTRUCTION}
34259
+
34260
+ ${block(resolvedContents
34261
+ .map((resolvedContent) => formatResolvedChatAttachmentContent(resolvedContent))
34262
+ .join('\n\n'))}
34263
+ `);
34367
34264
  }
34368
34265
 
34369
34266
  /**
@@ -35508,9 +35405,11 @@ class OpenAiCompatibleUnsupportedParameterRetrier {
35508
35405
  * Creates the retry-history error message shared by all OpenAI-compatible model variants.
35509
35406
  */
35510
35407
  createAttemptHistoryError(finalErrorMessage) {
35511
- return new PipelineExecutionError(`All attempts failed. Attempt history:\n` +
35512
- formatUnsupportedParameterAttemptHistory(this.attemptStack) +
35513
- `\nFinal error: ${finalErrorMessage}`);
35408
+ return new PipelineExecutionError(spaceTrim$1((block) => `
35409
+ All attempts failed. Attempt history:
35410
+ ${block(formatUnsupportedParameterAttemptHistory(this.attemptStack))}
35411
+ Final error: ${finalErrorMessage}
35412
+ `));
35514
35413
  }
35515
35414
  }
35516
35415
 
@@ -38104,7 +38003,7 @@ class OpenAiAgentKitExecutionTools extends OpenAiVectorStoreHandler {
38104
38003
  });
38105
38004
  }
38106
38005
  let vectorStoreId = cachedVectorStoreId;
38107
- if (this.isNativeKnowledgeSearchEnabled && !vectorStoreId && knowledgeSources && knowledgeSources.length > 0) {
38006
+ if (!vectorStoreId && knowledgeSources && knowledgeSources.length > 0) {
38108
38007
  const vectorStoreResult = await this.createVectorStoreWithKnowledgeSources({
38109
38008
  client: await this.getClient(),
38110
38009
  name,
@@ -38113,19 +38012,13 @@ class OpenAiAgentKitExecutionTools extends OpenAiVectorStoreHandler {
38113
38012
  });
38114
38013
  vectorStoreId = vectorStoreResult.vectorStoreId;
38115
38014
  }
38116
- else if (this.isNativeKnowledgeSearchEnabled && vectorStoreId && this.options.isVerbose) {
38015
+ else if (vectorStoreId && this.options.isVerbose) {
38117
38016
  console.info('[🤰]', 'Using cached vector store for AgentKit agent', {
38118
38017
  name,
38119
38018
  vectorStoreId,
38120
38019
  });
38121
38020
  }
38122
- if (!this.isNativeKnowledgeSearchEnabled) {
38123
- vectorStoreId = undefined;
38124
- }
38125
- const agentKitTools = this.buildAgentKitTools({
38126
- tools,
38127
- vectorStoreId,
38128
- });
38021
+ const agentKitTools = this.buildAgentKitTools({ tools, vectorStoreId });
38129
38022
  const openAiAgentKitAgent = new Agent$1({
38130
38023
  name,
38131
38024
  model: this.agentKitModelName,
@@ -38144,7 +38037,7 @@ class OpenAiAgentKitExecutionTools extends OpenAiVectorStoreHandler {
38144
38037
  name,
38145
38038
  model: this.agentKitModelName,
38146
38039
  toolCount: agentKitTools.length,
38147
- hasVectorStore: this.isNativeKnowledgeSearchEnabled && Boolean(vectorStoreId),
38040
+ hasVectorStore: Boolean(vectorStoreId),
38148
38041
  });
38149
38042
  }
38150
38043
  return preparedAgent;
@@ -38643,12 +38536,6 @@ class OpenAiAgentKitExecutionTools extends OpenAiVectorStoreHandler {
38643
38536
  get agentKitOptions() {
38644
38537
  return this.options;
38645
38538
  }
38646
- /**
38647
- * Returns true when hosted OpenAI vector-store search should back `knowledgeSources`.
38648
- */
38649
- get isNativeKnowledgeSearchEnabled() {
38650
- return this.agentKitOptions.isNativeKnowledgeSearchEnabled !== false;
38651
- }
38652
38539
  /**
38653
38540
  * Discriminant for type guards.
38654
38541
  */